
.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
