请大家帮忙解决一个汇编语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 01:48:16
1、请用冒泡方法对以BUFFER变量中存放的10个字节的数据进行排序。可在大数向上冒和向下沉中任选一种。变量定义如下
BUFFER DB 9,11,2,7,21,13,2,0,14,3

; 冒泡法排序
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 定义常量
Yes EQU 1
No EQU 0
On EQU 1
Off EQU 0
; -----------------------------------------
; 定义结构类型
Bubb_Para Struc ; 冒泡排序法参数表
Carry DB No ; 是否带符号。Yes:有符号数;No:无符号数
Sort DB No ; 升序/降序。Yes:升序;No:降序
Yes_No DB 73h,76h,7dh,7eh
Load DB 0ach,0adh
Comp DB 3ah,3bh
Exchange DB 86h,87h
Store DB 0aah,0abh
Bubb_Para EndS
; -----------------------------------------
; 功能:按要求对数组元素排序,能够对字节元素、字元素进行无符号数、有符号数的升序、降序排序。
; 子程序原型:对字节元素进行无符号升序排序。
Bubbling Proc Near
PUSH AX
PUSH BX
PUSH CX
PUSH SI
PUSH DI
; ------------------根据排序参数,修改排序指令
LEA SI,Parameters
LEA DI,@@Compare
MOV AL,TYPE BUFFER
DEC AL
PUSH AX
LEA BX,[SI.Load]
XLAT
MOV [DI][2],AL