第5章 定义数据.ppt
文本预览下载声明
第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
显示全部