retroforth/experimental/fbsd.s

48 lines
460 B
ArmAsm
Raw Normal View History

bits 32
section .text
global putchar
global getchar
global _start
extern main
align 4
_start:
call main
jmp $
align 4
putchar:
mov eax, [esp+4]
mov [buf], eax
push dword 1
push dword buf
push dword 1
mov eax, 4
call kernel
add esp, 12
ret
align 4
getchar:
push dword 1
push dword buf
push dword 0
mov eax, 3
call kernel
add esp, 12
mov eax, 0
mov eax, [buf]
ret
align 4
kernel:
int 80h
ret
section .data
buf:
dd 0
dd 0
dd 0
dd 0