home *** CD-ROM | disk | FTP | other *** search
-
- DASupport Module
- ————————————————
-
- (version 0.04 16/01/98)
- Liam Gretton for Leicester University
- 16th January 1998
-
- This document describes the SWI calls provided by the DASupport module. It
- provides facilities to simplify the management of dynamic areas by external
- clients.
-
- The module’s SWI chunk base is &50540, which has been allocated by Acorn, and
- so shouldn’t clash with other modules out there.
-
- I can be contacted by e-mail at ljg@star.le.ac.uk, so if you find any
- problems with this module, please get in touch. The latest version can be
- obtained from http://xmm4.xra.le.ac.uk.
-
- The file 'SWIs' supplied is an Ovation Pro version of this text file.
-
-
- Changes
- ———————
-
- 0.04 - Added DASupport_Fill.
-
- 0.03 - Altered DASupport_Claim: added ability to fill a newly created area with
- a particular word.
-
-
-
- SWI Calls
- —————————
-
- DASupport_Claim
-
- Used to create a dynamic area.
-
- On entry
- R0 = size of area to create
- bit 31 set means fill the area with the word in R2
- R1 = pointer to ctrl-terminated name to use for area
- R2 = word to fill area with (if bit 31 of R0 set)
-
- On exit
- R0 = 0 if area created successfully
- 1 if area not created
- R1 = base address of area if R0 = 0.
- All other registers preserved.
-
- Use
- This SWI attempts to create a dynamic area of the specified size, giving it
- the name pointed to by R1. Currently DASupport can manage up to 500 dynamic
- areas. If an attempt is made to create more, the error 'DASupport cannot claim
- any more areas' will be reported.
-
- If bit 31 of R0 is set, the area is filled with the word given in R2.
-
-
-
- DASupport_Release
-
- Used to remove a dynamic area.
-
- On entry
- R1 = base address of area to remove (as returned from DASupport_Claim)
-
- On exit
- R0 = 0 if area removed successfully
- 1 if area not removed
- All other registers preserved.
-
- Use
- This SWI removes a dynamic area created with DASupport_Claim.
-
-
-
- DASupport_Fill
-
- Used to fill an existing area.
-
- On entry
- R1 = base address of area to fill (as returned from DASupport_Claim)
- R2 = value to fill area with
-
- On exit
- R0 = 0 if area filled successfully
- = 1 if area not filled
- All other registers preserved.
-
- Use
- This SWI fills one of DASupport's dynamic areas with the value passed in R2.
-
-