上下文中不允许使用内存操作数,将变量复制到数组时数组大小有问题



我正在尝试将al的值复制到数组(var(中,但它给了我错误:

"上下文中不允许使用内存操作数">

我不知道为什么它不起作用,我正在使用 movsx 将小尺寸复制到大尺寸。

.data
var word 1000h, 2000h, 3000h
.code
mov al, 60h ;mov 60h to al
movsx var, al ;mov value of al to var

movsx仅以形式存在,movsx reg, r/m具有不同大小的几种不同组合,但没有"反向"形式。因此,它不能用于直接写入内存,尽管它可用于从内存中读取。

因此,在一般上下文中,您可以对寄存器进行签名扩展,然后存储该值。

在这种情况下,您可以使用具有 16 位即时的普通mov

最新更新