- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
lijianyi@ zhlljy@ 指令语句中的名字一般采用标号 NEXT:MOV AX,1234H 一个标号与一条指令的地址相联系,因此标号可以作为JMP和CALL指令的操作数 JNZ NEXT CALL APAR 伪指令语句中的名字可以是变量名、段名、过程名、符号名等 BUF DW 1234H CODE SEGMENT APAR PROC (2)逻辑运算符的作用是对其操作数进行按位操作。逻辑运算符有AND(与)、OR(或)、XOR(异或)和NOT(非)。 例如: PORT_VAL EQU 20H ? OUT AL,PORT_VAL OR 5 汇编后指令成为 OUT AL,25H (3)关系运算符的运算对象是两个性质相同的项目。其结果为:关系成立或不成立。有EQ(相等)、NE(不相等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于)共6种。结果为真,表示为0FFFFH,否则为0. (1) SEG操作符格式为: SEG 变量名或 标号名 回送变量或标号的段地址值。 例如:若DATA1是从存储器06000H物理地址开始的一个数据段的段名,PADD是该段中的一个变量名。则 MOV BX,SEG PADD 相当于MOV BX,0600H 例2已知数据段DATA从存储器实际地址03000H开始。作如下定义后,用SEG运算符求变量所在的段基址 (2) OFFSET操作符格式为: OFFSET 变量名或 标号名 回送变量或标号的偏移地址值。 例如: MOV BX,OFFSET PADD 相当于LEA BX,PADD其中PADD是变量或标号 例3 (3) TYPE操作符格式为: TYPE 变量名 或 标号名 存储器操作数类型 TYPE返回值 BYTE 1 WORD 2 DWORD 4 NEAR -1 FAR -2 TYPE运算符加在变量前面,返回的是这个变量所对应的TYPE返回值,如TYPE VAR1=1 TYPE运算符加在结构前面,返回的是结构包含的字节数 如 STUDENT STRUC NAME DB ‘WANG’ NUMBER DB ? STUDENT ENDS 则:TYPE STUDENT=5 TYPE运算符加在标号前面,返回标号的属性是NEAR还是FAR (4) LENGTH操作符格式为: LENGTH 变量名 LENGTH和SIZE操作符只能和数据存储器地址操作数(BYTE、WORD或者DWORD)一起使用。LENGTH对于变量中使用DUP时, 回送分配给该变量的单元数; 其它情况则回送1。 例如: MULTI_WORDS DW 50 DUP(20) WORDS1 DW 20,30,40,50 则 MOV CX,LENGTH MULTE_WORDS 相当于 MOV CX,50 而 MOV CX,LENGTH WORDS1 相当于 MOV CX,1 (5) SIZE操作符格式为:SIZE 变量名 SIZE操作符回送分配给该变量的字节数相当于 LENGTH值和TYPE值的乘积。 例如: MOV CX,SIZE MULTI_WORD 相当于MOV CX,100 MOV CX,SIZE WORDS1 相当于MOV CX,2 5)属性操作符 属性操作符主要有PTR、段操作符、SHORT、THIS、HIGH、LOW六种。 (1) PTR操作符格式为: 类型 PTR 存储器地址表达式 PTR将它左边的类型指定给右边的表达式 类型可以是BYTE WORD DWORD NEAR FAR,它 本身并不实际分配存储器。 VAR1 DB 30H,40H VAR2 DW 2050H … MOV AX,WORD PTR VAR1;将4030H?AX MOV BL,BYTE PTR VAR2;将50H?BL 有时汇编程序分不清所存入的数据是字节还是字, 此时必须用PTR来说明属性。 例如: MOV [DX],20 格式是错误的,必须写成 MOV BYTE PTR [DX],20或者MOV WORD PTR [DX],20 (2) 段操作符 段操作符用来明确表示变量或地址表达式的段 属性, 取消了它们原来的默认组合
文档评论(0)