前言
上篇博客我们讲到了一些基本的算术逻辑指令以及数据传送指令
今天我们主要论述一下标志位,跳转指令,以及跳转表。
常用的标志位以及访问指令
CF(Carry Flag)进/借位标志 当发生进借位操作时,其值为1,否则为0
SF(Sign Flag)符号标志位 正数为0,负数为1
ZF(Zero Flag)零标志位 非0为0,反之则1
OF(Overflow Flag)溢出标志位 运算结果异常(溢出)为1,反之则0
set指令的目的操作数是8个通用寄存器中的一个字节,或是存放单字节的存储器位置,所以,要得到常用的32位结果,还需用上节提到的movzbl实现高24位清0作用。
我们要注意的是
所有的算术操作都会设置条件码
跳转指令
想必大家对goto 语句并不陌生,我们的程序是顺序执行的(不考虑乱序调度情况ÿ