- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IBM PC 80X86汇编语言程序设计PPT电子课件教案- 第四章 汇编语言程序结构
第四章 汇编语言程序结构;4.1汇编语言的语句格式;二、语句格式;1、名字;变量:是位于伪指令或宏指令左边的名字,其后不带冒号,变量可以在任何段出现。
变量也有段、偏移和类型三种属性
段属性:变量所代表数据单元的段地址(DS、ES或SS)。
偏移属性:变量所代表数据单元的段内偏移地址。
类型属性:数据变量来说是指该变量对应的数据的字节长度。如字节、字、双字。
; 标号是一条指令的符号地址,它代表指令目标代码的第一个字节地址。在一个程序段或子程序入口处通常设置一个标号,因此,标号可以作为转移(JMP)或调用(CALL)指令的操作数。而用于伪指令中的名字,可以是变量名、段名、过程名、宏名等,一般不作为JMP和CALL指令的操作数。;指令语句:例 LOP: MOV AX,0000H ;将AX清零;2、操作项;存储器操作数; 算术运算符可用于数值表达式和地址表达式中,
在使用地址表达式时要注意地址表达式的物理意义。;②逻辑操作符;注:关系操作符的两个操作数必须是数字或同一段内的地址,运算结果也为逻辑值,结果为真,用FFFFH表示,结果为假,用0000表示。
如: MOV BX,32 EQ 54
等价于:
MOV BX,66 GT 44
等价于:
MOV BX,((val LT 5)AND 20) OR((val GT 5)AND 30);4.2、伪指令;2、等号伪指令 =;二、数据定义伪指令;DATA SEGMENT
VAR1 DB 10H
VAR2 DB 10,11,12
DB 0FFH,0
BUF1 DW 1234H,5678H
BUF2 DD
DATA ENDS;2、操作数是字符串;BUF2 DW 1,2,3 DUP(6)
等价于:BUF2 DW 1,2,6,6,6
ARB1 DB 10 DUP(2)
ARB2 DB 10H DUP(’ABC’)
ARB3 DW 20 DUP(?);5、变量(包括标号)定义后,可以完成分析运算和合成运算;LENGTH 〈变量〉
对于用DUP定义的变量,计算DUP前面的重复次数,其它变量的LENGTH值为1。
SIZE 〈变量〉
计算分配给该变量的字节数,其值为TYPE和LENGTH的乘积。;SEG 〈变量或标号〉
计算变量或标号的段地址。
如:MOV AX,SEG TAB1功能是将TAB1的段地址送入AX寄存中。;例: DA1 DW 345FH
MOV AL,DA1;
MOV AL,BYTE PTR DA1 ;AL=34H;4、操作数用复制操作符DUP时,表示操作数重复若干次。;例: 对??如下定义:
DA1 DW 345FH
DA2 EQU BYTE PTR DA1
DA3 EQU DA2+1;THIS 属性或类型
与PTR类似,可以给变量或标号定义另一属性或类型。(但不分配新的存储单元)。一般与EQU或=伪指令连用,产生标号或变量。偏移地址是该语句所在位置的下一个可用存储单元的地址。
;BYTE_VAR EQU THIS BYTE ;定义BYTE_VAR
WORD_VAR DW 6918H 类型为字节
……
MOV AL,BYTE_VAR ;AL=18H
MOV BX, WORD_VAR ;BX=6918H
……
AGAIN EQU THIS FAR ;定义标号
MOV AX,SI AGAIN有
文档评论(0)