Hi all
I'am not to sure if this is a bug or not
format binary
org 0x0000
use16
;;; Set default screen mode [effect clear screen]
mov ah,0
mov al,3
int 0x10
mov ax,0x1000
cli
mov ds,ax
mov es,ax
sti
call DrawScreen
jmp $
DrawScreen: ;;; Display loader title
mov ah,2
xor bh,bh
mov dh,0
mov dl,3
int 0x10
mov di,TitleBar
call DisplayString
ret
DisplayString: ;;; Enter with SI ptr to string to display
mov al,[si] ;;; POSSIBLE PROBLEM
mov ah,0x0a
xor bx,bx
mov cx,1
int 0x10
ExitDisplayString: ret
TitleBar: db 'OS 1 [Build 0001] loader',0x00
Now if I put a value directly in the al register it prints, but if not it displays
nothing. The code I have used is pretty much the same as used for
my boot sector. The loader is loaded at [0x1000:0000] and then a jump
made to that location. I just seems a bit wierd that a value used direct works but not if I use a ptr. I have tried other bios routines but with
the same effect!
Any help would be appreciated.
