Fill in a table of jump vectors
=> r0 = address of a table to fill in (or 0)
r1 = size of table
<= (if r0 was 0 on entry) :
r1 = size needed for table
Use MAlloc_Vectors to fill in a vector table for faster access to the internal routines. To find out how much memory you need for the vector table, first call MAlloc_Vectors with r0=0, then allocate r1 bytes and finally call MAlloc_Vectors with r0 pointing the the allocated block.
The routines and offsets are:
0 MAlloc_Claim
4 MAlloc_Free
8 MAlloc_Resize
12 MAlloc_GetBlockSize
16 MAlloc_EnumerateBlocks
20... Reserved for future expansion
Suitable code for calling these routines is as follows, assuming r7 points to the vector table:
MOV R14,PC
LDR PC,[R7,#offset] ; where offset is as above
|
|
|