I have some problems... about making a bootloader. I'm a little bit unsure if this is a 32-bit assembly but if you see there it's 16-bit...
Here's my code: (fortr_foload.asm)
[ bits 16 ]
[ org 0x7c00 ]
bootstart:
xor ax,ax
mov bx,ax
mov cx,ax
mov dx,ax
mov es,ax
mov ax,0x8000
mov si,fortr_loadbOutp
call fortr_outpf
fortr_loadbOutp db 'booted!!!'
fortr_outpf:
mov ah,0x0E
%include "fortr_kernel.asm"
call fortrk_start
.repboot_fortr:
lodsb
cmp al,0
je .rebboot
int 0x10
jmp .repboot_fortr
.rebboot
ret
times (510 - ($ - $$)) db 0x00
DW 0xAA55
And here's the second: (fortr_kernel.asm)
[ bits 16 ]
fortrk_start:
xor ax,ax
mov bx,ax
mov cx,ax
mov dx,ax
mov bx,0x7000
mov si,fortr_outp
call fortr_printf
fortr_outp db 'Stage 2... Done!'
fortr_printf:
mov ah,0x0E
But, if I compile it using this code:
nasm -f bin -o "fortr_foload.asm" "fortrSt.iso"
And play it in QEMU it does not boot it'll just output a white cursor and well, nothing.
But if I remove the lines:
%include "fortr_kernel"
call fortrk_start
And I even tried to rearrange the lines but sadly, it won't even work :( It will boot successfully! How can I fix this? TYSM in advance! :D Oh! And by the way, I'm really REALLY NEW to assembly so please help me out :D!