x8086汇编语言不正确

时间:2014-11-15 20:58:04

标签: assembly

我对以下数据段有疑问:

data segment
s dw 7,5,2
x db $
....
data ends.

我必须知道x的价值是什么。我在6本书中找到了但我不知道为什么。 如果我有db,dw现在是x的值?

1 个答案:

答案 0 :(得分:0)

dwdefine word的汇编程序指令。现在一个单词的长度可能因机器而异,但在这种情况下它是2个字节。您正在存储这些单词中的三个(7,5和2),因此它们将占用6个字节。

dbdefine byte的汇编程序指令,$表示当前偏移量。当您在偏移量6处出现此命令时,x的值为6.

使用db来存储当前偏移量很可能是危险的,因为如果偏移量大于255,它将无法给出正确的答案,如果扩展程序并且很容易添加数据。 dw对于8086应该没问题(我现在不记得了,但我认为偏移量限制为16位)。