查看: 102|回复: 0

[教程] 汇编程序add指令的使用

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-7-17
发表于 2024-3-26 11:01:07 | 显示全部楼层 |阅读模式

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

一、add命令的常规操作

add 寄存器,数据

解释:将数据累加到寄存器中,比如寄存器当时是1,数据为2,则结果为3,此时寄存器所保存的值就是3.

1.启动dosbox,然后输入debug,r

在这里插入图片描述

接着输入a,回车
然后输入命令:mov ax,18
mov ah,78
add ax,8

在这里插入图片描述

然后回车两次,输入r后回车,就可以看到下一次执行的命令为:MOV AX,0018

在这里插入图片描述

然后使用 t (执行命令) ,回车:

在这里插入图片描述

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

在这里插入图片描述

从结果可以看出,AX从0018H变为了7818H,也就是高位从00变为了78.
继续执行 ADD AX,0005

在这里插入图片描述

从结果可以看出AX从7818H变为了781DH

接下来继续执行如下的命令

在这里插入图片描述

结果1:

在这里插入图片描述

781D + 781D = F03A

在这里插入图片描述

接着继续执行 ADD AX,BX,其结果为:

在这里插入图片描述

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

我们知道8位保存最大的数值为:255也就是FFH

在这里插入图片描述

已知85H + 93H = 118H,这显然超过了FFH,看看计算机是如何处理的?

在这里插入图片描述

从结果可以看出,只保留了18H,至于进位的1去哪里了,我们后面再谈!

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

在这里插入图片描述

从结果可以看出确实成了118H.

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

在这里插入图片描述

在这里插入图片描述

到此这篇关于汇编程序add指令的使用的文章就介绍到这了,更多相关汇编 add指令内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区! 

您可能感兴趣的文章:
  • 汇编语言指令mov、add、sub、jmp详解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部