2009级单片机第四部分汇编程序设计.ppt

2009级单片机第四部分汇编程序设计.ppt

ID:51587580

大小:1.45 MB

页数:19页

时间:2020-03-24

2009级单片机第四部分汇编程序设计.ppt_第1页
2009级单片机第四部分汇编程序设计.ppt_第2页
2009级单片机第四部分汇编程序设计.ppt_第3页
2009级单片机第四部分汇编程序设计.ppt_第4页
2009级单片机第四部分汇编程序设计.ppt_第5页
资源描述:

《2009级单片机第四部分汇编程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四部分 汇编语言程序设计目前可用于程序设计的语言基本上可分为:机器语言,汇编语言和高级语言。§4.1概述一、机器语言、汇编语言与高级语言1、机器语言:二进制代码。2、汇编语言:助记符表示。需要汇编程序将源程序转换为二进制代码。3、高级语言:自然语言,通用性好。需要编译程序将其转换为可执行程序。汇编语言效率最高,操作硬件方便。二、汇编语句的规范1、汇编语言语句的种类汇编语言语句有三种基本类型:指令语句、伪指令语句和宏指令语句。指令语句:产生目标代码伪指令语句:为汇编语言服务,不产生代码宏指令语句:代替重复使用的一段程序2、汇编

2、语言语句的格式标号:操作码操作数;注释LP:MOVA,#20H;A←20H标号:由字母开始的1—8个字母或数字组成。操作码:执行什么性质的指令。操作数:根据需要,可能有0、1、2个,为参加运算的数据。注释:对程序的说明,可选择。(1)标号定义伪指令①等值伪指令(EQU)例如:TTYEQU1080H表示标号TTY的值为1080H,在程序中不能更改。3、伪指令语句标号有字母和数符组成,字母开头,长度不超过8个符号。(2)数据说明伪指令数据说明伪指令的作用是把数据存入指定的存储单元。①定义字节伪指令DBFIRSTDB73H,04H,

3、53H,38H数据存放在从标号FIRST地址开始的连续存储单元中。730453FIRSTFIRST+1FIRST+2②定义字伪指令(DW)DATADW1234H,0FEDCH3412DCDATADATA+2FE低字节在低地址高字节在高地址③程序段说明伪指令ORGORG<表达式>ORG1000HMAIN:MOVA,#12H表示代码从1000H地址开始存放。④汇编结束伪指令END表示汇编程序的结束。在主程序或子程序的最后。三、程序设计的步骤①分析题意,确定算法.②根据算法画出程序框图分配片内、片外存储器单元编写源程序上机调试、运行

4、§4.2顺序与循环程序设计例1:将20H单元的两个BCD码拆开并变成ASCII码,存入21H、22H单元。一、顺序程序设计ORG2000HMOVA,20HMOVB,#10HDIVABORLB,#30HMOV22H,BORLA,#30HMOV21H,AEND二、循环程序设计循环是CPU重复多次的执行一串指令的基本程序结构。循环结构的四个组成部分:1、循环初态2、循环体3、循环控制部分例2:从22H单元开始有一个无符号数据块,其长度在20H中,求出其最大值,并存入21H中。ORG2000HCLRAMOVR2,20HMOVR1,#2

5、2HLP:CLRCSUBBA,@R1JNCNEXTMOVA,@R1SJMPNEXT1NEXT:ADDA,@R1NEXT1:INCR1DJNZR2,LPMOV21H,ALP1:SJMPLP1END§4.3分支程序设计1、无条件转移2、条件转移3、散转例1、存放于20H、21H中的两个无符号二进制数,求其中的大数并存放在30H单元中。MAIN:MOVA,20HCJNEA,21H,LOOP1MOV30H,20HLOOP3:RETLOOP1:JCLOOP2MOV30H,ASJMPLOOP3LOOP2:MOV30H,21HSJMPLOO

6、P3END§4.4查表程序设计例1、设计一个将十六进制转换成ASCII码的子程序。设十六进制数存放在R0中的低4位,要求将转换的ASCII码送回R0。ORG2100HMOVA,R0ANLA,#0FHADDA,#02MOVCA,@A+PCMOVR0,ARETTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39HDB41H,42H,43H,44H,45H,46H在实际的程序设计中,将那些需要多次应用的,完成相同的某种基本运算或操作的程序段从整个程序中独立出来,单独编制成一个程序段,尽量使其标准

7、化,并存放于某一存储区域。需要时通过指令进行调用。称为子程序。1、子程序§4.5子程序设计调用子程序的程序为主程序或调用程序。子程序与主程序之间的关系如下图所示,主程序两次调用子程序。例1、用程序实现c=a2+b2,设a、b均小于10。a存在31H中,b存在32H中,把c存在33H中。MAIN:MOVSP,#3FHMOVA,31HLCALLSQRMOVR1,AMOVA,32HLCALLSQRADDA,R1MOV33H,ASJMP$SQR:INCAMOVCA,@A+PCRETT11:DB0,1,4,9,16DB25,36,49D

8、B64,81ENDmain:setbrs1clrrs0mova,#0ffhmovr0,#30hmovb,#100divab;商在a中,余数在b中mov@r0,aincr0mova,#10xcha,bdivabswapaadda,bmov@r0,anopsjmp$end§4.6

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

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

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