fernlader/boot16.S

39 lines
872 B
ArmAsm

// vim: et:sw=12:ts=12:sts=12
.global _start
.text
.code16
_start:
mov %cs, %ax
mov %ax, %ds
push $message
call print
add $2, %sp
1: hlt
jmp 1b
print: push %bp
mov %sp, %bp
push %bx
push %si
xor %bx, %bx
mov 4(%bp), %si
1: lodsb
or %al, %al
jz 2f
mov $0x0E, %ah
int $0x10
jmp 1b
2: pop %si
pop %bx
mov %bp, %sp
pop %bp
ret
message: .asciz "Hello, World!"