四数值返回运算符(分析运算符) 操作符号 表达式 表达式含义 SEG SEG变量或标号 取出变量或标号的段基址 OFFSET变量或标 OFFSET 号 取出变量或标号的偏移地址 TYPE TYPE变量或标号 取出变量或标号的类型 变量中使用DUP时返回变量包含的单元数 LENGTH LENGTH变量 其它变量返回1 SIZE SIZE变量 返回变量包含的总字节数 SIZE-LENGTH*TYPE 2009-04-15 第四章汇编语言程序设计 16of168
2009-04-15 第四章 汇编语言程序设计 16 of 168 四 数值返回运算符(分析运算符) 数值返回运算符(分析运算符) 返回变量包含的总字节数 SIZE=LENGTH*TYPE SIZE SIZE 变量 变量中使用DUP时返回变量包含的单元数 , 其它变量返回1 LENGTH LENGTH 变量 TYPE TYPE 变量或标号 取出变量或标号的类型 取出变量或标号的偏移地址 OFFSET 变量或标 号 OFFSET SEG SEG 变量或标号 取出变量或标号的段基址 操作符号 表达式 表达式含义
表4-2TYPE运算符返回值 类型 返回值 DB 1 变 DW 2 DD 4 量 DQ 8 标 NEAR -1 [OFFH FAR 号 -2 [OFEH] 2009-04-15 第四章汇编语言程序设计 17of168
2009-04-15 第四章 汇编语言程序设计 17 of 168 FAR -2 [0FEH] 标 NEAR -1 [0FFH] 号 DQ 8 DD 4 DW 2 DB 1 变 量 类型 返回值 表4-2 TYPE运算符返回值
例: M1 DW100 DUP ( M2 DW1,2,3 M3 DB‘ABCD' 汇编时形成指令: L1: MOV AH,TYPE M1 MOV AH,2 MOV AL,TYPE M3 MOV AL,1 MOV BH,TYPE L1 MOV BH,OFFH → MOV CX,LENGTH M1 MOV CX,100 MOV BL,LENGTH M2 MOV BL,1 MOV CX,SIZE M1 MOV CX,200 MOV BL,SIZE M2 MOV BL,2 MOV AL,SIZE M3 MOV AL,1 2009-04-15 第四章汇编语言程序设计 18of168
2009-04-15 第四章 汇编语言程序设计 18 of 168 例: M1 DW 100 DUP(?) M2 DW 1,2,3 M3 DB ‘ABCD’ L1: MOV AH,TYPE M1 MOV AL,TYPE M3 MOV BH,TYPE L1 MOV CX,LENGTH M1 MOV BL,LENGTH M2 MOV CX,SIZE M1 MOV BL,SIZE M2 MOV AL,SIZE M3 汇编时形成指令: MOV AH,2 MOV AL,1 MOV BH,0FFH MOV CX,100 MOV BL,1 MOV CX,200 MOV BL,2 MOV AL,1
五修改属性运算符(综合或合成运算符) 1.段操作符 段前缀:变量或地址表达式 表示某个变量或地址被修改到哪个段寄存器提供的段基址中 如: MOV AX,ES:[BX] 2009-04-15 第四章汇编语言程序设计 19of168
2009-04-15 第四章 汇编语言程序设计 19 of 168 五 修改属性运算符(综合或合成运算符) 修改属性运算符(综合或合成运算符) 1.段操作符 段前缀:变量或地址表达式 表示某个变量或地址被修改到哪个段寄存器提供的段基址中 如: MOV AX,ES:[BX]
2.PTR 类型/距离 PTR 变量或标号 功能:将PTR左边的类型属性赋给右边的变量或标号。PTR本 身并不分配存储单元,仅给已分配的存储单元赋予新的属 性,这样可以保证运算时操作数类型的匹配,常与类型BYTE、 WORD、NEAR、FAR等连用。 例: DATA1 DB 10H,20H,30H ;数据定义 DATA2 DW 4023H,0A845H MOV BX,WORD PTR DATA1 ;2010H传送到BX MOV AL,BYTE PTR DATA2 :23H传送到AL MOV WORD PTR[BX],10H ;[BX],[BX+1]-O010H 2009-04-15 第四章汇编语言程序设计 20of168
2009-04-15 第四章 汇编语言程序设计 20 of 168 2.PTR 类型/距离 PTR 变量或标号 功能:将PTR左边的类型属性赋给右边的变量或标号。PTR本 身并不分配存储单元,仅给已分配的存储单元赋予新的属 性,这样可以保证运算时操作数类型的匹配,常与类型BYTE、 WORD、NEAR、FAR等连用。 例: DATA1 DB 10H,20H,30H ;数据定义 DATA2 DW 4023H,0A845H …… MOV BX,WORD PTR DATA1 ;2010H 传送到 BX MOV AL,BYTE PTR DATA2 ;23H 传送到 AL MOV WORD PTR[BX],10H ;[BX],[BX+1]←0010H