我需要冒泡從最大的7個整數最小的一個無組織的陣列,它看起來像9,6,5,4,3,2,1。
我跑我的代碼經過編譯器和它說冒泡排序的彙編語言
我不明白這有什麼代碼的問題:你忘了輸入一個
code segment
assume ds:code,cs:code
start:
mov ax,code
mov ds,ax ;code start
ARR: dw 1,2,4,3,6,5,9
mov ch,0h
mov cl,1h
mov bh 7h
jmp assign_nums
restart:
mov ch,0h
mov cl,1h
dec bh
jmp assign_nums
swap:
mov ch,dl
mov cl,dh
jmp next
next:
cmp bh,cl
je restart
add ch,1h
add cl,1h
jmp assign_nums
assign_nums:
cmp bh,0h
je done
mov dh,[ARR+ch]
mov dl,[ARR+cl]
cmp dh,dl
jl swap
jnl next
done:
nop
code ends
end start
所以它的一堆意大利麪代碼?有沒有更好的方法來編碼?我不知道我在這裏用匯編代碼 – Puloko
來自user3144770的答案很好。我所做的唯一改變不是讓您選擇跳過ARRAY。僅將您的ARR放入.data段 '.DATA或.FARDATA DSEG' 'ARR:dw 1,2,4,3,6,5,9' – BKCOHEN