我尝试了以下表格,masm不喜欢其中任何一种:
mov byte [myVariable], al
mov byte ptr [myVariable], al
mov [byte myVariable], al
我错过了什么?为什么我似乎不能使用间接寻址。
我从masm得到的错误是某些行上的'表达式中缺少运算符',其中一些表示“预期的结构字段”
答案 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'”?