运算类汇编指令

1.加法指令

(1)add 目的操作数,源操作数

目的操作数=目的操作数+源操作数

(2)adc 带进位的加法指令

目的操作数=目的操作数+源操作数+cf

例:

mov ah,0

mov al,92h

add al,86h     ;92h+86h=18h=al,cf=1

adc ah,0       ;(ah)+0+cf=0+0+1=ah

(3)inc加1指令

Inc 操作数   //操作数加1,结果送操作数

操作数可以是任意一个8位或16位的通用寄存器或存储单元,不能是立即数

指令中操作数当做无符号数时,主要用于计数器计数或修改指针地址的值

例:

Inc di ;(di)=di+1

2.减法指令

(1)sub

Sub 目的操作数,源操作数

目的操作数=目的操作数-源操作数

(2)sbb

Sbb 目的操作数,源操作数

目的操作数=目的操作数-源操作数-cf

(3)dec

Dec di  ;(di)=di-1

(4)neg 求补指令

Neg 操作数  //0-操作数的结果回送操作数

Mov di,05h

Neg di    ;di=0-(di)=0-05h

(5)cmp

Cmp 目的操作数,源操作数

执行时目的操作数与源操作数相减,只根据结果设置标志位,操作数保持原值不变

3.类型拓展指令

为了解决操作数长度匹配,有时需要把数据类型进行拓展

CBW:字节拓展成字

CWD:字拓展成双字

例:

Mov al,32h

Cbw   ;执行指令后,ax=0032h

Cwd   ;执行指令后,dx=0000h,ax=0032h

4.乘法指令

Mul ;无符号数乘法

Imul ;有符号数乘法

目的操作数必须是累加器,不必在指令中写出

例:

Mov al,05h

Mov bl,06h

Mul bl  ;执行结果ax=001eh

5.除法指令

Div 无符号数除法  ;商和余数都是无符号数

SRC(源操作数)为字节时,AL=AX/SRC的商,AH=AX/SRC的余数

SRC为字时:AX=(DX,AX)/SRC的商,DX=(DX,AX)/SRC的余数

Idiv 有符号数除法

目的操作数必须是累加器ax和dx,不必写出

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值