(2)在寄存器相对寻址与相对基址变址方式中,位移 量disp可以是符号常量或变量,汇编后为一个常数,若 是变量,则取其偏移地址。 (3)在 Microsoft去汇编MASM( Microsoft macro Assembler)中,内存操作数可以采用多种书写形式。 (4)操作数中使用变量的地方也可以用下列形式: 变量名士整数表达式。 5)计算出的有效地址以16位表示,若超过0 FFFFH, CPU将忽略所有溢出。 (6)记忆8086内存操作数形式的简易方法如下: [XiSI disp [BPI DI 每列选择0项或一项,构成至少一项,即可得到有效的 内存操作数形式
(2)在寄存器相对寻址与相对基址变址方式中,位移 量disp可以是符号常量或变量,汇编后为一个常数,若 是变量,则取其偏移地址。 (3)在Microsoft宏汇编MASM(Microsoft Macro Assembler)中,内存操作数可以采用多种书写形式。 (4)操作数中使用变量的地方也可以用下列形式: 变量名±整数表达式。 5)计算出的有效地址以16位表示,若超过0FFFFH, CPU将忽略所有溢出。 (6)记忆8086内存操作数形式的简易方法如下: [BX] [SI] disp [BP] [DI] 每列选择0项或一项,构成至少一项,即可得到有效的 内存操作数形式
3、2标志位 在标志寄存器 FLAGS中有若干标志位,这些标志用 来表示CPU当前的操作方式和状态信息。 与普通应用程序有关的主要是 FLAGS中的9个标志 6个状态标志(CF、OF、SF、ZF、AF、PF) 3个控制信息标志(DF、IF、TF) 3、2、1深入认识CF和OF l、深入认识CF和OF CF表示无符号溢出,即运算结果超出了无符号数的 表示范围。 OF表示带符号溢出,即运算结果超出了带符号数的 表示范围
3、2 标志位 在标志寄存器FLAGS中有若干标志位,这些标志用 来表示CPU当前的操作方式和状态信息。 与普通应用程序有关的主要是FLAGS中的9个标志 6个状态标志(CF、OF、SF、ZF、AF、PF) 3个控制信息标志(DF、IF、TF) 3、2、1 深入认识CF和OF 1、 深入认识CF和OF CF表示无符号溢出,即运算结果超出了无符号数的 表示范围。 OF表示带符号溢出,即运算结果超出了带符号数的 表示范围
2、CF和OF判断方法 1)加法 ①CF的判断方法 从十进制角度来看,若无符号加的结果大于2n-1 (n为位数),则CF=1否则CF=0。 从二进制角度来看,若结果最高位向前有进位,则 CF=1,否则CF=0。 ②OF的判断方法 从十进制角度来看,若带符号加的结果不在范围 2n-1~2m1-1(n为位数)内,则OF=1,否则 OF=0。 从二进制角度来看,若两个数同号,而相加结果与 之异号,说明溢出,则OF=1,否则OF=0。 例:8位数加法,判断CF和OF
2、CF和OF判断方法 (1)加法 ①CF的判断方法 从十进制角度来看,若无符号加的结果大于2 n-1 (n为位数),则CF=1,否则CF=0。 从二进制角度来看,若结果最高位向前有进位,则 CF=1,否则CF=0。 ②OF的判断方法 从十进制角度来看,若带符号加的结果不在范围- 2n - 1~2n-1-1(n为位数)内,则OF=1,否则 OF=0。 从二进制角度来看,若两个数同号,而相加结果与 之异号,说明溢出,则OF=1,否则OF=0。 例:8位数加法,判断CF和OF
二进制加法 看作无符号数 看作带符号数 ①00110000B 6 +00001001B +9 00111001B CF=0 OF=0 ②00000111B 7 +11111011B +251 00000010B 258 CF=l OF=0 现为2结果错 ③00001001B +011l1100B +124 +(+124) 10000101B 133 +133 CF=0 现为-123,结果错 ④100001B 135 121) +11110101B 011l1100B 80 CF=l OF=l 现为124,结果错 现为124,结果错
二进制加法 看作无符号数 看作带符号数 ① 0011 0000B 6 6 + 0000 1001B + 9 + 9 0011 1001B 15 15 CF=0 OF=0 ② 0000 0111B 7 +7 + 1111 1011B +251 + (-5) 0000 0010B 258 +2 1 CF=1 OF=0 现为2结果错 ③ 0000 1001B 9 +9 + 0111 1100B + 124 +(+124) 1000 0101B 133 +133 CF=0 OF=1 现为-123,结果错 ④ 1000 0111B 135 (-121) + 1111 0101B + 245 + (-11) 0111 1100B 380 -132 1 CF=1 OF=1 现为124,结果错 现为124,结果错
(2)减法 ①CF的判断方法 从十进制角度来看,若无符号减数大于被减数,则 CF=1,否则CF=0 从二进制角度来看,若结果最高位向前有借位,则 CF=1,否则CF=0 ②OF的判断方法 从十进制角度来看,若带符号减的结果不在范围 2n1~2m1-1(n为位数)内,则OF=1,否则 OF=0。 从二进制角度来看,若两个数异号,而结果与被减数 符号相反,说明溢出,则OF=1,否则OF=0
(2)减法 ① CF的判断方法 从十进制角度来看,若无符号减数大于被减数,则 CF=1,否则CF=0。 从二进制角度来看,若结果最高位向前有借位,则 CF=1,否则CF=0。 ② OF的判断方法 从十进制角度来看,若带符号减的结果不在范围 - 2n -1~2n-1-1(n为位数)内,则OF=1,否则 OF=0。 从二进制角度来看,若两个数异号,而结果与被减数 符号相反,说明溢出,则OF=1,否则OF=0