8086彙編學習筆記5 偽指令

2021-06-01 19:19:36 字數 706 閱讀 9924

偽指令不同於彙編指令,彙編指令有對應cpu能夠識別的機器碼,而偽指令主由編譯器識別。

1. 段宣告

段名 segment .

.段名 ends

segment和ends是用來定義乙個段,segment是乙個段的開始,ends是乙個段的結束,乙個段必須有個名稱來標識。

2. 匯程式設計序結束標記end

end是乙個匯程式設計序結束標記,編譯器在編譯匯程式設計序過程中,如果碰到end,就結束對源程式的編譯

還可以在end後加上start,告訴編譯器程式的入口在什麼地方

3. assume,將乙個段暫存器和乙個具體段關聯

4. 程式返回

mov ax,4c00h

int 21h

這兩條指令所實現功能就是程式返回

5. 用單引號』』指明資料是以字元形式給出的,編譯器將他們轉換為對應的ascii碼

6. db,dw,dd定義位元組、字、雙字資料

db 『linux』

dw 17800

dd 5937000

dup和資料定義指令配合使用,用來進行資料的重複

db 200 dup(0)

定義了200位元組儲存空間,值全初始化為0

7. offset偽指令取得標號處偏移位址

s:     mov bx, 2

mov ax, offset s

將標號s的偏移位址存放到ax暫存器中

彙編偽指令注釋

彙編偽指令注釋 1 ds 預留儲存區命令 格式 標號 ds 表示式值 其功能是從指定位址開始,定義乙個儲存區,以備源程式使用。儲存區預留的儲存單元數由表示式的值決定。tmp ds 1 從標號tep位址處開始保留1個儲存單元 位元組 2 bit 定義位命令 其功能用於給字元名稱定義位位址。spk bi...

彙編偽指令注釋

1 ds 預留儲存區命令 格式 標號 ds 表示式值 其功能是從指定位址開始,定義乙個儲存區,以備源程式使用。儲存區預留的儲存單元數由表示式的值決定。tmp ds 1 從標號tep位址處開始保留1個儲存單元 位元組 2 bit 定義位命令 其功能用於給字元名稱定義位位址。spk bit p3.7 經...

彙編assume 偽指令

這幾天在看王爽大大的 組合語言。對於assume偽指令卻很是不懂。比如已經定義了assume cs code,ds data 但用debug觀察的時候,發現ds段暫存器卻沒有相關聯的資料。必須在cs中寫明 mov ax,data mov ds,ax 然後才能發現ds中有正確的資料。於是疑惑,assu...