第三章MCS-51汇编语言程序设计lx详细.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51汇编语言程序设计 MCS-51汇编语言程序设计 汇编语言概述 汇编语言程序的基本结构 汇编语言程序设计举例 第三章 汇编语言概述 一、汇编语言特点 用助记符及标号地址、标号等符号来书写的程序设计语言称汇编语言,用汇编语言编写的程序称为汇编语言程序 指令采用助记符而不是使用指令码表示 地址采用标号地址,而不是真正的实际地址 采用助记符和标号地址为使用者提供了方便,不必记忆指令的机器码,也不必进行实际的地址计算。 将助记符翻译成机器码和将标号地址换算成实际地址的工作称为汇编 第三章 汇编语言概述 汇编的2种方式 手工汇编:人工查指令表汇编。用于设计短小程序或调试程序的场合。 机器汇编:用汇编程序进行汇编 第三章 汇编语言概述 汇编语言的特点: 助记符指令和机器指令一一对应,因此使用汇编语言编写的程序代码效率高,占用存储空间小,运行速度快。使用汇编语言能编写出最优化的程序 汇编语言能直接与存储器和接口电路打交道,也能申请中断,因此汇编语言程序能直接管理和控制硬件设备 汇编语言是面向计算机的,不是独立于CPU的,每种微处理器都有专门的指令系统,有自己的汇编语言,彼此之间不能通用。程序设计人员必须对计算机硬件有相当深入的了解,才能使用汇编语言编写程序,由于汇编语言与机器有关,因此汇编语言程序不易移植,但是掌握一种汇编语言有助于学习其他的汇编语言。 第三章 汇编语言概述 二、汇编语言程序的语句格式 MCS—51汇编语言程序的语句格式为 [标号:] 操作码 [操作数] [;注释] 有方括号的部分是可选择部分,可有可无,视需要而定 第三章 汇编语言概述 1.标号 标号是语句地址的标志符号,汇编语言程序的语句通过标号才能访问到该语句。 对于标号的使用有以下规定: 标号由≤8个ASCII字符组成,头1个字符必须是字母,其余字符可以是字母、数字和特定字符 不能使用汇编语言中已经定义的符号作为标号,如指令助记符、伪指令、SFR的符号名称等 标号后必须紧跟一个冒号 同1标号在1个程序只能定义1次,不能重复定义 1条语句有无标号是任选的,根据程序中是否访问该语句而定 第三章 汇编语言概述 例:正确的标号: LOOP: TABLE: THLS$: LT_1: 错误的标号: 11T: LST+2: MOV: TMOD: 第三章 汇编语言概述 2.操作码 用于规定语句执行的操作,它是指令助记符或伪指令 操作码是汇编语盲语句中唯一不可空缺的部分 3.操作数 操作数是参加运算与操作的数据或数据的地址,它和操作码之间用空格分开 在一条语句中,操作数根据指令的不同,可以是空白或一至三个 若有二个以上操作数,各操作数之间用逗号分隔 对于立即数 #data (1)立即数188,可表示为 、#0BCH、#188 (2)MOV R0,# BLOCK;BLOCK为定义过的标号地址 对于直接地址 direct (1)二进制、十进制、十六进制数,MOV A,30H (2)定义过的标号地址,AGAIN:SJMP AGAIN (3)表达式,如SUM+2,其中SUM为定义过的标号地址 (4) SFR寄存器名,如SP、DPH、DPL等 第三章 汇编语言概述 三、汇编语言的伪指令 伪指令是属于指令系统之外的,是程序员发给汇编程序的命令。汇编程序在这些命令的指导下将汇编语言程序汇编,生成机器码 伪指令没有对应的机器语言代码,对程序本身的算法和流程控制没有作用 MCS-51汇编语言程序中常用的伪指令有 第三章 汇编语言概述 1.ORG(汇编起始命令) 功能是规定生成的机器语言程序代码的起始地址 格式: [标号:] ORG 地址 其中[标号:]是任选项 地址项为16位二进制地址。 例: ORG 1000H START:MOV SP,#60H 规定了这个程序的START标号所在地址为1000H,程序机器码从1000H地址开始 第三章 汇编语言概述 2.END(汇编终止命令) 功能是终止源程序的汇编工作,在END之后的指令,汇编程序都不予处理 END是汇编语言程序的结束标志,1个程序只能有1个END命令 格式: [标号:] END [表达式] 其中标号和表达式两项均

文档评论(0)

企业资源 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档