-1
這裏是我的代碼:x86的實模式:從一個陣列將數據移動到另一個
data segment
gio db 1,2,3,4,5,6
ricxvi db 1
jami db 0
x db ?
ends
stack segment
db 128 dup(0)
ends
code segment
start:
MOV AX,DATA
MOV DS,AX
mov cx, 6
lea si, gio
mov ah, 0
n1:
mov al, [si]
cmp ricxvi, 3
je n2
jmp n3
n2:
add jami, al
mov ricxvi, 1
jmp n4
n3:
add ricxvi, 1
push ax
n4:
add si, 1
add di, 1
loop n1
mov ricxvi, 1
mov ax, 0
mov cx, 6
lea si, gio
n5:
cmp ricxvi, 3
je n6
jmp n7
n6:
mov ricxvi, 1
add si, 1
loop n5
n7:
pop [si]
add si, 1
loop n5
mov ax, 4c00h
int 21h
ends
end start
我有一個名爲陣列和gio
我試圖扭轉這種陣列但保留每3TH元素上的立場。意思我想得到這樣的輸出,但是當我檢查變量時,在數組中我有5,4,2,1,B8
。我注意到,當程序第一次碰到pop [si]
整個數組的變化,探索變量顯示我的5, NULL, 3, 4, 5, 6
應該不是5,2,3,4,5,6
?我正在使用emu8086。問題可能聽起來很愚蠢,因爲我是新裝配。謝謝。
非常感謝你:) – Rasty