MCS51-5汇编程序设计剖析.ppt

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

80C51的汇编语言程序设计 程序编制的方法和技巧 源程序的编辑和汇编 基本程序结构 子程序及其调用 应用程序设计方法 汇编语言,生成的目标程序占内存空间少、运行速度快,具有效率高、实时性强 高级语言,对系统的功能描述与实现简单,程序阅读、修改和移植方便,适合于编写复杂的程序 程序编制的方法和技巧 任务分析 明确任务:功能要求、技术指标 运行环境调研 算法设计 将实际问题转化为计算机处理的程序算法 算法比较与优化(内存需求与运行速度) 流程描述 程序编制的方法和技巧 程序编制的方法和技巧 强化模块观念 程序模块(主程序模块、各种子程序模块) 模块化优点:分块设计、便于阅读、调试方便 采用循环和子程序 使程序占用空间减少、结构清晰 循环初值和结束条件,避免“死机”现象 子程序的现场保护(注意栈平衡、寄存器内容) 程序编制的方法和技巧 汇编语言的语句格式 [标号:] 指令助记符 [操作数1,] [操作数2,] [操作数3,] [;注释 标号(即符号地址) 非数字字符开头,后跟字母、数字、“-”、“?”等 不能用已定义的保留字(指令助记符、伪指令等)不能用已定义的保留字(指令助记符、伪指令等) 后跟英文冒号“:” 指令助记符,指令功能的英文缩写 程序编制的方法和技巧 操作数 注释,英文分号“;”开头 数据:二进制(B) 十进制(D或省略D) 十六进制(H),注意A~F开头时要加“0” ASCII码,如 ‘A’,‘1245’ 符号:符号名、标号或“$”(PC的当前值) 表达式:由运算符和数据构成(见表4.1) 源程序的编辑和汇编 源程序的编辑和汇编 源程序的编辑 依据汇编语言规则 用好伪指令 符号不用中文 SJMP $ 用于调试 以 .ASM存盘 基本程序结构 不影响标志寄存器PSW的状态 传送类指令有两大类 一般传送( MOV ) 特殊传送 MOVC MOVX PUSH、POP XCH、XCHD SWAP 基本程序结构 顺序程序,无分支、无循环 分支程序,单分支、双分支、多分支 循环程序 子程序及其调用 多分支程序 根据R7的内容x(转移序号)转向相应的处理程序。 设R7内容为0~4,对应的处理程序入口地址分别为PP0~PP4 多分支程序 START: MOV R7,#3 ;以转移序号3为例 ACALL JPNUM AJMP START JPNUM: MOV DPTR,#TAB ;置分支入口地址表首址 MOV A,R7 ADD A,R7 ;乘2,调整偏移 MOV R3,A MOVC A,@A+DPTR ;取地址高字节,暂存于R3 XCH A,R3 INC A MOVC A,@A+DPTR ;取地址低字节 MOV DPL,A ;处理程序入口地址低8位送DPL MOV DPH,R3 ;处理程序入口地址高8位送DPH CLR A JMP @A+DPTR 多分支程序 TAB:DW PP0 DW PP1 DW PP2 DW PP3 DW PP4 PP0:MOV 30H,#0 ;转移序号为0时,置功能号“0”于30H单元 RET PP1:MOV 30H,#1 ;转移序号为1时,置功能号“1”于30H单元 RET PP2:MOV 30H,#2 ;转移序号为2时,置功能号“2”于30H单元 RET PP3:MOV 30H,#3 ;转移序号为3时,置功能号“3”于30H单元 RET PP4:MOV 30H,#4 ;转移序号为4时,置功能号“4”于30H单元 RET 循环程序 将内部RAM的30H至3FH单元初始化为00H MAIN: MOV R0,#30H ;置初值

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档