;
; int __fastcall__ write (int fd, const void* buf, unsigned count);
;
- .include "atari.inc"
- .import __rwsetup,__do_oserror,__inviocb,__oserror
- .export _write
+ .include "atari.inc"
+ .import __rwsetup,__do_oserror,__inviocb,__oserror
+ .export _write
_write:
- jsr __rwsetup ; do common setup
- beq write9 ; if size 0, it's a no-op
- cpx #$FF ; invalid iocb?
- beq _inviocb
- lda #PUTCHR
- sta ICCOM,x
- jsr CIOV
- bpl write9
- jmp __do_oserror ; update errno
+ jsr __rwsetup ; do common setup
+ beq write9 ; if size 0, it's a no-op
+ cpx #$FF ; invalid iocb?
+ beq _inviocb
+ lda #PUTCHR
+ sta ICCOM,x
+ jsr CIOV
+ bpl write9
+ jmp __do_oserror ; update errno
write9:
- lda ICBLL,x ; get buf len lo
- pha
- lda ICBLH,x ; buf len hi
- tax
- lda #0
- sta __oserror ; clear system dependend error code
- pla
- rts
+ lda ICBLL,x ; get buf len low
+ pha
+ lda ICBLH,x ; buf len high
+ tax
+ lda #0
+ sta __oserror ; clear system dependend error code
+ pla
+ rts
_inviocb:
- jmp __inviocb
+ jmp __inviocb