組合語言EQU偽指令

2021-09-24 16:11:05 字數 926 閱讀 1007

equ 偽指令把乙個符號名稱與乙個整數表示式或乙個任意文字連線起來,它有 3 種格式:

name equ expression

name equ symbol

name equ

第一種格式中,expression 必須是乙個有效整數表示式。第二種格式中,symbol 是乙個已存在的符號名稱,已經用 = 或 equ 定義過了。第三種格式中,任何文字都可以岀現在<…>內。當彙編器在程式後面遇到 name 時,它就用整數值或文本來代替符號。

在定義非整數值時,equ 非常有用。比如,可以使用 equ 定義實數常量:

pi equ <3.1416>

【示例 1】下面的例子將乙個符號與乙個字串連線起來,然後用該符號定義乙個變數:

presskey equ <"press any key to continue...", 0>  .data  prompt byte presskey
【示例 2】假設想定義乙個符號來計算乙個 10 x 10 整數矩陣的元素個數。現在用兩種不同的方法來進行符號定義,一種用整數表示式,一種用文字。然後把兩個符號都用於資料定義:

matrix1 equ 10 * 10  matrix2 equ <10 * 10>  .data  m1 word matrix1  m2 word matrix2
彙編器將為 m1 和 m2 生成不同的資料定義。計算 matrix1 中的整數表示式,並將其賦給m1。而 matrix2 中的文字則直接複製到 m2 的資料定義中:

m1 word 100  m2 word 10 * 10
與 = 偽指令不同,在同一源**檔案中,用 equ 定義的符號不能被重新定義。這個限制可以防止現有符號在無意中被賦予新值。

強力推薦閱讀文章

年薪40+w的大資料開發【教程】,都在這兒!

組合語言偽指令

偽指令 directive 是嵌入源 中的命令,由彙編器識別和執行。偽指令不在執行時執行,但是它們可以定義變數 巨集和子程式 為記憶體段分配名稱,執行許多其他與彙編器相關的日常任務。預設情況下,偽指令不區分大小寫。例如,data,data 和 data 是相同的。下面的例子有助於說明偽指令和指令的區...

組合語言(偽指令)

偽指令語句是給匯程式設計序的命令,在彙編過程中由匯程式設計序進行處理,如定義資料 發配儲存區 定義段以及過程等。不產生目標 1 符號定義偽指令 1 equ 賦值偽指令 2 等號偽指令 3 label 型別定義偽指令 2 資料定義偽指令 1 db 定義變數為位元組 byte 型別,佔乙個單元 2 dw...

組合語言 彙編指令

功能 用來進行資料傳輸。以 mov a,b 為例,相當於a b。具有以下形式 mov 暫存器,資料 mov 暫存器,暫存器 mov 暫存器,記憶體單元 mov 記憶體單元,暫存器 mov 段暫存器,暫存器 功能 用來做加法。以 add a,b 為例,相當於a a b。具有的形式,和 mov 一樣。功...