home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oakland CPM Archive
/
oakcpm.iso
/
cpm
/
tdossigi
/
pd.mac
< prev
next >
Wrap
Text File
|
1986-07-05
|
1KB
|
90 lines
.request syslib
sfirst equ 17
snext equ 18
;
extrn bdos,print,crlf,cout,phldc
;
begin: lxi sp,stack
call print
db 0dh,0ah
db 'Current disk: (this may take a minute...)',0dh,0ah
db ' ',0
MVI C,25
CALL BDOS
MVI C,19
mov e,a
call 50h
lxi h,8
ani 0fh
dcr a
lp1: dad h
dcr a
jnz lp1
xchg
lxi h,0
lp2: dad d
dcr c
jnz lp2
call phldc
call print
db ' total dir entries, ',0
lxi d,5ch
push d
mvi a,'?'
mvi b,12
fill: stax d
inx d
dcr b
jnz fill
pop d
call wildex
call phldc
call print
db ' entries used.',0dh,0ah,0
rst 0
;
wildex: lxi h,0
shld count
mvi c,sfirst
call bdos
cpi 0ffh
rz ;nothing found -- error
call moven ;move name
wloop: mvi c,snext ;search for next
call bdos
cpi 0ffh
jz done ;finished
call moven
jmp wloop
;
done: ora a
lhld count
ret
;
moven: push psw
add a
add a
add a
add a
add a
adi 80h
mov l,a
mvi h,0
mov a,m
cpi 0e5h
jz nof
lhld count
inx h
shld count
nof: pop psw
lhld tot
inx h
shld tot
ret
;
count: dw 0
tot: dw 0
ds 100
stack equ $
end