.macro EXIT_
        mov    r0, $0
        bl     exit
.endm

.macro GETCHAR
        stmfd  sp!, {r3, fp, lr}
        bl     getchar
        ldmfd  sp!, {r3, fp, pc}
.endm

.macro PUTCHAR
        stmfd  sp!, {r2, r3, r7, r8, r10, fp, lr}
        bl     putchar
        mov    r0, $0
        bl     fflush
        ldmfd  sp!, {r2, r3, r7, r8, r10, fp, pc}
.endm
