|
|
|
@ -48,77 +48,23 @@ welcome:
|
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov ah, 06h; bottom bar, make background
|
|
|
|
|
mov cx, 0x1800
|
|
|
|
|
mov dx, 0x184F
|
|
|
|
|
mov bh, 30h
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov ah, 02h ;bottom bar setting the position and then write title $
|
|
|
|
|
mov bh, 0h
|
|
|
|
|
mov dh, 18h
|
|
|
|
|
mov dl, 20h
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
mov si, title
|
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov ah, 02h ;sets cursor to top to write
|
|
|
|
|
mov bh, 0h
|
|
|
|
|
mov dh, 2h
|
|
|
|
|
mov dl, 2h
|
|
|
|
|
mov dl, 1h
|
|
|
|
|
int 10h
|
|
|
|
|
|
|
|
|
|
mov si, wolf_wel_msg
|
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
; mov si, xpub
|
|
|
|
|
; call wolf_print
|
|
|
|
|
mov si, xpub
|
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
start:
|
|
|
|
|
mov ah, 0x00
|
|
|
|
|
int 0x16
|
|
|
|
|
cmp al, "0"
|
|
|
|
|
je load_it_all_0
|
|
|
|
|
cmp al, "1"
|
|
|
|
|
je load_it_all_1
|
|
|
|
|
jmp over
|
|
|
|
|
|
|
|
|
|
load_it_all_0:
|
|
|
|
|
|
|
|
|
|
mov si, wolf_kernel_load
|
|
|
|
|
call wolf_print
|
|
|
|
|
|
|
|
|
|
pushf
|
|
|
|
|
stc
|
|
|
|
|
|
|
|
|
|
mov ah,00
|
|
|
|
|
int 13h
|
|
|
|
|
|
|
|
|
|
.read_sector:
|
|
|
|
|
mov ax, 0x0
|
|
|
|
|
mov es, ax ; ES = 0
|
|
|
|
|
mov bx, 0x2000 ; BX = 0x1000. ES:BX=0x0:0x1000
|
|
|
|
|
; ES:BX = starting address to read sector(s) into
|
|
|
|
|
mov ah, 02 ; Int 13h/AH=2 = Read Sectors From Drive
|
|
|
|
|
mov al, 01 ; Sectors to read = 1
|
|
|
|
|
mov ch, 00 ; CH=Cylinder. Second sector of disk
|
|
|
|
|
; is at Cylinder 0 not 1
|
|
|
|
|
mov cl, 03 ; Sector to read = 2
|
|
|
|
|
mov dh, 00 ; Head to read = 0
|
|
|
|
|
; DL hasn't been destroyed by our bootloader code and still
|
|
|
|
|
; contains boot drive # passed to our bootloader by the BIOS
|
|
|
|
|
mov dl, [bootdev]
|
|
|
|
|
int 13h
|
|
|
|
|
|
|
|
|
|
jc wolf_error
|
|
|
|
|
popf
|
|
|
|
|
jmp 0x0:0x2000
|
|
|
|
|
cli
|
|
|
|
|
hlt
|
|
|
|
|
|
|
|
|
|
jmp load_it_all_1
|
|
|
|
|
|
|
|
|
|
load_it_all_1:
|
|
|
|
|
|
|
|
|
@ -184,7 +130,7 @@ wolf_wel_msg db 'Welcome to this publication..., press a key to ENTER',0x0D,0x0A
|
|
|
|
|
wolf_kernel_load db 'Loading program',0x0D,0x0A,0
|
|
|
|
|
wolf_error_msg db 'Program not found!',0x0D,0x0A,0
|
|
|
|
|
wolf_error_msg1 db 'Press any key to restart..',0
|
|
|
|
|
;xpub db 0x0D, 0x0A, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1, 0x20, 0xB1, 0xB1, 0xB1, 0x20, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1,0x20,0xB1,0xB1,0xB1, 0x20, 0x0D, 0x0A,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x20,0x20,0xB1, 0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20, 0xB1, 0x0D,0x0A,0x20,0x20,0x20,0xB1, 0x20,0x20,0x20,0xB1,0xB1, 0xB1,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0xB1,0xB1,0x20,0x0D,0x0A,0x20,0x20,0xB1,0x20,0xB1, 0x20,0x20,0xB1,0x20,0x20,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x0D,0x0A,0x20,0xB1, 0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0x20,0x20,0x20,0xB1,0xB1,0xB1,0x20,0x20,0xB1,0xB1,0xB1, 0x20, 0
|
|
|
|
|
xpub db 0x0D, 0x0A, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1, 0x20, 0xB1, 0xB1, 0xB1, 0x20, 0x20, 0xB1, 0x20, 0x20, 0x20, 0xB1,0x20,0xB1,0xB1,0xB1, 0x20, 0x0D, 0x0A,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x20,0x20,0xB1, 0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20, 0xB1, 0x0D,0x0A,0x20,0x20,0x20,0xB1, 0x20,0x20,0x20,0xB1,0xB1, 0xB1,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0xB1,0xB1,0x20,0x0D,0x0A,0x20,0x20,0xB1,0x20,0xB1, 0x20,0x20,0xB1,0x20,0x20,0x20,0x20,0xB1,0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0xB1,0x0D,0x0A,0x20,0xB1, 0x20,0x20,0x20,0xB1,0x20,0xB1,0x20,0x20,0x20,0x20,0x20,0xB1,0xB1,0xB1,0x20,0x20,0xB1,0xB1,0xB1, 0x20, 0
|
|
|
|
|
title db 'NOT MY DEFAULT',0
|
|
|
|
|
|
|
|
|
|
bootdev db 0x80 ; Boot device number
|
|
|
|
|