汇编语言的表达式.ppt

上传人:za****8 文档编号:14127602 上传时间:2020-07-04 格式:PPT 页数:16 大小:309.51KB
收藏 版权申诉 举报 下载
汇编语言的表达式.ppt_第1页
第1页 / 共16页
汇编语言的表达式.ppt_第2页
第2页 / 共16页
汇编语言的表达式.ppt_第3页
第3页 / 共16页
资源描述:

《汇编语言的表达式.ppt》由会员分享,可在线阅读,更多相关《汇编语言的表达式.ppt(16页珍藏版)》请在装配图网上搜索。

1、3.3汇编语言的表达式,汇编语句中的数据(常数、变量、标号)都可以用表达式给出;,表达式的运算在汇编阶段由汇编程序进行运算并将结果当作操作数;,MASM允许使用的表达式分为:,数值表达式:结果是一个数值;,地址表达式:结果是一个存储器的地址。,MASM表达式由运算符号和运算对象组成。,运算符号分六大类:,算术运算符(7个),逻辑运算符(4个),关系运算符(6个),分解运算符(5个),修改属性运算符,其他运算符,参加表达式运算的运算对象可以是常数,也可以是变量或标号。,3.3.1算术运算符,有加(+)、减(-)、乘(*)、除(/)、模除(MOD)、左移(SHL)和右移(SHR)等七种;,运算对象

2、和运算结果都必须是整数;,除法运算的结果只取商;,模除运算的结果只取余数;,MOVAH,2+6MOVAH,08HMOVCL,33/5MOVCL,06HMOVDL,23MOD5MOVDL,03HMOVBL,00001010BSHL4MOVBL,10100000BMOVAH,0110BSHR5MOVAH,0000B,1E,上述表达式运算是否影响FLAGS?,3.3.2逻辑运算符,包括逻辑非、逻辑与、逻辑或和逻辑异或四种。,逻辑运算符与指令系统中的逻辑运算指令的符号相同,功能相近。,区别:,表达式中的逻辑运算不影响标志位;,表达式中的逻辑运算由汇编程序在汇编阶段完成;逻辑运算指令由CPU在程序执行阶

3、段完成。,MOVAL,NOT00110011BMOVAL,11001100BMOVBL,11110000BAND10111101BMOVBL,10110000BMOVAH,10100000BOR00000101BMOVAH,10100101BMOVBH,10101011BXOR10100100BMOVBH,00001111B,2E,3.3.3关系运算符,包括相等EQ、不等NE、小于LT、不大于LE、大于GT、不小于GE六种运算;,关系运算符是对两个运算对象进行比较操作:,若满足条件,结果为TRUE,输出结果为全1;,若不满足条件,结果为FALSE,输出结果为全0。,例:MOVAX,5EQ101

4、BMOVAX,0FFFFHMOVBH,10HGT16MOVBH,00H,L:lessG:greaterE:equalN:not,3E,3.3.4分解运算符(分析运算符),例:MOVAX,SEGA;将变量A所在段的段地址值送AXMOVBX,OFFSETA;将变量A的偏移地址值送BX,从变量或标号中分解出某些属性值,1.SEG运算符格式:SEG变量或标号功能:计算变量或标号的段地址。,2.OFFSET运算符格式:OFFSET变量或标号功能:计算变量或标号的段内偏移地址。,3.TYPE运算符格式:TYPE变量或标号功能:计算变量或标号的类型值。,例A1DB21H,42HA2DW3412HA3DD?A

5、LOP:MOVAL,TYPEA1MOVBL,TYPEA2MOVAH,TYPEA3MOVDL,TYPEALOP等效于:ALOP:MOVAL,1MOVBL,2MOVAH,4MOVDL,0FFH,例子:FEESDW100DUP(0)ARRAYDW1,2,3MOVCX,LENGTHFEESMOVBX,LENGTHARRAY等效于:MOVCX,100MOVBX,1,4.LENGTH运算符格式:LENGTH变量功能:对于使用DUP定义的变量,计算分配给该变量的单元数,其他变量的LENGTH值为1。,1当变量为DUP定义且DUP括号内为单项数据时,下列关系成立:SIZE=LENGTH*TYPE2否则size

6、和length的值无意义。,5.SIZE运算符格式:SIZE变量功能:计算分配给该变量的字节数。,例P1DB10DUP(0)P2DW20DUP(?)BB:MOVAL,LENGTHP1MOVBL,LENGTHP2MOVAH,SIZEP1MOVBH,SIZEP2等效于:BB:MOVAL,10MOVBL,20;只计单元数MOVAH,10;10=10*1MOVBH,40;40=20*2;还要计算类型,4E,例如:A1DB10DUP(0,1)A2DW20DUP(2DUP(?),1),Lengtha1:Lengtha2:Sizea1:Sizea2:,10,20,10,40,3.3.5修改属性运算符,例:M

7、OVAX,ES:BX;从ES段中偏移地址为BX;的地址中取出一个字送AXMOVBL,DS:BP;从DS段中偏移地址为BP的;地址中取一个字节送BL,在程序运行过程中暂时修改变量或标号的属性,1.修改段属性运算符跨越段前缀段寄存器(CS,DS,ES和SS)后跟一个冒号,称为修改段属性运算符,表示后跟的操作数由指定的段寄存器提供段地址值。,2.PTR运算符格式:类型PTR变量/标号功能:将PTR左边的类型属性临时赋给其右边的变量/标号,但保持它们原来的段属性和偏移地址属性不变。,例:M1DB20H,32HM2DW5682HALP1:MOVAX,WORDPTRM1ALP2:MOVAL,BYTEPTRM2,PTR运算符例子,M1:字节,AX:字M2:字,AL:字节,例:BEQUTHISBYTEADD44332200H;B、A分别为字节变量和双字变量,但具有相同的地址。,3.THIS运算符格式:变量/标号EQUTHIS类型功能:将变量或标号定义成指定的类型,但并不分配新的存储单元,其地址与跟在后面的变量的地址相同。,5E,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!