2020-06-13 04:01:24 +10:00
|
|
|
H@ ORG ! 0x7c00 BIN( ! ( BIOS loads boot bin at 0x7c00 )
|
|
|
|
JMP8, L1 FWR8 ( start )
|
2020-06-14 01:47:32 +10:00
|
|
|
ORG @ 0x25 + HERE ! ( bypass BPB )
|
2020-06-13 04:01:24 +10:00
|
|
|
L2 BSET ( msg ) ," Hello, World!" 0 A,
|
|
|
|
L1 FSET ( start )
|
2020-06-14 01:47:32 +10:00
|
|
|
CLI, CLD, AX AX XORxx, DS AX MOVsx, STI,
|
2020-06-13 04:01:24 +10:00
|
|
|
AH 0 MOVri, AL 2 MOVri, ( 80x25 BW video mode ) 0x10 INT,
|
|
|
|
SI L2 @ ( msg ) MOVrI, AH 0x0e MOVri, ( print char )
|
|
|
|
L1 BSET ( loop ) LODSB, AL AL ORrr, ( end of str? )
|
|
|
|
JZ, L2 FWR8 ( next ) 0x10 INT, ( print char )
|
|
|
|
JMP8, L1 ( loop ) BWR
|
|
|
|
L2 FSET ( next ) AH 0 MOVri, 0x16 INT, ( read kbd )
|
|
|
|
AH 0x0e MOVri, 0x10 INT, ( spit read char ) HLT, ( done )
|
2020-06-14 01:47:32 +10:00
|
|
|
ORG @ 0x1fe + HERE ! 0x55 A, 0xaa A,
|