标题:数据区定义问题
只看楼主
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
 问题点数:0 回复次数:7 
数据区定义问题
1 D1 DB 100dup(?)
d2 db 100
db ?
db 100dup(?) 二者有什么区别?
2 d1 db 'welcome'
能否用 0a 功能对它重新付值.....


谢谢....~~~
搜索更多相关主题的帖子: 数据区 welcome 定义 
2006-12-09 18:17
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 

数组与单个变量有什么区别?

重新赋值?是在程序中赋值还是别的什么?


2006-12-09 22:43
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
得分:0 
2 d1 db 'welcome'
能否用 0a 功能对它重新付值.....

在程序中重新对他赋值

菜鸟~~请多指教~~
2006-12-10 00:05
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
这相当于数组,循环7次mov d1[di],0ah

2006-12-10 11:54
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
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个空间。

我是金子,我要闪光的
2006-12-10 16:00
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
得分:0 
楼上说的好啊!我觉得对d1 db 'welcome'重新赋值还会出现一个问题就是对输入的字符串的长度应该是有限制的.但是我不知道对于这种情况(就这个来说我指的是就d1 db 'welcome'而言要重新赋值的话)应该限制要输入的字符串是几个字节具体是最多能输入几个字节还请楼上的朋友说明一下,谢谢你了!呵呵!

♂ 死后定当长眠,生前何须久睡。♀
2006-12-10 18:50
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
得分:0 

非常感谢......


菜鸟~~请多指教~~
2006-12-11 23:00
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
呵呵,上次忘了说了,一个字节代表了字符串长度,必然是FFH(256)个字符啦

我是金子,我要闪光的
2006-12-12 13:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-108409-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.140343 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved