早年做的實驗 可能參考下 有一個10個位元組的有標記數組,編程實驗使該數組的元素按照從小到大年夜的次序陳列。
data segment ;定義數據段 data1 db 32h,02h,01h,04h,0f1h,0f2h,0ffh,0fdh,0fah,79h count equ $-data1 data ends code segment assume:ds:data,cs:code start: mov ax,data mov ds,ax mov si,offset data1 ;指向序列首地點 mov bx,si ;把序列首地點給bx mov dx,count-1 ;外輪回計數器 outside:mov cx,dx ;內輪回計數器 push si ;此輪回處理的第一個單位地點 mov al,[si] inside: inc si cmp al,[si] jl nexchg ;若低於,則處理下一個 xchg [si],al ;若高於,則交換比較的兩個單位 nexchg: loop inside ;實現外部輪回,持續 pop si mov [si],al inc si dec dx jnz outside ;未實現外部輪回,持續 code ends end start