- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 汇编语言程序设计及仿真调试
第5章 汇编语言程序设计及仿真调试 5.1.1 伪指令 一般来说,在汇编语言源程序中用MSC-51指令助记符编写的程序,都可以一一对应的产生目标程序。但还有一些指令,例如指定目标程序或数据存放的起始地址,给一些指定的标号赋值,在内存中予留工作单元,表示源程序结束等等。这些指令并不产生目标程序,不影响程序的执行,仅仅产生供汇编用的某些指令,以便在汇编时执行一些特殊操作,称之为伪指令。 1、设置起始地址ORG ORG nn ORG伪指令总是出现在每段源程序或数据块的开始。它可使程序员把程序、子程序或数据块存放在存贮器的任何位置。 ORG 2000H MOV A, 20H ┇ 表示后续目标程序从2000H单元开始存放。一般要求ORG定义空间地址由小到大,且不能重叠 。 2、定义字节DB或DEFB 〈标号:〉 DB 〈项或项表〉 其中项或项表是指一个字节,数或字符串,或以引号括起来的ASCⅡ码字符串(一个字符用ASCⅡ码表示,相当于一个字节)。该指令的功能是把项或项表的数值(字符则用它的ASCⅡ码)存入从标号开始的连续单元中。 SEG1: DB 53H,74H,78H,‘1’,‘2’ SEG2: DB 23H,‘DAY’ 则: (1000H)=53H (1001H)=74H (1002H)=78H (1003H)=31H 数字1的ASCⅡ码 (1004H)=32H 数字2的ASCⅡ码 (1005H)=23H (1006H)=44H (1007H)=41H ‘DAY’ 的ASCⅡ码 (1008H)=59H 3、定义字DW或DEFW 〈标号:〉 DW 〈项或项表〉 DW的基本含义与DB相同,但DB一般用于定义8位数据(一个字节),而DW则定义16位数据,即一个字(规定为两个字节,即一个字为16位二进制数)。在执行汇编程序时,机器会自动按高位字节在前,低位字节在后的格式排列(与程序中的地址规定一致)。 例: ABC: DW 1234H, 08H ABC: DB 12H ,34H,00H,08H 上两条指令是等价的。 4、为标号赋值EQU 〈标号〉 EQU nn或表达式 其功能是将语句操作数的值赋于本语句的标号。故又称为等值指令。如: BLK EQU 1000H 即给标号BLK赋以地址值1000H。需要注意的是,在同一程序中,用EQU伪指令对标号赋值后,该标号的值在整个程序中不能再改变。 5.DATA指令 格式: 符号名 DATA 表达式 DATA 指令用于将一个内部 RAM 的地址赋给指定的符号名。 数值表达式的值在00H~0FFH之间,表达式必须是一个简单表达式。如: BUFFER DATA 40H 6.XDATA指令(Extenal Data) 格式: 符号名 XDATA 表达式 XDATA 指令用于将一个外部 RAM 的地址赋给指定的符号名。 数值表达式的值在0000H~0FFFFH之间,表达式必须是一个简单表达式。如: MYDATA XDATA 0400H 7.定义位命令BIT 格式: 字符名称 BIT 位地址 用于给字符名称定义位地址。如: DOGOUT BIT P3.4 经定义后,允许在指令中用DOGOUT代替P3.4。 8、源程序结束 END 〈标号:〉 END 〈表达式〉 END语句是一个结束标志,它告诉汇编程序,该程序段已结束。因此,该语句必须放在整个程序(包括伪指令)之后。若END语句出现在代码块中间,则汇编程序将不汇编END后面的语句。 2、8051单片机汇编语言程序的设计框架: ORG 0000H LJMP MAIN ;跳转到主程序 ORG 0003H LJMP INT_0 ;外部中断0入口 ORG 000BH LJMP INT_T0 ;定时器0中断入口 ORG 0013H LJMP INT_1 ;外部中断1入口 ORG 001BH LJMP INT_T1
文档评论(0)