变量定义伪指令

变量定义伪指令

ID:20704679

大小:27.50 KB

页数:7页

时间:2018-10-15

变量定义伪指令_第1页
变量定义伪指令_第2页
变量定义伪指令_第3页
变量定义伪指令_第4页
变量定义伪指令_第5页
资源描述:

《变量定义伪指令》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、变量定义伪指令  1.[]{DB

2、DW

3、DD

4、DQ

5、DT},;  2.表达式为数据项分配存储单元的,用来留预存单元.TEMPDB?  3.带DUP的表达式重复数据定义操作符  DUPTAB1DB10HDUP保留10H个字节单元  变量定义(Define)伪指令为变量申请固定长度的存储空间,并可同时将相应的存储单元初始化  变量名伪指令助记符初值表  变量定义伪指令最常使用变量名  变量名为用户自定义标识符,表示初值表首元素的逻辑地址;用这个符号表示地址,常称为符号地址  变量名可以没有,这种情况,汇编程序将直接

6、为初值表分配空间,无符号地址  设置变量名是为了方便存取它指示的存储单元  初值表  初值表是用逗号分隔的参数  主要由数值常数、表达式或?、DUP组成  ?——表示初值不确定,即未赋初值;  DUP——表示重复初值  DUP的格式为:  重复次数DUP(重复初值参数)  变量定义伪指令助记符  变量定义伪指令根据申请的主存空间单位分类  DB——定义字节伪指令  DW——定义字伪指令  DD——定义双字伪指令  DF——定义3字伪指令  DQ——定义4字伪指令  DT——定义10字节伪指令  还有定位伪指令 

7、 定义字节单元伪指令DB  DB伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值  初值表中每个数据一定是字节量(Byte),存放一个8位数据:  可以是0~255的无符号数  或是-128~+127带符号数  也可以是字符串常数  datasegment;数据段  Xdb‘a’,-5  db2dup(100),?  Ydb‘ABC’  dataends  字节单元定义实例  moval,X  ;此处X表示它的第1个数据,  故AL←‘a’  incX+1  ;对X为始的第2个数据减1,  故成为-

8、4  movY,al  ;现在Y这个字符串成为  ’aBC’  字节变量的应用  定义字单元伪指令DW  DW伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值  初值表中每个数据一定是字量(Word),一个字单元可用于存放任何16位数据:  一个段地址  一个偏移地址  两个字符  0~65535之间的无符号数  -32768~+32767之间的带符号数  datasegment;数据段  countdw8000h,?,’AB’  maxintequ64h  numberdwmaxint  array

9、dwmaxintdup(0)  dataends  字单元定义实例  字变量和字常量的定义:  WNUMEQU5678H  ;定义WNUM为常量  COUNTDW20H  ;定义COUNT变量,假设在数据段的偏移地址为10H  字变量和字常量的应用:  MOVAX,[BX+SI+WNUM];MOVAX,[BX+SI+5678H]  MOVAX,COUNT;MOVAX,[0010H]  MOVAX,[SI+COUNT];MOVAX,COUNT[SI]  ;MOVAX,[SI+10H]  LEABX,COUNT;L

10、EABX,[0010H]  MOVBX,OFFSETCOUNT;MOVBX,0010H  字变量和字常量  定义双字单元伪指令DD  DD伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值  初值表中每个数据是一个32位的双字量(DoubleWord):  可以是有符号或无符号的32位整数  也可以用来表达16位段地址(高位字)和16位的偏移地址(低位字)的远指针  varddDD0,?,12345678h  farpointDD00400078h  其他数据单元定义伪指令  定义3字伪指令DF——用

11、于为一个或多个6字节变量分配空间及初始化  6字节常用在32位CPU中表示一个48位远指针(16位段选择器:32位偏移地址)  定义4字伪指令DQ——用于为一个或多个8字节变量分配空间及初始化  8字节变量可以表达一个64位整数  定义10字节伪指令DT——用于为一个或多个10字节变量分配空间及初始化  10字节变量可以表达扩展精度浮点数  例:数据定义综合应用  .modelsmall  .stack  .data  bvarDB16  wvarDW4*3  dvarDD4294967295;=232-1  

12、qvarDQ?  DB1,2,3,4,5  tvarDT2345;定义了BCD码2345H  abcDB‘a’,’b’,’c’  msgDB‘Hello’,13,10,’$’  bbufDB12DUP(‘month’)  dbufDD25DUP(?)  CALLDOSEQU  .code  .startup  movbl,bvar  movax,wordptrdvar[0]  movd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。