Today I needed 16bit sorting routine... Feel free to use, if you need:
;Input BC = Number of words to sort (Min 2) LD BC,(DATAE-DATAS)/2 WBUBBLE: DI DEC BC INC B LD IYL,B LD IYH,C LD (.STORSP),SP .LOOPO LD IXL,1 LD B,IYH LD C,IYL LD SP,DATAS ; Data to be sorted out POP HL .LOOPI POP DE LD A,D ; Swap D & H to turn around CP H ; JR C,.SWAP LD A,E ; Swap E & L to turn around CP L ; JR C,.SWAP EX DE,HL DJNZ .LOOPI JP .CHECK .SWAP PUSH HL PUSH DE POP DE POP HL LD IXL,0 DJNZ .LOOPI .CHECK: DEC C JP NZ,.LOOPI LD A,IXL AND A JP Z,.LOOPO LD SP,0 .STORSP: EQU $-2 RET ; Example data: DATAS: DW 0,1,2,3,4,5,4,3,2,1,0 DATAE:
Aangemeld of registreer om reacties te plaatsen