- 1、本文档共204页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例3.35: ORG 2000H START: MOVA, #7FH … 一般规定,在一个源程序中,可以多次使用ORG指令,以规定不同的程序段的起始位置。但所规定的位置应该是从小到大,而且不允许重叠,即不同的程序段之间不能有重叠地址。一个源程序如果不从ORG指令开始,则从0000H开始存放目标程序。 2. 结束汇编伪指令END。 格式: [标号: ] END END是汇编语言源程序的结束标志, 表示汇编结束。 在END以后所写的指令, 汇编程序都不予以处理。 一个源程序只能有一个END命令。 在同时包含有主程序和子程序的源程序中, 也只能有一个END命令, 并放到所有指令的最后, 否则, 就有一部分指令不能被汇编。 3. 定义字节伪指令DB。 格式: [标号: ]DB 项或项表 其中项或项表指一个字节, 或用逗号分开的字符串, 或以引号括起来的字符串(一个字符用ASCII码表示, 就相当于一个字节)。 该伪指令的功能是把项或项表的数值(字符则用ASCII码)存入从标号开始的连续存储单元中。 例3.36: ORG 2000H TAB1: DB 30H, 8AH, 7FH, 73 DB ′5′,′A′,′BCD′ 由于ORG 2000H, 所以TAB1的地址为2000H, 因此以上伪指令经汇编以后, 将对 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伪指令与DB的功能类似, 所不同的是DB用于定义一个字节(8 位二进制数), 而DW则用于定义一个字(即两个字节, 16 位二进制数)。 在执行汇编程序时, 机器会自动按高 8 位先存入, 低 8 位后存入的格式排列, 这和MCS—51 指令中 16 位数据存放的方式一致。 例3.37: ORG 1500H TAB2: DW 1234H, 80H 汇编以后: (1500H)=12H, (1501H)=34H, (1502H)=00H, (1503H)=80H。 5.预留存储空间伪指令DS。 格式: [标号: ]DS 表达式 该伪指令的功能是从标号指定的单元开始, 保留若干字节的内存空间以备源程序使用。 存储空间内预留的存储单元数由表达式的值决定。 例3.38: ORG 1000H DS 20H DB 30H, 8FH 汇编后: 从 1000H开始, 预留 32(20H)个字节的内存单元, 然后从 1020H开始, 按照下一条DB指令赋值, 即(1020H)=30H, (1021H)=8FH。 保留的存储空间将由程序的其它部分决定它们的用处。 6、标号定义伪指令 (1)等值伪指令(EQU) 或= 指令格式为:标号EQU表达式或符号名=表达式 功能:将表达式的值或某个特定汇编符号定义为一个指定的符号名,只能定义单字节数据,并且必须遵循先定义后使用的原则,因此该语句通常放在源程序的开头部分 其含义是标号等值于表达式,这里的标号和表达式是必不可少的。 例3.39: TTY EQU 1080H 是向汇编程序表明标号TTY的值为1080H。 例3.40: LOOPl EQU TTY TTY如果已赋值为1080H,则LOOPl也为1080H,在程序中TTY和LOOPl可以互换使用。 用EQU语句给一
文档评论(0)