. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验7有感db用法问题  [待解决] 回复[ 5次 ]   点击[ 612次 ]  
haijiaoyuxiang
[帖 主]   [ 发表时间:2013-05-16 09:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2012-04-10 07:08
王爽汇编语言第八章实验7里面data段
db'1975','1976','1977','1978','1979',........
dd 16,22382,2390,8000,16000,24486,50065,197514,.........
这个数据段的问题,主要还是db的用法问题有点迷糊。
请问:db是不是定义字节型数据?如果是,所定义的字节型数据时怎么分界的?怎么实现在内存的储存的?是1占用一个内存单元还是1975占用一个内存单元。但是觉得1975不应该占用一个内存单元,应该至少占4个内存单元把;段中“,”的作用是什么?两个逗号之间的数据为一个字节型数据?还是分开数据的作用,把字符分开成为不同的字符串? 
dd后面的双字型数据是用逗号来分开的,两个逗号之间的数据占两个字的储存位置。db后面的逗号不是这样的作用吗?还是字符型数据和纯数据的处理方法不一样?

如果我没有理解错的话,上面的答案就是:db定义字节型数据,后面的数据不管是用什么符号分开,都是严格按照一个字符对应的ASC2码在内存中存储,逗号只是把字符分割成字符串。
本人没有编程经验问题可能幼稚希望能谅解,学习了几章有点小收获,自己隐隐约约觉得上面的问题有答案,可是不敢肯定,请大神帮忙看下。谢谢!
wenliyun76
[第1楼]   [ 回复时间:2014-08-28 11:58 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-08-25 09:22
我就是弄这些内存占用就是数偏移地址就晕!
gyq
[第2楼]   [ 回复时间:2014-08-28 20:05 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2014-08-02 21:25
不要怕,具体问题具体分析。混乱就搞清楚啊,混乱在那里,是偏移地址理解不够,还是对占用空间的大小理解不够,还是怎么的,去分析。
wsh19931001
[第3楼]   [ 回复时间:2014-10-07 02:23 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-10-07 02:07
db(0-255)是存储字节型的,你没看见有单引号了吗?里边的一个是1字节4个就是4字节
这道题我很深刻还是不停地摸索和问才弄懂的!我是这么理解的希望对你有用!
wsh19931001
[第4楼]   [ 回复时间:2014-10-07 02:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-10-07 02:07
dd是两个字也就是4个字节和上边的db是一样的,也是不一样的因为要用dd存储那个字符串实在是太内存空间了
wrsg
[第5楼]   [ 回复时间:2019-08-22 10:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-21 12:54
db'1975','1976'  这句理解为占用8个字节,用双引号和逗号隔开纯属是容易对照,编译时被忽略
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved