偽指令不同於彙編指令,彙編指令有對應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...