collapseos/blk/812
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

11 lines
372 B
Plaintext

H@ ORG !
JMPs, L1 FWRs ( start )
L2 ( msg ) BSET ," Hello World!" 0 A,
L1 FSET ( start )
SI L2 @ ( msg ) MOVxi, AH 0x0e MOVri, ( print char )
L1 BSET ( loop ) LODSB, AL AL ORrr, ( end of str? )
JZ, L2 FWRs ( next ) 0x10 INT, ( print char )
JMPs, L1 ( loop ) BWR
L2 FSET ( next ) AH 0 MOVri, 0x16 INT, ( read kbd )
AH 0x0e MOVri, 0x10 INT, ( spit read char ) HLT, ( done )