为什么Inc,Dec这条指令不会影响CF标志
发布网友
发布时间:2022-05-05 12:54
我来回答
共2个回答
热心网友
时间:2022-05-15 11:05
展开1全部设计的时候规定如此。
设计加1指令的目的,主要是用于对计数器和地址指针的调整,所以它们不影响进位CF标志,对其他状态标志位的影响与ADD、ADC指令一样。
所以,当AX=0FFFFH时,ADD AX, 1H指令CF=1,而INC AX指令CF不变。
热心网友
时间:2022-05-15 12:23
王爽汇编语言加减乘除指令分述如下:
1、 加法指令
指令格式: 加法 ADD DST, SRC; (DST)←(SRC)+(DST)
带进位加法 ADC DST, SRC; (DST)←(SRC)+(DST)+CF
加1 INC OPR; (OPR)←(OPR)+1
2、 减法指令
指令格式:
减法 SUB DST,SRC ; (DST)←(DST)-(SRC)
带进位减法 SBB DST,SRC ; (DST)←(DST)-(SRC)-CF
减1 DEC OPR ; (OPR)←(OPR)-1
求补 NEG OPR ; (OPR)←0FFFFH-(0PR)+1
比较 CMP OPR1, OPR2 ; (OPR1)-(OPR2)
3、 乘法指令
乘法运算分为无符号数运算和有符号数运算,各有相应的指令,并使用双操作数。两个8位二进制数相乘,积为16位二进制数;两个16位二进制数相乘,积为32位二进制数。
指令格式:
无符号数乘法 MUL SRC;(AX)←(AL)×(SRC)8位数乘法
(DX,AX)←(AX)×(SRC)16位数乘法
带符号数乘法 IMUL SRC; 操作同上,但是操作数为带符号数
4、 除法指令
除法运算分为无符号数运算和有符号数运算,各有相应的指令,并使用双操作数。当除数是8位或16位二进制数时,要求被除数是16位或32位的二进制数。
指令格式:
无符号数除法 DIV SRC;(AL)←(AX)/(SRC)8位二进制数除法的商
(AH)←(AX)/(SRC)8位二进制数除法的余数
或(AX)←(DX,AX)/(SRC) 16位二进制数除法的商
(DX)←(DX,AX)/(SRC) 16位二进制数除法的余数
带符号数除法 IDIV SRC; 操作同上,但是操作数为带符号数