.org 0xF000 mov sp,#STACK MOV SI,#DATA call INIT_INT_VECT_TABLE GNOME_SORT: CMP SI,#DATA+23 JZ GNOMED MOV AX,[SI] INC SI CMP AH,AL JAE GNOME_SORT SWAP: MOV BL,AL MOV AL,AH MOV AH,BL DEC SI MOV [SI],AX CMP SI,#DATA JZ GNOME_SORT DEC SI JMP GNOME_SORT GNOMED: MOV SI,#DATA PRINT_LOOP: MOV AL,[SI] call PRINT_0_8_HEX INC SI CMP SI,#DATA+24 JNZ PRINT_LOOP MOV AH,#0x02 MOV DL,#0x0a INT #0x21 hlt INCLUDE dos_layer.asm DATA: DB 0x51, 0x17, 0x37, 0x5d, 0x06, 0x3f, 0x51, 0x8b DB 0xa5, 0x33, 0x54, 0xdf, 0xae, 0xee, 0x3a, 0x18 DB 0xe9, 0xdb, 0x1f, 0x21, 0x44, 0x4f, 0x99, 0x09 .BLKB 200 STACK: INCLUDE helpers.asm .ORG 0xFFF0 MOV AX,#0xF000 JMP AX .ORG 0xFFFF DB 0x00 ;Make sure a full 64KiB image