home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 1B
/
DATAFILE_PDCD1B.iso
/
_pocketbk
/
pocketbook
/
004
/
oplexamp_z
/
FSIZE.OPL
< prev
next >
Wrap
Text File
|
1993-06-29
|
628b
|
29 lines
PROC fsize&:(f$)
LOCAL pinfo$(16),ppinfo%,fname$(20),err%,ret&
LOCAL ax%,bx%,cx%,dx%,si%,di% /* variables MUST be in this order */
ppinfo% = ADDR(pinfo$) + 1 /* pinfo$ is P_INFO struct */
fname$ = f$ + CHR$(0) /* name must be zero-terminated */
ax% = $0800 /* $08 is subfunction number */
bx% = ADDR(fname$) + 1
cx% = ppinfo%
dx% = $00
di% = $00
si% = $00
err% = OS($87,ADDR(ax%)) /* $87 is FilStatusGet interrupt */
IF (err% AND 1)
ret& = (ax% AND $FF) - 256
ELSE
POKEB ADDR(pinfo$),16
ret& = PEEKL(ADDR(pinfo$) + 5)
ENDIF
RETURN ret&
ENDP