![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机组成
文章平均质量分 71
yanapupa
这个作者很懒,什么都没留下…
展开
-
union是什么【编写一个判断大端小段c程序】
union 关键字的用法与struct 的用法非常类似。union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{ char character; int number;转载 2016-04-10 16:09:06 · 591 阅读 · 0 评论 -
IAA32过程调用寄存器的保护规则
IAA32过程调用寄存器的保护规则2014-08-07 0 个评论 来源:hnust_疯子 收藏 我要投稿由于操作系统中的共享性质,所以,寄存器也就成为了各个进程或者过程共享资源的一种。那么发生过程 调用的时候,如果调用者要用到一个寄存器里面的值,但是这个寄存器的内容很可能在被调用者运行过程中修改,那么我们就要在被调用过程执行之前,对该寄存器里面的内容进行保护,转载 2016-04-27 10:25:53 · 310 阅读 · 0 评论 -
溢出判断
补码加法运算溢出判断三种方法:[方法一]Xf、Yf分别两个数的符号位,Zf为运算结果符号位。当Xf =Yf =0(两数同为正),而Zf=1(结果为负)时,负溢出;当出现Xf =Yf =1(两数同为负),而Zf=0(结果为正),正溢出.[方法二]Cs表示符号位的进位,Cp表示最高数值位进位,⊕表示异或。若 Cs⊕Cp =0 ,无溢出;若 Cs⊕Cp =1 ,有溢出。[方法三]用变转载 2016-04-27 10:37:10 · 21478 阅读 · 2 评论 -
gcc备忘小TIP
-c,只编译,不链接成为可执行文件,变成XXX.o,编译器只是由输入的.c-S(注意是大写),把.c文件变成.s文件链接不用参数,直接就可以。-g,产生符号调试工具,用了之后就可以gdb调试啦!-O,对程序进行优化-O2,比-O更好的优化-O3,比-O2更好的优化-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,原创 2016-05-13 19:05:12 · 268 阅读 · 0 评论 -
特殊的算术操作指令详解
特殊的算术操作指令详解前言上一讲,我们说了常见的算术与逻辑运算指令,其中比较有特点的是leal指令,本次我们在介绍几个较特殊的操作指令,这些指令可以让只有32位的寄存器存储64位的数据是不是很吊? 正文 我们来看一下这些指令的大致介绍,如果又仔细看过上一讲的内容,可能会发现这里的指令有些眼熟,但是他们的作用却截然不同.以下是书中的一张概图:转载 2016-04-21 20:05:09 · 507 阅读 · 0 评论 -
lea,mov指令的不同,寻址以及不寻址
http://blog.sina.com.cn/s/blog_4d1bbec70100du0f.html--原博AT&T汇编心得(1)寻址方式:0x4(%esp)的操作是把寄存器esp中的值取出,然后加上4,得到的值作为地址,间接寻址得到需要的数据例如:pushl -0x4(%ecx)该指令的含义是取出寄存器ecx的值,减去4,将得到的值作为地址,在内存找到该地址对应的转载 2016-04-24 10:40:47 · 822 阅读 · 0 评论