私はemu8086、www.emu8086.comを使用しています-次のコードがあります:
data segment
five equ 5
VET db 5 dup (1,2,3,4,5)
w2 db 0
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax,data
mov ds, ax
mov es,ax
;sum
xor AX,AX
xor BX,BX
xor CX, CX
mov cl,five
mov si,0
sum:
add al,vet[si]
inc SI
dec cx
loop sum
mov w2,al
;end sum
ends
end start
問題は、CX が 0 に達すると、合計ループが停止し、合計の結果が w2 変数に保存されることです。
奇妙な理由で、これはプログラムで発生せず、永遠にループしています。
私のコードの問題は何ですか?誰かが私を助けてくれますか?