diff options
Diffstat (limited to 'ex2.hex')
-rw-r--r-- | ex2.hex | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/ex2.hex b/ex2.hex deleted file mode 100644 index 6447b462..00000000 --- a/ex2.hex +++ /dev/null @@ -1,39 +0,0 @@ -# Test out the video mode by filling in the screen with pixels. -# -# To run, 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: -# cat baremetal/boot.hex baremetal/ex2.hex |bootstrap/bootstrap run hex > a.bin -# dd if=a.bin of=disk.img conv=notrunc -# To run: -# qemu-system-i386 disk.img -# Or: -# bochs -f baremetal/boot.bochsrc # boot.bochsrc loads disk.img - -# main: (address 0x9400) - -# ecx <- LFB -8b # copy *rm32 to r32 - 0d # 00/mod/indirect 001/r32/ecx 101/rm32/use-disp32 - 28 81 00 00 # disp32 [label] - -# eax <- LFB + 0xbffff (1024*768 - 1) -8d # copy-address rm32 to r32 - 81 # 10/mod/*+disp32 000/r32/eax 001/rm32/ecx - ff ff 0b 00 # disp32 - -# $loop: -# if (eax < ecx) break -39 # compare rm32 with r32 - c8 # 11/mod/direct 001/r32/ecx 000/rm32/eax -7c 05 # break if < [label] -# *eax <- al -88 # copy r8 to m8 at r32 - 00 # 00/mod/indirect 000/r8/AL 000/rm32/eax -48 # decrement eax -eb f7 # loop to -9 bytes [label] - -# $break: -e9 fb ff ff ff # hang indefinitely - -# vim:ft=subx |