But anyway; as you can tell from the title, I cannot print things to screen.
Code: Select all
ORG 0x7C00
BITS 16
start:
; Null segment registers
xor ax, ax
mov ds, ax
mov es, ax
mov si, msg
call Print
cli
hlt
; Funtions ---------------------------------------------------------------
Print:
lodsb
cmp al, 0
je PrintDone
mov ah, 0x0E
int 0x10
jmp Print
PrintDone:
ret ; we are done, so return
; Functions ----------------------------------------------------------------
; Data -------------------------------------------------------------------
msg db "Welcome!", 0
; Data -------------------------------------------------------------------
times 510 - ($-$$) db 0
dw 0xAA55
Code: Select all
Booting from DVD/CD...
0MB medium found
Printing a single character is a hit-and-miss; If I comment out the
Code: Select all
xor ax, ax
mov ds, ax
mov es, ax
Code: Select all
xor bx, bx
mov ah, 0x0E
mov al, 'A'
int 0x10
mov ah, 0x0E
mov al, 'B'
int 0x10