上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 45 下一页

2011年3月5日

摘要: 有很多 constraints,但是常用的只有少数。下面我们就来看下这些限制条件。1. 寄存器操作数限制条件: r如果操作数指定了这个限制,操作数将使用通用寄存器来存储。看下面的例子:asm ( “movl %%eax, %0” : “=r” (myval));变量 myval 被保存在一个寄存器中,eax 中的值被拷贝到这个寄存器中,并且在内存中的myval 的值也会按这个寄存器值被更新。当 constraints ”r” 被指定时,GCC 可能在任何一个可用的通用寄存器中保存这个值。当然如果你要指定具体使用那个寄存器就要指定具体使用哪个寄存器的 constraints。2. 内存操作数 c 阅读全文
posted @ 2011-03-05 11:55 yming0221 阅读(327) 评论(0) 推荐(0)

2011年3月4日

摘要: 1.安装apache2sudo apt-get install apache22.安装lxrsudoapt-get install lxr3. 在/etc/apache2/httpd.conf 末尾加上以下内容:Alias /lxr/usr/share/lxr<Directory /usr/share/lxr>Options AllAllowOverride All</Directory>这样可以达到[url]http://localhost/lxr/[/url] =>/usr/share/lxr4. 在/usr/share/lxr/http下创建文件 .htac 阅读全文
posted @ 2011-03-04 14:43 yming0221 阅读(295) 评论(0) 推荐(0)

2011年3月3日

摘要: 1、安装python-mutagen(audio metadata editing library )apt-get python-mutagen2、进行标签编码转换find . -iname "*.mp3" -execdir mid3iconv --remove-v1 -e gbk {} /;或者mid3iconv -e GBK */*.mp3(包括子目录) 阅读全文
posted @ 2011-03-03 15:36 yming0221 阅读(183) 评论(0) 推荐(0)

2011年3月2日

摘要: U盘安装系统 1)设置BOIS选择从U盘启动 2)第2步是检查准备情况,要求磁盘空间足够,是否安装一些受限软件,一般不用勾选,网络也不要连接直接点“前进”按钮继续; 3)接下来第3步是询问安装到哪个分区,选择第三个“手动指定分区(高级)”,点“前进”按钮继续; 4)如果刚刚使用该系统,可以只挂载两个分区:一个/ ,还有一个swap(交换区)(一般跟内存容量相当2G)即可接下来出来磁盘分区情况,如果要新建分区和转换分区可以参考前面的第7、13、15、16、19课,这儿是安装到之前的8.10分区上; 5)点击选中要安装的分区,可以根据分区类型和大小来确定,然后点下边的“更改”按钮... 阅读全文
posted @ 2011-03-02 12:22 yming0221 阅读(292) 评论(0) 推荐(0)

2011年3月1日

摘要: GCC 支持在C/C++代码中嵌入汇编代码,这些汇编代码被称作GCC Inline ASM——GCC内联汇编。这是一个非常有用的功能,有利于我们将一些C/C++语法无法表达的指令直接潜入C/C++代码中,另外也允许我们直接写 C/C++代码中使用汇编编写简洁高效的代码。1.基本内联汇编GCC中基本的内联汇编非常易懂,我们先来看两个简单的例子:__asm__("movl %esp,%eax"); // 看起来很熟悉吧!或者是__asm__("movl $1,%eax // SYS_exitxor %ebx,%ebxint $0x80");或__asm__( 阅读全文
posted @ 2011-03-01 22:02 yming0221 阅读(523) 评论(0) 推荐(0)
摘要: __asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所以下面的示例都是用ARM汇编。带有C/C++表达式的内联汇编格式为:__asm__ __volatile__("Instruction List" : Output : Input : Clobber/Modify);其中每项的概念及功能用法描述如下:1、 __asm____asm__是GCC 关键字asm 的宏定义:#define __asm__ asm_ 阅读全文
posted @ 2011-03-01 20:32 yming0221 阅读(336) 评论(0) 推荐(0)
摘要: 主要描述boot/目录中的三个汇编代码文件,见列表3-1所示。正如在前一章中提到的,这三个文件虽然都是汇编程序,但却使用了两种语法格式。bootsect.s和setup.s采用近似于Intel的汇编语言语法,需要使用Intel8086汇编编译器和连接器as86和ld86,而head.s则使用GNU的汇编程序格式,并且运行在保护模式下,需要用GNU的as进行编译。这是一种AT&T语法的汇编语言程序。使用两种编译器的主要原因是由于对于Intelx86处理器系列来讲,GNU的编译器仅支持i386及以后出的CPU。不支持生成运行在实模式下的程序。阅读这些代码除了你需要知道一些一般8086汇编语 阅读全文
posted @ 2011-03-01 13:12 yming0221 阅读(325) 评论(0) 推荐(0)

2011年2月28日

摘要: 绝大多数Linux程序员以前只接触过DOS/Windows下的汇编语言,这些汇编代码都是Intel风格的。但在Unix和Linux系统中,更多采用的还是AT&T格式,两者在语法格式上有着很大的不同:在AT&T汇编格式中,寄存器名要加上' %'作为前缀;而在Intel汇编格式中,寄存器名不需要加前缀。例如:AT&T格式Intel格式pushl %eaxpush eax在AT&T汇编格式中,用'$'前缀表示一个立即操作数;而在Intel汇编格式中,立即数的表示不用带任何前缀。例如:AT&T格式Intel格式pushl $1pu 阅读全文
posted @ 2011-02-28 21:23 yming0221 阅读(415) 评论(0) 推荐(0)
摘要: 刚修复了集成盘在gcc 4.3下无法工作的问题。启动是只是显示“Loading System ...”1. 原因gcc 4.3对内存拷贝优化时出错,当然,glibc里头的memcpy是没有问题的,因为glibc中的memcpy实现方式不一样,但是linux-0.11里头的memcpy有问题。类似的 *p1=*p2 操作在gcc 4.3中会自动优化,而在4.3之前的版本会自动调用memcpy,所以这里我们把类似的 *p1=*p2 操作修改为 memcpy,但是编译时不能用优化选项,否则gcc 4.3还是会对memcpy优化,直接把代码嵌套到使用memcpy的代码,而不会调用,这种优化的结果并不正 阅读全文
posted @ 2011-02-28 17:19 yming0221 阅读(193) 评论(0) 推荐(0)

2011年2月24日

摘要: 更新国际话文件时yan@yan-laptop:/var/lib/locales/supported.d$ sudo locale-genGenerating locales...en_AG.UTF-8... doneen_AU.UTF-8... doneen_BW.UTF-8... doneen_CA.UTF-8... doneen_DK.UTF-8... cannot open locale definition file `da_DK': No such file or directoryfaileden_GB.UTF-8... doneen_HK.UTF-8... doneen_ 阅读全文
posted @ 2011-02-24 00:01 yming0221 阅读(702) 评论(0) 推荐(0)
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 45 下一页

导航