Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Register parameters

Code Block
languagenone
titleRST 20H, DEFW $C406$C006
IN:
      A7IX = evenmemory bankhandle needed (forfrom segment 0 allocationprevious OS_Mop)
	 B = bank
  A6 = fixed memoryH requested= (nopage subjectaddress tohigh swapping)byte (can be different than page used A5in =OS_Axm fromfor anya slotpartial release)
     A0-A1L = slot number ifof A5=0contiguous pages to be released (can be lower Hthan =amount pageallocated offset ($00-$3F)
      L = number of pages wanted (1 to 64)

OUT:  Fc = 0 if empty memory found at bank Bin OS_Axm for a partial release)
OUT:  Fc = 0, release successful
      Fc = 1, A = RC_Fail if bad arguments
	       Fc = 1, A = RC_RoomErr if notunrecoverable enougherror spaceoccurred in slot(s(fatal error)

Registers changed after return:
     ..BCDE..DE..L/IXIY same
     AFBCAF....H.HL/.... different

Notes

This call tells application in which bank the memory area requested is free for allocationprovides a release of a contiguous explicit memory area previously allocated. Partial release of allocated memory is possible. Refer to explicit memory allocation for further informations. This system call is only available in OZ release V4.6 and newer.

Related calls

OS_Axm, Allocate explicit memory
OS_
Axp, Allocate explicit page
OS_Bix, Bind in extended address 
OS_Box, Restore bindings after OS_Bix 
OS_Fc, Select fast code (fast bank switching) 
OS_Fma, Find memory for allocation 
OS_Fxm, Free explicit memory   allocation   
OS_Mal, Allocate memory
OS_Mcl, Close memory (free memory pool) 
OS_Mfr, Free (previously allocated block) memory 
OS_Mgb, Get current bank binding in segment 
OS_Mop, Open memory (allocate memory pool) 
OS_Mpb, Set new bank binding in segment
OZ_Mgb, Get current bank binding in segment
OZ_Mpb, Set new bank binding in segment