retroforth/experimental/386.s
2018-01-30 17:25:44 +00:00

36 lines
628 B
ArmAsm

section .multiboot_header
header_start:
dd 0xe85250d6 ; magic number (multiboot 2)
dd 0 ; architecture 0 (protected mode i386)
dd header_end - header_start ; header length
; checksum
dd 0x100000000 - (0xe85250d6 + 0 + (header_end - header_start))
; insert optional multiboot tags here
; required end tag
dw 0 ; type
dw 0 ; flags
dd 8 ; size
header_end:
section .text
extern main
global _start
global putchar
global getchar
align 4
_start:
mov dword [0xb8000], 0x2f4b2f4f
jmp main
jmp $
align 4
putchar:
ret
align 4
getchar:
ret