汇编语言程序格式.pptVIP

  • 1
  • 0
  • 约1.14万字
  • 约 80页
  • 2024-01-18 发布于广东
  • 举报

【例】指令中的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页,2023年5月2日,星期三【例】指令中的LENGTH运算符FEESDW100DUP(0)ARRAYDW1,2,3MOVCX,LENGTHFEESMOVBX,LENGTHARRAY等效于:MOVCX,100MOVBX,1第31页,讲稿共80页,2023年5月2日,星期三【例】指令中的SIZE运算符FEESDW100DUP(0)ARRAYDW1,2,3TABLEDBABCDMOVCX,SIZEFEESMOVCX,SIZEARRAYMOVCX,SIZETABLE等效于:MOVCX,200MOVCX,2MOVCX,1注意:当变量为DUP定义且DUP括号内为单项数据时,下列关系成立:SIZE=LENGTH*TYPE第32页,讲稿共80页,2023年5月2日,星期三属性运算符和表达式属性运算符又称修改属性运算符或合成运算符。属性运算符在程序运行过程中暂时修改变量或标号的属性。在程序运行过程中,当需要修改变量或标号的属性(段属性、偏移地址属性和类型属性)时,可用属性运算符来实现。第33页,讲稿共80页,2023年5月2日,星期三PTR运算符格式:类型PTR表达式功能:用来修改变量或标号的类型属性。例如:F1DB15HF2DW3132HALPHA:MOVAX,WORDPTRF1BETA:MOVBL,BYTEPTRF2第34页,讲稿共80页,2023年5月2日,星期三段操作运算符段操作运算又称段超越前缀。段寄存器(CS,DS,ES和SS)后跟一个冒号,称为修改段属性运算符,表示后跟的操作数由指定的段寄存器提供段地址值。例如:MOVAX,ES:[BX];从ES中偏移地址为BX的地址中取出一个字送AXMOV BL,DS:[BP];从DS中偏移地址为BP的地址中取一个字节送BL第35页,讲稿共80页,2023年5月2日,星期三SHORT运算符SHORT为短转向地址说明运算符,它说明转移指令的目标地址与本指令之间的字节距离在-128~+127范围内,具有短程转移的属性。例如:LOOP1:JMPSHORTLOOP2LOOP2:MOVAX,BX表示标号LOOP1与目标标号LOOP2之间的距离小于127个字节。第36页,讲稿共80页,2023年5月2日,星期三THIS运算符格式:变量/标号EQUTHIS类型功能:将变量或标号定义成指定的类型,但并不分配新的存储单元,其地址与跟在后面的变量的地址相同。例如:GAMAEQUTHISBYTESTARTEQUTHISFAR第37页,讲稿共80页,2023年5月2日,星期三运算符的优先级高级优先级运算符号低级1()、、[]、LENGTH、SIZE、WIDTH、MASK2段超越前缀运算符(:)、PTR、OFFSET、SEG、TYPE、THIS3HIGH、LOW4+、-(单目)5*、/、MOD、SHL、SHR6+、-(双目)7EQ、NE、LT、LE、GT、GE8NOT9AND10OR、XOR11SHORT第38页,讲稿共80页,2023年5月2日,星期三4.3伪指令语句汇编语言最主要的特点是用助记符代替机器指令的操作码,用符号代替操作数地址或操作数,这就是汇编语言中的机器指令语句。汇编语言程序中的语句可以由指令、伪指令和宏指令组成。伪指令和指令的区别是:每一条指令必须生成机器代码,然后在程序运行期间由CPU来执行其操作;而伪指令是在汇编期间由汇编程序执行的操作命令,除了数据定义及存储器分配伪指令分配存储器空间外,其他伪指令不生成目标码。第39页,讲稿共80页,2023年5月2日,星期三4.3.1数据定义伪指令数据定义及存储器分配伪指令的格式如下:[变量]助

文档评论(0)

1亿VIP精品文档

相关文档