Так что для моей проблемы мне нужно переместить значения из одного массива в другой, с выходным массивом, являющимся смещенным результатом,
, например:
input byte 1,2,3,4,5,6,7,8
shift dword 4 ; doesnt matter the value as long as its less than the length of input.
output byte LENGTHOF input DUP(?)
;so after I shift the array the result should be
5,6,7,8,1,2,3,4
Код, который я имею право теперь делает это в al oop, но я продолжаю получать A2032: invalid use of register
xor eax, eax ; clear EAX
xor ebx, ebx ; clear EBX
xor ecx, ecx ; clear ECX
xor edx, edx ; clear EDX
mov ecx, shift ; mov the Shift variable to ECX
M1:
neg ecx
mov al, input[LENGTHOF input + ecx]
mov edx[ebx], al ; this is the errored line
neg ecx
inc ebx
loop M1
Я не могу найти способ прямого смещения в регистре, чтобы EDX содержал окончательный массив. Любые советы приветствуются.