叹茶 發表於 2024-3-26 11:01:07

汇编程序add指令的使用

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>一、add命令的常规操作</li><li>二、ADD命令时超过最大范围后?</li></ul></div><p>add指令是CPU用来加法计算的汇编指令。</p>
<p class="maodian"></p><h2>一、add命令的常规操作</h2>
<p>add 寄存器,数据</p>
<p>解释:将数据累加到寄存器中,比如寄存器当时是1,数据为2,则结果为3,此时寄存器所保存的值就是3.</p>
<p>1.启动dosbox,然后输入debug,r</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004133.png" /></p>
<p>接着输入a,回车<br />然后输入命令:mov ax,18<br />mov ah,78<br />add ax,8</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004134.png" /></p>
<p>然后回车两次,输入r后回车,就可以看到下一次执行的命令为:MOV AX,0018</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004135.png" /></p>
<p>然后使用 t (执行命令) ,回车:</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004136.png" /></p>
<p>从结果可以看出AX变为了0018H,以及下一条要执行的命令:MOV AH,78<br />继续输入t,回车如下:</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004137.png" /></p>
<p>从结果可以看出,AX从0018H变为了7818H,也就是高位从00变为了78.<br />继续执行 ADD AX,0005</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004138.png" /></p>
<p>从结果可以看出AX从7818H变为了781DH</p>
<p>接下来继续执行如下的命令</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004139.png" /></p>
<p>结果1:</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004140.png" /></p>
<p>781D + 781D = F03A</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004141.png" /></p>
<p>接着继续执行 ADD AX,BX,其结果为:</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004142.png" /></p>
<p class="maodian"></p><h2>二、ADD命令时超过最大范围后?</h2>
<p>我们知道8位保存最大的数值为:255也就是FFH</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004143.png" /></p>
<p>已知85H + 93H = 118H,这显然超过了FFH,看看计算机是如何处理的?</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004144.png" /></p>
<p>从结果可以看出,只保留了18H,至于进位的1去哪里了,我们后面再谈!</p>
<p>那如果是16位的寄存器就不会出现这样的情况,如下:</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004145.png" /></p>
<p>从结果可以看出确实成了118H.</p>
<p>我们在使用mov指令时 要保证数据与寄存器之间,位数的一致性</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004146.png" /></p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202403/2024032611004247.png" /></p>
<p>到此这篇关于汇编程序add指令的使用的文章就介绍到这了,更多相关汇编 add指令内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!&nbsp;</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>汇编语言指令mov、add、sub、jmp详解</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: 汇编程序add指令的使用