匯編程序add指令的使用
add指令是CPU用來加法計(jì)算的匯編指令。
一、add命令的常規(guī)操作
add 寄存器,數(shù)據(jù)
解釋:將數(shù)據(jù)累加到寄存器中,比如寄存器當(dāng)時(shí)是1,數(shù)據(jù)為2,則結(jié)果為3,此時(shí)寄存器所保存的值就是3.
1.啟動(dòng)dosbox,然后輸入debug,r
接著輸入a,回車
然后輸入命令:mov ax,18
mov ah,78
add ax,8
然后回車兩次,輸入r后回車,就可以看到下一次執(zhí)行的命令為:MOV AX,0018
然后使用 t (執(zhí)行命令) ,回車:
從結(jié)果可以看出AX變?yōu)榱?018H,以及下一條要執(zhí)行的命令:MOV AH,78
繼續(xù)輸入t,回車如下:
從結(jié)果可以看出,AX從0018H變?yōu)榱?818H,也就是高位從00變?yōu)榱?8.
繼續(xù)執(zhí)行 ADD AX,0005
從結(jié)果可以看出AX從7818H變?yōu)榱?81DH
接下來繼續(xù)執(zhí)行如下的命令
結(jié)果1:
781D + 781D = F03A
接著繼續(xù)執(zhí)行 ADD AX,BX,其結(jié)果為:
二、ADD命令時(shí)超過最大范圍后?
我們知道8位保存最大的數(shù)值為:255也就是FFH
已知85H + 93H = 118H,這顯然超過了FFH,看看計(jì)算機(jī)是如何處理的?
從結(jié)果可以看出,只保留了18H,至于進(jìn)位的1去哪里了,我們后面再談!
那如果是16位的寄存器就不會(huì)出現(xiàn)這樣的情況,如下:
從結(jié)果可以看出確實(shí)成了118H.
我們在使用mov指令時(shí) 要保證數(shù)據(jù)與寄存器之間,位數(shù)的一致性
到此這篇關(guān)于匯編程序add指令的使用的文章就介紹到這了,更多相關(guān)匯編 add指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一位數(shù)乘法的匯編語言實(shí)現(xiàn)方法
這篇文章主要介紹了一位數(shù)乘法的匯編語言實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面使用說明UNI文件
這篇文章主要為大家介紹了UEFI開發(fā)實(shí)戰(zhàn)用戶交互界面使用說明UNI文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06