Memory allocation: Difference between revisions

No edit summary
Line 3:
 
=={{header|360 Assembly}}==
Storage Requests Managed by "GETMAIN" Supervisor Call (SVC 4)
<lang 360 Assembly>
SVC4 CSECT
LA 1,PLIST Point Reg 1 to SVC4 Parameter List
LR 12,15
SVC 4 Issue GETMAIN SVC
USING SVC4,12
LTR 15,15 Register 15 = 0?
* Request to Get Storage Requests Managed by "GETMAIN" Supervisor Call (SVC 4)
BZ GOTSTG Yes: Got Storage
[...]LA 1,PLIST Point Reg 1 No: Handleto GETMAIN/FREEMAIN Failure Parm List
SVC 4 Issue GETMAIN SVC
LTR 15,15 Register 15 = 0?
BZ GOTSTG Yes: Got Storage
* [...] No: Handle GETMAIN Failure
GOTSTG L 2,STG@ Load Reg (any Reg) with Addr of Aquired Stg
* [...] Continue
* Request to Free Storage Managed by "FREEMAIN" Supervisor Call (SVC 5)
STG@ DS A Area to Receive Address of Acquired Storage
PLIST EQU * LA 1,PLIST Point Reg 1 to GETMAIN/FREEMAIN Parm List
DC A(256) Number of Bytes RequestedSVC 5 Issue FREEMAIN SVC
DCLTR 15,15 A(STG@) Addr ofRegister Area to Recv Addr of Acquired Stg15 = 0?
DCBZ X'0000'STGFRE (Unconditional Request; Subpool 0) Yes: Storage Freed
</lang> * [...] No: Handle FREEMAIN Failure
STGFRE EQU * Storage Freed
* [...] Continue
*
STG@ DS A Address of Stg Area (Aquired or to be Freed)
PLIST EQU * LA 1,PLIST Point10-Byte Reg 1 to SVC4GETMAIN/FREEMAIN Parameter List
DC A(256) Number of Bytes - Max 16777208 ((2**24)-8)
STG@ DS ADC A(STG@) AreaPointer to Receive Address of Acquired Storage Area
DC X'0000' (Unconditional Request; Subpool 0)
</lang>
 
=={{header|Ada}}==