diff options
Diffstat (limited to 'baremetal')
-rw-r--r-- | baremetal/ex1.subx | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/baremetal/ex1.subx b/baremetal/ex1.subx new file mode 100644 index 00000000..196b4104 --- /dev/null +++ b/baremetal/ex1.subx @@ -0,0 +1,23 @@ +# The simplest possible program: just an infinite loop. +# All is well if your computer clears screen and hangs without restarting. +# On an emulator the window may get bigger to accomodate the higher-resolution +# graphics mode. +# +# To convert to a disk image, first prepare a realistically sized disk image: +# dd if=/dev/zero of=disk.img count=20160 # 512-byte sectors, so 10MB +# Load the program on the disk image: +# ./translate_subx_baremetal baremetal/ex1.subx # emits a.bin +# apps/hex < baremetal/boot.hex > boot.bin +# cat boot.bin a.bin > disk.bin +# dd if=disk.bin of=disk.img conv=notrunc +# To run: +# qemu-system-i386 disk.img +# Or: +# bochs -f baremetal/boot.bochsrc # boot.bochsrc loads disk.img + +== code + +$loop: +e9/jump $loop/disp32 + +# vim:ft=subx |