在MASM中使用SIZEOF运算符和间接寻址模式

时间:2014-10-06 02:47:46

标签: string masm addressing

我试图获取esi保存第一个字节地址的字符串的大小。

mov ebx, SIZEOF [esi]

为什么要赢这场比赛?对于错误,它给出了错误A2081:mi,对于该行号。

1 个答案:

答案 0 :(得分:1)

  

为什么不运行?

SIZEOF的语法是:

  SIZEOF variable | type

这仅适用于汇编时,而不适用于运行时。而且它没有翻译成代码。所以你不能在任何你想要的地方使用它。

一个例子:

.data
string BYTE "Hello World", 0

.code
mov eax, SIZEOF string ;  the size will be translated into an immediate value

如果您事先无法知道该字符串的长度,则需要调用一些函数来获取它。