网站大量收购独家精品文档,联系QQ:2885784924

汇编语言程序设计Chapter1-4.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 标识符和表达式 4.3 调整偏移量伪指令 调整偏移量伪指令是在内存变量定义时用来调整内存变量起始偏移量的,它们是在把源程序汇编成目标文件时起作用。 常用的调整偏移量伪指令有:EVEN、ALIGN和ORG。 4.3.1 偶对齐伪指令EVEN 偶对齐伪指令格式: EVEN 伪指令的作用是:告诉汇编程序(Assember),本伪指令下面的内存变量从下一个偶地址单元开始分配。 如果下一个偏移量是偶地址,那么,该伪指令不起作用;否则,汇编程序将空出一个字节,从下一偶地址开始为其后变量分配内存单元。 第4章 标识符和表达式 假设有下列变量定义,并且变量B1的偏移量是偶数。 B1 DB 12H ;为了表示方便,不妨再假设其偏移量为:xxxx0H W1 DW 4567H 可把前面的变量定义改变成下列形式: B1 DB 12H EVEN W1 DW 4567H 第4章 标识符和表达式 4.3.2 对齐伪指令ALIGN 对齐伪指令格式: ALIGN Num 其中:Num必须是2的幂,如:2、4、8和16等。 伪指令的作用是:告诉汇编程序,本伪指令下面的内存变量必须从下一个能被Num整除的地址开始分配。 如果下一个地址正好能被Num整除,那么,该伪指令不起作用; 否则,汇编程序将空出若干个字节,直到下一个地址能被Num整除为止。 试比较下面二组变量定义,它们的对齐效果一致吗? B1 DB 12H B1 DB 12H EVEN ALIGN 2 W1 DW 4567H W1 DW 4567H 第4章 标识符和表达式 4.3.3 调整偏移量伪指令ORG 调整偏移量伪指令格式: ORG 数值表达式 伪指令的作用是:告诉汇编程序,本伪指令下面的内存变量从该“数值表达式”所指定的偏移量开始分配。 假设有下列变量定义,且变量word1的偏移量为0。 word1 DW 1234h byte1 DB 56h word2 DW 0abcdh ORG 1 byte2 DB ? word3 DW ? byte3 DB ? 第4章 标识符和表达式 4.3.4 偏移量计数器的值 汇编语言提供了一个特殊的符号“$”来引用偏移量计数器的值。 例如: W1 DW $, $ ORG $+3 ;从当前地址开始空3个字节 B1 DB 43h 假设:在给变量W1分配内存单元时,当前偏移量计数 器的值为2。 第4章 标识符和表达式 4.4.1 重复说明符DUP 汇编语言提供了变量的重复说明符DUP,其说明的一般形式如下: count DUP (表达式, 表达式, …, 表达式) 解释:count是重复次数,(表达式, 表达式, …, 表达式)是被重复的部分,“表达式”可以是存储单元的初值,也可以是含义另一个DUP的式子。如果在表达式的括号中有多个表达式,那么,它们之间要用逗号‘,’分开。 例如: 4.4 复合内存变量的定义 BUFFER DB 100 DUP (?) STRING DB 120 DUP (ABCDE), 0 DATA1 DW 50 DUP (10H, 20 DUP(1,2,3), 20H) POINTS DD 12, 30 DUP (0) 第4章 标识符和表达式 4.4.2 结构类型的定义 1、结构类型的定义 用STRUC和ENDS可以把一系列数据定义语句括起来作为一种新的、用户定义的结构类型。其一般说明格式如下: 结构名 STRUC [Alignment] [,NONUNIQUE] 数据定义语句序列 结构名 ENDS 解释:结构名是一个合法的标识符,且具有唯一性。结构名代表整个结构类型,前后两个结构名必须一致。结构内被定义的变量为结构字段,变量名即为字段名。 一个结构中允许含有任意多个字段,各字段的类型和所占字节数也都可任意。如果字段有字段名,则字段名必须唯一。每个字段可独立存取。 第4章 标识符和表达式 对齐方式(Alignment):可用1、2或4来指定结构中字段的字节边界(Byte boundary),其缺省值为1。 NONUNIQUE:要求结构中的字段必须用全名才能访问,见本小节中的“结构类型字段的引用”。 例如: COURSE STRUC NO DD ? CN

文档评论(0)

xiaohuer + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档