第04章汇编言程序设计new.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.汇编语言与汇编的概念 2.汇编语言源程序的格式 (1)指令语句 (3)MCS-51的汇编语言中每条语句典型的四分段格式 (3)MCS-51的汇编语言中每条语句典型的四分段格式 (4)基本语法规则 3. 伪指令 (1)起始地址设定伪指令 ORG(Origin—起点) 格式: ORG 16位地址 功能:定义此语句后的程序或数据块的起始地址。 (2) 汇编结束伪指令 END 格式: END 功能:表示汇编程序结束。该指令放在汇编程序的最后。 (3)赋值伪指令 EQU (Equate——等值) 格式:标号名 EQU 表达式 功能:是指令中的字符名称等价于给定的数字或汇编符号。 (4)定义字节伪指令DB(Difine byte——定义字节) 格式:[ 标号] DB 字节常数、字符、表达式 功能:把8位二进制字节常数或字节串依次存入内存的连续单元中。 字节常数或字符是指一个字节数据,或用逗号分开的字符串,或用引号括起来的ASCII码字符串。 (5)定义字伪指令 DW(Difine Word——定义字) 格式:[ 标号] DW 字常数、字串、表达式 功能:把16位常数或字串依次存入内存的连续单元中。 每个16 位数据要占两个存储单元,高8位在前(地址小),低8位在后(地址大)。DW主要用来定义地址。 (6)定义存储单元伪指令 DS 格式:[ 标号] DS 单元数 功能:在内存中预留若干个连续的字节单元。 (7)定义位地址伪指令 BIT 格式:标号 BIT 位地址 功能:为标号赋予一个位地址。 (8)程序计数器$ 独立出现$时,其值为程序将要分配的存储器单元的地址。 字符“$”在汇编语言中具有一种特殊的意义,汇编时使用,称为程序计数器。独立出现$时,其值等于汇编时将为程序分配的存储单元的地址。$可以在数值表达式中使用。 例: 常用伪指令回顾 起始地址设定伪指令 ORG (Origin—起点) 汇编结束伪指令 END 赋值伪指令 EQU (Equate—等值) 定义字节伪指令 DB (Difine byt—定义字节) 定义字节伪指令 DW (Difine Word—定义字) 定义存储单元伪指令 DS 定义位地址伪指令 BIT (Difine Bit Address—定义位地址) 程序计数器 $ 4. 源程序的汇编 1.汇编语言程序设计步骤 1)顺序结构 3) Case结构 4) Do While ?? 循环结构基本组成部分 1.初始化部分:循环次数,数据指针,地址和相关参数赋初始值; 2.循环体部分:循环结构核心; 3.修改初值部分:调整初始值(循环次数,数据指针,地址和相关参数); 4.判断部分(控制循环部分):判断循环是否结束(或是否需继续)。 程序流程图的绘制 程序流程图是一种算法表达工具,程序流程图的绘制应遵守国家标准GB1525-89(《信息处理--数据流程图,程序流程图,系统流程图,程序网络图和系统资源图的文件编制符号及约定》)对流程图中符号表示及使用规则的规定。 2.顺序程序结构 3.分支程序结构 1.加法程序 1.码制转换程序 2.查表程序 补充、分段函数 求最大值或最小值 (1)无符号数求最大值或最小值 例:在以2042H为首址的存储单元中,连续存放一组单字节无符号数,数据个数存于2041H单元,编写程序,从中找出最大数存于2040H单元。 算法:假设第一个数为最大数,取出存于缓冲器内,然后逐次取出其余数据与缓冲器内容相比较,凡大于的就替代缓冲器中原有的内容,全部比较完后,缓冲器中的数即为最大数。 排序 结论: 本章小结 本章内容是MCS-51单片机汇编语言程序设计的基础,主要讲述了以下内容: (1) 单片机汇编语言常用伪指令 ; (2) 程序设计的基本结构,即:顺序结构、分支结构、循环结构和调用子程序结构 ; (3) 介绍了算术运算程序和非数值操作程序设计实例 ; 在单片机应用中,程序设计是一个很关键问题,也是单片机开发中最重要的工作之一。它不仅是实现人机对话的基础和直接关系到所设计单片机应用系统的控制特性,而且对系统的存储容量和工作效率也有很大影响。因此,掌握汇编语言程序设计方法对于单片机的软件编写至关重要。 【例4-18】将单字节BCD码转换为二进制数。 解: 算法:百位数乘100+十位数乘10+个位数。 设单字节压缩BCD码存放在R2中,将其转换为二进制数存入R3中。源程序如下: 2. BCD码转换成二进制(或十六进制)数 结束 开始 取BCD数 高4位*10→R3 (R3)+(A) →R3 取BCD数 低4位→A BCD数→R2 STAR:MOV R2,#89H ;设待转换BCD码为89 MOV A,R2 ;A←R

文档评论(0)

liwenhua11 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档