Pridana verze v0.1
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
; /*
|
||||
; * AsterOS Kernel
|
||||
; * Autor: Pavel Kalaš
|
||||
; * Rok: 2026
|
||||
; *
|
||||
; */
|
||||
|
||||
[org 0x7C00]
|
||||
[bits 16]
|
||||
|
||||
STAGE2_SECTORS equ 16
|
||||
STAGE2_LBA equ 1
|
||||
|
||||
start:
|
||||
cli
|
||||
xor ax, ax
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
mov ss, ax
|
||||
mov sp, 0x7C00
|
||||
sti
|
||||
|
||||
mov [boot_drive], dl
|
||||
|
||||
mov si, boot_msg
|
||||
call print_string
|
||||
|
||||
mov word [dap + 2], STAGE2_SECTORS
|
||||
mov word [dap + 4], 0x8000
|
||||
mov word [dap + 6], 0x0000
|
||||
mov dword [dap + 8], STAGE2_LBA
|
||||
mov dword [dap + 12], 0
|
||||
|
||||
mov si, dap
|
||||
mov ah, 0x42
|
||||
mov dl, [boot_drive]
|
||||
int 0x13
|
||||
jc disk_error
|
||||
|
||||
jmp 0x0000:0x8000
|
||||
|
||||
disk_error:
|
||||
mov si, disk_msg
|
||||
call print_string
|
||||
jmp $
|
||||
|
||||
print_string:
|
||||
lodsb
|
||||
test al, al
|
||||
jz .done
|
||||
mov ah, 0x0E
|
||||
mov bh, 0x00
|
||||
mov bl, 0x0F
|
||||
int 0x10
|
||||
jmp print_string
|
||||
.done:
|
||||
ret
|
||||
|
||||
boot_drive: db 0
|
||||
boot_msg: db "Aster Bootloader stage1", 13, 10, 0
|
||||
disk_msg: db "Disk read error", 13, 10, 0
|
||||
|
||||
align 8
|
||||
dap:
|
||||
db 0x10
|
||||
db 0
|
||||
dw 0
|
||||
dw 0
|
||||
dw 0
|
||||
dd 0
|
||||
dd 0
|
||||
|
||||
times 510 - ($ - $$) db 0
|
||||
dw 0xAA55
|
||||
Reference in New Issue
Block a user