I wrote a small program . But it didn't work well. The bios interrupt seemed working but no char was printed
on the screen . The cursor moved but there was no char on the black screen.I have not found the reason , please .
Here is the code (short but all):
I wrote a small program . But it didn't work well. The bios interrupt seemed working but no char was printed
on the screen . The cursor moved but there was no char on the black screen.I have not found the reason , please .
Here is the code (short but all):
BOOTSEG equ 0x07c0
SYSSEG equ 0x1000
SYSLEN equ 17
beg:
jmp BOOTSEG:go
go:
mov ax , cs
mov ds , ax
mov es , ax
mov ss , ax
mov sp , 0x400
load_system:
mov ax , SYSSEG
mov es , ax
mov ax , 0x0200+SYSLEN
mov cx , 0x0002
mov dx , 0x0000
mov bx , 0x0000
int 0x13
jnc ok_load
mov ah , 0
int 0x13
jmp load_system
ok_load:
cli
mov ax , BOOTSEG
mov ds , ax
jmp SYSSEG:0
times 510-($-$$) db 0
dw 0xaa55
mov ax , cs
mov ds , ax
mov es , ax
mov ax , begtrack
mov ss , ax
mov sp , track
sti
mov ax , 0x1301
mov bx , 0x0004
mov cx , 15
mov dx , 0x0000
mov bp , showSomething
int 0x10
jmp $+2
re: jmp re
begtrack:
times 128 db 0
track:
times 200 dd 0
showSomething:
db 'In the kernel'
db 0x0d,0x0a