ちょっと、配列(1,2,3,4,5,6,7,8,9,10)をループして要素を交換するプログラムを作成する必要があります'i'が4未満のとき 'i'要素が 'i'であるプログラムが終了すると、新しい配列の値は6,7,8,9,10,1,2,3,4,5アセンブリx86では、配列の値をループして置換する
と、今私はそれは、配列
.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword
WriteDec PROTO
Crlf PROTO
DumpRegs PROTO
.data
arrayB WORD 1,2,3,4,5,6,7,8,9,10
.code
main proc
mov eax,0
mov edi,OFFSET arrayB ; address of arrayB
mov ecx,LENGTHOF arrayB ; loop counter
mov ax,0 ; zero the accumulator
L1:
mov ax,[edi] ; mov current edi value from array into ax
xchg arrayB, ax ;change the current ax register with the value in arrayB
add edi,TYPE arrayB ; point to next integer
loop L1
call DumpRegs
call WriteDec
call crlf
invoke ExitProcess,0
main endp
end main
をループしている。しかしImはループが4の下にあるときに言っa)は、実際に問題が発生したと、b)正確な値を置き換えます。すべてのヘルプはいただければ幸いです
編集:私は、私は
あなたの質問に新しい答えがあります。 –