; 针对 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