②ADC
格式: ADC OPRD1,OPRD2
功能:ADC指令与ADD类似,不同之处在于两个操作数相加时,还要加上进位标志CF的当前值,结果送原来存放目的操作数的地方。
说明:指令执行结果对标志值的影响与ADD相同。
③INC
格式: INC OPRD
功能:操作数OPRD加1。操作数可以是通用寄存器,也可为存储器操作数。说明:该指令执行结果影响标志位SF、ZF、AF、PF和OF,而对CF无影响。④AAA
功能:AAA是未组合BCD码加法调整指令
。它对在AL中两个未组合的十进制数相加的结果进行校正,产生一个未组合的十进制和数。⑤DAA
功能:DAA为十进制加法调整指令。它对AL中两个组合的十进制数相加的结果进行校正,产生一个组合的十进制和数。
(2)减法指令
①SUB
格式: SUB OPRD1,OPRD2
功能:完成两个操作数相减,结果放在目的操作数OPRD1中。其规则与加法指令相同。
说明:SUB的执行结果影响标志位SF、ZF、AF、PF、CF和OF。
②SBB
格式: SBB OPRD1,OPRD2
功能:SBB指令与SUB基本相同,不同的是两个操作数相减时,还要减去借位标志位CF的当前值。
③DEC
格式: DEC OPRD
功能:完成对操作数OPRD减1运算后返回操作数中。操作数可以是寄存器或存储器。
说明:指令执行对标志位CF无影响,但影响标志位SF、ZF、AF、PF和OF。
④NEG
格式: NEG OPRD
功能:完成对操作数取补,即用零减去操作数,再把结果送回操作数。
说明:该指令执行结果影响标志位SF、ZF、AF、PF和OF,对于CF一般总是CF=1,只有当操作数为0时,CF=0。⑤CMP
格式: CMP OPRD1,OPRD2
功能:完成两个操作数相减,但不回送结果,结果只影响状态标志位。操作数规定与加法操作数相同。
CMP指令只比较两个数的大小。若两数相等,则ZF=1,否则ZF为0。若两数不相等,则其大小的确定可利用CMP指令执行后的其他标志位来确定。例如,对于无符号数,可利用CF标志值来判断。当CF=1时,则OPRD1OPRD2。对于有符号数,则用标志位SF和OF的状态一同判定。
⑥AAS
功能:完成对在AL中的两个未组合的十进制数相减的结果进行校正,在AL中产生一个正确的未组合十进制数的差。
⑦DAS
功能:完成对在AL中两个未组合的十进制数相减以后的结果进行校正,在AL中产生一个正确的组合十进制数的差。
(3)乘法指令
①MUL
格式: MUL OPRD
功能:完成源操作数OPRD与累加器中的数相乘,结果放在累加器中。参与运算的操作数可以是寄存器或存储器。乘积为单字节长时,放在AX中;乘积为双字长时,分别存放在DX(乘积的高16位)和AX中。
说明:将内存单元FIRST和SECOND的两个字节的内容相乘,乘积放在THIRD单元和下一个单元内。MUL指令运行结果只影响标志位CF和OF。
②IMUL
格式: IMUL OPRD
功能:IMUL指令为带符号数相乘指令,即将源操作数与累加器中的数都作为带符号数相乘,其余与MUL指令相同。
③AAM
功能:对在AX中两个未组合的十进制数的乘积进行校正,以得到正确的未组合的十进制数的乘积。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |