欢迎来到天天文库
浏览记录
ID:45203560
大小:460.00 KB
页数:49页
时间:2019-11-10
《单片机原理及其接口技术胡汉口第3版第4章-汇编程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章:汇编语言程序设计本章基本要求:⑴汇编语言的构成⑵源程序的设计与汇编*⑶应用程序设计*4.1汇编语言的构成4.1.1程序设计语言用户要使计算机能完成各式各样的任务,就要设计各种相应的应用程序,而设计程序就要用到程序设计语言。程序设计语言有3种:●机器语言●汇编语言●高级语言。4.1汇编语言的构成表4-1机器语言和汇编语言的形式地址机器语言形式汇编语言形式二进制形式十六进制形式2000H0111010000000101B7405HSTART:MOVA,#05H2002H0020010000001010B240AHAD
2、DA,#0AH2004H1111010100100000BF520HMOV20H,A2006H1000000011111110B80FEHSJMP$机器语言中二进制形式不便记忆,常采用十六进制形式记忆4.1汇编语言的构成在Keil调试环境下反汇编程序1、汇编源程序:2、反汇编程序:地址机器码反汇编程序汇编源程序4.1汇编语言的构成4.1.3汇编语言构成汇编语言语句分为:指令性语句、指示性语句两类。1、(概念4-1)指令性语句指采用指令助记符构成的汇编语言语句,必须符合汇编语言的语法规则,包括指令系统中的全部指令,每条指令
3、有对应的机器代码,并可由CPU执行。2、(概念4-2)指示性语句在汇编源程序的过程中,还有一些指令不要求CPU进行任何操作,也没有对应的机器码,不影响程序的执行,仅仅是能够指导汇编进行处理的一些指令,称之为伪指令。4.1汇编语言的构成伪指令的主要功能是:1)用来指定程序或数据的起始位置2)给出一些连续存放数据的确定地址3)为中间运算结果保留一部分存储空间4)以及表示源程序结束等等。不同版本的汇编语言,伪指令的符号和含义可能有所不同,但是基本用法是相似的。下面介绍几种常用的基本伪指令。MCS-51单片机伪指令伪指令仅在汇编
4、过程中起控制作用不产生可执行目标代码,又称为软指令1、起点指令ORG格式:ORG××××H(16位地址或标号)功能:给程序起始地址或数据块的起始地址赋值例:用法:一般出现在每段源程序或数据块的开始一个源程序可多次出现ORG指令ORG2000HSTART:MOVA,#64H┇;源程序的起始地址为2000H首地址首地址2、结束命令END格式:END功能:汇编程序结束标志附在一个源程序的结尾一个源程序只能出现一次END指令用法:MCS-51单片机伪指令3、等值命令EQU格式:字符名称EQU数据或汇编符号功能:将一个数据或汇编符
5、号赋予标号段规定的字符名称例:ORG8000HAAEQUR6MOVA,AA;AA与R6等值;A(R6)MCS-51单片机伪指令例:A10EQU10DELYEQU07EBHMOVA,A10LCALLDELY;A10=10;DELY=07EBH;转向入口地址07EBH使用EQU指令,须先赋值后使用,不能反之4、数据地址赋值等值命令DATA格式:字符名称DATA数据或表达式功能:此命令把数据/代码地址赋予标号段所规定的字符名称。定义的字符名称可先使用后定义INDEXJDATA8096HORG8000HINDEXJDATA809
6、6HLJMPINDEXJENDORG8000HLJMP8096HEND;INDEXJ这个字符名称的地址为8096H例:等价于MCS-51单片机伪指令EQU与DATA的区别(1)DATA与EQU相似,但DATA定义的字符名称,可先使用后定义,EQU则不能(2)EQU指令可把汇编符号赋给字符名称,DATA则不能(3)DATA可把表达式的值赋给字符名称,EQU则不能DATA常在程序中定义数据地址EQU常在程序中定义字符数据MCS-51单片机伪指令5、定义字节命令DB格式:功能:标号:DB字节常数或字符串(8位)定义字节的内容,
7、汇编程序把DB定义的字节依次存入标号开始的存储单元有定义的内存单元地址项或项表例:ORG8000HTAB:DB45H,73,‘5’,‘A’TAB1:DB101B伪指令ORG定义了TAB的起始地址为8000H,伪指令DB定义了8000H~8003单元的内容依次为:(8000H)=45H(8001H)=49H(8002H)=35H(8003H)=41H(8004H)=05HTABTAB1(1)由ORG定义(2)跟在其他源程序之后6、定义字命令DW格式:功能:标号:DW字或字表定义若干个字(双字节)例:ORG8000HTAB:
8、DW7234H,8AH,10(8000H)=72H(8001H)=34H(8002H)=00H(8003H)=8AH(8005H)=0AH汇编后:(8004H)=00HMCS-51单片机伪指令7、定义空间命令DS格式:功能:标号:DS数据或字符及表达式例:(8008H)=30H(8009H)=8AH从指定单元地址开始
此文档下载收益归作者所有