операнд памяти не разрешен в контексте, проблема с размером массива при копировании переменной в массив - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь скопировать значение 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

1 Ответ

0 голосов
/ 08 октября 2018

movsx существует только в форме movsx reg, r/m с парой различных комбинаций для разных размеров, но без «обратной» формы.Таким образом, его нельзя использовать для прямой записи в память, хотя его можно использовать для чтения из памяти.

Таким образом, в общем контексте вы можете подписать расширение в регистр и затем сохранить это значение.

В этом случае вы можете использовать обычный mov с 16-битным немедленным.

...