第三章MCS单片机的汇编语言程序设计学时.ppt

第三章MCS单片机的汇编语言程序设计学时.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章MCS单片机的汇编语言程序设计学时

12 第三章 汇编语言程序设计 步骤: 编制要解决的问题的程序框图; 确定数据结构、算法、工作单元、变量等; 按照已编制的程序框图编写源程序; 调试源程序,直至实现预定的功能。 2.未知循环次数的循环程序 需根据判断循环条件的成立与否,或用建立标志的方法,控制循环程序的结束。 方法2:用转移地址表 程序如下:MOV DPTR,#TAB MOV A,R0 ADD A,R0 ;R0*2 MOV B,A MOVC A,@A+DPTR ;入口高8位 XCH A,B INC A MOVC A,@A+DPTR ;入口低8位 MOV DPL,A MOV DPH,B CLR A JMP @A+DPTR 1.用寄存器传递参数 例:求平方计算。 SQU: MOV B,A MUL AB RET 如要完成30H、31H两数的平方和存32H33H 2.用指针传递参数 例:对内RAM多个单元清零。 CLEAR:CLR A MOV @R0,A INC R0 DJNZ R2,CLEAR RET 比如要对50H单元开始的10个单元清零。 MAIN: MOV R0,#50H MOV R2,#10 LCALL CLEAR ……. 例:多字节二进制数转换成十进制数 CHHD: MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV R2,#16 LOOP: MOV A,31H RLC A MOV 31H,A MOV A,30H RLC A MOV 30H,A MOV A,34H ADDC A,34H DA A MOV 34H,A MOV A,33H ADDC A,33H DA A MOV 33H,A MOV A,32H ADDC A,32H DA A MOV 32H,A DJNZ R2,LOOP RET 3。十六进制与ASCII码之间的相互转换 例12 把内部RAM某一单元中一个字节的十六进制数转换成两位ASCII码, 结果存放在内部RAM的连续两个单元中。 假设一个字节的十六进制数在内部 RAM 40H单元, 而结果存入 50H, 51H单元, 可以用堆栈进行参数传递: 内RAM 0BH 0AH 09H 08H 07H SP? LCALL CHHA SP? PC.L PC.H CHHA: ...... RET SP? SP? SP? PC.H PC.L PUSH ACC PC.H PC.L ACC

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档