1、DS ---預留存儲區命令
格式: 〔標號:〕 DS 表達式值
其功能是從指定地址開始,定義一個存儲區,,以備源程序使用。
存儲區預留的存儲單元數由表達式的值決定。
TMP: DS 1
從標號TEP地址處開始保留1個存儲單元(字節)。
2、BIT---定義位命令
格式: 字符名稱 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