align 偽指令將乙個變數對齊到位元組邊界、字邊界、雙字邊界或段落邊界。
語法如下:
align bound
bound 可取值有:1、2、4、8、16。當取值為 1 時,則下乙個變數對齊於 1 位元組邊界(預設情況)。當取值為 2 時,則下乙個變數對齊於偶數字址。當取值為 4 時,則下乙個變數位址為 4 的倍數。當取值為 16 時,則下乙個變數位址為 16 的倍數,即乙個段落的邊界。
為了滿足對齊要求,彙編器會在變數前插入乙個或多個空位元組。為什麼要對齊資料?因為,對於儲存於偶位址和奇位址的資料來說,cpu 處理偶位址資料的速度要快得多。
bval byte ? ;00404000h align 2 wval word ? ;00404002h bval2 byte ? ;00404004h align 4 dval dword ? ;00404008h dval2 dword ? ;0040400ch請注意,dval 的偏移量原本是 0040 4005,但是 align 4 偽指令使它的偏移量成為 0040 4008。
組合語言過程
5.1 組合語言堆疊簡介
5.2組合語言執行時堆疊
5.3 push和pop指令
5.4 proc和endp偽指令
5.5 call和ret指令
5.6 過程呼叫巢狀
5.7示例:整數陣列求和
5.8 uses運算子
5.9鏈結庫簡介
5.10irvine32鏈結庫
5.11irvine32鏈結庫過程詳細說明
5.12irvine64鏈結庫
組合語言偽指令
偽指令 directive 是嵌入源 中的命令,由彙編器識別和執行。偽指令不在執行時執行,但是它們可以定義變數 巨集和子程式 為記憶體段分配名稱,執行許多其他與彙編器相關的日常任務。預設情況下,偽指令不區分大小寫。例如,data,data 和 data 是相同的。下面的例子有助於說明偽指令和指令的區...
組合語言(偽指令)
偽指令語句是給匯程式設計序的命令,在彙編過程中由匯程式設計序進行處理,如定義資料 發配儲存區 定義段以及過程等。不產生目標 1 符號定義偽指令 1 equ 賦值偽指令 2 等號偽指令 3 label 型別定義偽指令 2 資料定義偽指令 1 db 定義變數為位元組 byte 型別,佔乙個單元 2 dw...
組合語言EQU偽指令
equ 偽指令把乙個符號名稱與乙個整數表示式或乙個任意文字連線起來,它有 3 種格式 name equ expression name equ symbol name equ 第一種格式中,expression 必須是乙個有效整數表示式。第二種格式中,symbol 是乙個已存在的符號名稱,已經用 或...