我想知道,数据将如何存储在内存中;或者以下代码会产生什么影响
DATA1 DB 1,2,3
我的数据是如何存储的.. 如果我使用80386或更高版本的intel微处理器.. 我是一个新人,对这些东西非常友好的帮助!
答案 0 :(得分:1)
好吧,db
定义了一个字节序列,这样你就可以从data1
开始增加内存位置中的三个字节1,2和3。
如果data1
位于0x00001234,那么两个语句db 1,2,3
和db 3,2,1
(一个或另一个,而不是一个跟随由另一个)给出:
DB 1,2,3 DB 3,2,1
+------+ +------+
0x00001234 | 0x01 | | 0x03 |
+------+ +------+
0x00001235 | 0x02 | | 0x02 |
+------+ +------+
0x00001236 | 0x03 | | 0x01 |
+------+ +------+
例如,请查看此debug
会话:
c:\src> debug
-a 100
1388:0100 db 1,2,3,4
1388:0104 db 9,8,7,6
1388:0108
-d 100 10f
1388:0100 01 02 03 04 09 08 07 06-00 00 00 00 00 00 00 00 ................
-q
c:\src> _
您可以看到1
,2
,3
和4
(按此顺序)进入内存位置0x0100
到{{1} } 0x0103
,9
,8
和7
(再次按指定的顺序)进入内存位置6
到0x0104
。