IDEAL
MODEL small
STACK 100h
jumps
p186
DATASEG
array dw 312, 340, 311, 300
CODESEG
proc example
pusha
mov al ,4 ;number of elements in array
mov bl, 0 ;index
label1:
mov cx, [array + bx] ;here, every second element ch and cl are swapped
inc bl
cmp bl, al
jb label1
popa
ret
endp example
start:
mov ax, @data
mov ds, ax
call example
exit:
mov ax, 4c00h
int 21h
END start
Run Code Online (Sandbox Code Playgroud)
在我的汇编代码中,cx在第一次和第三次迭代中没问题,但在第二次和第四次迭代中由于某种原因cl并ch相互交换了它们的值。我真的对此不知所措,希望得到一些帮助,谢谢!