汇编程序设计-14-add指令

add指令是CPU用来加法计算的汇编指令。

一、add命令的常规操作

add 寄存器,数据
解释:将数据累加到寄存器中,比如寄存器当时是1,数据为2,则结果为3,此时寄存器所保存的值就是3.
1.启动dosbox,然后输入debug,r
汇编程序设计-14-add指令_第1张图片
接着输入a,回车
然后输入命令:mov ax,18
mov ah,78
add ax,8
汇编程序设计-14-add指令_第2张图片
然后回车两次,输入r后回车,就可以看到下一次执行的命令为:MOV AX,0018
在这里插入图片描述
然后使用 t (执行命令) ,回车:

在这里插入图片描述
从结果可以看出AX变为了0018H,以及下一条要执行的命令:MOV AH,78
继续输入t,回车如下:
在这里插入图片描述

从结果可以看出,AX从0018H变为了7818H,也就是高位从00变为了78.
继续执行 ADD AX,0005
在这里插入图片描述
从结果可以看出AX从7818H变为了781DH

接下来继续执行如下的命令
汇编程序设计-14-add指令_第3张图片
结果1:
在这里插入图片描述
781D + 781D = F03A
汇编程序设计-14-add指令_第4张图片
接着继续执行 ADD AX,BX,其结果为:
在这里插入图片描述

二、ADD命令时超过最大范围后?

我们知道8位保存最大的数值为:255也就是FFH
汇编程序设计-14-add指令_第5张图片
已知85H + 93H = 118H,这显然超过了FFH,看看计算机是如何处理的?
汇编程序设计-14-add指令_第6张图片
从结果可以看出,只保留了18H,至于进位的1去哪里了,我们后面再谈!

那如果是16位的寄存器就不会出现这样的情况,如下:

汇编程序设计-14-add指令_第7张图片
从结果可以看出确实成了118H.

我们在使用mov指令时 要保证数据与寄存器之间,位数的一致性

汇编程序设计-14-add指令_第8张图片
汇编程序设计-14-add指令_第9张图片

你可能感兴趣的:(汇编程序设计,反汇编)