资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,1,目录,01,什么是伪指令,02,伪指令的作用,03,常用的伪指令,2,2025/7/23 周三,什么是伪指令?,01,3,2025/7/23 周三,01,定义,什么是伪指令,汇编程序中提供了一套伪指令,(,Pseudo Instructions,),,以支持汇编的运行。这些伪指令仅在汇编过程中起控制作用,不产生可执行目标代码,与机器指令代码无一一对应关系,只能被汇编程序识别。汇编后,目标程序中不再出现伪指令,故又称为软指令。,“,”,伪指令与单片机指令的区别:,伪指令不能命令,CPU,执行某种操作,也没有对应的机器代码。,单片机指令能使单片机的,CPU,执行某种操作,并可以生成对应的机器代码,4,2025/7/23 周三,02,伪指令的作用,5,2025/7/23 周三,02,作用,伪指令的作用,伪指令的作用包括:,用来指定程序或数据的起始位置;,给出一些连续存放数据的地址;,为中间运算结果保留一部分存储空间;,为源程序中的符号和标号赋值;,表示源程序结束等等,“,”,不同版本的汇编语言,伪指令的符号和含义可能有所不同,但基本用法是相似的。,6,2025/7/23 周三,03,常用的伪指令,7,2025/7/23 周三,常用的伪指令,03,ORG,:起点命令,ORG,程序起始地址伪指令,例如,:,ORG8000H,START:MOVA,#74H,表示源程序的入口地址为,8000H,,即,程序从,8000H,开始执行。,“,”,8,2025/7/23 周三,常用的伪指令,03,END,:结束命令,END,程序结束命令伪指令,格式,:,END,汇编程序结束标志,该命令附在一个源程序的结尾。,在,END,之后所写的指令,汇编时不予处理,因此一,个源程序只能有一个,END,命令。,“,”,9,2025/7/23 周三,常用的伪指令,03,DB,:定义字节命令,DB,定义字节命令,格式,:,标号,:DB,字节常数或字符,从指定单元开始,定义了若干个,8,位存储单元,,以存放指令给出的数据或字符,字符若用引号,括起来,则表示,ASC,码。,“,”,10,2025/7/23 周三,常用的伪指令,03,DB,:定义字节命令,DB,定义字节命令,例如,:,ORG8000H,TAB:,DB45H,73,A,TAB1:DB101B,这里数据块的首址由,ORG,命令定义,即,TAB=8000H,则有,由,DB,命令定义的标号可以任选,,DB,所确定的,单元地址有两种方法。,“,”,(8000H)=45H,(8001H)=49H,(8002H)=35H,(8003H)=41H,(8004H)=05H,1.,若,DB,命令是在其他源程序之后,则源程序的最后一条指令地址之后就是,DB,定义的数据或数据表格,。,2.,由,ORG,定义数据块首址。,11,2025/7/23 周三,常用的伪指令,03,DW,:定义字命令,DW,定义字命令,格式,:,标号,:DW,字或字表,从指定单元开始,定义若干个字(双字节数)。,例如,:,ORG8000H,HETAB:,DW7234H,8AH,10,“,”,(8000H)=72H,(8001H)=34H,(8002H)=00H,(8003H)=8AH,(8004H)=00H,(8005H)=0AH,汇编后则,:,12,2025/7/23 周三,常用的伪指令,03,DS,:定义空间命令,DS,定义空间命令,格式,:,标号,:DS,数据或字符表达式,从指定单元开始,由数据或表达式,确定保留若干个字节内存空间备用。,例如,:,ORG8000H,DS08H,DB30H,8AH,即,8000H8007H,单元保留备用,(8008H)=30H,(8009H)=8AH,“,”,以上,DB,DW,DS,伪指令只对程序储存器起作用,13,2025/7/23 周三,常用的伪指令,03,EQU,:等值命令,EQU,命令,格式,:,字符名称,:EQU,数据或汇编符号,此命令把一个数据或特定的汇编符号赋予标号段规定的字符名称。,为“取代”之意,即以数据或汇编符号取代字符名称。用,EQU,定义的字符必须先定义后使用,这些定义的字符名称可用作数据,地址,位地址或立即数。,例如,:,ORG8000H,AA:,EQUR6;AA,与,R6,等值,MOVA,AA;A(R6),“,”,14,2025/7/23 周三,常用的伪指令,03,DATA,:数据地址赋值命令,DATA,数据地址赋值命令,格式,:,字符名称,:DATA,数据或表达式,此命令把数据地址或代码地址赋予标号段规定的字符名称。,例如,:INDEXJ DATA 8389H,定义了,INDEXJ,这个字符名称的地址为,8389H,主要用于,程序的模块式调试。,例如,:,ORG8000H,INDEXJ:,DATA8096H,LJMPINDEXJ,END,“,”,15,2025/7/23 周三,常用的伪指令,03,DATA,:数据地址赋值命令,DATA,数据地址赋值命令,等价于,ORG8000H,LJMP8096H,END,被定义的字符名称也可先使用后定义。,DATA,和,EQU,的区别在于,DATA,定义的字符名称,作为标号登记在符号表中,故可先使用后定义;,而用,EQU,定义的字符名称必须先定义后使用,其,原因是,EQU,不定义在符号表中。,“,”,16,2025/7/23 周三,常用的伪指令,03,BIT,:位地址符号命令,BIT,位地址符号命令,格式,:,字符名称,:BIT,位地址,该命令把地址赋予标号段规定的字符名称。,例如,:,A1BITP1.0,A2BITP1.1,这里地址,P1.0,P1.1,分别赋予给标号段的字符,A1A2,在编程中可将字符,A1A2,当作位地址用。,“,”,17,2025/7/23 周三,
展开阅读全文