- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
变量定义伪指令
变量定义伪指令
1. []{DB|DW|DD|DQ|DT},;
2. 表达式 为数据项分配存储单元的 , 用来留预存单元 . TEMP DB ?
3. 带 DUP 的表达式 重复数据定义操作符
DUP TAB1 DB 10H DUP 保留 10H 个字节单元
变量定义( Define )伪指令为变量申请固定长度的存储空间,并可同时将相应的存储单元初始化
变量名 伪指令助记符 初值表
变量定义伪指令最常使用变量名
变量名为用户自定义标识符,表示初值表首元素的逻辑地址;用这个符号表示地址,常称为符号地址
变量名可以没有 , 这种情况,汇编程序将直接为初值表分配空间,无符号地址
设置变量名是为了方便存取它指示的存储单元
初值表
初值表是用逗号分隔的参数
主要由数值常数、表达式或?、 DUP 组成
?——表示初值不确定,即未赋初值;
DUP ——表示重复初值
DUP 的格式为:
重复次数 DUP( 重复初值参数 )
变量定义伪指令助记符
变量定义伪指令根据申请的主存空间单位分类
DB ——定义字节伪指令
DW ——定义字伪指令
DD ——定义双字伪指令
DF ——定义 3 字伪指令
DQ ——定义 4 字伪指令
DT ——定义 10 字节伪指令
还有定位伪指令
定义字节单元伪指令 DB
DB 伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值
初值表中每个数据一定是字节量( Byte ),存放一个 8 位数据:
可以是 0~255 的无符号数
或是- 128 ~+ 127 带符号数
也可以是字符串常数
data segment ;数据段
X db ‘a’,-5
db 2 dup(100),?
Y db ‘ABC’
data ends
字节单元定义实例
mov al,X
; 此处 X 表示它的第 1 个数据,
故 AL ← ‘a’
inc X+1
; 对 X 为始的第 2 个数据减 1 ,
故成为 -4
mov Y,al
; 现在 Y 这个字符串成为
’aBC’
字节变量的应用
定义字单元伪指令 DW
DW 伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值
初值表中每个数据一定是字量( Word ),一个字单元可用于存放任何 16 位数据:
一个段地址
一个偏移地址
两个字符
0 ~ 65535 之间的无符号数
- 32768 ~+ 32767 之间的带符号数
data segment ;数据段
count dw 8000h,?,’AB’
maxint equ 64h
number dw maxint
array dw maxint dup(0)
data ends
字单元定义实例
字变量和字常量的定义:
WNUM EQU 5678H
; 定义 WNUM 为常量
COUNT DW 20H
; 定义 COUNT 变量,假设在数据段的偏移地址为 10H
字变量和字常量的应用:
MOV AX,[BX+SI+WNUM] ; MOV AX,[BX+SI+5678H]
MOV AX,COUNT ; MOV AX,[0010H]
MOV AX,[SI+COUNT] ; MOV AX,COUNT[SI]
; MOV AX,[SI+10H]
LEA BX,COUNT ; LEA BX,[0010H]
MOV BX,OFFSET COUNT ; MOV BX,0010H
字变量和字常量
定义双字单元伪指令 DD
DD 伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值
初值表中每个数据是一个 32 位的双字量( Double Word ):
可以是有符号或无符号的 32 位整数
也可以用来表达 16 位段地址(高位字)和 16 位的偏移地址(低位字)的远指针
vardd DD 0,?
farpoint DD
其他数据单元定义伪指令
定义 3 字伪指令 DF ——用于为一个或多个 6 字节变量分配空间及初始化
6 字节常用在 32 位 CPU 中表示一个 48 位远指针( 16 位段选择器 :32 位偏移地址)
定义 4 字伪指令 DQ ——用于为一个或多个 8 字节变量分配空间及初始化
8 字节变量可以表达一个 64 位整数
定义 10 字节伪指令 DT ——用于为一个或多个 10 字节变量分配空间及初始化
10 字节变量可
文档评论(0)