home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 1
/
CDPD_Vol1.bin
/
pd
/
551-575
/
575
/
pplib
/
example.asm
< prev
next >
Wrap
Assembly Source File
|
1992-06-23
|
2KB
|
82 lines
**********************************
* *
* powerpacker.library V35 *
* *
* Release 1.3 *
* *
* (c) 1991 Nico François *
* *
* example.asm *
* *
* This source is public domain *
* in all respects. *
* *
**********************************
SECTION "PPexample",CODE
include "exec/types.i"
include "exec/funcdef.i"
include "exec/exec_lib.i"
include "libraries/ppbase.i"
include "libraries/powerpacker_lib.i"
Start:
move.l ($4).w,a6
lea PPName,a1
moveq #0,d0
jsr _LVOOpenLibrary(a6) ; open powerpacker.library
tst.l d0
beq.s EndIt ; quit if not available
move.l d0,_PPBase ; store in _PPBase
move.l d0,a6
lea filename,a0
moveq #DECR_POINTER,d0
moveq #0,d1
lea buffer,a1
lea length,a2
move.l #0,a3
jsr _LVOppLoadData(a6) ; try to load file 'testfile'
tst.l d0
beq.s loadok ; if zero everything went ok
* ... ; check error code in D0 and react
bra.s nofree
loadok:
* ... ; file was loaded, so use it
freemem:
move.l ($4).w,a6
move.l buffer,a1
move.l length,d0
jsr _LVOFreeMem(a6) ; free memory allocated by ppLoadData
nofree:
move.l ($4).w,a6
move.l _PPBase,a1
jsr _LVOCloseLibrary(a6) ; close powerpacker.library
EndIt:
rts
SECTION "data",DATA
* library base
_PPBase: dc.l 0
* strings
filename: dc.b "testfile",0
PPName: PPNAME
cnop 0,2 ; word-align
* buffer position/length
buffer: dc.l 0
length: dc.l 0
END