◀ 返回实验室目录

> 符号数冒泡排序算法

8086_ASM_MODULE
; 针对 8086 的有符号数冒泡排序 (Bubble Sort)
MOV CX, COUNT        ; 初始化外层循环次数
DEC CX               ; 循环 N-1 次

OUTER_LOOP:
    PUSH CX
    LEA SI, ARRAY    ; 指向数组首地址

INNER_LOOP:
    MOV AX, [SI]     ; 读取当前数
    CMP AX, [SI+2]   ; 与下一个数比较
    
    ; 有符号数比较的关键:使用 JL (若小于则跳转)
    JL  NEXT_STEP    ; 如果 AX < [SI+2],不交换
    
    ; 交换逻辑
    XCHG AX, [SI+2]
    MOV [SI], AX

NEXT_STEP:
    ADD SI, 2        ; 指向下一个字 (Word)
    LOOP INNER_LOOP

    POP CX
    LOOP OUTER_LOOP
        

测试环境: emu8086 | 硬件驱动: Acer Predator PHN16-71