我正在解决这个组装问题,我正在循环遍历每个元素array1
并存储该数组的索引,其中条目为“F”。
我将 MASM 用于 x86 英特尔处理器。汇编语言
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 中时会出错?错误说,必须是索引或基址寄存器