2.变量定义 变量一般在数据段或附加数据段中使用数据定义伪指令DB、 DW、DD、DQ和DT来定义。定义变量的一般格式: [变量名]数据定义伪指令表达式[,.] 其中,用DB定义的变量为字节类型的变量,用DW定义的变量 为字类型变量,用DD定义的是双字类型的变量;用DQ定义 的是四字类型的变量,用DT定义的是十字节类型的变量。 变量名由用户所取,定义变量时可以省略。表达式确定了 变量的初值。 11
2.变量定义 变量一般在数据段或附加数据段中使用数据定义伪指令DB、 DW、DD、DQ和DT来定义。定义变量的一般格式: [变量名] 数据定义伪指令 表达式 [,…] 其中,用DB定义的变量为字节类型的变量 定义的变量为字节类型的变量;用DW定义的变量 为字类型变量;用DD定义的是双字类型的变量;用DQ定义 的是四字类型的变量;用DT定义的是十字节类型的变量。 变量名由用户所取,定义变量时可以省略。表达式确定了 变量的初值。 11
例4.4 Count db 10 Buf dw1,2,3,4,5 Char db‘AB' 高级语言的变量定义: Char c1,c2,c3; Int a,b,c,d Float x,y,z OO o888 12
例4.4 Count db 10 db 10 Buf dw 1,2,3,4,5 Char db Char db ‘AB’ 高级语言的变量定义: Char c1,c2,c3; Char c1,c2,c3; Int a,b,c,d a,b,c,d Float x,y,z 12
3.变量赋初值 1)数值表达式; 2)ASCII字符串(通常选用DB类型); 3)地址表达式(只适用于DW和DD两个伪指令); 4)?(表示所定义的变量无确定初值); 5)重复子句。 其格式为:nDUP(表达式) 6)可以是以上表达式组成的序列 888 13
3.变量赋初值 1)数值表达式; 2)ASCII字符串(通常选用DB类型); 3)地址表达式(只适用于DW和DD两个伪指令); 4)?(表示所定义的变量无确定初值); 5)重复子句。 其格式为:n DUP (表达式) 6)可以是以上表达式组成的序列 13
例4.5定义Data数据段。 Data segment A dw M Bdb‘AB,ODH, 0AH C dw OFFAAH D dd B Count equ 500H M db 2 DUP (1,2) Data ends 88 14
例4.5 定义Data数据段。 Data segment Data segment A dw M B db ‘AB’,0DH,0AH C dw 0FFAAH C dw 0FFAAH D dd B Count equ 500H Count equ 500H M db 2 DUP(1,2) Data ends 14
4.2.3标号 标号是可执行语句的符号地址,也可以是子程序名。子程序● 名实际上是子程序入口地址的符号表示,即子程序中第一 条机器指令语句的符号地址。标号可以作为JMP等转移指 令和CALL指令的目的操作数。 标号的定义方式为: NEXT:MOV AL,[SI] ;定义近标号NEXT SUB1 PROC FAR;定义过程名SUB1为远标号 SUB2 PROC NEAR;定义过程名SUB2为近标号 JMP NEXT ;转移指令的目的操作数 标号一般只在代码段中定义和引用,作为指令地址的符号表 示,标号与变量类似,因而它也有3个属性。 08888 15
4.2.3 标号 标号是可执行语句的符号地址,也可以是子程序名。子程序 名实际上是子程序入口地址的符号表示,即子程序中第一 条机器指令语句的符号地址。标号可以作为JMP等转移指 令和CALL指令的目的操作数。 标号的定义方式为: NEXT:MOV AL,[SI] ;定义近标号NEXT SUBl PROC FAR ;定义过程名SUBl为远标号 SUB2 PROC NEAR SUB2 PROC NEAR ;定义过程名SUB2为近标号 JMP NEXT ;转移指令的目的操作数 标号一般只在代码段中定义和引用,作为指令地址的符号表 示,标号与变量类似,因而它也有3个属性。 15