|
DataMuseum.dkPresents historical artifacts from the history of: Jet Computer Jet80 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Jet Computer Jet80 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 1280 (0x500) Types: TextFile Names: »OPFILE.SRC«
└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80) └─ ⟦this⟧ »OPFILE.SRC«
;SUBROUTINES FOR OPENING FILES FOR OUTPUT AND INPUT ; NAME OPFILE ENTRY OPNOT,OPNIN EXT SELDSK,POPHDB,DERR,PUSHBD INCLUDE DEFLT.SRC ; ;OPNOT OPENS A FILE FOR OUTPUT. THE POINTER TO THE FILE DESCRIPTOR IS ;PASSED IN HL. ANY FILE WITH THE SAME NAME ALREADY IN THE DIRECTORY IS ;DELETED. OPNOT CALL PUSHBD ;SAVE ALL REGISTERS EXCEPT A PUSH PSW CALL SELDSK XCHG MVI C,22 ; CP/M CODE TO CREATE A FILE ENTRY. CALL CPM CPI 255 ; CHECK FOR DIRECTORY FULL ERROR. JZ DERR POP PSW POP H POP D POP B EXX EXAF POP PSW EXAF POP Y POP X POP H POP D POP B ; FALL THROUGH AND DO CODE FOR OPENING AN INPUT FILE. OPNIN CALL PUSHBD ;SAVE ALL REGISTERS EXCEPT A PUSH PSW PUSH H LXI D,BYTPT ; OFFSET INTO FILE DESCRIPTOR OF BYTE POINTER. DAD D MVI M,0FFH ; SET BYTE POINTER TO EMPTY. INX H ; HL NOW POINTS TO LSBYT MVI M,0FFH POP H ; RESTORE HL (IT NOW POINTS TO START OF FCB). CALL SELDSK ; SELECT PROPER DRIVE. XCHG MVI C,15 ; CP/M CODE FOR OPEN FILE. CALL CPM ADI 1 ; CARRY NOW SET IF ERROR OCCURRED. POP B MOV A,B ; RESTORE A WITHOUT AFFECTING THE FLAGS. JMP POPHDB ; «eof»