- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章汇编语言程序设计
3.1 汇编程序与伪指令 3.1.1 汇编程序 MCS—51 指令所编写的汇编语言源程序, 还必须经过从汇编源程序到机器语言目标程序的“ 翻译”, 才能在 51 系列单片机运行, 这种翻译的过程称为汇编。 完成汇编工作有两种途径: 一种是人工汇编; 一种是机器汇编。汇编程序是将汇编源程序转变为相应目标程序的翻译程序。 3.1.2 伪指令 在汇编源程序的过程中, 还有一些指令不要求计算机进行任何操作, 不产生目标程序, 不影响程序的执行, 是一些说明性、指示性的指令, 称之为伪指令。 它主要用来指定程序或数据的起始位置, 给出一些连续存放数据的确定地址, 或为中间运算结果保留一部分存储空间以及表示源程序结束等等。 不同版本的汇编语言, 伪指令的符号和含义可能有所不同, 但是基本用法是相似的。 下面介绍几种常用的基本伪指令。 (1) 设置目标程序起始地址伪指令ORG。 格式: ORG 16位地址 该伪指令的功能是规定其后面目标程序的起始地址。 例如: ORG 2000H START: MOV A, #7FH ;机器码74H 7FH … (2) 结束汇编伪指令END。 格式: END END是汇编语言源程序的结束标志, 表示汇编结束。 在END以后所写的指令, 汇编程序都不予以处理。 一个源程序只能有一个END命令 (3) 定义字节伪指令DB。 格式: [标号: ]DB 项或项表 其中项或项表指一个字节, 或用逗号分开的字符串, 或以引号括起来的字符串(一个字符用ASCII码表示, 就相当于一个字节)。 该伪指令的功能是把项或项表的数值(字符则用ASCII码)存入从标号开始的连续存储单元中。 例如: ORG 2000H TAB1: DB 30H, 8AH, 7FH, 73 DB ′5′,′A′,′BCD′ 以上伪指令经汇编以后, 将对 2000H开始的若干内存单元赋值: (2000H) = 30H (2001H)=8AH (2002H)=7FH (2003H) = 49H ; 十进制数 73 以十六进制数存放 (2004H) = 35H ; 数字 5 的ASCII码 (2005H) = 41H ; 字母A的ASCII码 (2006H) = 42H ; ′BCD′中B的ASCII码 (2007H) = 43H ; ′BCD′中C的ASCII码 (2008H) = 44H ; ′BCD′中D的ASCII码 (4) 定义字伪指令DW。 格式: [标号: ]DW 项或项表 DW用于定义一个字(即两个字节, 16 位二进制数)。 在执行汇编程序时, 机器会自动按高 8 位先存入, 低 8 位后存入的格式排列, 这和MCS—51 指令中 16 位数据存放的方式一致。 例如: ORG 1500H TAB2: DW 1234H, 80H 汇编以后: (1500H)=12H, (1501H)=34H, (1502H)=00H, (1503H)=80H。 (5) 等值伪指令EQU。 格式: 标号: EQU 项 该伪指令的功能是将指令中项的值赋予本语句的标号。 项可以是常数、 地址标号或表达式。 例如:TAB: EQU 1000H TAB1: EQU TAB
文档评论(0)