- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lijianyi@ zhlljy@ (4)解析操作符 解析操作符有:SEG、OFFSET、TYPE、SIZE、LENGTH。 SEG 提取标号或者变量的段地址 OFFSET 提取标号或者变量的偏移地址 TYPE 计算存储器标号或者变量的类型数,若变量的类型为字节则类型数为1,字数据则为2,双字数据则为4,NEAR型的标号类型数为-1,FAR型的标号类型数为-2。 SIZE 计算用重复子句DUP说明的变量所占用的字节数。 LENGTH 计算用重复子句DUP说明的变量的数据项数。 例: DATA1 DW 100 DUP(?) MOV BX, OFFSET DATA1 MOV AX,SET DATA1 TYPE DATA1 2 LENGTH DATA1 100 SIZE DATA1 200 (5)合成操作符 合成操作符有:PTR、THIS。 PTR 用来说明地址表达式的类型, 格式:类型 PTR 地址表达式 THIS 建立一个指定类型的存储器操作数,而不为其分配存储单元,该存储器操作数的段地址和偏移地址与下一个存储单元地址相同。 格式:标号或者变量 EQU THIS 类型 例: FIRST EQU THIS BYTE DUBLE DW 200 DUP( ?) 说明:变量FIRST 和DUBLE 的地址相同,但FIRST字节变量, DUBLE字变量。 例: FIRST EQU THIS BYTE DUBLE DW 1234H MOV AL, BYTE PTR DUBLE MOV AL,FIRST 5.3 伪指令语句 在汇编语言中,伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理。 例如定义数据、分配存储区、定义段及定义过程等都采用伪指令表示。 1、 变量定义伪指令 变量指向一数据块的第一个字节的标示符。变量的属性: 该数据块所在地址、变量的类型、变量的内容。 变量定义伪指令用来定义一个变量的类型,并将所需要的数据放入指定的存储单元中,也可以只给变量分配存储单元,而不赋予特定的值。 变量定义伪指令格式: 变量名 Dn 操作数[,操作数] 其中Dn为指令助忆符,可为: ①DB 定义字节变量,每个操作数占一个字节; ②DW 定义字变量,每个操作数占一个字; ③DD 定义双字变量,每个操作数占二个字; ④DQ 定义四字变量,每个操作数占四个字; ⑤DT 定义十字节变量,每个操作数占十个字节。 功能:将操作数顺序分配存储空间 例:A1 DB 2 DUP(0,2 DUP(1,2),?),?,5 DUP:重复运算符 2、赋值伪指令 格式:符名 EQU 表达式 功能:给表达式赋予一个名字 例:COUNT EQU 4 COUNT的值为4。 另外格式:符名=表达式 3、段定义伪指令 格式: 段 名 SEGMENT [定位方式] [组合方式] [‘类别名’] . . …. 段 名 ENDS SEGMENT后的三个任选项:定位方式、组合方式、类别名,它们的顺序是固定的,作用是告之汇编程序和连接程序,如何确定段的边界,以及如何组合几个不同的段等。 定位方式有四种类型:PARA、BYTE、WORD及PAGE。 PARA 表示逻辑段从一个节的边界开始。通常16个字节称为一个节,故本段的起始地址应为????0H。当SEGMENT伪指令中缺省定位方式时,默认为PARA。 组合方式有四种类型: 不组合(缺省组合方式)、PUBLIC、STACK(堆栈段的组合方式必须为STACK方式 )、 MEMORY 、 AT 类别名必须用在单引号内,其作用是在连接时决定各逻辑段的装入顺序。当几个程序模块连接时,其中具有相同类别名的逻辑段按先后顺序被装入连续的内存区域。 段名:指明了该段地址,在同一段内,其变量、标号都具有相同的段地址 如是代码段,则即可有指令语句,又可有伪指令语句;其它段只有伪指令语句。 4、段分配伪指令 格式:ASSUME 段寄存器名:段名 [,段寄
文档评论(0)