3.标号 指令语句的地址的符号表示,可作为JMP指令和调用指 令CALL的目标操作数,以确定程序转向的目标地址。 三个属性: Φ段值(SEGMENT):标号所在段的段基址。 Φ 段内偏移地址(OFFSET):标号地址与所在段的段首 址之间的偏移地址字节数 Φ类型(TYPE):指转移指令中标号可转移的距离。近 标号(NEAR),远标号(FAR)。 NEAR一指针长度2字节 FAR一指针长度4字节 2009-04-15 第四章汇编语言程序设计 11of168
2009-04-15 第四章 汇编语言程序设计 11 of 168 3.标号 指令语句的地址的符号表示,可作为JMP指令和调用指 令CALL的目标操作数,以确定程序转向的目标地址。 三个属性: 段值(SEGMENT): 标号所在段的段基址。 段内偏移地址(OFFSET): 标号地址与所在段的段首 址之间的偏移地址字节数 类型(TYPE):指转移指令中标号可转移的距离。近 标号(NEAR),远标号(FAR)。 NEAR—指针长度2字节 FAR —指针长度4字节
4-2MASM中的表达式 运算对象 表达式 运算符 →汇编运算 ·结果作为语句中操作数 运算对象:常数、变量、标号 运算结果:常数或存储器地址(变量或标号) 8086汇编语言中的运算符 算术运算符 逻辑运算符 关系运算符 分析运算符 综合运算符 +(加法) AND(与) EQ(相等) SEG(求段基址) PTR -(减法) OR(或) NE(不相等)= OFFSET(求偏移量) THIS *(乘法) XOR(异或) LT(小于) TYPE(求变量的类型) SHORT (除法) NOT(非) GT(大于) SIZE(求字节数) HIGH MOD(取余) LE(小于或等于) LENGTH(求变量长) LOW SHL(左移) GE(大于或等于) SHR(右移) 2009-04-15 第四章汇编语言程序设计 120f168
2009-04-15 第四章 汇编语言程序设计 12 of 168 4-2 MASM中的表达式 运算对象 运算符 表达式 汇编运算 结果作为语句中操作数 运算对象:常数、变量、标号 运算结果:常数或存储器地址(变量或标号) 8086汇编语言中的运算符 SHR(右移) SHL(左移) GE(大于或等于) MOD(取余) LE(小于或等于) LENGTH(求变量长) LOW /(除法) NOT (非) GT(大于) SIZE(求字节数) HIGH *(乘法) XOR(异或) LT(小于) TYPE(求变量的类型) SHORT -(减法) OR(或) NE(不相等) OFFSET(求偏移量) THIS +(加法) AND(与) EQ(相等) SEG(求段基址) PTR 算术运算符 逻辑运算符 关系运算符 分析运算符 综合运算符
一算术运算符 所有的算术运算符均可以对数据进行运算,运算对象与运算结 果都是整数。若对地址运算,通常是在标号上加/减某一个数 字量,对地址乘是没有意义的。 例4-3源程序指令格式如下: 汇编时计算表达式形成指令为 DA EQU 300 DA EQU 300 MOV AX,DA-80 MOV AX,220 MOV BX,DA MOD 100 MOV BX,0 MOV CX,DA/100 MOV CX,3 MOV DH,01100100B SHR 2 MOV DH,19H 2009-04-15 第四章汇编语言程序设计 13of168
2009-04-15 第四章 汇编语言程序设计 13 of 168 一 算术运算符 所有的算术运算符均可以对数据进行运算,运算对象与运算结 果都是整数。若对地址运算,通常是在标号上加/减某一个数 字量,对地址乘是没有意义的。 例4-3 源程序指令格式如下: DA EQU 300 MOV AX,DA-80 MOV BX,DA MOD 100 MOV CX,DA/100 MOV DH,01100100B SHR 2 汇编时计算表达式形成指令为 DA EQU 300 MOV AX,220 MOV BX,0 MOV CX,3 MOV DH,19H
二逻辑运算符 逻辑运算符是按位运算的.只能对常数进行运算,得到结果也 是常数。 逻辑运算符与8086指令系统中的指令助记符AND、OR、NOT、XOR 符号完全相同,但二者是不会混淆的。作为MASM的运算符是在 汇编过程中进行计算的,而指令助记符是在程序执行时进行运 算的。 例:AND DX,PORT AND OFEH 逻辑运算符汇编时 指令助记符程 计算产生一立即数 序执行时运算 2009-04-15 第四章汇编语言程序设计 14of168
2009-04-15 第四章 汇编语言程序设计 14 of 168 二 逻辑运算符 逻辑运算符是按位运算的.只能对常数进行运算,得到结果也 是常数。 逻辑运算符与8086指令系统中的指令助记符AND、OR、NOT、XOR 符号完全相同, 但二者是不会混淆的。作为MASM的运算符是在 汇编过程中进行计算的,而指令助记符是在程序执行时进行运 算的。 例:AND DX,PORT AND 0FEH 逻辑运算符汇编时 指令助记符程 计算产生一立即数 序执行时运算
三关系运算符 >所连接两操作数必为两数据或同一段内的两个存储单元的地址 > 运算结果:真一DFFFFH,假一O >常与逻辑运算符组合使用 例4-6 MOV AX,10H GT 16 ADD BL,6 EQ 0110B MOV CX,((PORT LT 5)AND 100)OR ((PORT GE 5)AND 200) 汇编时形成指令为: MOV AX,0 MOV BL,OFFH M0VCX,100;P0RT<5时 2009-04-15 第四章汇编语言程序设计 15of168
2009-04-15 第四章 汇编语言程序设计 15 of 168 三 关系运算符 所连接两操作数必为两数据或同一段内的两个存储单元的地址 运算结果:真—0FFFFH,假—0 常与逻辑运算符组合使用 例4-6 MOV AX,10H GT 16 ADD BL,6 EQ 0110B MOV CX,((PORT LT 5) AND 100) OR ((PORT GE 5) AND 200) 汇编时形成指令为: MOV AX,0 MOV BL,0FFH MOV CX,100 ;PORT<5时