已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.3 汇编语言的表达式 v汇编语句中的数据(常数、变量、标号)都可以 用表达式给出 ; v表达式的运算在汇编阶段由汇编程序进行运算并将 结果当作操作数; MASM允许使用的表达式分为: 数值表达式:结果是一个数值; 地址表达式:结果是一个存储器的地址 。 MASM表达式由运算符号和运算对象组成。 运算符号分六大类: v算术运算符(7个) v逻辑运算符(4个) v关系运算符(6个) v分解运算符(5个) v修改属性运算符 v其他运算符 参加表达式运算的运算对象可以是常数,也可 以是变量或标号。 3.3.1 算术运算符 有加(+)、减(-)、乘(*)、除(/)、模除(MOD )、左移(SHL)和右移(SHR)等七种 ; 运算对象和运算结果都必须是整数 ; 除法运算的结果只取商; 模除运算的结果只取余数 ; MOV AH, 2+6 MOV AH,08H MOV CL, 33/5 MOV CL,06H MOV DL, 23 MOD 5 MOV DL,03H MOV BL, 00001010B SHL 4MOV BL,10100000B MOV AH, 0110B SHR 5MOV AH,0000B 1E 上述表达式运算是否影响FLAGS ? 3.3.2 逻辑运算符 包括逻辑非、逻辑与、逻辑或和逻辑异或四种。 逻辑运算符与指令系统中的逻辑运算指令的符号相同,功能 相近。 区别: v表达式中的逻辑运算不影响标志位; v表达式中的逻辑运算由汇编程序在汇编阶段完成; 逻辑运算指令由CPU在程序执行阶段完成。 MOV AL,NOT 0011 0011B MOV AL,1100 1100B MOV BL,11110000B AND 10111101B MOV BL,10110000B MOV AH,10100000B OR 00000101B MOV AH,10100101B MOV BH,10101011B XOR 10100100B MOV BH,00001111B 2E 3.3.3 关系运算符 包括相等EQ、不等NE、小于LT、不大于LE、大于GT 、不小于 GE六种运算; 关系运算符是对两个运算对象进行比较操作: v若满足条件,结果为TRUE,输出结果为全1; v若不满足条件,结果为FALSE,输出结果为全0。 例: MOV AX,5 EQ 101B MOV AX,0FFFFH MOV BH,10H GT 16 MOV BH,00H L:less G:greater E:equal N:not 3E 3.3.4 分解运算符(分析运算符) 例: MOV AX,SEG A ;将变量A所在段的段地址值送AX MOV BX,OFFSET A;将变量A的偏移地址值送BX 从变量或标号中分解出某些属性值 1. SEG运算符 格式: SEG 变量或标号 功能: 计算变量或标号的段地址。 2. OFFSET运算符 格式: OFFSET 变量或标号 功能: 计算变量或标号的段内偏移地址。 3. TYPE运算符 格式: TYPE 变量或标号 功能: 计算变量或标号的类型值。 类型名称定义符号类型值 字节变量DB1 字变量DW2 双字变量DD4 长字变量DQ8 10字节变量DT10 近NEAR-1(FFH) 远FAR-2(FEH) 例 A1DB21H,42H A2DW3412H A3DD? ALOP:MOV AL,TYPEA1 MOV BL,TYPEA2 MOV AH,TYPEA3 MOV DL,TYPEALOP 等效于: ALOP:MOV AL,1 MOV BL,2 MOV AH,4 MOV DL,0FFH 例子: FEES DW 100DUP(0) ARRAY DW 1,2,3 MOV CX,LENGTH FEES MOV BX,LENGTH ARRAY 等效于: MOV CX,100 MOV BX,1 4. LENGTH运算符 格式: LENGTH 变量 功能: 对于使用DUP定义的变量,计算分配给该变量的单 元数,其他变量的LENGTH值为1。 1 当变量为DUP定义且DUP括号内为单项数据时,下列关 系成立: SIZE=LENGTH*TYPE 2 否则size和length的值无意义。 5. SIZE运算符 格式: SIZE 变量 功能: 计算分配给该变量的字节数。 例 P1DB10DUP(0) P2DW20DUP(?) BB: MOV AL,LENGTHP1 MOV BL,LENGTHP2 MOV AH,SIZEP1 MOV BH,SIZEP2 等效于: BB: MOV AL,10 MOV BL,20 ;只计单元数 MOV AH,10 ;10=10*1 MOV BH,40 ;40=20*2 ;还要计算类型 4E 例如: A1DB10DUP(0,1) A2DW20DUP(2 DUP (?) , 1 ) Length a1 : Length a2 : Size a1 : Size a2 : 10 20 10 40 3.3.5 修改属性运算符 例: MOV AX,ES:BX ;从ES段中偏移地址为BX ;的地址中取出一个字送AX MOV BL,DS:BP ;从DS段中偏移地址为BP的 ;地址中取一个字节送BL 在程序运行过程中暂时修改变量或标号的属性 1.修改段属性运算符 跨越段前缀 段寄存器(CS,DS,ES和SS)后跟一个冒号,称为修 改段属性运算符,表示后跟的操作数由指定的段寄存器提供 段地址值。 2. PTR运算符 格式:类型 PTR 变量/标号 功能: 将PTR左边的类型属性临时赋给其右边的变 量/标号,但保持它们原来的段属性和偏移地址属 性不变。 例: M1DB20H,32H M2DW5682H ALP1:MOV AX,WORD PTR M1 ALP2:MOV AL,BYTE PTR M2 PTR运算符例子 M1: 字节,AX: 字 M2: 字 ,AL: 字节 例: B EQU THIS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省南雄市高三生物下册期末考试模拟检测卷及参考答案
- 2026年四川省华蓥市高一化学上册期末考试模拟检测卷及完整答案【典优】
- 2026年河北省河间市高一化学上册期末考试模拟卷及参考答案一套
- 2025年广东省罗定市高三历史上册期末考试试卷含答案【夺分金卷】
- 2026年湖北省大冶市高一化学上册期末考试模拟测试卷附完整答案(名师系列)
- 2026年云南省大理市高三生物下册期末考试模拟试卷及答案
- 2026年江苏省仪征市高一化学上册期末考试自测卷【学生专用】附答案
- 2026年辽宁省北镇市高一化学上册期末考试模拟测试卷附答案(能力提升)
- 2025年广东省化州市高一历史下册期末考试模拟卷含答案【突破训练】
- 2025年湖北省枣阳市高三历史上册期末考试测试卷及答案【夺冠】
- 自考《学前教育政策与法规》自学考试大纲
- 中国精神分裂症防治指南(2025版 完整版)
- 2026年秋人教版小学四年级数学上册教学计划及进度表(新课标新教材)
- 2026年蜀道投资集团招聘试题及答案
- 环境试验设备的可靠性分析培训
- 新浙教版2026-2027学年七年级上科学第3章 广袤浩瀚的宇宙 单元测试卷
- 云南云投康养投资有限责任公司招聘笔试题库2026
- 环氧自流平施工专项方案
- 旋挖成孔灌注桩施工监理实施细则
- 沥青混凝土路面施工质量方案
- 三年级上册快乐读书吧《格林童话》阅读测试题及答案2
评论
0/150
提交评论