_fcharput:
MOV.L R2,R5 ; Set the value of R2 (file number) in R5.
MOV.L #PARM,R2 ; Set the address of the parameter block in R2.
MOV.L #IO_BUF,R4 ; Set the address of the output buffer in R4.
MOV.L R4,4h:5[R2] ; Set the value of R4 (output buffer) in R2 + 4 bytes.
MOV.B R1,[R4] ; Set the value of R1 (output character) in the
; location pointed to by R4 (output buffer).
MOV.B R5,1h:5[R2] ; Set the value of R5 in R2 + 1 bytes (file number).
MOV.L #01280000h,R1 ; Set the function code of FPUTC in R1.
MOV.L #SIM_IO,R3 ; Set the address of the system call in R3.
JSR R3 ; System call
NOP
MOV.L #PARM,R1 ; Set the address of the parameter block in R1.
MOV.B [R1],R1 ; Set the first byte of R1 (result of execution) in R1.
RTS ; Return to the address where the function was called.
.SECTION B,DATA,ALIGN=4
PARM: .BLKL 2 ; Parameter block area
.SECTION B_1,DATA
IO_BUF: .BLKL 1 ; Input/output buffer
|