- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
【例】指令中的TYPE运算符A1 DB 21H,42HA2 DW 3412HA3 DD ?ALOP: MOV AL,TYPE A1 MOV BL,TYPE A2 MOV AH,TYPE A3 MOV DL,TYPE ALOP等效于:ALOP: MOV AL,1 MOV BL,2 MOV AH,4 MOV DL,0FFH第30页,共80页,星期日,2025年,2月5日【例】指令中的LENGTH运算符FEESDW100DUP(0)ARRAYDW1,2,3MOVCX,LENGTHFEESMOVBX,LENGTHARRAY等效于:MOVCX,100MOVBX,1第31页,共80页,星期日,2025年,2月5日【例】指令中的SIZE运算符FEESDW100DUP(0)ARRAYDW1,2,3TABLEDBABCDMOVCX,SIZEFEESMOVCX,SIZEARRAYMOVCX,SIZETABLE等效于:MOVCX,200MOVCX,2MOVCX,1注意:当变量为DUP定义且DUP括号内为单项数据时,下列关系成立:SIZE=LENGTH*TYPE第32页,共80页,星期日,2025年,2月5日属性运算符和表达式属性运算符又称修改属性运算符或合成运算符。属性运算符在程序运行过程中暂时修改变量或标号的属性。在程序运行过程中,当需要修改变量或标号的属性(段属性、偏移地址属性和类型属性)时,可用属性运算符来实现。第33页,共80页,星期日,2025年,2月5日PTR运算符格式:类型PTR表达式功能:用来修改变量或标号的类型属性。例如:F1DB15HF2DW3132HALPHA:MOVAX,WORDPTRF1BETA:MOVBL,BYTEPTRF2第34页,共80页,星期日,2025年,2月5日段操作运算符段操作运算又称段超越前缀。段寄存器(CS,DS,ES和SS)后跟一个冒号,称为修改段属性运算符,表示后跟的操作数由指定的段寄存器提供段地址值。例如:MOVAX,ES:[BX];从ES中偏移地址为BX的地址中取出一个字送AXMOV BL,DS:[BP];从DS中偏移地址为BP的地址中取一个字节送BL第35页,共80页,星期日,2025年,2月5日SHORT运算符SHORT为短转向地址说明运算符,它说明转移指令的目标地址与本指令之间的字节距离在-128~+127范围内,具有短程转移的属性。例如:LOOP1:JMPSHORTLOOP2LOOP2:MOVAX,BX表示标号LOOP1与目标标号LOOP2之间的距离小于127个字节。第36页,共80页,星期日,2025年,2月5日THIS运算符格式:变量/标号EQUTHIS类型功能:将变量或标号定义成指定的类型,但并不分配新的存储单元,其地址与跟在后面的变量的地址相同。例如:GAMAEQUTHISBYTESTARTEQUTHISFAR第37页,共80页,星期日,2025年,2月5日运算符的优先级高级优先级运算符号低级1()、、[]、LENGTH、SIZE、WIDTH、MASK2段超越前缀运算符(:)、PTR、OFFSET、SEG、TYPE、THIS3HIGH、LOW4+、-(单目)5*、/、MOD、SHL、SHR6+、-(双目)7EQ、NE、LT、LE、GT、GE8NOT9AND10OR、XOR11SHORT第38页,共80页,星期日,2025年,2月5日4.3伪指令语句汇编语言最主要的特点是用助记符代替机器指令的操作码,用符号代替操作数地址或操作数,这就是汇编语言中的机器指令语句。汇编语言程序中的语句可以由指令、伪指令和宏指令组成。伪指令和指令的区别是:每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作;而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存储器空间外,其他伪指令不生成目标码。第39页,共80页,星期日,2025年,2月5日4.3.1数据定义伪指令数据定义及存储器分配伪指令的格式如下:[变量]助记符操作数[,…
文档评论(0)