cpu 8086 self: equ 0xF000 diskbuf: equ (self-0x200) ; deblocking stack: equ (diskbuf) ; grows down defdrv: equ 4 org self jmp init pad 3 self_offset: db (self >> 8) banner: db "RDOS 2019-09", 0x0A, 0x0D, '$', 0 init: mov sp, stack mov byte [defdrv], 0x01 mov dx, banner call print_string call disk_parm_init mov dx, 0x7F mov byte [0x7F], 0x7F mov byte [0x80], 2 call read_buffer int3 cli .halt: hlt jmp .halt init_program: db "HELLO.COM", 0 ; helper function for idle loops idle: pushf sti hlt popf ret %include "syscall.asm" %include "con86.asm" %include "exec.asm" %include "fdc.asm" %include "fcb.asm" %include "fcbparse.asm" %include "disk.asm" %include "log2.asm" %include "dump.asm"