微机原理及应用 第四章 汇编语言程序设计基础(精品·公开课件).ppt

微机原理及应用 第四章 汇编语言程序设计基础(精品·公开课件).ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计基础 4-1 汇编语言程序设计方法 1 程序及程序设计 程序是一系列指令的有序集合 程序设计则是编制程序的过程 2、 程序设计步骤 分析课题→确定算法和数据结构→确定操作步骤→画流程图→编制源程序→调试程序 流程图图例 起止框 处理框 判断框 连线 4-2 汇编语言程序结构 程序设计方法 结构化设计 4-2 汇编语言程序结构 4-2-1 顺序结构程序设计 顺序结构是按照指令在存储器中存放的先后顺序,从某一条指令开始逐条顺序执行,直至某一条指令为止。 特点: 程序中无转移、调用、分支、循环指令; 程序按编写的先后顺序执行,程序流向不变 PC自动加1 在实际编程中应注意 如何正确选择指令、寻址方式和合理使用工作寄存器,包括数据存储器。 数据传送和交换程序、简单运算程序、查表程序 【例4-1】拆字、拼字程序 将片内RAM 50H单元的低4位取出当作高4位,与51H单元的低4位合成一个字节后存入52H单元。 STR EQU 50H ;头文件 ORG 0000H MOV R1,#STR MOV A,@R1 ;取50H单元中的数据 ANL A,#0FH ;拆字,屏蔽高4位 SWAP A ;高、低4位互换 INC R1 ;指向51H单元 XCH A,@R1 ;51H单元内容与累加器内容互换 ANL A,#0FH ;拆字,取原51H单元的低4位 ORL A,@R1 ;拼字 INC R1 MOV @R1,A ;存结果 RET END 【例4-1】拆字、拼字程序 将片内RAM 50H单元的低4位取出当作高4位,与51H单元的低4位合成一个字节后存入52H单元。 STR EQU 50H ;头文件 ORG 0000H MOV R1,#STR ;指向50H单元 MOV A,@R1 ;取50H单元中的数据 SWAP A ;高、低4位互换 INC R1 ;指向51H单元 XCHD A,@R1 ;拆字,拼字;51H单元的低4位 ;与A的低4位内容互换 INC R1 ;指向52H单元 MOV @R1,A ;存结果 RET END 【例4-2】数制转换 将片内RAM 30H单元的无符号二进制数转换成BCD码数,结果按高低顺序依次存放到33H、32H、31H单元。 ORG 0000H HEX_D: MOV A, 30H ;取原数据数 MOV B, #10 DIV AB ;二进制数除10 MOV 31H, B ;将余数(BCD码的个位)送31H MOV B, #10 DIV AB ;商再继续除10 MOV 32H, B ;将余数(BCD码的十位)送32H MOV 33H, A ;将商(BCD码的百位)送33H RET 【例4-3】查表程序 关键在:组织具有规律性的表格 求R1中数(0~15)的平方,结果仍放回到R1中。 ORG 0000H TAB1: MOV A, R1 ADD A, #02H ;加上地址偏移量 MOVC A, @A+PC ;查表 MOV R1,A RET DB 00H, 01H, 04H, 09H ;平方表 DB 10H, 19H, 24H, 31H ;续表 DB 40H, 51H ;续表 【例4-3】查表程序 求R1中数(0~15)的平方,结果仍放回到R1中。 ORG 0000H TAB2: PUSH DPH ;保存DPTR的原值 PUSH DPL MOV DPTR, #TAB ;取平方表首地址 MOV A, R1 MOVC A, @A+DPTR ;查平方表 MOV R1, A POP DPL ;恢复DPTR的原值 POP DPH RET TAB: DB 00H, 01H, 04H, 09H ;平方表 DB 10H, 19H, 24H, 31H DB 40H, 51H 以PC为指针查表程序 输入参数:R2 输出参数:R3R4 TB1: mov A,R2 add A,R2;? mov R3,A add A,#08H;? movc A,@A+PC

文档评论(0)

花好月圆 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档