53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
|
BREAK <Memory arena structure>
|
|||
|
|
|||
|
;
|
|||
|
; Revision History:
|
|||
|
;
|
|||
|
; M001 - added equates for UMB allocation
|
|||
|
; M002 - added equate for LINK/UNLINK state of UMBs
|
|||
|
; M026 - STRAT_MASK should be HF_MASK AND HO_MASK
|
|||
|
|
|||
|
;** Arena Header
|
|||
|
;
|
|||
|
|
|||
|
arena STRUC
|
|||
|
arena_signature DB ? ; 4D for valid item, 5A for last item
|
|||
|
arena_owner DW ? ; owner of arena item
|
|||
|
arena_size DW ? ; size in paragraphs of item
|
|||
|
arena_reserved DB 3 DUP(?) ; reserved
|
|||
|
arena_name DB 8 DUP(?) ; owner file name
|
|||
|
arena ENDS
|
|||
|
|
|||
|
;
|
|||
|
; CAUTION: The routines in ALLOC.ASM rely on the fact that arena_signature
|
|||
|
; and arena_owner_system are all equal to zero and are contained in DI. Change
|
|||
|
; them and change ALLOC.ASM.
|
|||
|
;
|
|||
|
; I think I have all of these covered via .errnz - JGL
|
|||
|
|
|||
|
|
|||
|
arena_owner_system EQU 0 ; free block indication
|
|||
|
|
|||
|
arena_signature_normal EQU 4Dh ; valid signature, not end of arena
|
|||
|
arena_signature_end EQU 5Ah ; valid signature, last block in arena
|
|||
|
|
|||
|
|
|||
|
FIRST_FIT EQU 00000000B
|
|||
|
BEST_FIT EQU 00000001B
|
|||
|
LAST_FIT EQU 00000010B
|
|||
|
|
|||
|
LOW_FIRST EQU 00000000B ; M001
|
|||
|
HIGH_FIRST EQU 10000000B ; M001
|
|||
|
HIGH_ONLY EQU 01000000B ; M001
|
|||
|
|
|||
|
LINKSTATE EQU 00000001B ; M002
|
|||
|
|
|||
|
HF_MASK EQU NOT HIGH_FIRST ; M001
|
|||
|
HO_MASK EQU NOT HIGH_ONLY ; M001
|
|||
|
|
|||
|
STRAT_MASK EQU HF_MASK AND HO_MASK ; M001;
|
|||
|
; M026: used to mask of bits
|
|||
|
; M026: 6 & 7 of AllocMethod
|
|||
|
|
|||
|
|
|||
|
|