9
4-1 汇编语言程序格式
MASM中可使用的语句分成两类:指令性语句和伪指令语句。 一、指令性语句 • 特点:与机器指令相对应,汇编时产生目标代码。 • 标号:指令助记符 操作数,操作数 ;注释 ①标号:表示本指令语句的符号地址,后跟冒号“:”,用 作转移的目标地址; ②指令助记符:指出指令的操作类型,由英文字母缩写而成; ③操作数:指明参加指令运算的数据,有无操作数、单操作 数和双操作数之分,其中双操作数之间用逗号“,”分隔, 操作数与指令助记符之间用空格隔开; ④注释:用来说明一条指令或一段程序的功能,前面以分号 “;”为标记,汇编程序对注释不进行汇编,增加可读性 • 其中指令助记符是关键字,不可省略,其余部分均可省略。
20
例:N1 DB 15H,36H N2 DW 1122H,3344H MOV AX, WORD PTR N1 执行后:AX=3615H MOV BL, BYTE PTR N2 执行后:BL=22H MOV AX, WORD PTR N1+1 执行后:AX=2236H 注:若符号地址出现在操作数中,其类型为DB、DW所定义的 类型(如直接寻址、寄存器相对寻址、相对基址变址寻 址),如类型不匹配汇编时提示Warning Error:Operand types must match 或 Illegal size for operand;若存 储器操作数中不包含符号地址(如寄存器间接寻址等), 则该操作数的类型不确定,指令中的另一操作数必须明确 类型,否则汇编时提示Severe Error:Operand must have size. 例:LEA BX,N1之后 CMP [BX],10H 或 INC [BX]均出错。
10
二、伪指令语句 • 特点:没有对应的机器指令(本身不产生目标代码),只 为汇编程序提供汇编信息。 • 格式: 名字 伪指令指示符 操作数,操作数 ;注释 ①名字:给伪指令取的名称,用符号地址表示,名字后不带 冒号“:”,只用空格符与伪指令指示符相分隔; ②伪指令指示符:是MASM规定的符号,明确不同的操作; ③操作数:规定同指令性语句,区别在于操作数可能多于2 个; ④注释:规定同指令性语句 • 其中不可省略的部分是伪指令指示符,其余均可缺省。 三、数据项 • 操作数的三种基本数据项:常数、变量、标号