I've a problem with my small OS, I want to print a single character on the screen, one in the bootloader and one in the kernel,
with this code:
Code: Select all
mov al, "h"
mov ah, 0eh
mov bx, 0007h
int 10h
but the system doesn't crash, after the trial to print the character, it goes on with the rest of my kernel
And for example int 19h works without problems, that's what is confusing me
That's the code of my kernel:
Code: Select all
global start
start:
cli
mov ax, 1000h
mov ds, ax
mov es, ax
sti
mov al, "h"
mov ah, 0eh
mov bx, 0007h
int 10h
ende:
jmp ende
times 512-($-$$) db 0
Code: Select all
org 7c00h
cli
mov ax, 9000h
mov ss, ax
mov sp,0ffffh
sti
mov al, "h"
mov ah, 0eh
mov bx, 0007h
int 10h
call readbr
mov ax, 0x1000
mov es, ax
mov ds, ax
push ax
xor ax, ax
push ax
retf
readbr:
mov ah, 02h ;fest
mov al, 01h ;Anzahl
mov ch, 00h ;Spur
mov cl, 02h ;Sektor
mov dh, 00h ;Kopf
mov dl, 00h ;Laufwerksnummer
mov bx, 1000h
mov es, bx ;Segment
mov bx, 0000h ;Offset
int 13h
ret
times 510-($-$$) db 0
signatur dw 0aa55h