MOV命令的Masm间接寻址模式

时间:2009-12-07 16:44:36

标签: masm addressing-mode

我尝试了以下表格,masm不喜欢其中任何一种:

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

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

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

2 个答案:

答案 0 :(得分:1)

myVariable equ 0404h

不声明变量,它声明一个常量。汇编程序只是将所有常量替换为目标文件中的值。因此,

mov [myVariable], al

变为

mov [0404h], al

无效。

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

mov di,0404h
mov byte ptr [di],al

答案 1 :(得分:0)

mov [myVariable], al

应该足够,甚至只是:

mov myVariable, al

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