org 0x0 bits 16 %define NEWL 0x0d, 0x0a kernel_entry: mov si, msg_kernel call kern_puts jmp kernel_entry .halt: cli hlt ; prints shit ; params: ; ds:si - pointer to null terminated string kern_puts: ; save params push si push ax mov ah, 0x0e mov bh, 0 ; set page number to zero??? .loop: lodsb ; loads char to al or al, al ; is al null jz .done ; use BIOS to print char int 0x10 jmp .loop .done: pop ax pop si ret msg_kernel: db 'HELLOW FROM KERNEL', NEWL, 0