使用教材为
《微型计算机原理与接口技术》(慕课版)
孙丽娟、李爱群、陈燕俐、周宁宁、邓玉龙编著
默认存储器单元的地址编排顺序从上往下,地址从低向高编排
1. 常用伪指令
数据字义伪指令
DB:字节型,8位
变量名 DB 一个或多个用“,”间隔的单字节数
按照定义顺序依次存放在对应的存储器单元中
eg:
BUF0 DB 12H
BUF1 DB 34H,'A'
BUF2 DB ?,?,?
BUF3 DB 3 DUP(?)//等同于3个?
- ?表示随机数
- DUP:重复操作符,左边是重复次数,右边括号内为重复的内容
DW:字型,16位
变量名 DB 一个或多个用“,”间隔的双字节数
双字节数的低位字节存放在低地址单元,高位字节存放在高地址单元
eg:
N1 DW 'DA',46H,'D'//字符D占两个存储单元
MOV AX,N1+1//执行指令后(AX=4644H)
- DW后的字符串常数只能是单引号括起的一个或两个字符
- 第二条MOV指令,用N1+1可以访问N1变量的内容为44H和46H两个存储单元
DD:双字型
变量名 DB 一个或多个用“,”间隔的四字节数
eg:
N2 DD 12345678H
- 每次存取均为4个连续的字节单位
符号定义伪指令
等值伪指令 EQU
符号名 EQU 表达式
eg:
COUNT EQU 54H
等号伪指令=
符号名 = 表达式
eg:
COUNT = 56H
- = 与EQU功能相同
- 区别:EQU定义的常量在后继指令中值不能更改,若要改,则需改原定义语句; = 定义的常量在后继指令中值可以更改
COUNT = 40H//COUNT的值为40H
COUNT = 53H//COUNT的值改为53H
2. 常用运算符
SEG运算符
返回对于逻辑段的段基址
SEG 逻辑段名称或符号或变量
eg:
MOV AX,SEG BUF
//若变量BUF对应的段基址为2000H,则(AX=2000H)
OFFSET运算符
返回相对于首段的偏移地址
OFFSET 标号或变量
eg:
MOV BX,OFFEST BUF
//取出BUF变量的偏移地址到BX
$运算符
返回当前汇编地址计数器的值,通常用来计算变量在逻辑段中占用的字节总数
eg:
BUF DB 'ABCDE'
L1 EUQ $-BUF
S DB 'DFGHJ'
L2 EUQ &-BUF//则L1=5,L2=10
PTR运算符
临时修改变量属性,使源、目两个操作数类型属性一致,也可用于修改标号的类型属性
类型说明符 PTR 标量或变量的地址表达式
eg:
SUB BYTE PTR [BX],10
MOV BL,BYTE PTR [BX+SI]
- 双操作数指令中(如MOV、ADD)
| 源操作数 | 目标操作数 | 使用条件 |
|---|---|---|
| 立即数 |

最低0.47元/天 解锁文章
428

被折叠的 条评论
为什么被折叠?



