最佳答案
以前做的实验 可以参考下 有一个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