1

我尝试了以下形式,但 masm 不喜欢其中的任何一种:

mov byte [myVariable], al
mov byte ptr [myVariable], al
mov [byte myVariable], al

我错过了什么?为什么我似乎不能使用间接寻址。

我从 masm 得到的错误是某些行上的“表达式中缺少运算符”,其中一些说“预期结构字段”

4

2 回答 2

1
myVariable equ 0404h

不声明变量,它声明一个常量。汇编器简单地将所有常量替换为目标文件中的值。因此,

mov [myVariable], al

变成

mov [0404h], al

这是无效的。

您必须将值分配给寄存器,如下所示:

mov di,0404h
mov byte ptr [di],al
于 2011-09-12T13:22:51.893 回答
0
mov [myVariable], al

应该是足够的,甚至只是:

mov myVariable, al

但话又说回来 mov byte ptr [myVariable], al应该起作用,这让我想知道“什么是'myVariable'”?

于 2009-12-07T16:47:40.107 回答