chapter05汇编语言程序设计

chapter05汇编语言程序设计

ID:36324029

大小:1.57 MB

页数:77页

时间:2019-05-09

chapter05汇编语言程序设计_第1页
chapter05汇编语言程序设计_第2页
chapter05汇编语言程序设计_第3页
chapter05汇编语言程序设计_第4页
chapter05汇编语言程序设计_第5页
资源描述:

《chapter05汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章汇编语言程序设计5.1概述5.2简单顺序程序5.3分支程序5.4循环程序5.6子程序的设计及调用5.5查表程序5.1.1伪指令伪指令仅在汇编过程中起控制作用,不产生可执行的目标代码,又称为软指令。1、起点指令ORG格式:ORG××××H功能:给程序起始地址或数据块的起始地址赋值。例:用法:一般出现在每段源程序或数据块的开始。一个源程序可多次出现ORG指令。ORG8000HSTART:MOVA,#74H┇;源程序的起始地址为8000H5.1概述2、结束命令END格式:END功能:汇编程序结束标志附在一个源程序的结尾。一个源程序只能

2、出现一次END指令。3、定义字节命令DB格式:功能:标号:DB字节常数或字符串(8位)定义字节的内容,汇编程序把DB定义的字节依次存入标号开始的存储单元。用法:有定义的内存单元地址项或项表5.1.1伪指令例: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)

3、跟在其他源程序之后5.1.1伪指令4、定义字命令DW格式:功能:标号:DW字或字表定义若干个字(双字节)(注:51为大端模式)例:ORG8000HTAB:DW7234H,8AH,10(8000H)=72H(高字节在低端地址)(8001H)=34H(低字节在高端地址)(8002H)=00H(8003H)=8AH(8005H)=0AH汇编后:(8004H)=00H5.1.1伪指令5、定义空间命令DS格式:功能:标号:DS数据或字符及表达式例:(8008H)=30H(8009H)=8AH从指定单元地址开始,由数据或字符及表达式的值来定义应保

4、留的单元数,备用。ORG8000HDS08HDB30H,8AH即:8000H~8007H单元保留备用5.1.1伪指令6、等值命令EQU格式:字符名称EQU数据或汇编符号功能:将一个数据或汇编符号赋予标号段规定的字符名称。例:ORG8000HAAEQUR6MOVA,AA;AA与R6等值;A(R6)5.1.1伪指令例:A10EQU10DELYEQU07EBHMOVA,A10LCALLDELY;A10=10;DELY=07EBH;转向入口地址07EBH使用EQU指令,须先赋值后使用,不能反之。5.1.1伪指令7、数据地址赋值等值命令DATA

5、格式:字符名称DATA数据或表达式功能:此命令把数据/代码地址赋予标号段所规定的字符名称。定义的字符名称可先使用后定义。INDEXJDATA8389HORG8000HINDEXJDATA8096HLJMPINDEXJENDORG8000HLJMP8096HEND;INDEXJ这个字符名称的地址为8389H例:等价于5.1.1伪指令EQU与DATA的区别(1)DATA与EQU相似,但DATA定义的字符名称,可先使用后定义,EQU则不能。(2)EQU指令可把汇编符号赋给字符名称,DATA则不能。(3)DATA可把表达式的值赋给字符名称,E

6、QU则不能。DATA常在程序中定义数据地址。EQU常在程序中定义字符数据。5.1.1伪指令8、位地址符号命令BIT格式:字符名称BIT位地址功能:把位地址赋予标号段的字符名称A1BITP1.0A2BITP2.0例:;P1.0、P2.0赋予位地址字符名称A1、A2,;在编程时可以直接把A1、A2当成位地址使用。5.1.1伪指令5.1.2汇编程序的操作分两次扫描(汇编)第一次扫描(汇编)检查语法结构,对源程序中的符号、表达式、标号进行定义,处理伪指令,建立符号表。显示ERROR,并提示行号显示ERROR,并提示行号修改!修改!第二次扫描(

7、汇编)汇编成目标代码和汇编程序清单可执行的代码(机器码)5.1概述①建立数学模型②确定算法③制定流程图④确定数据结构⑤写出源程序⑥上机调试5.1.4汇编语言程序的结构①定义有关字符名②定义程序的起始地址③程序主体④汇编结束标志5.1概述5.1.3汇编语言程序设计的步骤例1:内部RAM从DATA1单元开始有一数据块,存放若干无符号数,第一单元为数据块长度,求这些无符号数之和。;首址送R0;长度送R1;检查长度是否为零;为零则结束;不为零则开始运算;加一个数;长度减1,不为零则转移;存和起始地址程序主体汇编结束标志标号注释MOVR1,DA

8、TA1CJNER1,#0,NEXTORG2000HSTART:MOVR0,#DATA1HERE:SJMP$NEXT:CLRALOOP:INCR0ADDA,@R0DJNZR1,LOOPMOVSUM,ASJMPHEREDAT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。