{全网最详细汇编指令}-算数运算指令(总结)

汇编工具包提取:链接:https://pan.baidu.com/s/1gzzW96a1l4vjxY1H03X_Bw?pwd=8888 
提取码:8888 
--来自百度网盘超级会员V5的分享

算数运算指令

  • ADD、ADC、INC(加法指令)

  • SUB、SBB、DEC(减法指令)

  • CMP(比较指令 )

  • MUL、IMUL(乘法指令)

  • DIV、IDIV(除法指令)

  • NEG(求反指令)

  • CBW、CWD(符号扩展指令)

  • DAA、DAS、AAA、AAS、AAM、AAD(十进制调整指令)


ADD

 

ADC

 

INC

INC:通用寄存器 = 通用寄存器+1

 --------------------------------------------------------------------------------------------------------------------------------

SUB

 SBB

 DEC

DEC:通用寄存器 = 通用寄存器-1

-------------------------------------------------------------------------------------------------------------------------------

 CMP

作用:CMP指令将目的操作数减去源操作数,按照定义相应设置状态标志

 -------------------------------------------------------------------------------------------------------------------------------

实际上,无符号数和有符号数的区别是在于它们的解释方式和操作规则,而不是与数字表示法有关。无论是使用十进制、十六进制还是其他表示法,都可以同时表示有符号和无符号数。

在汇编语言中,无论数字是以十进制还是十六进制表示,它的有符号或无符号性质取决于所使用的指令和操作数。因此,在使用汇编语言编写程序时,需要明确使用相应的指令来处理对应的有符号或无符号数。

结果溢出解释

字溢出 ->  最后存放在ah中(溢出部分放到AH中,没有溢出的部分放到目的操作数AL中

字节溢出 -> 最后存放在dx中(将溢出部分放到DX中,没有溢出的部分放到目的操作数AX中)

MUL无符号乘法(字/字节)

IMUL 有符号乘法(字/字节)

  -------------------------------------------------------------------------------------------------------------------------------

 不懂的人可以利用计算器转十进制看看(分析)

这两个除法指令道理都是相同的


 

 -------------------------------------------------------------------------------------------------------------------------------

NEG求反指令

  -------------------------------------------------------------------------------------------------------------------------------

CBW符号拓展指令

当AL的最高位为0时(4F=0) --->  AH=00H

当AL的最高位为1时(D7=1) --->  AH=FFH

字节拓展为字时,要么全1,要么全0

 

CWD符号拓展指令

当AX的最高位为0时(15) --->  AH=0000H

当AX的最高位为1时(D7) --->  AH=FFFFH

字拓展为字节时,要么全1,要么全0  同上 原理

   -------------------------------------------------------------------------------------------------------------------------------

 十进制调整指令

BCD码(在输入输出指令IN,OUT中提到过):4个二进制代表一个10进制

理解:0001 0001 -> 11   这里其实就是将1和1进行拼接

压缩BCD码:4个二进制代表一个十进制

理解:OA+4H =0E    经过压缩0E -> 14

0E:0000 1110   4位二进制数等于一个十进制数,然后拼接(拼接方法同上11的案例)

非压缩BCD码:8个二进制代表一个十进制

理解:OA+4H =0E    经过压缩0E -> 14

最后答案:0104:0000 0001 0000 0100        8位二进制数等于一个十进制数,然后拼接(拼接方法同上11的案例)

总结:算数指令还算是简单的,如有疑问或者自己想法思路,可以分享出来,一起交流学习!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值