我尝试了以下形式,但 masm 不喜欢其中的任何一种:
mov byte [myVariable], al
mov byte ptr [myVariable], al
mov [byte myVariable], al
我错过了什么?为什么我似乎不能使用间接寻址。
我从 masm 得到的错误是某些行上的“表达式中缺少运算符”,其中一些说“预期结构字段”
我尝试了以下形式,但 masm 不喜欢其中的任何一种:
mov byte [myVariable], al
mov byte ptr [myVariable], al
mov [byte myVariable], al
我错过了什么?为什么我似乎不能使用间接寻址。
我从 masm 得到的错误是某些行上的“表达式中缺少运算符”,其中一些说“预期结构字段”
myVariable equ 0404h
不声明变量,它声明一个常量。汇编器简单地将所有常量替换为目标文件中的值。因此,
mov [myVariable], al
变成
mov [0404h], al
这是无效的。
您必须将值分配给寄存器,如下所示:
mov di,0404h
mov byte ptr [di],al
mov [myVariable], al
应该是足够的,甚至只是:
mov myVariable, al
但话又说回来 mov byte ptr [myVariable], al也应该起作用,这让我想知道“什么是'myVariable'”?