ibis-os/main.asm

52 lines
658 B
NASM
Raw Normal View History

2024-07-24 17:02:54 +00:00
; Bootloader
%include "boot.asm"
2024-07-24 15:41:52 +00:00
2024-07-24 17:16:51 +00:00
section KERNEL follows=BOOTSECTOR vstart=1000h
2024-07-25 15:53:07 +00:00
%macro mod 2
push ax
push cx
mov cx, %2
xor dx, dx
mov ax, %1
div cx
pop cx
pop ax
%endmacro
2024-07-24 15:41:52 +00:00
main:
2024-07-25 15:37:04 +00:00
mov ax, 0x0013
int 0x10
push es
push 0xa000
pop es
mov di, 0
mov bx, 0
2024-07-25 15:53:07 +00:00
.r:
add bx, 1
2024-07-25 15:37:04 +00:00
.f:
mov byte [es:di], bl
add di, 1
2024-07-25 15:53:07 +00:00
mod di, 320
cmp dx, 0
2024-07-25 15:37:04 +00:00
jnz .f
2024-07-25 15:53:07 +00:00
cmp bx, 200
jnz .r
2024-07-25 15:37:04 +00:00
pop es
2024-07-24 15:41:52 +00:00
jmp $ ; Halt
2024-07-24 17:02:54 +00:00
; Libs
2024-07-24 15:41:52 +00:00
%include "print_util.asm"
2024-07-25 15:37:04 +00:00
%include "time_util.asm"
2024-07-24 17:02:54 +00:00
; Data
HELLO_WORLD:
db 'Hello, world! :D', 0