宏汇编语言PPT课件

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.
10
2.变量的定义
表达式项是给变量或指定存储单元赋予初值,它有以 下几种形式:
(1)数值表达式 (2) 字符串表达式 (3)地址表达式(只适用DW和DD两个伪指令) (4)? 表达式 (5)带DUP的表达式
.
11
(1)数值表达式
数据定义伪指令可以为一个或连续的存储单元设置数值 初值。
DW伪指令则是取它的偏移地址来初始化变量, 用DD伪指令则是取它的段首址和偏移地址来初 始化变量。
例如:
BUF1 DW A
BUF2 DD B
.
16
(5)带DUP的表达式
在表达式中使用重复数据操作符DUP,可以为连续的存 储单元提供重复数据,其格式为:
N DUP(表达式)
其中N为重复因子,只能取正整数,表示定义了N个重 复数据存储单元,其类型由它前面的数据定义伪指令确 定,而每个数据存储单元中的初值由DUP后面圆括号中 的表达式给定。
MOV MOV
┆ EQU 25*4 –50 ;NUM1=50 EQU NUM1 / 7 ;NUM2=7 DB NUM1 MOD 7 ;NUM3=1 DB 1,2,3,4,5
.
ຫໍສະໝຸດ Baidu
返回本章首页
5
(3)TYPE运算符
(4)$运算符
4 方括号运算符和地址表达式
5.3 数据定义伪指令
1 等值伪指令(EQU)
2 等号伪指令(=)
3 字节定义伪指令
4 字定义伪指令
5 双字定义伪指令
6 多字节定义伪指令
5.4 宏汇编语言基本语法
1 方式选择伪指令
2 段定义伪指令
.
6
3 段约定语句 4 过程定义语句 5 定位语句 6 汇编结束语句
2.伪指令符:伪指令符指定汇编程序要完成的 具体操作,如数据定义伪指令DB、DW、DD,段 定 义 伪 指 令 SEGMENT, 假 定 伪 指 令 ASSUME 等 。
3.操作数:伪指令后面的操作数可以是常数、 字符串、变量、表达式等,其个数由具体的伪指
令决定,各个操作数之间必须以“逗号”分隔。
4.注释:伪指令的注释必须以“;”开始,其 作用同指令语句中的注释部分。
返回本节
.
4
5.2 宏汇编基本语法
5.2.1 标号、变量和常数
1 标号和变量
2 常量:立即数,字符串常数,符号常数 5.2.2 运算符 1 数值运算符 (1)算术运算符 (2)逻辑运算符 (3)关系运算符 2 修改属性的运算符 3 返回属性或数值的运算符 (1)SEG运算符 (2)OFFSET运算符
.
20
1.操作数
2.算术运算符
算术运算符包括:+(加)、-(减)、 * ( 乘 ) 、 / ( 除 ) 、 MOD( 求 模 ) 、 SHL(左移)、SHR(右移)几种,它既 可以用于数值表达式又可用于地址表达 式。
.
21
【例3.4】用算术运算符进行数值表达式运算。
NUM1 NUM2 NUM3 VAR1 VAR2 NUM4 NUM5
【例3.2】为字符串分配存储单元。
DATA
SEGMENT
STR1
DB ‘1234’
STR2
DW ‘AB’,‘CD’,‘A’
STR3
DD ‘AB’
DATA
ENDS
其存储单元分配如下图3.2所示。
.
14
.
图 3 2
数 据 段 存 储 分 配 图
.
15
(3)地址表达式(只适用DW和DD两个伪指令)
如果该地址表达式为一变量(或标号)名,用
.
7
字符串常量
字符串常量是用单引号或双引号引起来 的一个或多个字符。字符串常量是以各 字符的ASCⅡ码表示的。如‘A’用41H 表 示 , 字 符 串 ‘ A1B2’ 用 4 1 H,31H, 42H,32H表示。
返回本节
.
8
变量
1.变量 2.变量的定义
.
9
1.变量
(1)段属性 (2)偏移地址属性 (3)类型属性
CLC
ROL al,1
JZ rrr
MOV NOT0,dl
JMP qqq
INC bx
rrr: MOV minus,dl
qqq: JMP abc
.
2
指令语句的一般格式如下:
[标号:] 指令助记符 操作数 ;注释
1.标号:标号是机器指令语句存放地址的符号表示, 代表该指令目标代码的第一个字节地址,后面必须紧跟 冒号“:” 。
第5章 宏汇编语言
5.1 汇编源程序的语句类型 一个完整的汇编程序至少应包含两类语句:一类是
指令性语句;另一类是指示性语句。 指令性语句的书写格式如下: 标号: 符号指令;注释 变量名 伪 指 令;注释
返回本章首页
.
1
LEA bx,buf
abc: MOV al,0
MOV dl,[bx]
SUB al,dl
【例3.3】符号地址表示。

NEXT:MOV AL, [SI] ;带标号NEXT的指令

DEC CX
JNE NEXT ;标号NEXT作转移指令的操作数
.
18
标号也具有三种属性
1.段属性 2.偏移地址属性 3.类型属性
返回本节
.
19
4 表达式
1.操作数 2. 算术运算符 3.逻辑运算符 4.关系运算符 5.属性运算符 6.数值返回运算符
2.指令助记符:指令助记符为语句的核心成分,表示 了该语句的操作类型。
3.操作数:操作数表示指令助记符的操作对象。 4.注释:注释均以分号开始,它可占一行或多行,一 般放在一条语句的后面。
返回本节
.
3
伪指令语句格式
伪指令语句格式如下:
[符号名] 伪指令符 操作数 ;注释
1.符号名:符号名是伪指令语句的一个可选项。
【例3.1】为数据段分配存储单元。
DATA
SEGMENT
A
DB 11H,12H,13H
B
DW 1122H,3344H
C
DD 12345678H
DATA
ENDS
上述变量的存储单元分配及初始化情况如下图3.1所示。
.
12
图3.1 数据段中数据存储分配图
.
13
(2) 字符串表达式
字符串表达式中的字符串必须用引号引起来。DB、DW、 DD伪指令将字符串中的各字符均以ASCⅡ码形式存放在 相应的存储单元,但表示形式各不相同。
例如: BUF DB 100 DUP(0)
以上语句定义了以BUF为首址,大小为100个字节,初 值为0的数据存储单元。
返回本节
.
17
标号
标号是一条指令语句的符号地址。在汇编源程序中,只有 在需要转向一条指令语句时,才为该指令语句设置标号, 以便在转移类指令(含子程序调用指令)中直接引用这个 标号。因此,标号可作为转移类指令的操作数,即转移地 址。
相关文档
最新文档