1、
ds ---預留儲存區命令
格式: 〔標號:〕 ds 表示式值
其功能是從指定位址開始,定義乙個儲存區,以備源程式使用。
儲存區預留的儲存單元數由表示式的值決定。
tmp: ds 1
從標號tep位址處開始保留1個儲存單元(位元組)。
2、bit---定義位命令
其功能用於給字元名稱定義位位址。
spk bit p3.7
經定義後,允許在指令中用spk代替p3.7。
3、using指令
using指令通知彙編器使用8051的哪乙個工作暫存器組。
格式: using 表示式 (值必須為0-3,預設值為0。)
using 0
使用第0組工作暫存器。
4、segment指令
segment 指令用來宣告乙個再定位段和乙個可選的再定位型別。
格式: 再定位段名 segment 段型別〔再定位型別〕
其中,「再定位段名」用於指明所宣告的段。
「段型別」用於指定所宣告的段將處的儲存器位址空間。
可用的段型別有 code、xdata、data、idata和bit。
stack_seg segment idata
data_seg segment data
5、rseg---再定位段選擇指令
再定位段選擇指令為rseg,用於選擇乙個已在前面定義過的再定位段作為當前段。
格式: rseg 段名
段名必須是在前面已經宣告過的再定位段。
data_seg segment data ;宣告乙個再定位data段
rseg data_seg ;選擇前面宣告的再定位data段作為當前段
6、絕對段選擇指令
cseg---絕對**段
dseg---內部絕對資料段
xseg---外部絕對資料段
iseg ---內部間接定址資料段
bseg---絕對位定址資料段
格式:cseg [at 絕對位址表示式]
dseg [at 絕對位址表示式]
xseg [at 絕對位址表示式]
iseg [at 絕對位址表示式]
bseg [at 絕對位址表示式]
括號內是可選項,用來指定當前絕對段的基位址。
cseg at 0000h
ajmp main
7、org指令
org指令用來改變彙編器的計數器,從而設定乙個新的程式起始位址。
格式: org 表示式
表示式必須是絕對或簡單再定位表示式。
org 0000h
ajmp main
設定 main 程式的起始位址為 0000h。
8、end指令
end指令用來控制彙編結束。在每個匯程式設計序的最後一行必須有一條end指令,
並且end指令只能出現一次。
9、equ指令
equ 指令用於將乙個數值或暫存器名賦給乙個指定的符號名。
格式: 符號名 equ 表示式
或 符號名 equ 暫存器名
表示式必須是乙個簡單再定位表示式。
用 equ 指令賦值以後的字元名,可以用作資料位址、**位址、位位址或者
直接當做乙個立即數使用。
limit equ 1200
count equ r5
10、data 指令
data 指令用於將乙個內部 ram 的位址賦給指定的符號名。
格式: 符號名 data 表示式
數值表示式的值在 0-255 之間,表示式必須是乙個簡單再定位表示式。
port1 data 40h
11、db 指令
db 指令以表示式的值的位元組形式初始化**空間。
格式: [標號:] db 表示式表
表示式中可包含符號、字串、或表示式等項,各個項之間用逗號隔開,字串應用引號括起來。
括號內的標號是可選項,如果使用了標號,則標號的值將是表示式表中第一位元組的位址。
db 指令必須位於 code 段之內,否則將會發生錯誤。
table:
db 0c0h, 0f9h, 0a4h
table1:
db
" weina
"
彙編偽指令注釋
彙編偽指令注釋 1 ds 預留儲存區命令 格式 標號 ds 表示式值 其功能是從指定位址開始,定義乙個儲存區,以備源程式使用。儲存區預留的儲存單元數由表示式的值決定。tmp ds 1 從標號tep位址處開始保留1個儲存單元 位元組 2 bit 定義位命令 其功能用於給字元名稱定義位位址。spk bi...
彙編assume 偽指令
這幾天在看王爽大大的 組合語言。對於assume偽指令卻很是不懂。比如已經定義了assume cs code,ds data 但用debug觀察的時候,發現ds段暫存器卻沒有相關聯的資料。必須在cs中寫明 mov ax,data mov ds,ax 然後才能發現ds中有正確的資料。於是疑惑,assu...
ARM彙編偽指令
global,local,set,equ global 使得符號對聯結器可見,變為對整個工程可用的全域性變數,通俗講就是定義全域性變數 eg global symbol local set 給乙個全域性變數或區域性變數賦值,和.equ的功能一樣 eg set symbol expr set star...