伪指令Word文档格式.docx
- 文档编号:15348117
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:26
- 大小:47.64KB
伪指令Word文档格式.docx
《伪指令Word文档格式.docx》由会员分享,可在线阅读,更多相关《伪指令Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
SPMC65伪指令依照其用途可分为五类:
存储类、定义类、条件类、汇编链接类以及调试类。
详见表2.86。
表中用斜线“/”隔开的伪指令是同义伪指令,它们虽然名字不同,但实现的功能是相同的。
例如“ORG/ORGIN”表示ORG与ORGIN两条伪指令可以相互替换。
表2.86伪指令分类列表
类别
用途
伪指令
存储类
定义变量和常量
DB/BYTE/DEFB/STRING,DW/DEFW/WORD,
DD/LONG,FLOAT,DOUBLE,DS/DEFS,DUP,
ASCII,BLKB,BLKL,BLKW
定义类
标号定义
段定义
过程和结构的定义
宏定义
VAR/DEFL/SET、EQU/EQUAL
CODE,DATA,PAGE0,SECTION,ORG/ORGIN
PROC,ENDP,STRUCT,ENDST
MACRO,ENDM/MACEND,MACEXIT
条件类
对汇编指令进行条件汇编
IF/IFN/IFNFALSE/IFNZ/IFTRUE,
IFE/IFFALSE/IFNTRUE/IFZ,IFDIFF/IFNSAME、
IFNDIFF/IFSAME,IFDEF,IFNDEF,IFMA,IFNMA,
IFABS/IFNREL,IFNABS/IFREL,IFSSEQ,IFSSNEQ,
IFPAGE0,IFNPAGE0,IFCLEAR,IFNEXT,
ELSE,ENDIF/ENDC,EXIT
汇编链接类
指导汇编器和连接器
PUBLIC/GLOBAL/XDEF,EXTERN/EXTERNAL/XREF,INCLUDE,LINKLIST,SYMBOLS,COMMENT,ASK,MESSAGE/MESSG,ABSOLUTE,RELATIVE,END
调试类
与调试相关的伪指令
STABF,STABN,STABS
下面将分类介绍比较常用的伪指令。
存储类伪指令
1.DB
[功能]以字节型数据的形式来存储常量(定位在ROM区,参见.CODE伪指令)
[同义伪指令]DEFB、BYTE、STRING
[格式]
[label:
].DB[[count]][value][,[count]][value][,…]
[说明]本伪指令把一系列8位常量值存入连续的数据单元中。
多个value值用逗号分隔开,也可在每个value值的前面指定一个[count]值,表示连续存储count个相同的value。
如果存储的常量中含有ASCII字符或字符串,则必须用单引号或双引号将其括起来。
例如:
Lb1:
.DB17h;
1个字节,值为17h
.DB3,[2]'
d'
'
ef'
;
5个字节,值为3,'
e'
f'
Lb3:
.DB“Isn'
t”;
包含单引号的字符串
上述定义将使汇编器分配一段ROM空间用来存储这些数值:
初值
17h
3
‘d'
‘e'
‘f'
‘I'
‘s'
‘n'
单引号
‘t'
ROM区存储内容
03h
64h
65h
66h
49h
73h
6Eh
27h
74h
如果利用.DB定义变量(在RAM区存储,参见.PAGE0和.DATA伪指令),那么.DB后面的初始化值将不起作用,汇编器仅仅在RAM中分配相应长度的空间,而不会存入初值,因此不建议使用.DB定义变量。
2.DW
[功能]以16位整型数据的形式来存储常量(定位在ROM区,参见.CODE伪指令)
[同义伪指令]DEFW、WORD
].DW[[count]][value][,[count]][value][,…]
[说明]本伪指令将申请若干连续的16位整型数据单元来存储双字节型常量序列。
其使用方法与.DB伪指令相同。
.DW1074h;
1个双字节,值为1074h
.DW3,[2]'
5个双字节数据
1074h
10h
00h
如果利用.DW定义变量(在RAM区存储,参见.PAGE0和.DATA伪指令),那么.DW后面的初始化值将不起作用,汇编器仅仅在RAM中分配相应长度的空间,而不会存入初值。
不建议用.DW定义变量。
3.DD
[功能]以32位长整型数据的形式来存储常量(定位在ROM区,参见.CODE伪指令)
[同义伪指令]LONG
].DD[[count]][value][,value][,…]
[说明]本伪指令申请若干连续的32位长整型数据单元来存储四字节型常量。
.DD123456h;
占用1个32位单元
.DD3,[2]'
占用5个32位单元
123456h
56h
34h
12h
67h
如果利用.DD定义变量(在RAM区存储,参见.PAGE0和.DATA伪指令),那么.DD后面的初始化值将不起作用,汇编器仅仅在RAM中分配相应长度的空间,而不会存入初值。
不建议用.DD定义变量。
4.FLOAT
[功能]以单精度浮点型实数的形式来存储常量(定位在ROM区,参见.CODE伪指令)
].FLOAT[[count]][value][,value][,…]
[说明]本伪指令用来把实数常量转换为IEEE格式表示的单精度浮点型数据并存储,每个浮点数将占用4字节的存储空间。
.FLOAT的使用方法与.DB伪指令相同。
同样地,只用当利用.FLOAT定义常量时,value预置的初值才会起作用,而定义的变量(存储于RAM区,参见.PAGE0和.DATA伪指令)不会被相应的value值初始化,仅仅会占用同样大小的RAM空间,因此不建议用.FLOAT定义变量。
.FLOAT134.576;
将134.576转换为IEEE格式(43069375h)
.FLOAT[2]78;
将两个78转换为IEEE格式(429C0000h)
上述对常量的定义将使汇编器分配一段ROM空间用来存储这些数值:
134.576
78
75h
93h
06h
43h
9Ch
42h
5.DOUBLE
[功能]以双精度浮点型实数的形式来存储常量(定位在ROM区,参见.CODE伪指令)
].DOUBLE[[count]][value][,value][,…]
[说明]本伪指令用来把实数常量值转换为IEEE格式表示的双精度浮点型数据并存储,每个浮点数将占用8字节的存储空间。
.DOUBLE的使用方法与.DB伪指令相同。
同样地,只用当利用.DOUBLE定义常量时,value预置的初值才会起作用,而定义的变量(在RAM区存储,参见.PAGE0和.DATA伪指令)仅会占用同样大小的RAM空间,不会被相应的value值初始化。
不建议用.DOUBLE定义变量。
.DOUBLE134.576;
转换为IEEE(4060D26E978D4FDFh)
若上述定义处于常量区,那么将占用一段ROM空间用来存储这些数值:
DFh
4Fh
8Dh
97h
D2h
60h
40h
6.DUP
[功能]与.DB、.DW、.DD、.FLOAT、.DOUBLE等常量存储类伪指令配合使用,用来存放若干个具有相同数值的常量。
].DBcount.DUP(value)
].DWcount.DUP(value)
].DDcount.DUP(value)
].FLOATcount.DUP(value)
].DOUBLEcount.DUP(value)
[说明]本伪指令将分配co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令
![提示](https://static.bdocx.com/images/bang_tan.gif)