UP
(Added Dec 2017: “page table” should be replaced by “core table” in this branch so as not be be confused with the hardware feature called page table.)
To assemble initial item space code "PRELUDE" followed
by a collection of nodes, page table entries followed by
"POSTLUDE".
Assembling nodes
Assembling page table entries
The macro "lab PAGES n,file,FIRST=f" causes n pages to
be allocated and the corresponding core table entries to
be assembled. Data from the file "file MODULE" is loaded
into those pages. The labels of the page table entries are
lab0, lab1, ... If f is the label of a data key {presumably
a PSW within a domain root} and if the assembly that produced
the module file had a symbol after the END card, then the
value of that symbol will be placed in the data key.
The macro "lab CMSFILE n,fn,ft,fm" places all of the data
from the file "fn ft fm" in n pages core. The labels of
the page table entries are lab0, lab1, ...
See (inf) for tentative further ideas
here.
Assembling keys
The macro NKEY keytype,db,nodelabel assembles a key to
a node. "keytype" must be one of NODEKEY, ENTRYKEY, EXITKEY,
FETCHKEY, SEGMENTKEY or METERKEY. "db" is the data-byte.
"DK n" assembles DK(n).
PKEY coretableentrylabel[,DATABYTE=db] assembles a page key.
CRASHKEY assembles a key that crashes the kernel when invoked.
After the kernel has crashed, "1r]
;x;" will evoke
from kernel DDT the value of the order code given to the
crash key.
To use the primordial space bank, call
the macro "PRIMSB1". Then you can write a key to the bank
as: PSB1KEY. There is an additional space bank (PRIMSB2)
which may be used in place of PRIMSB1. It allocates pages
from the disk. See (diskio) and (extmigr).
The file GNOSIS ASSEMBLE has the standard configuration.
It uses ITEM MACLIB.
To run with disks assemble in the macro
EXTMIGR to include the external migrator in your system.
See (diskio) for how to format disks.