]> git.sur5r.net Git - cc65/blob - libsrc/atari/close.s
New module fileio-test.c
[cc65] / libsrc / atari / close.s
1 ;
2 ; Christian Groessler, May-2000
3 ;
4 ; int close(int fd);
5 ;
6
7         .include "atari.inc"
8         .export _close
9         .import __do_oserror,popax,__oserror
10         .import fdtoiocb_down,__inviocb
11
12 .proc   _close
13         jsr     fdtoiocb_down           ; get iocb index into X and decr. usage count
14         bmi     inverr
15         bne     ok                      ; not last one -> don't close yet
16 ;       asl     a
17 ;       asl     a
18 ;       asl     a
19 ;       asl     a
20 ;       tax
21         lda     #CLOSE
22         sta     ICCOM,x
23         jsr     CIOV
24         bmi     closerr
25 ok:     ldx     #0
26         stx     __oserror               ; clear system specific error code
27         txa
28         rts
29
30 inverr: jmp     __inviocb
31 closerr:jmp     __do_oserror
32
33 .endproc
34