匯編語(yǔ)言偽指令

發(fā)布時(shí)間:2024-02-29
在編寫匯編語(yǔ)言程序時(shí),會(huì)用到另一類指令,這類指令僅供匯編程序?qū)⒃闯绦蚍g成目標(biāo)程序時(shí)使用,本身并不形成機(jī)器碼,這類指令稱為偽指令。由此可知,指令有二類: (1)匯編指令:是編譯后產(chǎn)生機(jī)器碼的指令。
(2)偽指令:僅供匯編程序使用,編譯后不產(chǎn)生機(jī)器碼的指令。
下面簡(jiǎn)單介紹5條偽指令。
1. 匯編起點(diǎn)指令 org(origin)
指令格式 : org nn
作用:將org nn 后的程序機(jī)器碼或數(shù)據(jù)存放以nn為首地址的存儲(chǔ)單元中。如在下面的例4-1中,偽指令 org 2000h 將目標(biāo)程序從地址2000h處開(kāi)始存放。
2. 定義字節(jié)指令 db (define byte)
指令格式 :[label] db n1,n2,…,nm
作用:將db后的8位字節(jié)數(shù)據(jù)n1,n2,…,nm依次存入以標(biāo)號(hào)label為首地址的存儲(chǔ)單元中。若無(wú)標(biāo)號(hào),則n1,n2,…nm依次存放在db上一條指令之后的存儲(chǔ)單元中。如在例4-1中偽指令db 將字節(jié)數(shù)據(jù)55,38依次存放到以標(biāo)號(hào)label3為首地址的存儲(chǔ)單元2100h~2101h中。
3. 定義字指令 dw (define word)
指令格式:[label] dw nn1,nn2,…,nnm
作用:將dw后的16位字?jǐn)?shù)據(jù)nn1,nn2,…,nnm依次存放到以標(biāo)號(hào)label為首地址的存儲(chǔ)單元中,若無(wú)標(biāo)號(hào),則nn1,nn2,…,nnm依次存放在dw上一條指令之后的存儲(chǔ)單元中。在例4-1中,偽指令dw 同樣可將字?jǐn)?shù)據(jù)5538存放到以標(biāo)號(hào)label3為地址的存儲(chǔ)單元2100h~2101h中。
4. 等值指令 equ (equate)
指令格式:label equ nn
作用: 將16位地址nn賦給標(biāo)號(hào) label,在例4-1中,偽指令 label0 equ 2100h將地址2100h賦給標(biāo)號(hào)label0。
5. 結(jié)束匯編指令 end
作用:匯編程序編譯源程序時(shí),遇到偽指令end,不管end下面是否還有其它指令都將停止編譯。
例1 將地址為2100h存儲(chǔ)單元中內(nèi)容55與地址為2101h存儲(chǔ)單元內(nèi)容38進(jìn)行十進(jìn)制數(shù)相加,運(yùn)算結(jié)果93存放在地址為2102h的存儲(chǔ)單元中。
即:(2100h)+(2101h)→(2102h)
閱讀十進(jìn)數(shù)加法的源程序與目標(biāo)程序,并解釋每一條偽指令的含義與作用。
解:
該程序完成(2100h)+(2101h)送(2102h)的工作。在程序中加入一些偽指令。現(xiàn)分析程序中偽指令的含義及作用,匯編程序編譯該程序時(shí),將根據(jù)偽指令 org 0000h 將目標(biāo)程序從地址0000h處開(kāi)始存放。偽指令 label0 equ 2100h 將被加數(shù)地址2100h賦給標(biāo)號(hào)label0,偽指令 label1 equ 2101h 則將加數(shù)地址2101h賦給標(biāo)號(hào)label1,偽指令 label2 equ 2102h 將和的地址2102h賦給標(biāo)號(hào)label2。程序中可以用標(biāo)號(hào)label0~label2去代替直接地址2100h~2102h,這樣做的好處是,如果用戶要進(jìn)行如:(3100h)+(3101h)送(3102)的運(yùn)算,只要在程序開(kāi)始處修改等值指令equ的標(biāo)號(hào)地址,改為3100、3101h、3102h,而不必修改程序本身即可。偽指令db 將字節(jié)數(shù)據(jù)55,38依次存放到以標(biāo)號(hào)label3為首地址的存儲(chǔ)單元2100h~2101h中。而偽指令dw 同樣可將字?jǐn)?shù)據(jù)5538存放到以標(biāo)號(hào)label3為地址的存儲(chǔ)單元2100h~2101h中,如目標(biāo)程序所示。最后,偽指令end告訴匯編程序,匯編工作到此結(jié)束。在所有偽指令后面均沒(méi)有產(chǎn)生機(jī)器碼。這說(shuō)明偽指令是僅供匯編程序使用,編譯后不產(chǎn)生機(jī)器碼的指令。
上一個(gè):華為mate30支持無(wú)線充電嗎在車上(華為mate50e支持無(wú)線充電嗎)
下一個(gè):構(gòu)骨茶

夏季苗木病蟲(chóng)害防治要點(diǎn)
RTT25R200DTE現(xiàn)貨庫(kù)存,最新價(jià)格
茶道之飲茶的境界
不懂電腦該怎樣買電腦,想買電腦但自己又不懂電腦又沒(méi)熟人幫忙要怎么買比較好
筆記本有時(shí)候找不到硬盤,華碩筆記本重裝系統(tǒng)找不到硬盤
win10怎么安裝pdf虛擬打印機(jī)(電腦安裝pdf虛擬打印機(jī))
win7電腦臨時(shí)文件夾路徑更改方法視頻(win7電腦臨時(shí)文件夾路徑更改方法在哪)
臘八節(jié)西安免費(fèi)施粥地點(diǎn)時(shí)間+交通指南
哄女朋友起床的情話 叫女孩子起床甜蜜的話
阿里云gpu服務(wù)器配置(阿里云gpu服務(wù)器租用)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos