我对以下数据段有疑问:
data segment
s dw 7,5,2
x db $
....
data ends.
我必须知道x的价值是什么。我在6本书中找到了但我不知道为什么。 如果我有db,dw现在是x的值?
答案 0 :(得分:0)
dw
是define word
的汇编程序指令。现在一个单词的长度可能因机器而异,但在这种情况下它是2个字节。您正在存储这些单词中的三个(7,5和2),因此它们将占用6个字节。
db
是define byte
的汇编程序指令,$
表示当前偏移量。当您在偏移量6处出现此命令时,x
的值为6.
使用db
来存储当前偏移量很可能是危险的,因为如果偏移量大于255,它将无法给出正确的答案,如果扩展程序并且很容易添加数据。 dw
对于8086应该没问题(我现在不记得了,但我认为偏移量限制为16位)。