- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理和接口 第5章2_伪指令-宏指令
5.3 伪指令语句;5.3.1 数据定义伪指令
数据定义伪指令的用途:
定义一个变量的类型,给变量赋初值;
或者仅仅给变量分配存储单元,而不赋予特定的值。
数据定义伪指令有DB,DW,DD,DF,DQ,DT等,而常用的是前三种。
数据定义伪指令的一般格式为:
[变量名] 伪指令定义符 操作数[,操作数…]
其中方括号中的变量名为任选项,可以有,也可以没有。变量名后面不跟冒号。伪指令定义符后面的操作数可以不止一个。如有多个操作数,相互之间应该用逗号分开。 ;1、字节变量的定义DB(Define Byte);字节变量定义实例;2、字变量的定义DW(Define Word);字变量定义实例;3、双字变量的定义DD(Define Double word);其他数据单元定义伪指令;变量的应用; ;问号“?”定义: 除了常数、表达式和字符串外,问号“?”也可以作为数据定义伪指令的操作数,此时仅给变量保留相应的存储单元,而不赋予变量某个确定的初值。
DUP定义: 当同样的操作数重复多次时,可用重复操作符“DUP”表示,其形式为:
n DUP(初值 [,初值,…]) ; [,初值,…]?
其中圆括号中为重复的内容,n为重复次数。
如果用“n DUP(?) ”作为数据定义伪指令定义符的惟一操作数,则汇编程序产生一个相应的数据区,但不赋任何初值。
重复操作符“DUP”可以嵌套。下面是用问号或“DUP”表示操作数的几个例子: ;FILLER DB ?
SUM DW ?
DB ?,?,?
BUFFER DB 10 DUP(?)
ZERO DW 30 DUP(0)
MASK DB 5 DUP(OK!)
ARRAY DB 100 DUP(3 DUP(8),6)
其中MASK 定义一个数据区,其中有5个重复的字符串OK!
变量ARRAY定义为一个数据区,其中包含重复100次的内容:8,8,8,6,共占400个字节。
试画出内存存储空间及初始化的数据值?;定义时避免出现错误:
下面是几个错误的数据定义伪指令语句:
ERROR1: DW 99
;变量名后有冒号
ERROR2 DB 25*90
;DB的操作数超过255
ERROR3 DD ‘1234’
;DD的操作数超过2个字符的字符串,超过2个字符串必须使用DB来定义; 例: 画图说明下列伪指令所定义的数据在内存中的存放形式。
ARV1 DB 3+4,43H,-2
ARV2 DW 474FH,1,?
COUNT EQU 2
ARV3 DB 2 DUP(1,COUNT DUP(2))
ARV4 DD ARV3
ARV5 DB ‘AB’
ARV6 DW ‘AB’
解:假设此数据段的段地址为1234H,即 DS=1234H,则有:;地址操作符;5.3.2 符号定义伪指令
符号定义伪指令的用途:是给一个符号重新命名,或定义新的类型属性等。
符号包括:汇编语言的变量名、标号名、过程名、寄存器名以及指令助记符等。
常用的符号定义伪指令: EQU、=(等号)和LABLE。; 1.EQU
格式:名字 EQU 表达式
EQU伪指令将表达式的值赋予一个名字。以后可用这个名字来代替上述表达式。
格式中的表达式可以是:一个常数、符号、数值表达式或地址表达式等。例如: ; 2.=(等号)
格式:名字=表达式
含义: = (等号)伪指令的功能与EQU伪指令基本相同。
与EQU主要区别:它可以对同一个名字重复定义。例如: ; 3.LABLE(类型定义伪指令)
格式:名字 LABLE 类型
LABLE伪指令的用途:定义标号或变量的类型。
变量的类型可以是BYTE、WORD、DWORD等;
标号的类型可以是NEAR或FAR。
利用LABEL伪指令可以使同一个数据区兼有BYTE和WORD两种属性,例:
AREAW LABEL WORD ;变量AREAW的类型为WORD
AREAB DB 100 DUP(?) ;变量AREAB的类型为BYTE
MOV AREAW,AX ;AX送第1和第2字节中
MOV AREAB[49],AL ;AL送第50字节中
LABEL伪指令的功能等同于“EQU THIS” ;5.3.3 段定义伪指令
段定义伪指令的用途:在汇编语言源程序中定义逻辑段,常用的段定义伪指令有
您可能关注的文档
最近下载
- 一种具有调节皮肤微生态作用的多糖组合物及其制备方法与应用.pdf VIP
- 一种道路交通视频中敏感信息自动脱敏处理方法及系统.pdf VIP
- 面向对象的系统分析与设计.docx
- 广播电视编导-媒介融合背景下地方传统媒体的转型发展策略.docx
- 一种皮肤屏障修护和细胞修复抗皱组合物及其制备方法.pdf VIP
- 人教部编版七年级下册语文精品课件 第三单元 大概念引领下的大单元复习 (6).ppt VIP
- 一种抗敏消炎纳米组合物及其制备方法和应用.pdf VIP
- 2025北京市地铁运营有限公司公开选拔中层副职领导人员笔试参考题库附带答案详解.docx
- 一种靶向线粒体的自组装硒肽纳米材料及其制备方法和应用.pdf VIP
- 关于大学校园二手交易市场的调查分析.doc VIP
文档评论(0)