汇编语言语句格式.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
…
ARYB1
02H 02H …..
ARYB1
DB 10H DUP(2)
重复10H次,共10H单元
ARYB2
41H 42H 43H … 43H
重复20H次,共60H单元
ARYB2 DB 20H DUP(‘ABC’)
ARYW
00H …. ….
重复10H次,共20H单元
ARYW DW 10H DUP(?)
• 例如:用符号代表地址表达式、变量 名和标号 • ADR EQU ES:[BX][SI] • VB EQU DATA_BYTE+1 • LI EQU FAR PTR SUB1 • ……. • MOV ADR ,AL • ADD BL,VB • JMP LI
• • • • • • •
例如: 用符号表示寄存器、指Байду номын сангаас助记符 AREG EQU AX M EQU MOV …… MOV AREG ,1234H M CX, BX
• 例如:以下是一条伪指令语句 • VAR1 DB 12H;给变量分配一个字 节单元,初值为12H
三、标识符 • 标识符是指令语句中标号和伪指 令语句中的符号名的统称,其组 成规则如下:
• 1.字符个数是1~31个 • 2.名字的第一个字符必须是字母、问号、 或下画线(_)$ @?.等5种字符之一。 • 3.不得使用属于系统专用的保留字。保 留字包括:中央处理器中各寄存器名, 指令助记符,伪指令,各种运算符。
第一节、汇编语言语句格式
一、指令语句的一般格式如下: 标号:指令助记符 操作数 ;注释
例如: 以下是含有4个字段的一条指令语句: LOP:MOV AX,0000H;将AX清零。 例如:以下是一条单操作数指令语句 INC CX
二、伪指令语句格式
• 伪指令语句是指示汇编程序如何汇 编源程序的命令语句,在汇编时, 不产生语句代码,由汇编程序解释 它的意义并立即完成相应的操作。 • 伪指令语句格式如下: 符号名 伪指令符 操作数 ;注释
注意:
• 在一个源程序中,同一个符号不能用 EQU伪指令重新定义. • 例如: •M EQU MOV • …M EQU MUL • 第二条语句在汇编时,会产生符号重新 定义的语法错误.
二、等号语句
• 语句格式: 符号=表达式 • 等号语句可以重新定义符号
• 例如:
CONT =10 M=MOV …… CONT =CONT+10 M=MUL
• 数据定义伪指令按照伪指令DB,DW 和DD所确定的数据大小来分配相应数 量的存储单元,同时给这些存储单元 预置由对应表达式确定的初值。表达 式 有如下几种情况: • 1.数值表达式 • 2.字符串表达式 • 3.?表达式 • 4.带DUP表达式
• 例如:DATA数据段中定义了字节、字、双 字变量。 DATA SEGMENT VARB1 DB 10H VARB2 DB 10,11,12 DB 0FFH,0 VARW DW 1234H,5678H VARD DD 12345678H DATA ENDS
(4)带DUP表达式 数据定义伪指令语句格式如下: DB 变量名 DW 表达式1 DUP(表达式2) DD DUP可以嵌套 其中,表达式1是重复的次数 表达式2是重复数据的内容
例如:以下是带DUP表达式的变量定义: ARYB1 DB 10H DUP(2) ARYB2 DB 20H DUP(‘ABC’) ARYW DW 10H DUP(?)
第八讲
一、汇编语言语句格式 二、符号定义伪指令 三、数据定义伪指令 四、汇编语言数据 五、表达式与运算符 六、程序的段结构
一、汇编语言语句格式
汇编语言源程序 汇编程序目标程序
• 汇编语言源程序的基本组成单位是语 句. • 源程序中使用的语句有三种:指令语句、 伪指令语句和宏指令语句(或称宏调用 语句).
44H … 43H 41H 00H
字 字
STRING1
41H 42H 43H 44H
STRING3 DD 42H STRING3 ‘AB’
41H
STRING2
42H 41H
字
00H 00H
双字
STRING1 DB
‘ABCD’ STRING2 DW
….
‘AB’,’CD’,’A’
• 例如:有以下两个变量的定义: VAR_B DB ?,? VAR_W DW ?,? (不需要预设初值)
• 例如: • 标识符 ?ABC ——VAR .234 A2 • 非标识符:1ABC +VAR ADD 256
第二节、符号定义伪指令
• • • • 一、等值语句 语句格式: 符号 EQU 表达式 EQU伪指令的作用是将表达式的值或 表达式赋给它左边的符号。
• 例如:用符号表示常数、数值 表达式 • NUM EQU 10H • CONT EQU 123+34-67 • VAR DB NUM • …MOV AX,NUM
第三节、数据定义伪指令
• 数据定义伪指令语句格式如下;
DB 变量名 DW 表达式1,表达式2 DD
• 例如:
在DATA1数据段中定义了3个变量: DATA1 SEGMENT VAR1 DB 10H VAR2 DW 1234H VAR3 DD 12345678H DATA1 ENDS
段属性 变量的三个属性:偏移量属性 类型属性 (1)段属性SEG 段属性表示变量存放在哪一个逻辑段中, 它是用变量所在的段的段基值表示的.
VARBW
…
34H 12H 78H 56H
字 字
VARB1 VARB2
10H 0AH 0BH 0CH FFH 00H
VARBW
78H 56H 34H 12H ….
双字
• 例如:以下是3个字符串变量的定义。 DATA_S SEGMENT STRING1 DB ‘ABCD’ STRING2 DW ‘AB’,’CD’,’A’ STRING3 DD ‘AB’ DATA_S ENDS
(2)偏移量属性OFFSET 该属性表示变量在逻辑段中相距段起始 地址的字节数。 上述段和偏移量两个属性就构成了变量 的逻辑地址。
(3)类型属性TYPE 该属性表示变量所占存储单元的字节 个数。DB将变量定义为字节型(1个 字节),DW将变量定义为字型(2个 字节),DD将变量定义为双字型(4 个字节)。