...
Code Block | ||
---|---|---|
| ||
IN: A = 0, always (see notes below) BC = requested size of reserved memory in bytes (2 to 16384) IX = memory handle (returned from OS_Mop) OUT, if call successful: Fc = 0 HL = address of memory allocated (H14 & H15 are memory mask) B = bank number of allocated memory C = segment specifier implied by HL (H14 & H15) OUT, if call failed: Fc = 1 A = error code: RC_HAND ($08), IX is not a valid memory handle RC_ROOM ($07), no room to allocate block in MEMORY POOL RC_ERR ($0F), if BC > 256 bytes, fatal error Registers changed after return: ....DE../IXIY same AFBC..HL/.... different |
Notes
Block allocation (more than one or 256 bytes) is implemented since OZ 4.7. Up to one bank can be requested (16384 bytes).
If such a large block is requested (more than 256 bytes), MM MM_MUL has to be specified in OS_Mop.
...