Я работаю над этой проблемой сборки, где я просматриваю каждый элемент в array1
и сохраняю индекс этого массива, где запись «F».Переместить значение регистра в массив
Я использую MASM для процессоров Intel x86. Assembly Language
INCLUDE Irvine32.inc
.data
array1 BYTE "FMMFMFMMFFMMFFFMFMFM",0
indexa1 BYTE SIZEOF array1 DUP(?)
ArraySize = ($ - array1)
.code
main PROC
mov esi,0 ; index
mov ecx,ArraySize
L1: cmp esi,ecx ; check to continue loop
jl L2 ; continue
jmp L5 ; exit
L2: cmp array1[esi], "F" ; Check if "F"
je L3 ; jump if "F"
jmp L4 ; jump to L4 if not "F"
L3:
mov indexa1[ah], esi ; store index number,---- ERROR ----
inc ah
jmp L4
L4: inc esi ; increment loop counter
jmp L1 ; jump to beginning
L5: movzx eax, ah
call DumpRegs
exit
main ENDP
END main
Зачем возникает ошибка при попытке сохранить индекс в indexa1? Ошибка говорит, должен быть индексный или базовый регистр
Можете ли вы указать, какой ассемблер вы используете (MASM, TASM, NASM ...) и что именно точно говорит об ошибке? – m0skit0
Несомненно! MASM для процессоров Intel x86. – coderkid