// MDadefs.d -- definitions for assignment pass
// last edited July 21, 1980  12:42 PM


manifest [
	maxlBT = maxPageSize/16
	SubPageSize = 16
	pageGlobalMax = 1
]


structure Page:
[	used word	// number of words used
	global word	// # of globals
	IFUE word	// # of IFU entries
	slow word	// for rings, true if any bits set in BT, or global or IFUE non-zero
	BT↑0,maxlBT-1 word	// bit table for allocated words
]
manifest [ lPageHd = offset Page.BT/16 ]
manifest [ maxlPage = lPageHd + maxlBT ]

structure SubPage:
[	alists bit	// set if any +1 lists
	spn1 bit 7	// subpage # +1, or 0
	length byte	// # of instructions, must be low part of first word
	data↑0,maxPageSize-1 word	// addresses
]
manifest [ lSubPageHd = offset SubPage.data/16 ]

manifest [ lIbuf = maxPageSize+lSubPageHd*(maxPageSize/2)+1 ]	// Must have at least 2 instructions in a subpage, +1 for final 0