微机笔记(四)-------------------------算术运算类指令

算术运算指令:

1,不带进位的加法(影响标志位)
格式:ADD OPRD1,OPRD2
功能:(OPRD1)+(OPRD2)→OPRD1
在这里插入图片描述
2,带进位的加法
格式:ADC OPRD1,OPRD2(使用前先将CF清零)
功能:(OPRD1)+(OPRD2)+CF>OPRD1

3,增量指令INC (不影响CF,影响AF, OF,PF,SF和ZF)

格式:INC OPRD
功能:(OPRD)+1>OPRD


1)不带借位的减法(结果影响标志位)
格式: SUB OPRD1,OPRD2
功能:(OPRD1) - (OPRD2) OPRD1
在这里插入图片描述

2)带借位的减法(结果影响标志位)
格式:SBB OPRD1,OPRD2
功能:(OPRD1) -(OPRD2) -CF→OPRD1
3) 增减指令(不影响CF,影响AF,OE,PE, SF和ZF)
格式:DEC OPRD
功能:(OPRD)- 1→OPRD


求补指令:
格式:NEG OPRD;对操作数取补码后送回 功能:0-(OPRD) →OPRD
(指令影响标志位AF,CF,OF,PF,SF和ZF,此指令执行时,只有当操作数为0时,CF为0,否则CF总为1。若操作数为80H或8000H,执行求补指令后,结果没有变化,但OF置1。)


比较类指令(比较结果影响标志位AF,CE,OF,PE,SF和ZF。)
格式:CMP OPRD1,OPRD2 功能:(OPRD1)- (OPRD2)
不送回结果,只影响标志位
(若两者相等,相减以后结果为零,ZF标志为1, 否则为0.) (大小的比较CMP AX,BX
对无符号数,若结果没有产生借位(CF=0),则 AX≥BX;若产生了借位(CF=1),则AX<BX。 对带符号数,则可根据OF与SF异或运算的结果来判断,结果为1,则AX<BX, 结果为 0 , 则 AX≥BX)


乘法指令:(有符号和无符号 乘法运算时,结果影响CF和OF)
乘数在AL中,另一个乘数在寄存器或内存中,乘积放在AX中;
将DX看做AX的扩展:乘积的高16位在DX中,低16位在AX中。

格式:MUL OPRD;不出现AL或AX 功能:AL/AXxOPRD →>AX/DX,AX
格式:IMUL OPRD;不出现AL或AX 功能上与MUL相似, 要求两个乘数必须为有符号数


除法指令:(除法有有符号数和无符号数两套指令)
约定:除数必须为被除数的一半字长
被除数放在AX(低位)中(DX(高位),),除数在寄存器或内存中,商在AX中, DX中。
例:DIV BL; AX÷BLAL(商) , AH(余数)

格式:DIV OPRD;不出现AX或DXAX 功能:DX,AX/AX÷OPRD →AX/AL,DX/AH
IDIV OPRD;不出现AX或DXAX 功能上与DIV相似,要求被除数,除数必须为有符号数。
例:IDIV BL; AX÷BL->AL(商) , AH(余数)


扩展指令:
将字节扩展成字的指令:CBW
将AL中的符号位扩展到AH中。当AL<80H,执行
CBW后,AH=0;当AL>=80H时,AH=0FFH。
将字扩展成双字的指令:CWD
将AX中的符号位扩展到DX中。当AX<8000H,执 行CWD后, DX=0; 当AX>=8000H时,DX=0FFFFH。
当遇到两个字节或字相除时,要预先执行CBW指 令或CWD指令,扩展被除数,否则不能正确执行 除法操作。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值