早年做的实验 可能参考下 有一个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