- 1、本文档共106页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章标识符和表达式
汇编语言程序设计 第4章 标识符和表达式 例如: .radix 8 B1 DB 10, 11, 12 ;这三个数是八进制数 DB 10D ;这数是十进制数 … .radix 10 MOV AX, 1234 ;1234是十进制数 MOV AX, 1234H ;1234H是十六进制数 思考题: .radix 16 DW 90D, 101B ;前者是十进制数,后者是二进制数吗? 第4章 标识符和表达式 4.7.2 数值表达式 数值表达式是在汇编过程中能够由汇编程序计算出来的数值型表达式,它的各组成部分在汇编时就能完全确定。它通常是一些常量的运算组合。 1、常量 常量是一个立即数,直接写在汇编语言语句中,在程序的执行过程中,它不可能发生变化。如、324Q、1234D、1234H、0abcdH、AB等。 在前面的内容里,我们叙述了可用伪指令.RADIX来改变数据基数的方法。 2、算术运算符 算术运算符包括符号:+(正)、-(负),运算符:+(加)、-(减)、*(乘)、/(除)和MOD(取模)。这些运算符和常量、括号可组成数值表达式。 如:120+(321-90) mod 3,322*5/32,0abcdH+5,-590等 第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章 标识符和表达式 对齐方式(
文档评论(0)