新80C51的汇编语言程序设计.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文档。上传文档
查看更多
新80C51的汇编语言程序设计

* * 利用存储器(个数多,用R0或R1及DPTR为参数表指针) 【例4-16】将内部RAM 中两个4字节无符号整数相加,和的高字节由R0指向。数据采用大端模式存储。 入口:(R0)=加数低字节地址; (R1)=被加数低字节地址。 出口:(R0)=和的高字节起始地址。 NADD:MOV R7,#4 ;字节数4送计数器 CLR C ; NADD1:MOV A,@R0 ;利用指针,取加数低字节 ADDC A,@R1 ;利用指针,被加数低字节加A MOV @R0,A ; DEC R0 DEC R1 DJNZ R7,NADD1 INC R0 ;调整指针,指向出口 RET * * 利用堆栈 【例4-17】将内部RAM中20H单元中的1个字节十六进制数转换为2位ASCII码,存放在R0指示的两个单元中。 入口:预转换数据(低半字节)在栈顶 出口:转换结果(ASCII码)在栈顶 HEASC:MOV R1,SP ;借用R1为堆栈指针 DEC R1 DEC R1 ;R1指向被转换数据 XCH A,@R1 ;取被转换数据 ANL A,#0FH ;取一位十六进制数 ADD A,#2 ;偏移调整,所加值为MOVC与DB间总字节数 MOVC A,@A+PC ;查表 XCH A,@R1 ;1字节指令,存结果于堆栈中 RET ;1字节指令 ASCTAB:DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46H * * 验证程序段 MAIN:MOV A,20H ; SWAP A PUSH ACC ;预转换的数据(在低半字节)入栈 ACALL HEASC POP ACC ;弹出栈顶结果于ACC中 MOV @R0,A ;存转换结果高字节 INC R0 ;修改指针 PUSH 20H ;预转换的数据(在低半字节)入栈 ACALL HEASC POP ACC ;弹出栈顶结果于ACC中 MOV @R0,A ;存转换结果低字节 SJMP $ * * 4.3.5 常用子程序(略) 4.3.4 编写子程序时应注意的问题 简要说明子程序的功能、入口参数、出口参数、占用资源。 子程序的第一条指令必须有标号,以明确子程序的入口地址。 主程序调用子程序用LCALL、ACALL指令进行,返回使用RET。 为增强子程序的通用性,应尽量避免使用具体的内存单元。 在子程序的内部有转移指令时,最好使用相对转移指令。 在使用子程序时,要注意现场的保护,在退出时要恢复现场。 * * 第4章 汇编语言程序设计 程序编制的方法和技巧 4.1 基本程序结构 4.2 子程序设计 4.3 * * 单片机应用系统由硬件系统和应用程序构成 汇编语言 高级语言 应用程序设计方法 汇编语言,生成的目标程序占内存空间少、运行速度快,具有效率高、实时性强。 高级语言,对系统的功能描述与实现简单,程序阅读、修改和移植方便,适合于编写复杂的程序。 * * 4.1 程序编制的方法和技巧 4.1.1 汇编语言程序设计的步骤 分析问题,抽象出描述问题的数学模型。 确定解决问题的算法或解题思想。 分配存储空间和工作单元。 绘制流程图 编制程序。 程序调试和程序优化。 * * 绘制流程图 流程图符号 * * 强化模块化观念 使程序占用空间减少、结构清晰 循环初值和结束条件,避免“死机”现象 子程序的现场保护(注意栈平衡、寄存器内容) 程序模块(主程序模块、各种子程序模块) 模块化优点:分块设计、便于阅读、调试方便 4.1.2 编制程序的方法和技巧 采用循环和子程序结构 对中断子程序还有注意保护PSW的内容 * * 4.1.3 汇编语言的语句格式 非数字字符开头,后跟字母、数字、“-”、“?”等 不能用已定义的保留字(指令助记符、伪指令等) 后跟英文冒号“:” 标号(即符号地址)

文档评论(0)

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

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

1亿VIP精品文档

相关文档