1. D1 DB 100 dup(?) ;在这里是开辟100个字节单元,并没有对其赋值,保留其原值,即随机
d2 db 100 ;这是定义一个字节单元,并在这个单元存上十进制数100
db ? ;这是定义一个字节单元,存放的数随机
db 100 dup(?) ;在这里是开辟100个字节单元,存放数值随机
经过上面定义后,D1就是包含的内容就是100个随机字节数的数据区的首地址;而d2是包含102个字节数值的数据区的首地址,其中第一个是十进制数100,后面101个为随机数
2. d1 db 'welcome'
这当然能对它重新赋值,因为它完全符合10号中断的要求,但这里会出现一个问题,因为10号中断的格式为
DATA DB A,B,C
其中A为想要存放的字节数;B在输入串中自动赋值,也就是实际输入的字符个数;C开始就是存放的字符的首地址;
例如我可以这样对上个数据区这样赋值:
......
MOV AH,0AH
LEA DX,DATA
INT 21H
......
所以上述定义可以重新赋值,只是A=w也就是A=77H,这样,允许输入的字节数就有119个,数据区将会为其开辟119个空间。