move findfreeiocb function into its own object file

This commit is contained in:
Christian Groessler 2013-06-25 01:12:11 +02:00
parent c4c67b9205
commit 1bd902787b
3 changed files with 30 additions and 26 deletions

View File

@ -11,7 +11,6 @@
.import fdt_to_fdi
.export clriocb
.export fdtoiocb_down
.export findfreeiocb
.export fddecusage
.export newfd
@ -87,31 +86,6 @@ loop: sta ICHID,x
.endproc
; find a free iocb
; no entry parameters
; return ZF = 0/1 for not found/found
; index in X if found
; all registers destroyed
.proc findfreeiocb
ldx #0
ldy #$FF
loop: tya
cmp ICHID,x
beq found
txa
clc
adc #$10
tax
cmp #$80
bcc loop
inx ; return ZF cleared
found: rts
.endproc ; findfreeiocb
; decrements usage counter for fd
; if 0 reached, it's marked as unused
; get fd index in tmp2

View File

@ -0,0 +1,23 @@
; find a free iocb
; no entry parameters
; return ZF = 0/1 for not found/found
; index in X if found
; all registers destroyed
.proc findfreeiocb
ldx #0
ldy #$FF
loop: tya
cmp ICHID,x
beq found
txa
clc
adc #$10
tax
cmp #$80
bcc loop
inx ; return ZF cleared
found: rts
.endproc ; findfreeiocb

View File

@ -0,0 +1,7 @@
;
; Christian Groessler, June-2013
;
.include "atari.inc"
.export findfreeiocb
.include "findfreeiocb.inc"