home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
norge.freeshell.org (192.94.73.8)
/
192.94.73.8.tar
/
192.94.73.8
/
pub
/
computers
/
cpm
/
alphatronic
/
PASCALZ4.ZIP
/
D3
/
DSKFIL.SRC
< prev
next >
Wrap
Text File
|
1999-04-05
|
1KB
|
66 lines
;SUBROUTINES TO SELECT A DEVICE AND .DELETE A FILE
;
NAME DSKFIL
ENTRY .SELDSK,.DELETE,.POPHDB,.PUSHBD
INCLUDE DEFLT.SRC
;
;
;SELECT DISK TELLS CP/M TO USE THE DEVICE SPECIFIED BY THE DEVICE NAME
;ENTRY IN THE FILE DESCRIPTOR POINTED TO BY HL. REGISTERS A AND F ARE TRASHED.
.SELDSK CALL .PUSHBD ;SAVE ALL REGISTERS EXCEPT A
;SET DMA ADDRESS TO 80H FOR CP/M'S INTERNAL OPERATIONS.
PUSH H
LXI D,80H ; SYSTEM'S DMA AREA.
MVI C,26 ; CP/M CODE TO SET DMA ADDRESS.
CPM
POP H
LXI D,DEVNUM
DAD D ; ADDRESS OF DEVICE NUMBER NOW IN HL
MOV E,M
MVI C,14 ; CP/M CODE FOR SELECT DISK.
CPM
JMPR .POPHDB
;.DELETE REMOVES THE FILE (FROM THE DIRECTORY) WHICH IS SPECIFIED BY THE
;FILE DESCRIPTOR POINTED TO BY HL.
.DELETE CALL .PUSHBD ;SAVE ALL REGISTERS EXCEPT A
PUSH PSW
CALL .SELDSK ; SELECT THE PROPER DRIVE.
XCHG
MVI C,19 ; CP/M CODE FOR .DELETE FILE ENTRY
CPM
POP PSW
.POPHDB POP H
POP D
POP B
EXX
EXAF
POP PSW
EXAF
POP Y
POP X
POP H
POP D
POP B
RET
;
.PUSHBD EXX
POP D ;SAVE RETURN ADDRESS
EXX
PUSH B ;SAVE ALL REGISTERS EXCEPT A
PUSH D
PUSH H
PUSH X
PUSH Y
EXAF
PUSH PSW
EXAF
EXX
PUSH B
PUSH D
PUSH H
PUSH D ;RETURN ADDRESS
EXX
RET