- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 定义数据
第5章 定义数据 ;5.1 定义数据的伪指令 ; (1) 变量名即名称,是可选项,以方括号识别。若程序中使用到该变量名,则变量名不可省略。
(2) DN表示定义数据伪指令的操作码,在使用时有以下几种取值:DB(字节)、DW(字)、DD(双字)、DQ(四字)、DT(十字节)。
(3) 操作数项表示要定义的数据,可以有下列几种情况:
常数 常数可以有一个或多个,当为多个常数时,之间用逗号隔开。如:
FLD1 DB 25H
FLD2 DB 11,12,13,14,15 ; 汇编程序将这些常数按顺序定义在相邻的字节变量中,当使用FLD2时,相当于取第1个常数11,而使用到FLD2+1时,即取第2个常数12。若有
MOV AL,FLD2+3
则AL中的值为0E(14)。
汇编语言中,常以一个问号“?”来预留一个字节的空间。如:
FLD3 DB ?
FLD4 DB ?,?
操作数同时也允许重复多个常数,其一般格式如下: ;[变量名] DN 重复次数 DUP(操作数)
例如: DW 10 DUP(?) ;预留10个字单元
DB 5 DUP(14) ;定义5个含十六进制0E的字节
DB 3 DUP(4DUP(8))
;定义12个含十六进制8的字节
; 字符串 字符串是用来描述如人名或标题的特殊“数据”。字符串是以单引号(‘ ’)或双引号(“ ”)扩起来作为定界符。例如,‘PC’或“PC”。汇编程序将这些字符串以ASCII码的格式存入目的程序。
只有DB伪指令才能定义超过两个字节的字符串,并且以由低地址到高地址的顺序来存储字符串。请记住,DB是定义字符串的唯一明智选择。例5.1提供了一些例子。
;例5.1 字符串与数值的定义。
源程序清单如下:
??; filename:L51.ASM
Page 60,132
TITLE EXDEF (EXE)Define assembler pseudo-ops
DATASG SEGMENT PARA ‘DATA’
;——————定义字节数据——————DB
FLD1DB DB ?
FLD2DB DB ‘Personal Computer’
FLD3DB DB 32;FLD4DB DB 20H
FLD5DB DB
FLD6DB DB 01, ‘JAN’,02, ‘FEB’,03, ‘MAR’
FLD7DB DB ‘32654’
FLD8DB DB 10 DUP(0) ; ten zeros
; ——————定义字数据——————DW
FLD1DW DW 0FFF0H
FLD2DW DW
FLD3DW DW FLD7DB ; address constant
FLD4DW DW 3,4,7,8,9 ; five constants
FLD5DW DW 5 DUP(0) ; five zeros;; ——————定义双字数据——————DD
FLD1DD DD ?
FLD2DD DD ‘PC’
FLD3DD DD 32572
FLD4DD DD FLD3DB-FLD2DB ; diff betw address
FLD5DD DD 14,49
; ——————定义四字数据——————DQ
FLD1DQ DQ ?
FLD2DQ DQ 04D47H
FLD3DQ DQ 32572;; ——————定义十字节数据——————DT
FLD1DT DT ?
FLD2DT DT ‘PC’
DATASG ENDS
;例5.1的字符串与数值的定义结果如下(见图5-1):
—————————————————————————————————————————————
1Page 60,132
2TITLE EXDEF
文档评论(0)