第5章 汇编语言的基本语法.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(3) 逻辑伪操作 有NOT、AND、OR、XOR共4个符号,分别表示非、与、或、异或,可用于对两个(或一个)数据进行操作。 例如,在字操作时,1234H OR 2AFEH = 3AFEH, NOT 0F0H = FF0FH; 在字节操作时,NOT 0F0H = 0FH。 * xx 2021-1-20 (4) 重复置数(复制)伪操作 只有DUP一个符号,表示对其后(右边)的数据进行重复设置(复制),使用格式是: 重复次数 DUP (初值1[, 初值2[, …… ]]) 其中,重复次数为无符号整数(1~65535),初值1、初值2 …… 为变量的初始值。例如, * xx 2021-1-20 下面各行的写法都等效: W DW 25,8,2,3,2,3,6,8,2,3,2,3,6 W DW 25,2 DUP(8,2,3,2,3,6) W DW 1 DUP(25),2 DUP(8,2 DUP(2,3),6) W DW 1 DUP(25),2 DUP(1 DUP(8),2 DUP(2,3),1 DUP(6)) 第一行的写法将13个变量分为13组,每组重复1次。后三行的写法将13个变量分为两组,第一组将25重复一次,第二组将(8,2,3,2,3,6)重复两次。 * xx 2021-1-20 无论哪种写法,我们都将第一组变量的重复次数称为W的长度,将W的长度与W的类型之积称为W的大小。此处,W的长度为1,类型为2,大小为2。长度和大小也可看作变量的属性。 练习:若定义A DB 1, 2, 5 DUP(0,1,2 DUP(3)),则在A的存储区前6个字节单元的数据是 . * xx 2021-1-20 (5) 取属性(也称分析)伪操作 取属性伪操作可以取出运算对象的某个属性。常见的有SEG、OFFSET、TYPE、LENGTH、SIZE共5个符号,分别表示取段基值、取偏移地址、取类型、取长度、取大小,操作的结果都是数值常数。 ①格式: SEG 变量名或标号 返回变量或标号所在段的段基值。例如,若A为变量名或标号,则SEG A表示A所在段的段基值。 ②格式: OFFSET 变量名或标号 返回变量或标号的偏移地址部分。例如,若A为变量名或标号;则OFFSET A表示A的偏移地址部分。 * xx 2021-1-20 ③格式: TYPE 变量名或标号 返回变量或标号的类型属性值。 ④格式: LENGTH 变量名 返回变量的长度,即以DUP形式表示的第一组变量被重 复设置的次数。 ⑤ 格式: SIZE 变量名 返回变量的大小,即TYPE×LENGTH的值。也就是说,SIZE=TYPE×LENGTH。 * xx 2021-1-20 关于TYPE、LENGTH和SIZE的含义举例 对于“W1 DW 20 DUP(3, 10 DUP(7))”,则TYPE W1=2,LENGTH W1=20,SIZE W1=40; 对于“W2 DW 8, 20 DUP(3, 10 DUP(7))”,则TYPE W2=2,LENGTH W2=1, SIZE W2=2; 对于“B1 DB 20 DUP(3, 10 DUP(7))”,则TYPE B1=1,LENGTH B1= ,SIZE B1= ; 对于“B2 DB 8, 20 DUP(3, 10 DUP(7))”,则TYPE B2= ,LENGTH B2= , SIZE B2= 。 * xx 2021-1-20 (6) 指定属性(也称合成)伪操作 指定属性伪操作可用于指定存储器操作数或标号的属性,常见的有PTR、:、THIS共3个符号,其功能分别为: 指定存储器操作数或标号的类型、指定存储器操作数的段归属、指定当地的变量或标号的类型。 ① 格式: 类型名 PTR 存储器操作数或标号 例如,指令“MOV[BX], 5”的含义是将常数5送入存储单元[BX]中 。该存储单元的偏移地址由BX确定,段基值隐含为DS。但汇编程序无法确定常数5是字节还是字,也无法确定存储单元[BX]的内容是字节还是字,所以无法操作。 * xx 2021-1-20 ②格式: 段寄存器名 : 存储器操作数 临时指定存储器操作数的段归属。例如,“MOV AX, ES

文档评论(0)

jj168 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档