]> git.sur5r.net Git - cc65/blob - libsrc/atari/close.s
This commit was generated by cvs2svn to compensate for changes in r2,
[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     popax
14         jsr     fdtoiocb_down           ; get iocb index into X and decr. usage count
15         bmi     inverr
16         bne     ok                      ; not last one -> don't close yet
17 ;       asl     a
18 ;       asl     a
19 ;       asl     a
20 ;       asl     a
21 ;       tax
22         lda     #CLOSE
23         sta     ICCOM,x
24         jsr     CIOV
25         bpl     ok
26         jmp     __do_oserror
27
28 ok:     ldx     #0
29         stx     __oserror               ; clear system specific error code
30         txa
31         rts
32
33 inverr: jmp     __inviocb
34
35 .endproc
36