单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt

单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt

ID:50337881

大小:200.50 KB

页数:25页

时间:2020-03-08

单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt_第1页
单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt_第2页
单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt_第3页
单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt_第4页
单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt_第5页
资源描述:

《单片机应用技术 教学课件 作者 谢敏 第4章 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目的:1.进一步熟悉指令系统2.会编写简单的程序3.上机训练 内容:4.1汇编语言程序设计概述4.2三种程序结构4.3程序设计举例所谓程序设计,就是按照给定的任务要求,编写出完整的计算机程序。要完成同样的任务,使用的方法或程序并不是唯一的。前面我们学过了汇编语言形式的指令系统,本章重点介绍汇编语言程序结构以及如何利用汇编语言指令进行程序设计的方法。4.1汇编语言程序设计概述4.1.1概念:1.机器语言:机器直接识别和执行的语言,但编写繁琐费时、理解和记忆较困难,易出错。2.汇编语言:一种符号化的语言,指令用助记符表示。3.高级语言:面向过程而独立于机器的通用语言

2、。4.汇编语言源程序的编辑和汇编编辑软件输入源程序——汇编(自动完成)——结果4.1.2伪指令伪指令并不是真正的指令,也不产生相应的机器码,它们只是在计算机将汇编语言转换为机器码时,指导汇编过程,告诉汇编程序如何汇编。仅在源程序中出现,汇编后消失。*(1)汇编起始伪指令ORG格式:ORG16位地址功能:规定跟在其后的源程序经汇编后的目标程序的起始地址。如:ORG8000HSTART:MOVA,#30H……该指令规定第一条指令从地址8000H单元开始存放,即标号START的值为8000H。*(2)汇编结束伪指令END(整个源程序末尾处)格式:END功能:结束汇编。例

3、如:ORG2000HSTART:MOVA,#00H……END(3)赋值伪指令EQU(便于修改程序)格式:字符名称EQU赋值项例如:TESTEQUR0MOVA,TEST*(4)定义字节指令DB格式:[标号:]DB8位二进制数表功能:将DB右边的单字节数据依次存放到以左边符号为起始地址的连续单元中。例如:ORG1000HTAB:DB23H,73,“B”TABl:DB110B以上伪指令经汇编以后,将对从1000H开始的若干内存单元赋值:(1000H)=23H(1001H)=49H(1002H)=42H(1003H)=06H其中42H是字符B的ASCII码,其余的十进制数

4、(73)和二进制数(110B)也都换算为十六进制数了。*(5)定义字命令DW格式:[标号:]DW16位二进制数表功能:把指令右边的双字节数据依次存入指定的连续存储单元中。其数据的高字节放到低地址单元,低字节存放到高地址单元。例如:ORG1000HTAB:DW1234H,0ABH,10汇编后:(1000H)=12H(1001H)=34H(1002H)=00H(1003H)=ABH(1004H)=00H(1005H)=0AH(6)定义存储区伪指令DS功能:从指定地址开始预留一定数量的内存单元,以备源程序执行过程中使用。预留单元的数量由表达式的只预定。例如ORG0200

5、HDS05HDB30H,40H…END汇编后,从0200H单元开始留出5个字节的存储单元,然后从0200H单元开始存放30H和40H。ROM0206H40H0205H30H0204H0203H0202H0201H0200H图4-4DS指令示意图(7)位地址赋值指令BIT格式:字符名称BIT位地址功能:把BIT右边的位地址赋给它左边的字符名称。被定义的位地址在源程序中可用字符名称来表示。例如ORG0200HA1BIT01HA2BIT30H.2MOVC,A1;Cy←(01H)MOVA2,C;30H.2←Cy…END4.1.3汇编语言程序设计步骤使用汇编语言设计一个程序

6、大致上可分为以下几个步骤。(1)分析题意,明确要求。(2)确定算法。(3)画程序流程图,用图解来描述和说明解题步骤。(4)编写源程序(5)程序优化。(6)上机调试、修改和最后确定源程序。4.2.1顺序程序设计顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序依次执行。【例4-1】两个多字节数加法1.两个三字节无符号相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、54H和55H单元中;要求把相加之和存放在50H、51H和52H单元中进位存放在位寻址区的00H位中。4.2.2分支程序结构条件满足?AYN(a)条件满足?AB

7、NY(b)(c)A0A1AnK=0K=1…K=nK=?……图分支程序结构流程图[例4-2]假定在外部RAM中有ST1、ST2和ST3共3个连续单元,其中ST1和ST2单元中分别存放着两个8位无符号二进位制数,要求找出其中的大数并存入ST3单元中。START:CLRC;进位位清“0”MOVDPTR,#ST1;设置数据指针MOVXA,@DPTR;取第一个数MOVR2,A;第一个数存R2INCDPTR;数据指针加1MOVXA,@DPTR;取第二个数SUBBA,R2;两数比较JNCBIG1;第二个数大转BIG1MOVA,R2;第一个数大整字节交换继续BIG0:INCDPT

8、RMOVX

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

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

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