汇编语言实现排序

    科技2026-01-26  11

    ORG 0000H START: CLR 00H CLR C MOV R7, #09H MOV R0, #30H MOV A, @R0 ;(30H)->A LOOP: INC R0 ;R0 = 31H MOV R2, A ;(30H)->R2 暂存(30H) SUBB A, @R0 ;(30H)-(31H), if (30H)>=(31H) C=0; else C=1 MOV A, R2 ;(30H)->A JC NEXT ;(30H)>=(31H) 顺序; (30H)<(31H) 跳 SETB 00H ;进行了交换,00H置位 XCH A, @R0 ;(30H)->(31H), (31H)->A DEC R0 ;R0 = 30H XCH A, @R0 ;(31H)->(30H) INC R0 ;R0 = 31H NEXT: ;无需交换 MOV A, @R0 ;(31H)->A DJNZ R7,LOOP ;完成一次判断,继续下一次,共9次 JB 00H, START ;如果进行了交换,需要进行下一次排序;如果未进行交换,则排序结束 SJMP $ END
    Processed: 0.011, SQL: 9