Virgil Dupras
a72322df31
pcat: begin structuring around words
2020-06-14 14:15:44 -04:00
Virgil Dupras
1a467efae1
pcat: use a far jump to boot into the OS
...
Unless I misunderstood, this is supposed to set CS. This would make
all SREG have the same value. This allows us to remove BIN( offset
from os.bin.
I've tried booting to offset 0, but it didn't seem to work. Let's
settle for 0x8000. 512kb of system RAM is way more than we need
anyways.
2020-06-13 20:06:51 -04:00
Virgil Dupras
507c2c12e7
8086asm: clarify operands and fix stupidities
2020-06-13 17:58:42 -04:00
Virgil Dupras
5033f17be2
8086asm: tidy up a bit
2020-06-13 16:21:56 -04:00
Virgil Dupras
07e50313c7
pcat: separate MBR code and OS code
...
MBR code now strictly loads OS code into memory and jumps into it.
Now, I've got to consolidate my assembler code, modrm logic is
messed up.
2020-06-13 15:35:16 -04:00
Virgil Dupras
b037c86598
recipes/pcat: now tested on real hardware!
2020-06-13 11:47:32 -04:00
Virgil Dupras
66b27b0790
8086asm: properly initialize DS and DF
2020-06-12 19:07:23 -04:00
Virgil Dupras
4e18fafe46
8086asm: now enough tooling to assemble a PC/AT Hello World boot
2020-06-12 13:12:41 -04:00
Virgil Dupras
210b833c71
8086asm: begin adding MODRM-enabled ops
2020-06-12 12:07:48 -04:00
Virgil Dupras
749fdf1b18
8086asm: add 8-bit JMP, MOVrI, INT,
...
Verified against nasm with equivalent code.
2020-06-12 11:29:00 -04:00
Virgil Dupras
405444d630
8086asm: first steps
2020-06-12 10:49:27 -04:00