|
|
@ -2,7 +2,7 @@
|
|
|
|
[org 0x7c00]
|
|
|
|
[org 0x7c00]
|
|
|
|
|
|
|
|
|
|
|
|
; Use the boot drive number passed to us by BIOS in register DL
|
|
|
|
; Use the boot drive number passed to us by BIOS in register DL
|
|
|
|
start:
|
|
|
|
welcome:
|
|
|
|
xor ax,ax ; We want a segment of 0 for DS for this question
|
|
|
|
xor ax,ax ; We want a segment of 0 for DS for this question
|
|
|
|
mov ds,ax ; Set AX to appropriate segment value for your situation
|
|
|
|
mov ds,ax ; Set AX to appropriate segment value for your situation
|
|
|
|
mov es,ax ; In this case we'll default to ES=DS
|
|
|
|
mov es,ax ; In this case we'll default to ES=DS
|
|
|
@ -13,6 +13,14 @@ start:
|
|
|
|
|
|
|
|
|
|
|
|
cld ; Set the direction flag to be positive direction
|
|
|
|
cld ; Set the direction flag to be positive direction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start:
|
|
|
|
|
|
|
|
mov ah, 0x00
|
|
|
|
|
|
|
|
int 0x16
|
|
|
|
|
|
|
|
cmp al, "0"
|
|
|
|
|
|
|
|
je load_it_all
|
|
|
|
|
|
|
|
jmp over
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
load_it_all:
|
|
|
|
mov si, wolf_wel_msg
|
|
|
|
mov si, wolf_wel_msg
|
|
|
|
call wolf_print
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
|
@ -66,6 +74,11 @@ start:
|
|
|
|
exit:
|
|
|
|
exit:
|
|
|
|
ret
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
over:
|
|
|
|
|
|
|
|
jmp start
|
|
|
|
|
|
|
|
|
|
|
|
; Moved the data before the boot signature but after the code
|
|
|
|
; Moved the data before the boot signature but after the code
|
|
|
|
wolf_wel_msg db 'Welcome to this publication...',0x0D,0x0A,0
|
|
|
|
wolf_wel_msg db 'Welcome to this publication...',0x0D,0x0A,0
|
|
|
|
wolf_kernel_load db 'Loading program',0x0D,0x0A,0
|
|
|
|
wolf_kernel_load db 'Loading program',0x0D,0x0A,0
|
|
|
|