日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

十一、伪指令、数据类型、操作符

發(fā)布時(shí)間:2025/3/15 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十一、伪指令、数据类型、操作符 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

偽指令:指給編譯器用,告訴編譯器如何執(zhí)行匯編代碼。

?

1 段定義偽指令

功能:定義一個(gè)段,segment指明段的開始,ends指明段的結(jié)束。

語法:

段名字 segment 。 。 。 段名字 ends

實(shí)例

daima segmentmov ax,1234Hmov ax,4c00H daima endsshuju segment放一些數(shù)據(jù) shuju ends

?

2 段關(guān)聯(lián)偽指令

功能:將源代碼中的某一個(gè)自定義的段與計(jì)算機(jī)中某一個(gè)段寄存器相關(guān)聯(lián)。

語法:

assume 段寄存器:自定義名稱,。。。,段寄存器:自定義名稱

?

3 編譯結(jié)束偽指令

功能:告訴編譯器,編譯到此為止。

語法:

end

?

匯總實(shí)例:

assume cs:daima daima segmentmov ax,1234Hmov ax,4c00H daima ends end

?

4. 偽指令db、dw、dd

db 數(shù)據(jù),數(shù)據(jù),...,數(shù)據(jù)?? ?//偽操作用來定義字節(jié)(byte)數(shù)據(jù),其后的每個(gè)操作數(shù)都占有一個(gè)字節(jié)(8位)。
dw 數(shù)據(jù),數(shù)據(jù),...,數(shù)據(jù)?? ?//偽操作用來定義字(word),其后的每個(gè)操作數(shù)都占有一個(gè)字(16位,遵循高存高地址,低存低地址原則)。
dd 數(shù)據(jù),數(shù)據(jù),...,數(shù)據(jù)?? ?//偽操作用來定義雙字(double word),其后的每個(gè)操作數(shù)占有一個(gè)雙字。

實(shí)例:

assume cs:code,ds:data data segmentdb 11H,22H,33H ;1個(gè)字節(jié)dw 0AABBH,0CCDDH ;2個(gè)字節(jié)dd 1H,2H,3H ;4個(gè)字節(jié) data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov ax,4c00Hint 21H code ends end start

乘法實(shí)例:

8位乘數(shù)時(shí),被乘數(shù)在AL內(nèi),乘積將存儲(chǔ)在AX內(nèi)。

16位乘數(shù)時(shí),被乘數(shù)在AX內(nèi),乘積在DX,AX內(nèi),遵循高存高,低存低原則。(DX存放高位,AX存放低位)

;8位乘法 assume cs:code,ds:data data segmentdb 03H,04Hdw 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov al,ds:[0]mov ah,ds:[1]mul ahmov ds:[2],axmov ax,4c00Hint 21H code ends end start

除法實(shí)例:

8位除數(shù)時(shí),被除數(shù)在AX內(nèi),商在AL內(nèi),余數(shù)在AH內(nèi)。

16位除數(shù)時(shí),被除數(shù)在DX和AX內(nèi),商在AX內(nèi),余數(shù)在DX內(nèi)。(DX存放高位,AX存放低位)

;16位除法 assume cs:code,ds:data data segmentdd 00015F99Hdw 0384H,0H,0Hdb 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov dx,ds:[2]mov ax,ds:[0]mov bx.ds:[4]div bx;div word ptrbx ds:[4]mov ds:[6],axmov ds:[8],dxmov ax,4c00Hint 21H code ends end start

?

5. 操作符dup

作用:定義重復(fù)數(shù)據(jù)。

使用格式:
db 重復(fù)次數(shù) dup? (字節(jié)型數(shù)據(jù))
dw 重復(fù)次數(shù) dup (字型數(shù)據(jù))
dd 重復(fù)次數(shù) dup?(雙字?jǐn)?shù)據(jù))

實(shí)例:

assume cs:code,ds:data data segmentdb 11H,22H,33Hdb 6 dup (12H,13H) ;1個(gè)字節(jié)dw 3 dup (1122H,3344H) ;2個(gè)字節(jié)(1個(gè)字)dd 7 dup (11223344H,55667788H) ;4個(gè)字節(jié)(2個(gè)字)db 100 dup (00H)db 0FFH data endsstack segment stack endscode segment start:mov ax,datamov ds,axmov ax,4c00Hint 21H code ends end start

?

6. 操作符OFFSET

作用:取得標(biāo)號(hào)的偏移地址。(自己感覺是獲取標(biāo)號(hào)的地址,實(shí)例為將標(biāo)號(hào)復(fù)制到寄存器內(nèi)使用,做輔助代碼,像遞歸)

實(shí)例:

;很像遞歸,這段代碼為 mov ax,bx的代碼復(fù)制重復(fù)調(diào)用 assume cs:code,ds:data data segment data endsstack segment stack endscode segment start:mov ax,bxmov si,offset s0mov di,offset startmov cx,cs:[di]mov cs:[si],cxs0:db 6 (0FFH)db 0EEHmov ax,4c00Hint 21H code ends end start

?

?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的十一、伪指令、数据类型、操作符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。