home *** CD-ROM | disk | FTP | other *** search
- OPENLIBRARY: EQU -408
- CLOSELIBRARY: EQU -414
- OPEN: EQU -30
- CLOSE: EQU -36
- LOCK: EQU -84
- UNLOCK: EQU -90
- EXAMINE: EQU -102
- EXNEXT: EQU -108
-
- MOVE.L $4.W,A6
- LEA.L DOSNAME(PC),A1
- JSR OPENLIBRARY(A6) ; Öppna dos.library
- MOVE.L D0,DOSBASE
- BEQ.L EXIT
- MOVE.L D0,A6
-
- MOVE.L #DIRNAME,D1
- MOVEQ #-2,D2 ; Läsmod
- JSR LOCK(A6) ; Hämta nyckel
- MOVE.L D0,DIRLOCK ; Spar nyckel
- BEQ.S CLOSEDOS
-
- MOVE.L D0,D1
- MOVE.L #INFO+2,D2
- JSR EXAMINE(A6) ; Hämta dirinfo
- TST.L D0
- BEQ.S DIREXIT
-
- LEA.L FILES(PC),A5
- GETDIR: SUBQ.W #1,NOFFILES ; Läst 50 objekt?
- BEQ.S DIREXIT
- MOVE.L DIRLOCK(PC),D1
- MOVE.L #INFO+2,D2
- JSR EXNEXT(A6) ; Nästa objekt
- TST.L D0 ; Sista objektet?
- BEQ.S DIREXIT
-
- MOVE.L #INFO+10,D1
- AND.W #$FFFC,D1 ; Fixa jämn address
- MOVE.L D1,A0
- MOVEQ #15,D7
- MOVENAME: MOVE.B (A0)+,(A5)+ ; Flytta namnet
- DBF D7,MOVENAME
-
- BRA.S GETDIR
-
- DIREXIT: MOVE.L DIRLOCK(PC),D1
- JSR UNLOCK(A6) ; Dir färdig
-
- CLOSEDOS: MOVE.L A6,A1
- MOVE.L $4.W,A6
- JSR CLOSELIBRARY(A6) ; Stäng dos.library
-
- EXIT: RTS
-
- DOSBASE: DC.L 0
- DOSNAME: DC.B 'dos.library',0
- EVEN
- DIRNAME: DC.B 'DF0:',0 ; Namn för läsning
- EVEN
- DIRLOCK: DC.L 0
- NOFFILES: DC.W 50 ; Antal filer
- INFO: BLK.B 262,0
- FILES: BLK.B 50*16,0