DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B C i

⟦215b13036⟧ CRfs1, ileave2,6

    Length: 256256 (0x3e900)
    Types: CRfs1, ileave2,6
    Notes: Cr80S1Fs

Derivation

└─⟦6abde1b18⟧ Bits:30005159 8" CR80 Floppy CR80FD_0148 ( CR/D/2513 Boot vol 0 BOOT )
    └─⟦this⟧ 

Namespace

name artifact - - - - - - - - - - - -
0x0000 0x0000 0x0000 0x0000 0x0000 0x0064 0x0000 0x0000 0x0001 0x0210 0x0000 0x0064 BOOT ⟦05cd1fd9d⟧

Disk picture

  Unclaimed
  ?

OctetView

0x00000…00080 UnusedSector ┆d     d             ░░░░░░░░      @ rt =        d           d   i S   d ~ H H i S   d     Y O \   a             B O O T       E ┆
0x00080…00100 UnusedSector ┆                                                                             ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░┆
0x00100…00180 UnusedSector ┆░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░    ┆
0x00180…001c0 DirEnt {filename=»«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x001c0…001e0 04 69 04 53 00 00 04 64 03 7e 04 48 04 48 04 69 04 53 00 00 04 64 00 00 00 00 03 59 04 4f 04 5c   ┆ i S   d ~ H H i S   d     Y O \┆
0x001e0…00200 00 01 04 61 00 00 00 01 00 04 00 20 00 00 00 01 00 49 00 4e 00 49 00 54 00 20 00 20 00 20 05 45   ┆   a             I N I T       E┆
0x00200…00280 UnusedSector ┆   ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░    ┆
0x00280…00300 UnusedSector ┆ ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░┆
0x00300…00380 UnusedSector ┆     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░                                                  ┆
0x00380…00400 UnusedSector ┆                                                                                                                                ┆
0x00400…00440 DirEnt {filename=»░░«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x00440…00480 DirEnt {filename=»░░S«, kind=0x0464, de04=0x037e, de05=0x0448, de06=0x0448, de07=0x0469, cluster=0x0453, de09=0x0000, de0a=0x0464, de0b=0x0000, nsect=0x0000, de0d=0x0359, cluster2=0x044f, de0f=0x045c, de10=0x0001, de11=0x0461, de12=0x0000, de13=0x0001, de14=0x0004, de15=0x0020, de16=0x0000, de17=0x0001, de18=0x0049, de19=0x004e, de1a=0x0049, de1b=0x0054, de1c=0x0020, de1d=0x0020, de1e=0x0020, de1f=0x0545}
0x00480…004c0 DirEnt {filename=»░░«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x004c0…00500 DirEnt {filename=»░░S«, kind=0x0464, de04=0x037e, de05=0x0448, de06=0x0448, de07=0x0469, cluster=0x0453, de09=0x0000, de0a=0x0464, de0b=0x0000, nsect=0x0000, de0d=0x0359, cluster2=0x044f, de0f=0x045c, de10=0x0001, de11=0x0461, de12=0x0000, de13=0x0001, de14=0x0004, de15=0x0020, de16=0x0000, de17=0x0001, de18=0x0049, de19=0x004e, de1a=0x0049, de1b=0x0054, de1c=0x0020, de1d=0x0020, de1e=0x0020, de1f=0x0545}
0x00500…00540 DirEnt {filename=»░░«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x00540…00580 DirEnt {filename=»░░S«, kind=0x0464, de04=0x037e, de05=0x0448, de06=0x0448, de07=0x0469, cluster=0x0453, de09=0x0000, de0a=0x0464, de0b=0x0000, nsect=0x0000, de0d=0x0359, cluster2=0x044f, de0f=0x045c, de10=0x0001, de11=0x0461, de12=0x0000, de13=0x0001, de14=0x0004, de15=0x0020, de16=0x0000, de17=0x0001, de18=0x0049, de19=0x004e, de1a=0x0049, de1b=0x0054, de1c=0x0020, de1d=0x0020, de1e=0x0020, de1f=0x0545}
0x00580…005c0 DirEnt {filename=»░░«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x005c0…00600 DirEnt {filename=»░░S«, kind=0x0464, de04=0x037e, de05=0x0448, de06=0x0448, de07=0x0469, cluster=0x0453, de09=0x0000, de0a=0x0464, de0b=0x0000, nsect=0x0000, de0d=0x0359, cluster2=0x044f, de0f=0x045c, de10=0x0001, de11=0x0461, de12=0x0000, de13=0x0001, de14=0x0004, de15=0x0020, de16=0x0000, de17=0x0001, de18=0x0049, de19=0x004e, de1a=0x0049, de1b=0x0054, de1c=0x0020, de1d=0x0020, de1e=0x0020, de1f=0x0545}
0x00600…00640 DirEnt {filename=»░░«, kind=0x0600, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0005, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0004, de0d=0x0000, cluster2=0x0005, de0f=0x0009, de10=0xffff, de11=0xffff, de12=0xffff, de13=0xffff, de14=0xffff, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x0000, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x00640…00680 DirEnt {filename=»BOOT«, kind=0x0000, de04=0x0000, de05=0x0000, de06=0x0000, de07=0x0000, cluster=0x0064, de09=0x0000, de0a=0x0000, de0b=0x0001, nsect=0x0210, de0d=0x0000, cluster2=0x0064, de0f=0x000e, de10=0x040a, de11=0x0806, de12=0x0c02, de13=0x0f18, de14=0x1314, de15=0xffff, de16=0xffff, de17=0xffff, de18=0xffff, de19=0x0000, de1a=0x0000, de1b=0x0000, de1c=0x002d, de1d=0x0000, de1e=0x0000, de1f=0x0000}
0x00680…00700 DataSector[»BOOT«]
         […0x210…]
0x10f00…10f80 UnusedSector ┆N I T =     ,   S U B U N I T =     ,   A D D R =       S Y S D U A L _ D E V :   U N I T =     ,   A D D R =       S Y S T E M ┆
0x10f80…11000 UnusedSector ┆_ D I R :   @     A L T F S N :             L O C A L   P R I N T E R     N O   L O C A L   P R I N T E R     O P E N           ┆
0x11000…11080 UnusedSector ┆T R Y   A G A I N                     T T Y 0 0 0 F D 0 1 F I L S Y S F I L E F D S Y S M D D O   C O N F I G                 W ┆
0x11080…11100 UnusedSector ┆e l c o m e   t o   T O S             T T Y 0 0 0 F D 0 1 F I L S Y S F I L E F D S Y S M D D O   C O N F I G                 W ┆
0x11100…11180 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0xc…]
0x11780…11800 UnusedSector ┆  HEAD                 ░ H     \   ░P3   ░     ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░     ░     ░     ░  ┆
0x11800…11880 UnusedSector ┆   ░P3.1 ░     ░     ░     ░     ░KAP1 ░     ░     ░     ░     ░  KA ░     ░     ░     ░     ░     ░P4   ░     ░     ░     ░    ┆
0x11880…11900 UnusedSector ┆ ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░.2   ░     ░     ░     ░P3.1 ░.1.3 ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░┆
0x11900…11980 UnusedSector ┆  KA ░.1.1 ░.5   ░     ░     ░     ░P3.1 ░.1.6 ░     ░     ░     ░KAP3 ░.1.2 ░                    KAP3.1.1.2.1                  ┆
0x11980…11a00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x11a80…11b00 UnusedSector ┆:sp 4 :ne 10 :ti -10 :ul :hl +12 3.1.1.2.2~D file :sp 2 The D file is a concatenation of the contiguous and random files of the ┆
0x11b00…11b80 UnusedSector ┆volume. The files are allocated contiguously in the D file. When a file is removed from the tape, the space occupied is left as ┆
0x11b80…11c00 UnusedSector ┆garbage. :sp :nf   D file:       -------------------------------------------------------      I data file 1 I  data file 2  I ga┆
0x11c00…11c80 UnusedSector ┆rbage I data file 3 I      ------------------------------------------------------- :fi      OC_MODE:        INTEGER;        OC_S┆
0x11c80…11d00 UnusedSector ┆ETUP:       INTEGER;        OC_LINE_WIDTH:  INTEGER;        OS_MODE:        OS_MODE_TYPE;        FILSYSL:        FILSYS_LIST;   ┆
0x11d00…11d80 UnusedSector ┆     ALTFILSYSNO:    FILSYS_INDEX;        SYSTEM_DEV:     DEVICE_DESCRIPTION;        SYSTEM_VOL:     VOLUME_NAME;        SYSTEM_┆
0x11d80…11e00 UnusedSector ┆DIR:     FILE_NAME;        LOCAL_PRINTER:  BOOLEAN;        TOS_VERSION:    INTEGER;        NEWS:           NEWS_TYPE    END;  Z ┆
0x11e00…11e80 UnusedSector ┆ASSIGNED, ASSIGNED, MOUNTED, RESERVED);    TYPE TERMINAL_IO_MODE = (TIDLE, TIN, TOUT);  TYPE PROCESS_HEADER = RECORD        SIZE┆
0x11e80…11f00 UnusedSector ┆                 :  INTEGER;        PROC_NAME            :  PACKED_NAME3;        CPU_NAME             :  PACKED_NAME3;        PR┆
0x11f00…11f80 UnusedSector ┆IO, CAPAB, CLAIM, EXECSIZE:  INTEGER;        IO_PARS              :  ARRAY [1..4] OF INTEGER;        MSGS                 :  INT┆
0x11f80…12000 UnusedSector ┆EGER;        DUMMY                :  ARRAY [0..6] OF INTEGER;        LEVEL, BOUND         :  INTEGER    END;  TYPE PROGRAM_NAME ┆
0x12000…12080 UnusedSector ┆= PROCESS_NAME;  TYPE LOAD_RESULT = INTEGER;  TYPE MEMORY_TYPE = (FORPROGRAM, FORDATA);  TYPE PRINTERSTATETYPE = (PRINTERIDLE, P┆
0x12080…12100 UnusedSector ┆RINTERQUEUED, PRINTERACTIVE);  TYPE PRINTFILEREC = RECORD        PRINTERSTATE         :  PRINTERSTATETYPE;        PRINTERNAME   ┆
0x12100…12180 UnusedSector ┆       :  PROCESS_NAME;        RESERVED             :  BOOLEAN;        SEMA                 :  FILE;        RESERVER            ┆
0x12180…12200 UnusedSector ┆ :  INTEGER    END;  TYPE RQ_ANSWER = (RQ_OK, RQ_INV_REQUEST, RQ_INV_PROC, RQ_INV_PROC_STATE,                RQ_INV_FSN, RQ_FAIL┆
0x12200…12280 UnusedSector ┆_TASK, RQ_LOAD_ERROR, RQ_Q_OFFER);  TYPE SERVICE_REQUEST = (STARTTASK, STOPTASK, REMOVETASK, LOGOFF,            LOADTASK_1, LOAD┆
0x12280…12300 UnusedSector ┆TASK_2, INITTASK, RESERVEPRINT, RELEASEPRINT,            STARTPRINT, QTASK);  TYPE SERVICE_REQUEST_MESSAGE = RECORD        CASE ┆
0x12300…12380 UnusedSector ┆RQTYPE          :SERVICE_REQUEST OF            STARTTASK, STOPTASK, REMOVETASK, LOADTASK_1, INITTASK:                    (PNAME ┆
0x12380…12400 UnusedSector ┆  KAP3.1.1.2.2        Z Z Z Z Z   KAP3.1.1.3          Z Z Z Z Z   KAP3.1.2            Z Z Z Z Z   PSP.T               Z Z Z Z Z ┆
0x12400…12480 UnusedSector ┆  .J                  Z Z Z Z Z   PSP.P               Z Z Z Z Z   PSP.M.T             Z Z Z Z Z   e                   Z Z Z Z Z ┆
0x12480…12500 UnusedSector ┆  Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x12580…12600 UnusedSector ┆TYPE    MINAL_INDEX = 0..TERMINAL_LIMIT; TYPE PROCESS_INDEX  = 0..PROCESS_LIMIT; TYPE PROGRAM_INDEX  = 0..PROGRAM_LIMIT; TYPE FI┆
0x12600…12680 UnusedSector ┆LSYS_INDEX   = 0..FILSYS_LIMIT; TYPE DEVICE_INDEX   = 0..DEVICE_LIMIT; TYPE LOAD_Q_INDEX   = 0..LOAD_Q_LIMIT;  CONST  ECHO_MODE ┆
0x12680…12700 UnusedSector ┆ =  0; CONST  VDU_MODE   =  1; CONST  WAIT_MODE  =  2; CONST  ITT_MODE   =  3; CONST  FF_MODE    =  4;  CONST IBUFLGT = 80;   TY┆
0x12700…12780 UnusedSector ┆PE OS_MODE_TYPE = (SLAVE, MASTER, DUAL);  TYPE IBUF_TYPE = ARRAY [1..IBUFLGT] OF INTEGER;  TYPE NEWS_TYPE = RECORD        BYTE_C┆
0x12780…12800 UnusedSector ┆:sp 4 :ne 10 :ti -10 :ul :hl +9 3.1.1.3~~~Tape Cache :sp 2 When a volume is mounted by the MTFMS, the system files are read and ┆
0x12800…12880 UnusedSector ┆stored on disk in a form suitable for updates. :sp When the volume is updated or dismounted, the system files are written back o┆
0x12880…12900 UnusedSector ┆nto the tape, if any change has been made to the tape. :sp 2 The HB is cached in a temporary file (T_HB) :br The BFD is cached i┆
0x12900…12980 UnusedSector ┆n a temporary file (T_BFD) :br The BM is of no use and is not cached :br The BAD file is not used and is not cached :br The dire┆
0x12980…12a00 UnusedSector ┆ctories are cached in a temporary file (T_D) :sp T_HB is a simple copy of HB :br T_BFD is a simple copy of BFD :br T_D is a copy┆
0x12a00…12a80 UnusedSector ┆ of the directories. The SFDEs are organized in double linked lists - one for each directory and one for the free SFDEs - in ord┆
0x12a80…12b00 UnusedSector ┆er to allow effective insertion and deletion of files.  ADDR, MODE, LINEWIDTH, TIMEOUT: INTEGER    END;  TYPE DEVICE_STATE = (DE┆
0x12b00…12b80 UnusedSector ┆_Q_INDEX;        Q                    :  ARRAY [ TERMINAL_INDEX ] OF LOAD_Q_ELEM_TYPE    END;  TYPE TERMINALLIST=  ARRAY [TERMIN┆
0x12b80…12c00 UnusedSector ┆AL_INDEX] OF TERMINL; TYPE PROCESSLIST=   ARRAY [PROCESS_INDEX]  OF PROC; TYPE PROGRAMLIST=   ARRAY [PROGRAM_INDEX]  OF PROGR; T┆
0x12c00…12c80 UnusedSector ┆YPE FILSYSLIST=    ARRAY [FILSYS_INDEX]   OF FILE_SYSTEM_NAME; TYPE DEVICELIST=    ARRAY [DEVICE_INDEX]   OF TDEVICE;  TYPE TERM┆
0x12c80…12d00 UnusedSector ┆INALPTR= @TERMINALLIST; TYPE PROCESSPTR=  @PROCESSLIST; TYPE PROGRAMPTR=  @PROGRAMLIST; TYPE FILSYSPTR=   @FILSYSLIST; TYPE DEVI┆
0x12d00…12d80 UnusedSector ┆CEPTR=   @DEVICELIST; TYPE LOAD_QPTR=   @LOAD_Q_TYPE;  TYPE COMMON_DATA = RECORD    OS_MODE:       OS_MODE_TYPE;    LOCAL_PRINTE┆
0x12d80…12e00 UnusedSector ┆  :  PROCESS_NAME);            LOADTASK_2:  (GNAME:  PACKED_NAME2);            STARTPRINT, QTASK,            LOGOFF, RESERVEPRIN┆
0x12e00…12e80 UnusedSector ┆T, RELEASEPRINT: (DUMMY : INTEGER)    END;  TYPE USERENTRYTYPE = RECORD        ID           :       INTEGER;        PASSWORD    ┆
0x12e80…12f00 UnusedSector ┆  HEAD  7              ░ H     \   ░P3   ░     ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░     ░     ░     ░  ┆
0x12f00…12f80 UnusedSector ┆   ░P3.1 ░     ░     ░     ░     ░KAP1 ░     ░     ░     ░     ░  KA ░     ░     ░     ░     ░     ░P4   ░     ░     ░     ░    ┆
0x12f80…13000 UnusedSector ┆ ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░.2   ░     ░     ░     ░P3.1 ░.1.3 ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░┆
0x13000…13080 UnusedSector ┆  KA ░.1.1 ░.5   ░     ░     ░     ░P3.1 ░.1.6 ░     ░     ░     ░KAP3 ░.1.2 ░                    KAP3.1.1.2.1                  ┆
0x13080…13100 UnusedSector ┆;        OPERATION            :  OPERATION_REFERENCE;        MODE                 :  TERMINAL_IO_MODE;        FIL               ┆
0x13100…13180 UnusedSector ┆   :  FILE;        FILADR               :  FILE_ADDRESS;        USED                 :  BOOLEAN;        LTU                  :  ┆
0x13180…13200 UnusedSector ┆BOOLEAN;        NAME                 :  ARRAY [0..0] OF INTEGER;        NEXT                 :  TERMINAL_INDEX;  "POINTER TO NEX┆
0x13200…13280 UnusedSector ┆T TERMINAL IF AN LTU"        TUSERS               :  INTEGER;        REC                  :  IBUF_TYPE;        REF_RECDESCRIPT  ┆
0x13280…13300 UnusedSector ┆:bp :ti -10 :ul :hl +6 3.1.2~~~~~Functions Performed :sp 2 The following IO system procedures are supported: :sp :nf function na┆
0x13300…13380 UnusedSector ┆me       comments -----------------------------------------------------------  assign         device_address field of device_des┆
0x13380…13400 UnusedSector ┆cription                  is significant                kind = 80 corresponds to rewritable tape                kind = 81 corres┆
0x13400…13480 UnusedSector ┆ponds to non-rewritable tape deassign  format         erase contents of tape reserve        dummy release        dummy write_sec┆
0x13480…13500 UnusedSector ┆tors  write blocks of the S file read_sectors   read  blocks of the S file  mount dismount udpate  create         for random org┆
0x13500…13580 UnusedSector ┆anized files                allocsize * areasize blocks are allocated,                however allocsize=0 is interpreted as 1. d┆
0x13580…13600 UnusedSector ┆ismantle reset enter remove rename get_root lookup descent get_file_information  append_bytes   for data files                Th┆
0x13600…13680 UnusedSector ┆e file cannot be extended modify_bytes   for data files, BFD and BM                Only if rewriting of blocks is supported read┆
0x13680…13700 UnusedSector ┆_bytes     for data files, BFD, BM and directories  cancel         dummy :fi :sp 2 The following IO system procedures are not su┆
0x13700…13780 UnusedSector ┆pported: :sp offer, accept, useron, useroff, write_and_mark, write_and_protect              :  PROCESS_INDEX;        F          ┆
0x13780…13800 UnusedSector ┆          :  FILE    END;  TYPE LOAD_Q_TYPE = RECORD        MEMORY_RELEASED      :  BOOLEAN;        Q_SIZE               :  LOAD┆
0x13800…13880 UnusedSector ┆N;    SYSTEM_VOL:    VOLUME_NAME;    SYSTEM_DIR:    FILE_NAME;    FILESYSTEMS:   FILSYS_INDEX;    NEWS:          NEWS_TYPE;     ┆
0x13880…13900 UnusedSector ┆TOS_VERSION:  INTEGER;    TERMINAL:     TERMINALPTR;    PROCESS:      PROCESSPTR;    PRQGRAM:      PROGRAMPTR;    FILSYS:       ┆
0x13900…13980 UnusedSector ┆FILSYSPTR;    DEVICE:       DEVICEPTR;    LOAD_Q:       LOAD_QPTR;    MAXTERMINAL:  TERMINAL_INDEX;    MAXPROCESS:   PROCESS_IND┆
0x13980…13a00 UnusedSector ┆                       ░ H     \   ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z ┆
0x13a00…13a80 UnusedSector ┆Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z ┆
0x13a80…13b00 UnusedSector ┆ ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░┆
0x13b00…13b80 UnusedSector ┆Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x13b80…13c00 UnusedSector ┆   M    GE_BUFFER;    CURTERMINAL:    TERMINAL_INDEX;    CLOSED:         BOOLEAN;    OSUSR:          USERID END;    "MAXTERMINAL┆
0x13c00…13c80 UnusedSector ┆, MAXPROCESS, MAXPROGRAM CORRESPOND TO OC"    "FILSYS[0] CORRESPONDS TO SYSTEM FILE SYSTEM         "  TYPE GLOBAL_REF =@COMMON_D┆
0x13c80…13d00 UnusedSector ┆ATA; "PAGE"   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x13d00…13d80 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x13d80…13e00 UnusedSector ┆$HEAD $KAP1 $KAP2 $KAP3 $KAP3.1 $KAP3.1.1 $KAP3.1.1.1 $KAP3.1.1.1.1 $KAP3.1.1.1.2 $KAP3.1.1.1.3 $KAP3.1.1.1.4 $KAP3.1.1.1.5 $KAP┆
0x13e00…13e80 UnusedSector ┆3.1.1.1.6 $KAP3.1.1.2 $KAP3.1.1.2.1 $KAP3.1.1.2.2 $KAP3.1.1.3 $KAP3.1.2 ". ░iled ░o lo ░up f ░e 'C ░'"   ░CC_L ░KUP_ ░RMDR ░ER, ┆
0x13e80…13f00 UnusedSector ┆ ░".Fa ░ed t ░look ░ fil ░'TER ░NALD ░VER' ░   C ░LOOK ░_LTU ░IVER ░   " ░aile ░to l ░kup  ░le ' ░U_DR ░ER'" ░  CC ░OOKU ░BOOT ░┆
0x13f00…13f80 UnusedSector ┆     ░  ". ░iled ░o lo ░up B ░T fi ░"    ░C_LO ░UP_P ░NTSE ░     ░.Fai ░d to ░ookup file 'PRIN  SEMAPHORE'"    CC_LOOKUP_PRINTER┆
0x13f80…14000 UnusedSector ┆Z Z     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x14000…14080 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x2…]
0x14180…14200 UnusedSector ┆CONST  TERMINAL_LIMIT =  6; CONST  PROCESS_LIMIT  = 20; CONST  PROGRAM_LIMIT  = 10; CONST  FILSYS_LIMIT   =  3; CONST  DEVICE_LI┆
0x14200…14280 UnusedSector ┆MIT   =  6; CONST  LOAD_Q_LIMIT   =  TERMINAL_LIMIT;  Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x14280…14300 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x3…]
0x14480…14500 UnusedSector ┆R: BOOLEAN;    OC_MODE:       INTEGER;    OC_SETUP:      INTEGER;    OC_LINE_WIDTH: INTEGER;    SYSTEM_DEV:    DEVICE_DESCRIPTIO┆
0x14500…14580 UnusedSector ┆   ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z ┆
0x14580…14600 UnusedSector ┆ ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░┆
0x14600…14680 UnusedSector ┆  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z Z Z Z Z Z Z     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x14680…14700 UnusedSector ┆Z Z     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x14700…14780 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x2…]
0x14880…14900 UnusedSector ┆CONCAT F:PSP.T   O:PSP.M.T FORMAT I:PSP.M.T O:PSP.P RESET    PSP.M.T   ░  (  ░S    ░+ _  ░a    ░T O  ░  V  ░R S  ░O N  ░+ S  ░M ┆
0x14900…14980 UnusedSector ┆+  ░`    ░  (  ░S    ░+ S  ░M +  ░  M  ░S J  ░+ )  ░  S  ░( *  ░  M  ░S J  ░+ )  ░  8  ░  9  ░░ S  ░( *  ░  M  ░_    ░  S  ░S T ┆
0x14980…14a00 UnusedSector ┆ ░M _  ░E V  ░  N  ░M E  ░     ░S J  ░+ )  ░  S  ░& [  ░' `  ░S    ░* S  ░M +  ░\ 3  ░  U  ░+ S  ░M +  ░J M  ░) `  ░S    ░* S  ░┆
0x14a00…14a80 UnusedSector ┆M +  ░  a  ░,    ░I N  ░=    ░+ S  ░M +  ░`    ░  (  ░S    ░+ S  ░M +  ░  +  ░J M + ) `   S     * S   M + _   a   ,   U N I T = ┆
0x14a80…14b00 UnusedSector ┆  LIMITS                    0           4     * =           S .     .   J + *         S .   Z +   =         J       +           ┆
0x14b00…14b80 UnusedSector ┆    +         !     + 7   =       4           * =     H     S .             / .   J + * =         J       + 5 =       4         ┆
0x14b80…14c00 UnusedSector ┆  =   6 =           S .     .     + * =   1 * =         J                       + =   5   !       .     + * =   1 * =       0   ┆
0x14c00…14c80 UnusedSector ┆      (     S + * =     !             + * =   1 =   1 * =               5   !       .   J + * =   8   J * =             .   j . ┆
0x14c80…14d00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x9…]
0x15180…15200 UnusedSector ┆  KAP3                 ░ H     \   ░P3.1 ░.3   ░     ░Z Z  ░Z Z  ░KAP3 ░.2   ░     ░  Z  ░Z Z  ░  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z ┆
0x15200…15280 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x2…]
0x15380…15400 UnusedSector ┆        CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   1       PRODUCT SPECIFICATION                      ┆
0x15400…15480 UnusedSector ┆                   AMOS                                                              1.  __ SCOPE     _____                     ┆
0x15480…15500 UnusedSector ┆           This document constitutes then product specification for the                CR80 AMOS                              Ma┆
0x15500…15580 UnusedSector ┆gnetic        ________ Tape    ____ File    ____ Management          __________ System      ______                  This module ┆
0x15580…15600 UnusedSector ┆is identified as CSS/xxx.                                                   CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS┆
0x15600…15680 UnusedSector ┆/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   2       PRODUCT SPECIFICATION┆
0x15680…15700 UnusedSector ┆                                         AMOS                         1.1   ___       Introduction.             _____________   ┆
0x15700…15780 UnusedSector ┆               The  purpose  of  this  document  is  to describe at a level                sufficient for use and future mainten┆
0x15780…15800 UnusedSector ┆ance:                      *    the structure of,                    *    the functions performed by,                    *    th┆
0x15800…15880 UnusedSector ┆e internal processing of,                    *    the data structures of                  the Magnetic Tape File Management Sysg┆
0x15880…15900 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x7…]
0x15c80…15d00 UnusedSector ┆  KAP3  E              ░ H     \   ░P3.1 ░.3   ░     ░Z Z  ░Z Z  ░KAP3 ░.2   ░     ░  Z  ░Z Z  ░  PS ░T    ░     ░     ░Z Z  ░Z ┆
0x15d00…15d80 UnusedSector ┆   ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z ┆
0x15d80…15e00 UnusedSector ┆ ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░┆
0x15e00…15e80 UnusedSector ┆  Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z    ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z Z Z Z Z Z Z     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x15e80…15f00 UnusedSector ┆Z Z                                 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x15f00…15f80 UnusedSector ┆tion           ___________ of  __ use   ___                  The CR80 AMOS Magnetic Tape File Management System  provides       ┆
0x15f80…16000 UnusedSector ┆         the user with an interface to files stored on magnetic tape,                corresponding  to  the  interface  of the F┆
0x16000…16080 UnusedSector ┆MS for disk files                (ref.2). The IO procedures (ref.1) for disk files  can  thus                be used.          3┆
0x16080…16100 UnusedSector ┆.1.1     _____     Narrative         _________          3.1.1.1       _______   Volume      ______ Structure         _________  ┆
0x16100…16180 UnusedSector ┆                A MT volume is divided into                     - system files describing the structure of the volume           ┆
0x16180…16200 UnusedSector ┆          - data files containing user data                 The system files are                     - a Home Block (HB)        ┆
0x16200…16280 UnusedSector ┆                  containing  the  volume  name,  volume  length and                          number of free ressources on the v┆
0x16280…16300 UnusedSector ┆em of  the  CR80  AMOS                operating  system. This information is given in section 3 of                the document. ┆
0x16300…16380 UnusedSector ┆The information needed to call the  procedures                implemented  by  the  module,  is  given  in  section 3.1.2.      ┆
0x16380…16400 UnusedSector ┆          Section 4 contains information concerning quality assurance.                Section 5 gives a description of the way i┆
0x16400…16480 UnusedSector ┆n which the module                is generated, and how it is delivered.                                                        ┆
0x16480…16500 UnusedSector ┆CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTE┆
0x16500…16580 UnusedSector ┆M  EKH/811228   PAGE   3       PRODUCT SPECIFICATION                                         AMOS         1.2   ___       Abbrev┆
0x16580…16600 UnusedSector ┆iations             _____________ and   ___ Acronyms.         _________                  AMOS    Advanced Multiprocessor Operati┆
0x16600…16680 UnusedSector ┆ng System                 BFD     Basic File Directory                 BFDE    Basic File Directory Entry                 BM    ┆
0x16680…16700 UnusedSector ┆  Bit Map                 FMS     File Management System                 HB      Home Block                 MD      Main Directo┆
0x16700…16780 UnusedSector ┆ry                 MT      Magnetic Tape                 MTFMS   Magnetic Tape File Management System                 SFD     Sy┆
0x16780…16800 UnusedSector ┆mbolic File Directory                 SFDE    Symbolic File Directory Entry                                      CHRISTIAN ROVSI┆
0x16800…16880 UnusedSector ┆NG A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228  ┆
0x16880…16900 UnusedSector ┆ PAGE   4       PRODUCT SPECIFICATION                                         AMOS                                     2.  __ AP┆
0x16900…16980 UnusedSector ┆PLICABLE          __________ DOCUMENTS         _________        (1)    CR80 AMOS I/O SYSTEM  PRODUCT SPECIFICATION             C┆
0x16980…16a00 UnusedSector ┆SS/006/PSP/0006            (2)    CR80 AMOS FILE MANAGEMENT SYSTEM  SYSTEM PRODUCT SPECIFICATION             CSS/920/SPS/0001   ┆
0x16a00…16a80 UnusedSector ┆         (3)    CR80 AMOS MAGNETIC TAPE DRIVER  PRODUCT SPECIFICATION             CSS/333/PSP/0049                              ┆
0x16a80…16b00 UnusedSector ┆                          CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC ┆
0x16b00…16b80 UnusedSector ┆TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   5       PRODUCT SPECIFICATION                                         AMOS     ┆
0x16b80…16c00 UnusedSector ┆                                    3.  __ REQUIREMENTS            ____________                          3.1   ___       Descrip┆
0x16c00…16c80 UnusedSector ┆       The following entries must always exist in the BFD:                     0:  BFD        CHRISTIAN ROVSING A/S PROPRIETARY ┆
0x16c80…16d00 UnusedSector ┆olume                     - a Basic File Directory (BFD)                          containing an entry for each file on the volum┆
0x16d00…16d80 UnusedSector ┆e                     - a Bit Map (BM)                          identifying the free blocks on the volume                     - ┆
0x16d80…16e00 UnusedSector ┆a Main Directory (MD)                          containing references to files and directories via                          the B┆
0x16e00…16e80 UnusedSector ┆FD                     - a number of other directories                          containing references to files and directories v┆
0x16e80…16f00 UnusedSector ┆ia                          the BFD                  CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX          ┆
0x16f00…16f80 UnusedSector ┆       CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   6       PRODUCT SPECIFICATION                       ┆
0x16f80…17000 UnusedSector ┆                  AMOS         3.1.1.1.1         _________ Home    ____ Block     _____                  The Home Block (HB) con┆
0x17000…17080 UnusedSector ┆tains information about the                     - the name of the volume                     - the number of blocks on the volum┆
0x17080…17100 UnusedSector ┆e                     - the number of free BFD entries                     - the number of free SFD entries                     ┆
0x17100…17180 UnusedSector ┆- if the volumes contains part of a  multivolume  file,                          then an identification of the previous volume  ┆
0x17180…17200 UnusedSector ┆        3.1.1.1.2         _________ Basic     _____ File    ____ Directory         _________                  The  Basic  File  ┆
0x17200…17280 UnusedSector ┆Directory (BFD) contains an entry for each                file on the volume, system files as well as data files.               ┆
0x17280…17300 UnusedSector ┆  The fields of a BFD entry (BFDE) are                     - organization                          directory, contigous or rando┆
0x17300…17380 UnusedSector ┆m                     - size                          the number of significant bytes in the file                     - allocsiz┆
0x17380…17400 UnusedSector ┆e                          for  contiguous  files:  the  number   of   blocks                          allocated                ┆
0x17400…17480 UnusedSector ┆          for   random   files:     the   number   of  areas                          allocated                     - areasize  ┆
0x17480…17500 UnusedSector ┆                        for random files only: the number  of  blocks  per                          area                     - b┆
0x17500…17580 UnusedSector ┆ody address                          for data files (contigous and random):                            the  block number of the ┆
0x17580…17600 UnusedSector ┆first block of the file                            relative to the start of the data files                          for HB, BFD ┆
0x17600…17680 UnusedSector ┆and BM:                            the block number for the first block of the file                            relative to the s┆
0x17680…17700 UnusedSector ┆tart of the system files                          for directories:                            the SFDE  number  of  the  first  ┆
0x17700…17780 UnusedSector ┆entry  of  the                            directory                     - access control list                          defining ┆
0x17780…17800 UnusedSector ┆ access  rights for users with respect to                          the file. Individual users are allowed  a  set  of           ┆
0x17800…17880 UnusedSector ┆               operations.  Users not mentioned are allowed a set                          of operations.                     - ┆
0x17880…17900 UnusedSector ┆links                          is the number of  references  to  this  file  from                          directories          ┆
0x17900…17980 UnusedSector ┆ry (MD) contains a number  of  Symblic  File                Directory Entries (SFDEs), each naming a file of the volume.        ┆
0x17980…17a00 UnusedSector ┆        A SFDE consist of                     - the file name                     - the number of the BFDE describing the file  ┆
0x17a00…17a80 UnusedSector ┆               Initially the MD contains the following entries:                     0:  BFD                     1:  MD          ┆
0x17a80…17b00 UnusedSector ┆           2:  BM                     3:  BAD                     4:  HB          3.1.1.1.5         _________ Other     _____ di┆
0x17b00…17b80 UnusedSector ┆rectories           ___________                  A  directory  consist  of a number of SFDEs (possibly none),                eac┆
0x17b80…17c00 UnusedSector ┆h describing a file  of  the  volume.  The  directory  is                described     by     an    entry    in    the    BFD   ┆
0x17c00…17c80 UnusedSector ┆ with                organization=directory. It is  stored  sequentially  in  the                directory part of the system da┆
0x17c80…17d00 UnusedSector ┆ta.                  CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE ┆
0x17d00…17d80 UnusedSector ┆FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   8       PRODUCT SPECIFICATION                                         AMOS         3┆
0x17d80…17e00 UnusedSector ┆.1.1.1.6         _________ Data    ____ files     _____                  A  data  file  is  described  by  an  entry in the BFD,┆
0x17e00…17e80 UnusedSector ┆ with                organization=contiguous or organization=random. It is stored                on the volume as a contiguous f┆
0x17e80…17f00 UnusedSector ┆ile. The  maximum  number  of                bytes in the file is defined when the file is created:                             ┆
0x17f00…17f80 UnusedSector ┆        -  contiguous:  allocsize * blocksize                     -  random:      allocsize * areasize * blocksize              ┆
0x17f80…18000 UnusedSector ┆                  where blocksize is 512 bytes.                 The  physical  size of the file cannot be changed during its    ┆
0x18000…18080 UnusedSector ┆            lifetime.          3.1.1.2       _______   Volume      ______ Layout      ______                  The MT volume is a┆
0x18080…18100 UnusedSector ┆n unlabelled tape volume,  as  defined  by                ref. 3, containing 2 files:                                     -  fil┆
0x18100…18180 UnusedSector ┆e  S  containing the system files                     -  file  D  containing the data files                                If  t┆
0x18180…18200 UnusedSector ┆he  MT station is able to rewrite a block of the volume                without destroying the volume  contents  beyond  the  blo┆
0x18200…18280 UnusedSector ┆ck,                file  S  should  preceed  file  D,  otherwise  file D should                preceed file S.                  ┆
0x18280…18300 UnusedSector ┆                  ----------------------------------                    I  S  I            D             I  fig.1               ┆
0x18300…18380 UnusedSector ┆     ----------------------------------                                    ----------------------------------                   ┆
0x18380…18400 UnusedSector ┆INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE   7       PRO┆
0x18400…18480 UnusedSector ┆DUCT SPECIFICATION                                         AMOS                        1:  MD                     2:  BM        ┆
0x18480…18500 UnusedSector ┆             3:  BAD  (dummy file)                     4:  HB          3.1.1.1.3         _________ Bit   ___ Map   ___          ┆
0x18500…18580 UnusedSector ┆        The  Bit  Map  (BM)  contains  a  bit  for each block on the                volume. The bit is 0 for a free block; 1 for┆
0x18580…18600 UnusedSector ┆ a block in use.          3.1.1.1.4         _________ Main    ____ Directory         _________                  The Main Directo┆
0x18600…18680 UnusedSector ┆   volume initialization.                   S file:                                     ----------------------------------------┆
0x18680…18700 UnusedSector ┆------------                     I HB I  BFD  I  BM  I MD I    other directories    I                     ----------------------┆
0x18700…18780 UnusedSector ┆------------------------------          3.1.1.2.2         _________ D _ file    ____                  The D file is a concatenat┆
0x18780…18800 UnusedSector ┆ion of the contiguous  and  random                files of the volume. The files are allocated contiguously in                th┆
0x18800…18880 UnusedSector ┆e  D file. When a file is removed from the tape, the space                occupied is left as garbage.                   D file:┆
0x18880…18900 UnusedSector ┆                                     -------------------------------------------------------                     I data file 1 I┆
0x18900…18980 UnusedSector ┆  data file 2  I garbage I data file 3 I                     -------------------------------------------------------            ┆
0x18980…18a00 UnusedSector ┆     CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT ┆
0x18a00…18a80 UnusedSector ┆SYSTEM  EKH/811228   PAGE  10       PRODUCT SPECIFICATION                                         AMOS         3.1.1.3       ___┆
0x18a80…18b00 UnusedSector ┆____   Tape    ____ Cache     _____                  When a volume is mounted by the MTFMS, the system files  are               ┆
0x18b00…18b80 UnusedSector ┆ read and stored on disk in a form suitable for updates.                 When  the  volume is updated or dismounted, the system ┆
0x18b80…18c00 UnusedSector ┆files                are written back onto the tape, if any change has been  made                to the tape.                  T┆
0x18c00…18c80 UnusedSector ┆he HB is cached in a temporary file (T_HB)                The BFD is cached in a temporary file (T_BFD)                The BM is┆
0x18c80…18d00 UnusedSector ┆ of no use and is not cached                The BAD file is not used and is not cached                The directories are cached┆
0x18d00…18d80 UnusedSector ┆ in a temporary file (T_D)                 T_HB is a simple copy of HB                T_BFD is a simple copy of BFD             ┆
0x18d80…18e00 UnusedSector ┆ I           D              I  S  I  fig.2                    ----------------------------------                                ┆
0x18e00…18e80 UnusedSector ┆fig.1:  tape written on MT station supporting rewtite                fig.2:  tape written on MT station not supporting rewtite  ┆
0x18e80…18f00 UnusedSector ┆                 CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE┆
0x18f00…18f80 UnusedSector ┆ MANAGEMENT SYSTEM  EKH/811228   PAGE   9       PRODUCT SPECIFICATION                                         AMOS         3.1.1┆
0x18f80…19000 UnusedSector ┆.2.1         _________ S _ file    ____                  The S file is a fixed length file containing                      HB   ┆
0x19000…19080 UnusedSector ┆1 block                     BFD  f+5 blocks                     BM   (q-1)/(8*b) +1 blocks                     directories      ┆
0x19080…19100 UnusedSector ┆                    (n+5 -1) / (b/length(SFDE)) +1                 where                      f    is the maximum number of data┆
0x19100…19180 UnusedSector ┆  files,  defined  at                          volume initilazation. The five excessive BFDEs are                          for t┆
0x19180…19200 UnusedSector ┆he system files.                     n    is  the  maximum  number of file names, defined at                          volume ini┆
0x19200…19280 UnusedSector ┆tialization. The  five  excessive  SFDEs                          are for the system files.                     b    is the numb┆
0x19280…19300 UnusedSector ┆er of bytes per block (=512).                     q    is  the  number  of  block on the tape, defined at                       ┆
0x19300…19380 UnusedSector ┆es                                cancel         dummy                  The following IO system procedures are not supported:   ┆
0x19380…19400 UnusedSector ┆              offer,    accept,    useron,    useroff,     write_and_mark,                write_and_protect                     ┆
0x19400…19480 UnusedSector ┆      CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAGNETIC TAPE FILE MANAGEMENT┆
0x19480…19500 UnusedSector ┆ SYSTEM  EKH/811228   PAGE  12       PRODUCT SPECIFICATION                                         AMOS            LIST_OF_CONTE┆
0x19500…19580 UnusedSector ┆NTS                ________________                                                  PAGE    ____       1. SCOPE ...............┆
0x19580…19600 UnusedSector ┆........................................     1         1.1 Introduction. ...........................................     2      ┆
0x19600…19680 UnusedSector ┆   1.2 Abbreviations and Acronyms. .............................     3       2. APPLICABLE DOCUMENTS ...........................┆
0x19680…19700 UnusedSector ┆.............     4       3. REQUIREMENTS ................................................     5         3.1 Description of use ┆
0x19700…19780 UnusedSector ┆......................................     5            3.1.1 Narrative ..........................................     5        ┆
0x19780…19800 UnusedSector ┆   T_D is a copy of the directories. The SFDEs are organized in                double linked lists - one for each directory and ┆
0x19800…19880 UnusedSector ┆one for the                free  SFDEs  -  in  order  to  allow effective insertion and                deletion of files.       ┆
0x19880…19900 UnusedSector ┆                                CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX                 CR80 AMOS, MAG┆
0x19900…19980 UnusedSector ┆NETIC TAPE FILE MANAGEMENT SYSTEM  EKH/811228   PAGE  11       PRODUCT SPECIFICATION                                         AMO┆
0x19980…19a00 UnusedSector ┆S         3.1.2     _____     Functions         _________ Performed         _________                  The following IO system p┆
0x19a00…19a80 UnusedSector ┆rocedures are supported:                 function name       comments                -------------------------------------------┆
0x19a80…19b00 UnusedSector ┆----------------                                assign         device_address field of device_description                       ┆
0x19b00…19b80 UnusedSector ┆          is significant                               kind = 80 corresponds to rewritable tape                               ki┆
0x19b80…19c00 UnusedSector ┆nd = 81 corresponds to non-rewritable tape                deassign                                format         erase contents ┆
0x19c00…19c80 UnusedSector ┆of tape                reserve        dummy                release        dummy                write_sectors  write blocks of th┆
0x19c80…19d00 UnusedSector ┆e S file                read_sectors   read  blocks of the S file                                mount                dismount  ┆
0x19d00…19d80 UnusedSector ┆              udpate                                create         for random organized files                               allo┆
0x19d80…19e00 UnusedSector ┆csize * areasize blocks are allocated,                               however allocsize=0 is interpreted as 1.                dis┆
0x19e00…19e80 UnusedSector ┆mantle                reset                enter                remove                rename                get_root            ┆
0x19e80…19f00 UnusedSector ┆    lookup                descent                get_file_information                                append_bytes   for data fil┆
0x19f00…19f80 UnusedSector ┆es                               The file cannot be extended                modify_bytes   for data files, BFD and BM           ┆
0x19f80…1a000 UnusedSector ┆                    Only if rewriting of blocks is supported                read_bytes     for data files, BFD, BM and directori┆
0x1a000…1a080 UnusedSector ┆mant ░     ░     ░     ░set  ░     ░     ░ ent ░     ░     ░     ░move ░     ░        rename                get_root            ┆
0x1a080…1a100 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x1a180…1a200 UnusedSector ┆       3.1.1.1 Volume Structure ..............................     5                  3.1.1.1.1 Home Block .....................┆
0x1a200…1a280 UnusedSector ┆..........     6                  3.1.1.1.2 Basic File Directory .....................     6                  3.1.1.1.3 Bit Map ┆
0x1a280…1a300 UnusedSector ┆..................................     7                  3.1.1.1.4 Main Directory ...........................     7            ┆
0x1a300…1a380 UnusedSector ┆      3.1.1.1.5 Other directories ........................     7                  3.1.1.1.6 Data files .........................┆
0x1a380…1a400 UnusedSector ┆......     8               3.1.1.2 Volume Layout .................................     8                  3.1.1.2.1 S file .....┆
0x1a400…1a480 UnusedSector ┆..............................     9                  3.1.1.2.2 D file ...................................     9               3┆
0x1a480…1a500 UnusedSector ┆.1.1.3 Tape Cache ....................................    10            3.1.2 Functions Performed ..............................┆
0x1a500…1a580 UnusedSector ┆..    11                                      CHRISTIAN ROVSING A/S PROPRIETARY INFORMATION    CSS/XXX/PSP/XXXX           Z Z Z ┆
0x1a580…1a600 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0xb…]
0x1ab80…1ac00 UnusedSector ┆  S fi   I             ░ H     \   ░   r ░d  b ░cks  ░ the ░ fil ░     ░     ░     ░     ░     ░ mou ░     ░     ░     ░smou ░  ┆
0x1ac00…1ac80 UnusedSector ┆   ░     ░     ░pate ░     ░     ░     ░     ░     ░crea ░     ░   f ░ ran ░m or ░nize ░file ░     ░     ░     ░     ░     ░allo┆
0x1ac80…1ad00 UnusedSector ┆ ░ize  ░area ░ze b ░cks  ░e al ░cate ░     ░     ░     ░     ░     ░ how ░er a ░ocsi ░=0 i ░inte ░rete ░as 1 ░     ░     ░   d ░┆
0x1ad00…1ad80 UnusedSector ┆   ░U.S. ░     ░     ░     ░     ░LTU. ░J    ░     ░     ░     ░  LT ░L.CM ░     ░     ░     ░     ░L020 ░T    ░  k  ░     ░    ┆
0x1ad80…1ae00 UnusedSector ┆ ░ANSW ░.S   ░     ░     ░     ░  DE ░G.S  ░     ░     ░     ░     ░ST.D ░     ░     ░     ░     ░WRIT ░S    ░     ░     ░     ░┆
0x1ae00…1ae80 UnusedSector ┆  LT ░TEST ░     ░p    ░     ░     ░AD.S ░     ░  5  ░     ░     ░XFER ░YPES ░                    PASCAL_TYPES.S                ┆
0x1ae80…1af00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x3…]
0x1b080…1b100 UnusedSector ┆  v                    ░ H     \   ░>    ░     ░     ░     ░     ░     ░     ░     ░     ░     ░-    ░  E  ░F    ░  S  ░V    ░  ┆
0x1b100…1b180 UnusedSector ┆r  ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░  IN ░DISA ░E MA ░     ░     ░     ░     ░     ░    ┆
0x1b180…1b200 UnusedSector ┆ ░ ; I ░200: ░     ░     ░     ░     ░   ; ░AKE  ░S AD ░ESS: ░     ░ MOV ░ XCB ░E    ░     ░ R0  ░     ░   A ░     ░     ░     ░┆
0x1b200…1b280 UnusedSector ┆   R ░ ;   ░DDR+ ░SE = ░DDR2 ░     ░  MO ░  PG ░SK   ░     ░  R7 ░;    ░GE M ░K         AND          R7         R0  ;       AND ┆
0x1b280…1b300 UnusedSector ┆Z Z     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1b300…1b380 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x2…]
0x1b480…1b500 UnusedSector ┆  HEAD                 ░AH     Y   ░P3   ░     ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░     ░     ░     ░  ┆
0x1b500…1b580 UnusedSector ┆   ░P3.1 ░     ░     ░     ░     ░KAP1 ░     ░     ░     ░     ░  KA ░     ░     ░     ░     ░     ░P4   ░     ░     ░     ░    ┆
0x1b580…1b600 UnusedSector ┆ ░KAP3 ░.1.1 ░     ░     ░     ░  KA ░.1.1 ░.2   ░     ░     ░     ░P3.1 ░.1.3 ░     ░     ░     ░KAP3 ░.1.1 ░     ░     ░     ░┆
0x1b600…1b680 UnusedSector ┆  KA ░.1.1 ░.5   ░     ░     ░     ░P3.1 ░.1.6 ░     ░     ░     ░KAP3 ░.1.2 ░                    KAP3.1.1.2.1                  ┆
0x1b680…1b700 UnusedSector ┆Z Z                                                                     Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1b700…1b780 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x4…]
0x1b980…1ba00 UnusedSector ┆                       ░ H     \   ░RECT ░ES.S ░     ░     ░     ░LTU. ░     ░     ░     ░     ░  LT ░P.J  ░     ░     ░     ░  ┆
0x1ba00…1ba80 UnusedSector ┆X   V H# y  v;    p5 _    _ h5  K,   ;o) p  O5  l#  ENTER        AT  _    n." _   , CALLED AT  _    n4 j_   , S=   _    j3_   , ┆
0x1ba80…1bb00 UnusedSector ┆HEAP=  _    j*_   , PARS   _    n.!   @ I h3  K:_S zo) p  O5  l#  EXIT       FROM  _   qn4b s8V     ,                  S=  _   ]┆
0x1bb00…1bb80 UnusedSector ┆j8V     , HEAP=  _   Rj*V    Eo) p  O5  l#  PREFIX   _   @j<V      AT  _   7j4 *V     ,                  S=  _   $j3V     , HEAP┆
0x1bb80…1bc00 UnusedSector ┆=  _    j*V     , PARS   _    h3I K:_    _     _    O.    V H! y  V H$ yt9    ` b V O%     @] v;p5m3u<o* u    N  ;N V H !    g  ┆
0x1bc00…1bc80 UnusedSector ┆N     ! q-I@     yq6  J     "    zr7 X  ]4^0  > N   h$      N     k- 0N   o6     yj7 X  ]L^Hh$    p9  p:t8  l8h$~  'h5~  !o*i3 q┆
0x1bc80…1bd00 UnusedSector ┆h: d  N  ;h9    N   h:       y  J     j3k: 2r<     z X  ]|^xN m< ;h&| h%| hKpF  o6N   a        yo7J     j*     z X  ] ^ .   h*  ┆
0x1bd00…1bd80 UnusedSector ┆       "hF        o6     yo7     z X  ] ^ n*    w%  w&  w'  w)N   o1  o6N     "  "     yo7J     "    z X  ] ^ N   m< ;v:t9  l9n:┆
0x1bd80…1be00 UnusedSector ┆ ;V H o*V M n j  &   z       v                                      I q, ow+ ?      V J   r,Z  ?         8 @p> E  p?  p=h,>   q*┆
0x1be00…1be80 UnusedSector ┆ _   Ah+    O5  H  ?  V   >  o  O.   ?       X    l2XCY;  XD   ?! 1          `         0                 `         0     X     _┆
0x1be80…1bf00 UnusedSector ┆  `  @   X             @      C Xr!   Xu! ~    X A   A  2@ A        X   0@O   X !  x  X       X     X    A       B`@       H   X┆
0x1bf00…1bf80 UnusedSector ┆     A    !          X A"      r    $          ij* !    X  Y      r*     ij* !    X  Y      r*                 X       X  I    P┆
0x1bf80…1c000 UnusedSector ┆     X       X  I    P    V } X     `@~   V | X           I        X   @    Y  X     P   w     X        Y  X     P   w     _  H ┆
0x1c000…1c080 UnusedSector ┆     W     A  C   :AY*         A~ Y1X `B  < |   `@  < |   O5  bB d B  O.      `@ B   A @  D YN Y  O.  YS`@O V | YX      V | Y^  ┆
0x1c080…1c100 UnusedSector ┆    J        A    `@  < |   O5  b@  `@ e %  O.            X   eY   AV | Y J   *   V } Y C   I        A     XJ   Y     $    QS   ┆
0x1c100…1c180 UnusedSector ┆ HJ   Y   $    P     q   @   A'A   A     A'A   A     A'A   A     A'A   A     A'A   A     A'A   A    `B'C             C    `B'C  ┆
0x1c180…1c200 UnusedSector ┆       C    `B'C             C    `B'C             C    `B'C       C    `B'C             C     Y Z    H           PQ            ┆
0x1c200…1c280 UnusedSector ┆     Y Z    H             PQ   Y Z    H   PQ   !       Y Z    H             PQ   Y   X"       PQ               Y   X"           ┆
0x1c280…1c300 UnusedSector ┆  O PASRTSh                                                       ] ^ d i n r w | p                                             ┆
0x1c300…1c380 UnusedSector ┆! ' / 5 = E S t                               $ / B O [ h w                             1 z                       2 5 E I       ┆
0x1c380…1c400 UnusedSector ┆    M X _ n p r                         )         \ = A G M T l   ]       ] ^ d i n r w | p                                     ┆
0x1c400…1c480 UnusedSector ┆        ! ' / 5 = E S t                               $ / B O [ h w                             1 z                       2 5 E ┆
0x1c480…1c500 UnusedSector ┆I           M X _ n p r                         #         \ = A G M T l y ]     V   k     V I      @         6X  @O5  m( V  l#  ┆
0x1c500…1c580 UnusedSector ┆  MINIMUM FREE AREA:   _     djJ : _     _    O.  h,~   h,i+  t9 9 m ?    K  _       LINE NO. TRACE:   _    h* ZV K  _     Q   B┆
0x1c580…1c600 UnusedSector ┆X  _     _     _     9V K h* _      V H I    A  B       w2h$~   H p$.     N "  !q*  h     p3   !          h$~ X&.     q*  h   p3┆
0x1c600…1c680 UnusedSector ┆m3  u3     II  V YJ  D .cC D   r O R T Y j K X X   h N NK  _   b NH: Y E , X   Zm3    m3 X X   Rm3 O NH: GI  ^   _   G F   DH: <┆
0x1c680…1c700 UnusedSector ┆m3 O &m3 PH: 5 O  m3 Q _   4 N  H  J Hi3 Fh$  I      E  u3h$  V  ░  V   m3 ^ [l2  v;t9r7h*         ^ P g    l7 f   Jl9 ; _      ┆
0x1c700…1c780 UnusedSector ┆J  D _  | Pq     Y       X       B A J _       Z A K     X E     B Y    P  A       _   O _           A YP      A       C BV J  D┆
0x1c780…1c800 UnusedSector ┆ _   A       C BV J  D _   A       C A B F _       C A B I _       D B C D _   A      O5  ? V   O.   X i   P _s8 +$ V  l   (    ┆
0x1c800…1c880 UnusedSector ┆$         $       k8     Y A    P      Y A    P      B Y A    P      A Y    P      Y    P  A       A Y    P      A     Y       A┆
0x1c880…1c900 UnusedSector ┆ Y    P  A       D C B    I  Z   A       D C Bt9 A    H  Z  l9       _V Pp    h 0A                    t9 C B X     A   X  l9    ┆
0x1c900…1c980 UnusedSector ┆t9 A X     \  l9    t9 A B X     \  l9    t9 A X     \  l9    t9 A B X     \  l9    t9 B X    `@    l9    s8t9 B C X     X   A  ┆
0x1c980…1ca00 UnusedSector ┆k8l9     A B X     X       A B X     X      aA C X     X       A B X     X       Av;  n;s8 B C D X     X  k8    t9 C B X    `@  ┆
0x1ca00…1ca80 UnusedSector ┆  l9     A B X     X       A B X     X      t9aA C X     Y  l9    Z Z Z Z Z Z     Z Z Z Z Z Z|ZyZvZsZ Z Y Y Y Y ZvY ZqY Y Y Y Y ┆
0x1ca80…1cb00 UnusedSector ┆Y Y|YrYkYd    Y]YTY>Y8Y2Y+Y%Y Y Y X Y    # 2X X X X X X X X X X X XzXkX`XXXP ? J : T                       0 ; H S ` j s ~      ┆
0x1cb00…1cb80 UnusedSector ┆                   4     : G Z m[r[n v zZ Z~Z{Z  zY9 @Z Z Z Z  k    ZwZ^ W _t9 B C X    `@    l9    t9aA , X       Y  l9    i* Q┆
0x1cb80…1cc00 UnusedSector ┆    V    B Z   )     A    t9 C X     X  l9    < V    /t9 \  |   h* @V  yPB  | PD`   '  H  :       X  Z  l9  t9`@ B X      l9    ┆
0x1cc00…1cc80 UnusedSector ┆ Av;_,n; Bs8 C D X     X  k8     Av;_<n; Bs8 C D X     X  k8     Av;_Ln; Bs8 C D X     X  k8     Av;_\n; Bs8 C D X     X  k8    ┆
0x1cc80…1cd00 UnusedSector ┆PQ   Y   X"       PQ               Y   X"       PQ          PQ   Y   X"   PQ           Y   X"       PQ          PQ      ~ Z     ┆
0x1cd00…1cd80 UnusedSector ┆                            C Z !   Z   4@             Y               @           @    o'   q   HV  `   Xi*  !   Z    B A     @┆
0x1cd80…1ce00 UnusedSector ┆       ^      o'   Z *  iJ !rJ s   HV      o             B A     @       ^ kh= A Xi*  !   [       [           o' u  o&     &  I ┆
0x1ce00…1ce80 UnusedSector ┆J  (       _       _      `@@   ~ Z,  ~ Z/      A   V } Z7     A@    XV < | ZA      J  ! @   @   @   X  B  Q         C Bh= A    ┆
0x1ce80…1cf00 UnusedSector ┆     [ ^ Xi*  ! V     [p    u= 8 @p>     C Bh= A         [ ^ Xi*  ! V     [     u= 8 @p> E  p?     C B A   @         G F E D D B┆
0x1cf00…1cf80 UnusedSector ┆ ^ A       A        h*   P[      B A   @         F E D D B ^ A       A        h*   P[      A   @         E D D B ^ A       A    ┆
0x1cf80…1d000 UnusedSector ┆    h*   P[      A   @         E D D B ^ A       A        h*   PV          @         D D B ^ A       A        h*   PV     !    q┆
0x1d000…1d080 UnusedSector ┆      !    q     @!    q     A  !    q     B A  !    q     B A   A     ^    h*   PV                 I     )  p pI               ┆
0x1d080…1d100 UnusedSector ┆ @   y           @       A       A B     @[    @Z1   @Z%   @Z    @Z    @Z    @Y o?      `  @   oX  ?X h?!              hX  8X O5┆
0x1d100…1d180 UnusedSector ┆     y  O5     z       } X    V  I!   o'   r   Hq<V     i< q   _h*       _w*     A         A         A         X            H   ┆
0x1d180…1d200 UnusedSector ┆   A   AT@            H      A   AT@$        A  O @   V     V  ░     Y  O    B w  O    w$        A  O @  'V     V    /   _  H   ┆
0x1d200…1d280 UnusedSector ┆~  w     r C r   B p      H O   V    AT@  H       O   V    AS     O   V    A       A   _       Y      `@      `@       A       A┆
0x1d280…1d300 UnusedSector ┆       B A G _       Z A H     6Z`Y&v; ^B    AO  B   p      n;    v; ^B    B o   A q pz       n;    v; ^B    A/  B p       p    ┆
0x1d300…1d380 UnusedSector ┆  n;    v; ^B    B/  A p     pz       n;         _       X     c   o          X V  5     _B    AJ H   1B C~     < *         S < ┆
0x1d380…1d400 UnusedSector ┆*           v; B  J H   1C ^   AB    D~    B r    < *              B r    < *           n;    V                  Y       A   BV ┆
0x1d400…1d480 UnusedSector ┆  PASRTS.CODES1.S "           Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1d480…1d500 UnusedSector ┆  Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x1d580…1d600 UnusedSector ┆Z Z                                                         ░                                                                   ┆
0x1d600…1d680 UnusedSector ┆                                                                    !   "   #   $   %   &   '   (   )   Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1d680…1d700 UnusedSector ┆ Av;_ln;t9 B C X     X  l9     Av;_{n;t9 B C X     X  l9     Av;_ n;t9 B C X     X  l9     Bv;_ n;s8t9K  C D X    `@    k8l9    ┆
0x1d700…1d780 UnusedSector ┆ Bv;_ n;s8t9K  C D X    `@    k8l9     Bv;_ n;s8t9K  C D X    `@    k8l9    s8t9 A X     Y  k8l9    s8t9 B X!   a@   1  k8l9    ┆
0x1d780…1d800 UnusedSector ┆s8t9 A X"    Y  k8l9    s8t9 B C _    `@    k8l9    t9 B _    `@    l9    t9`@ B _      l9    t9 Y   C _     Y  l9    s8t9 B _  ┆
0x1d800…1d880 UnusedSector ┆  `@    k8l9    s8t9`@ B _       _     c 9  k8l9    t9 A _     \  l9    t9 B A   C _    l9   Y      s8t9b@ B _    k8l9      s8t9┆
0x1d880…1d900 UnusedSector ┆b@ B _    $  _      k8l9    t9 B A   C _       Y  l9    t9 A _     \  l9    s8 Dv; ^ [  Pa A   B     C  k8n;    s8 Cv; ^ \  Pa A┆
0x1d900…1d980 UnusedSector ┆   B    k8n;     Z A ]  P!    O5   C ^ _           l  `     O.                    s8t9v;n* [ c ?  O  A   v     sV   ~ X  B _    ┆
0x1d980…1da00 UnusedSector ┆ ^  k8l9n;    s8t9 A B C _     Z  k8l9    s8t9h* Y    V    A B C _     Z  k8l9    s8t9h* Y    V  k AaB D _     Z  k8l9    s8t9 A┆
0x1da00…1da80 UnusedSector ┆ _     \  k8l9    h* Y       X         X       A0@       A        `B A   _      `@     A   Z       Z      I O5  i/ B A _        ┆
0x1da80…1db00 UnusedSector ┆  V O m3 Z  O.        ~ X m3X I X O5  I  B A _          V O m3 Z  O.        ~ X m3X O5  I  B A   _          n3 h        < | M   ┆
0x1db00…1db80 UnusedSector ┆|   O.      t9i* X       A  V   B    BO    q       A C _     Y  l9    O5   B C E F Gn* _ g    V    D f  m3 A  m3 X  O.      O5  ┆
0x1db80…1dc00 UnusedSector ┆ D C Fn* _ g    V    B g    m3 A   E 1  m3 X  O.      O5    h  A         B    t5   n ]B     h5   px    r   g    O.       Xp' Aq#┆
0x1dc00…1dc80 UnusedSector ┆j(  r(    O)   P      O5  o* u    V  I ?  ~  Cj* .          J   L ! m$> - 1A$        i X   Xo1  n*M I      J   j   A       i X  ┆
0x1dc80…1dd00 UnusedSector ┆ EV  #j$|   n*M J     /          j       i X   .V   m3 Ch$| H V     O.   _   APpn4V    _  h2  n$~ M   n3          n1      h*    ┆
0x1dd00…1dd80 UnusedSector ┆ }k1n4V L   V                 Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1dd80…1de00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x1de80…1df00 UnusedSector ┆                       ░ H     \   ░ \   ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░  ┆
0x1df00…1df80 UnusedSector ┆   ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░    ┆
0x1df80…1e000 UnusedSector ┆ ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░┆
0x1e000…1e080 UnusedSector ┆     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░                                                  ┆
0x1e080…1e100 UnusedSector ┆  PASRTS.C            /           PASRTS.CODES3.S      Ch$| H V   PASRTS.PREFS5.S      _  h2  n$  PASRTS.CODES4.S !       h*    ┆
0x1e100…1e180 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1e180…1e200 UnusedSector ┆ ; NLSET            A >= B  ; A SET (8 WORDS) IS POPPED FROM THE STACK. IF IT IS ; CONTAINED IN THE NEW STACK TOP ELEMENT, THIS ┆
0x1e200…1e280 UnusedSector ┆IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO056:                             ; NLSET: PTO056:                      ┆
0x1e280…1e300 UnusedSector ┆       ;         MOV          R5         R1  ;   RE.ST(S);         MOV          R5         R2  ;         ADDC  8                ┆
0x1e300…1e380 UnusedSector ┆ R2  ;   RE.ST(S+8);         ADDC  15                R5  ;   S+15 => S;         MOVC  8                 R0  ;   "FOR LIMIT"; PL1┆
0x1e380…1e400 UnusedSector ┆056:                             ;   FOR I := 1 TO 8 DO         IOR          X2         X1  ;      A OR B => B;         INEP    ┆
0x1e400…1e480 UnusedSector ┆     X1         X2  ;       IF A <> B THEN         XTR          X5  0          ;          FALSE => ST(S);         JMP           ┆
0x1e480…1e500 UnusedSector ┆   PL2056     ;          GOTO PL2056 FI;         INCD         R1         R2  ;      INC(R1); INC(R2);         SOB          R0  P┆
0x1e500…1e580 UnusedSector ┆L1056     ;   ROF;         MOVC  1                 X5  ;   TRUE => ST(S); PL2056:                             ;         JMP     ┆
0x1e580…1e600 UnusedSector ┆                X4  ;   GOTO NEXT;  ;=======================================================================  ; NESET           ┆
0x1e600…1e680 UnusedSector ┆ A <> B  ; A SET (8 WORDS) IS POPPED FROM THE STACK. IF IT IS ; NOT EQUAL TO THE NEW STACK TOP ELEMENT, THIS IS ; REPLACED BY TR┆
0x1e680…1e700 UnusedSector ┆UE (=1), OTHERWISE BY FALSE (=0).  PCO057:                             ; NESET: PTO057:                             ;         MO┆
0x1e700…1e780 UnusedSector ┆V          R5         R1  ;   RE.ST(S);         MOV          R5         R2  ;         ADDC  8                 R2  ;   RE.ST(S+8)┆
0x1e780…1e800 UnusedSector ┆;         ADDC  15                R5  ;   S+15 => S;         MOVC  8                 R0  ;   "FOR LIMIT"; PL1057:               ┆
0x1e800…1e880 UnusedSector ┆              ;   FOR I := 1 TO 8 DO         INEP         X2         X1  ;       IF A <> B THEN         MOVC  1                 ┆
0x1e880…1e900 UnusedSector ┆X5  ;          TRUE => ST(S);         JMP              PL2057     ;          GOTO PL2057 FI;         INCD         R2         R1 ┆
0x1e900…1e980 UnusedSector ┆ ;       INCD(R2); INCD(R1);         SOB          R0  PL1057     ;   ROF;         XTR          X5  0          ;   FALSE => ST(S)┆
0x1e980…1ea00 UnusedSector ┆; PL2057:                             ;         JMP                     X4  ;   GOTO NEXT;  ;===================================┆
0x1ea00…1ea80 UnusedSector ┆====================================  ; NGSET            A <= B  ; A SET (8 WORDS) IS POPPED FROM THE STACK. IF IT ; CONTAINS TH┆
0x1ea80…1eb00 UnusedSector ┆E NEW STACK TOP ELEMENT, THIS IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO058:                             ; NGSET:┆
0x1eb00…1eb80 UnusedSector ┆ PTO058:                             ;         MOV          R5         R1  ;   RE.ST(S)   "B"         MOV          R5         R2┆
0x1eb80…1ec00 UnusedSector ┆  ;         ADDC  8                 R2  ;   RE.ST(S+8) "A"         ADDC  15                R5  ;   S+15 => S;         MOVC  8   ┆
0x1ec00…1ec80 UnusedSector ┆              R0  ;   "FOR LIMIT"; PL1058:                             ;   FOR I := 1 TO 8 DO         IOR          X1         X2┆
0x1ec80…1ed00 UnusedSector ┆  ;       B OR A => A;         INEP         X1         X2  ;       IF A <> B THEN         XTR          X5  0          ;         ┆
0x1ed00…1ed80 UnusedSector ┆ FALSE => ST(S);         JMP              PL2058     ;          GOTO PL2058 FI;         INCD         R1         R2  ;       INC(┆
0x1ed80…1ee00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x1ee00…1ee80 UnusedSector ┆                        ;   FOR I := 1 TO LENGTH DO         IEQ          X0         X1  ;       IF ST(X) = ST(Y) THEN         JM┆
0x1ee80…1ef00 UnusedSector ┆P              PL2059     ;          GOTO PL2059 FI;         ILTP         X0         X1  ;       IF ST(X) < ST(Y) THEN         M┆
0x1ef00…1ef80 UnusedSector ┆OVC  1                 X5  ;          TRUE => ST(S);         JMP              PL3059     ;          GOTO PL3059;         XTR    ┆
0x1ef80…1f000 UnusedSector ┆      X5  0          ;       ELSE FALSE => ST(S);         JMP              PL3059     ;           GOTO PL3059 FI; PL2059:       ┆
0x1f000…1f080 UnusedSector ┆                      ;         INCD         R0         R1  ;       INC(X); INC(Y);         SOB          R2  PL1059     ;   ROF;┆
0x1f080…1f100 UnusedSector ┆         XTR          X5  0          ;   FALSE => ST(S) "THEY WERE EQUAL" PL3059:                             ;         JMP     ┆
0x1f100…1f180 UnusedSector ┆         1.     X4  ;   GOTO NEXT;  ;=======================================================================  ; EQSTRUCT(LENGTH)┆
0x1f180…1f200 UnusedSector ┆           (A = B)  ; THE STACK TOP IS ASSUMED TO CONTAIN THE ABSOLUTE ; ADDRESS OF A STRUCTURE B. THE WORD BELOW THE TOP ; CONT┆
0x1f200…1f280 UnusedSector ┆AINS THE ABSOLUTE ADDRESS OF A STRUCTURE A. THE ; 2 ADDRESSES ARE POPPED, AND IF A = B THEN TRUE (=1), ; OTHERWISE FALSE (=0), I┆
0x1f280…1f300 UnusedSector ┆S PUSHED ON THE STACK.  PCO060:                             ; EQSTRUCT: PTO060:                             ;         MOV       ┆
0x1f300…1f380 UnusedSector ┆   X5         R1  ;   ST(S) => Y  "RE.B";         ADDC  1                 R5  ;   S+1 => S;         MOV          X5         R0  ┆
0x1f380…1f400 UnusedSector ┆;   ST(S) => X  "RE.A";         MVP          X4         R2  ;   PG(Q) => LENGTH; PL1060:                             ;   FOR I :┆
0x1f400…1f480 UnusedSector ┆= 1 TO LENGTH DO         INEP         X0         X1  ;       IF ST(X) <> ST(Y) THEN         XTR          X5  0          ;       ┆
0x1f480…1f500 UnusedSector ┆   FALSE => ST(S);         JMP              PL2060     ;          GOTO PL2060 FI;         INCD         R0         R1  ;       IN┆
0x1f500…1f580 UnusedSector ┆C(X); INC(Y);         SOB          R2  PL1060     ;   ROF;         MOVC  1                 X5  ;   TRUE => ST(S); PL2060:       ┆
0x1f580…1f600 UnusedSector ┆                      ;         JMP              1.     X4  ;   GOTO NEXT;  ;===================================================┆
0x1f600…1f680 UnusedSector ┆====================  ; GRSTRUCT(LENGTH)           (A > B)  ; THE STACK TOP IS ASSUMED TO CONTAIN THE ABSOLUTE ; ADDRESS OF A ST┆
0x1f680…1f700 UnusedSector ┆RUCTURE B. THE WORD BELOW THE TOP ; CONTAINS THE ABSOLUTE ADDRESS OF A STRUCTURE A. THE ; 2 ADDRESSES ARE POPPED, AND IF A > B T┆
0x1f700…1f780 UnusedSector ┆HEN TRUE (=1), ; OTHERWISE FALSE (=0), IS PUSHED ON THE STACK.  PCO061:                             ; GRSTRUCT: PTO061:         ┆
0x1f780…1f800 UnusedSector ┆R1); INC(R2);         SOB          R0  PL1058     ;   ROF;         MOVC  1                 X5  ;   TRUE => ST(S); PL2058:       ┆
0x1f800…1f880 UnusedSector ┆                      ;         JMP                     X4  ;   GOTO NEXT;  ;===================================================┆
0x1f880…1f900 UnusedSector ┆====================  ; LSSTRUCT(LENGTH)      A < B  ; THE STACK TOP IS ASSUMED TO CONTAIN THE ABSOLUTE ; ADDRESS OF A STRUCTURE┆
0x1f900…1f980 UnusedSector ┆ B. THE WORD BELOW THE TOP ; CONTAINS THE ABSOLUTE ADDRESS OF A STRUCTURE A. THE ; 2 ADDRESSES ARE POPPED, AND IF A < B THEN TRU┆
0x1f980…1fa00 UnusedSector ┆E (=1), ; OTHERWISE FALSE (=0), IS PUSHED ON THE STACK.  PCO059:                             ; LSSTRUCT: PTO059:                ┆
0x1fa00…1fa80 UnusedSector ┆             ;         MOV          X5         R1  ;   ST(S) => Y   "RE.B";         ADDC  1                 R5  ;   S+1 => S;   ┆
0x1fa80…1fb00 UnusedSector ┆      MOV          X5         R0  ;   ST(S) => X   "RE.A";         MVP          X4         R2  ;   PG(Q) => LENGTH; PL1059:     ┆
0x1fb00…1fb80 UnusedSector ┆ X "RE.A";         MVP          X4         R2  ;   ST(Q) => LENGTH; PL1062:                             ;   FOR I := 1 TO LENGTH┆
0x1fb80…1fc00 UnusedSector ┆ DO         IEQ          X0         X1  ;      IF ST(X) = ST(Y) THEN         JMP              PL2062     ;         GOTO PL2062 F┆
0x1fc00…1fc80 UnusedSector ┆I;         IGEP         X0         X1  ;      IF ST(X)>="IE.>" ST(Y) THEN         MOVC  1                 X5  ;         TRUE => ┆
0x1fc80…1fd00 UnusedSector ┆ST(S);         JMP              PL3062     ;         GOTO PL3062;         XTR          X5  0          ;      ELSE FALSE => ST(S)┆
0x1fd00…1fd80 UnusedSector ┆;         JMP              PL3062     ;         GOTO PL3062 FI; PL2062:                             ;         INCD         R0   ┆
0x1fd80…1fe00 UnusedSector ┆      R1  ;      INCR(X); INCR(Y);         SOB          R2  PL1062     ;   ROF;         MOVC  1                 X5  ;   TRUE => ┆
0x1fe00…1fe80 UnusedSector ┆ST(S); PL3062:                             ;         JMP              1.     X4  ;   GOTO NEXT;  ;==============================┆
0x1fe80…1ff00 UnusedSector ┆=========================================  ; NESTRUCT(LENGTH)           ( A <> B)  ; THE STACK TOP IS ASSUMED TO CONTAIN THE ABS┆
0x1ff00…1ff80 UnusedSector ┆OLUTE ; ADDRESS OF A STRUCTURE B. THE WORD BELOW THE TOP ; CONTAINS THE ABSOLUTE ADDRESS OF A STRUCTURE A. THE ; 2 ADDRESSES ARE┆
0x1ff80…20000 UnusedSector ┆ POPPED, AND IF A <> B THEN TRUE (=1), ; OTHERWISE FALSE (=0), IS PUSHED ON THE STACK.  PCO063:                             ; NE┆
0x20000…20080 UnusedSector ┆STRUCT: PTO063:                             ;         MOV          X5         R1  ;   ST(S) => Y  "RE.B";         ADDC  1       ┆
0x20080…20100 UnusedSector ┆          R5  ;   S+1 => S;         MOV          X5         R0  ;   ST(S) => X  "RE.A";         MVP          X4         R2  ;   ┆
0x20100…20180 UnusedSector ┆ST(Q) => LENGTH; PL1063:                             ;   FOR I := 1 TO LENGTH DO         INEP         X0         X1  ;      IF S┆
0x20180…20200 UnusedSector ┆                    ;         MOV          X5         R1  ;   ST(S) => Y  "RE.B";         ADDC  1                 R5  ;   S+1 =>┆
0x20200…20280 UnusedSector ┆ S;         MOV          X5         R0  ;   ST(S) => X  "RE.A";         MVP          X4         R2  ;   PG(Q) => LENGTH; PL1061:┆
0x20280…20300 UnusedSector ┆                             ;   FOR I := 1 TO LENGTH DO         IEQ          X0         X1  ;      IF ST(X) = ST(Y) THEN       ┆
0x20300…20380 UnusedSector ┆  JMP              PL2061     ;         GOTO PL2061 FI;         IGEP         X0         X1  ;      IF ST(X)>="IE.>"ST(Y) THEN   ┆
0x20380…20400 UnusedSector ┆      MOVC  1                 X5  ;         TRUE => ST(S);         JMP              PL3061     ;         GOTO PL3061;         XT┆
0x20400…20480 UnusedSector ┆R          X5  0          ;      ELSE FALSE => ST(S);         JMP              PL3061     ;         GOTO PL3061 FI; PL2061:     ┆
0x20480…20500 UnusedSector ┆                        ;         INCD         R0         R1  ;      INCR(X); INCR(Y);         SOB          R2  PL1061     ;   R┆
0x20500…20580 UnusedSector ┆OF;         XTR          X5  0          ;   FALSE => ST(S); PL3061:                             ;         JMP              1.   ┆
0x20580…20600 UnusedSector ┆  X4  ;   GOTO NEXT;  ;=======================================================================  ; NLSTRUCT(LENGTH)           (A ┆
0x20600…20680 UnusedSector ┆>= B)  ; THE STACK TOP IS ASSUMED TO CONTAIN THE ABSOLUTE ; ADDRESS OF A STRUCTURE B. THE WORD BELOW THE TOP ; CONTAINS THE ABSO┆
0x20680…20700 UnusedSector ┆LUTE ADDRESS OF A STRUCTURE A. THE ; 2 ADDRESSES ARE POPPED, AND IF A >= B THEN TRUE (=1), ; OTHERWISE FALSE (=0), IS PUSHED ON ┆
0x20700…20780 UnusedSector ┆THE STACK.  PCO062:                             ; NLSTRUCT: PTO062:                             ;         MOV          X5       ┆
0x20780…20800 UnusedSector ┆  R1  ;   ST(S) => Y  "RE.B";         ADDC  1                 R5  ;   S+1 => S;         MOV          X5         R0  ;   ST(S) =>┆
0x20800…20880 UnusedSector ┆DDC  -2                R5  ;      ELSE S-2 => S;         JMP              PL2065     ;         GOTO PL2065 FI; PL1065:          ┆
0x20880…20900 UnusedSector ┆                   ;   ELSE "KIND = 0"         ADDC  -1                R5  ;      S-1 => S FI; PL2065:                          ┆
0x20900…20980 UnusedSector ┆   ;         JMP              1.     X4  ;   GOTO NEXT;  ;======================================================================┆
0x20980…20a00 UnusedSector ┆=  ; JUMP(DISTANCE)  ; JUMPS LOCATION RELATIVE.  PCO066:                             ; JUMP: PTO066:         MVP          X4    ┆
0x20a00…20a80 UnusedSector ┆     R0  ;   DISTANCE         ADD          R0         R4  ;           +Q => Q;         JMP                     X4  ;   RETURN;  ┆
0x20a80…20b00 UnusedSector ┆ ;=======================================================================  ; FALSEJUMP(DISTANCE)  ; POPS A VALUE (1 WORD) FROM T┆
0x20b00…20b80 UnusedSector ┆HE STACK. IF THIS VALUE ; IS FALSE (=0), THEN THE LOCATION COUNTER IS INCREMENTED ; BY DISTANCE, OTHERWISE BY 1.  PCO067:       ┆
0x20b80…20c00 UnusedSector ┆T(X) <> ST(Y) THEN         MOVC  1                 X5  ;         TRUE => ST(S);         JMP              PL2063     ;         GO┆
0x20c00…20c80 UnusedSector ┆TO PL2063 FI;         INCD         R0         R1  ;      INCR(X); INCR(Y);         SOB          R2  PL1063     ;   ROF;         ┆
0x20c80…20d00 UnusedSector ┆XTR          X5  0          ;   FALSE => ST(S); PL2063:                             ;         JMP              1.     X4  ;   GO┆
0x20d00…20d80 UnusedSector ┆TO NEXT;  ;=======================================================================  ; NGSTRUCT(LENGTH)           (A <= B)  ; THE┆
0x20d80…20e00 UnusedSector ┆ STACK TOP IS ASSUMED TO CONTAIN THE ABSOLUTE ; ADDRESS OF A STRUCTURE B. THE WORD BELOW THE TOP ; CONTAINS THE ABSOLUTE ADDRESS┆
0x20e00…20e80 UnusedSector ┆ OF A STRUCTURE A. THE ; 2 ADDRESSES ARE POPPED, AND IF A <= B THEN TRUE (=1), ; OTHERWISE FALSE (=0), IS PUSHED ON THE STACK.  ┆
0x20e80…20f00 UnusedSector ┆PCO064:                             ; NGSTRUCT: PTO064:                             ;         MOV          X5         R1  ;   ST┆
0x20f00…20f80 UnusedSector ┆(S) => Y  "RE.B";         ADDC  1                 R5  ;   S+1 => S;         MOV          X5         R0  ;   ST(S) => X  "RE.A"; ┆
0x20f80…21000 UnusedSector ┆        MVP          X4         R2  ;   PG(Q) => LENGTH; PL1064:                             ;   FOR I := 1 TO LENGTH DO        ┆
0x21000…21080 UnusedSector ┆ IEQ          X0         X1  ;      IF ST(X) = ST(Y) THEN         JMP              PL2064     ;         GOTO PL2064 FI;         ┆
0x21080…21100 UnusedSector ┆ILTP         X0         X1  ;      IF ST(X) < ST(Y) THEN         MOVC  1                 X5  ;         TRUE => ST(S);         JM┆
0x21100…21180 UnusedSector ┆P              PL3064     ;         GOTO PL3064;         XTR          X5  0          ;      ELSE FALSE => ST(S);         JMP    ┆
0x21180…21200 UnusedSector ┆          PL3064     ;         GOTO PL3064 FI; PL2064:                             ;         INCD         R0         R1  ;      ┆
0x21200…21280 UnusedSector ┆INCR(X); INCR(Y);         SOB          R2  PL1064     ;   ROF;         MOVC  1                 X5  ;   TRUE => ST(S); PL3064:   ┆
0x21280…21300 UnusedSector ┆                          ;         JMP              1.     X4  ;   GOTO NEXT;  ;===============================================┆
0x21300…21380 UnusedSector ┆========================  ; FUNCVALUE(KIND)  ; CASE KIND OF ;    O:           ALLOCATE SPACE FOR 1 WORD; ;    8:           ALLOC┆
0x21380…21400 UnusedSector ┆ATE SPACE FOR 2 WORDS; ;    OTHERWISE:   ERROR; ; END;  PCO065:                             ; FUNCVALUE: PTO065:                ┆
0x21400…21480 UnusedSector ┆             ;         MVP          X4         R0  ;   PG(Q) => KIND;         JOZ          R0  PL1065     ;   IF KIND <> 0 THEN ┆
0x21480…21500 UnusedSector ┆        INE          R0  8          ;      IF KIND <> 8 THEN         JMP              PCRANG     ;         RANGEERROR;         A┆
0x21500…21580 UnusedSector ┆    R0  ;   PG(Q) => DISTANCE;         ADDC  -1                R5  ;   S-1 => S;         MOV          R4         X5  ;   Q => ST┆
0x21580…21600 UnusedSector ┆                      ; FALSEJUMP: PTO067:         JON          X5  PL1067     ;   IF ST(S) = FALSE THEN         MVP          X4┆
0x21600…21680 UnusedSector ┆         R0  ;      DISTANCE         ADD          R0         R4  ;              +Q => Q;         ADDC  1                 R5  ;  ┆
0x21680…21700 UnusedSector ┆    S+1 => S;         JMP                     X4  ;      RETURN; PL1067:                             ;   ELSE         ADDC  1   ┆
0x21700…21780 UnusedSector ┆              R5  ;      S+1 => S;         JMP              1.     X4  ;      RETURN FI;   ;====================================┆
0x21780…21800 UnusedSector ┆===================================  ; CASEJUMP(MIN, MAX-MIN, DISTANCES)  ; POPS A VALUE FROM THE STACK. ; CHECKS THAT IT IS WIT┆
0x21800…21880 UnusedSector ┆HIN LIMITS, AND JUMPS TO ONE ; OF A LIST OF LABELS FOLLOWING THE INSTRUCTION.  PCO068:                             ; CASEJUMP: P┆
0x21880…21900 UnusedSector ┆TO068:                             ;         MVP          X4         R0  ;   PG(Q) => MIN;         SUB          R0         X5  ;┆
0x21900…21980 UnusedSector ┆   ST(S)-MIN => ST(S);         ILT          X5  0          ;   IF ST(S) < 0 THEN         JMP              PCRANG     ;      RANG┆
0x21980…21a00 UnusedSector ┆EERROR;         MVP   1.     X4         R1  ;   PG(Q+1) => MAX-MIN;         ILT          R1         X5  ;   IF MAX-MIN < ST(S) T┆
0x21a00…21a80 UnusedSector ┆HEN         JMP              PCRANG     ;      RANGEERROR FI;         ADDC  2                 R4  ;   Q+2 => Q "REF FIRST DISTAN┆
0x21a80…21b00 UnusedSector ┆CE";         ADD          X5         R4  ;   Q+DISPL => Q;         MVP          X4         R0  ;         ADD          R0        ┆
0x21b00…21b80 UnusedSector ┆ R4  ;   Q+PG(Q) => Q;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;==┆
0x21b80…21c00 UnusedSector ┆=====================================================================  ; INITVAR(LENGTH)  ; INITIALIZES THE VARIABLES OF A ROUTI┆
0x21c00…21c80 UnusedSector ┆NE TO 0.  PCO069:                             ; INITVAR: PTO069:                             ;         MVP          X4         R┆
0x21c80…21d00 UnusedSector ┆0  ;   PG(Q) => LENGTH;         JOZ          R0  PL2069     ;   IF LENGTH=0 THEN GOTO PL2069 FI;         MOV          R5        ┆
0x21d00…21d80 UnusedSector ┆ R1  ;   S => X; PL1069:                             ;   FOR I := 1 TO LENGTH DO         XTR          X1  0          ;      0 =>┆
0x21d80…21e00 UnusedSector ┆ ST(X);         ADDC  1                 R1  ;      X+1 => X;         SOB          R0  PL1069     ;   ROF; PL2069:               ┆
0x21e00…21e80 UnusedSector ┆              ;         JMP              1.     X4  ;   GOTO NEXT;  ;===========================================================┆
0x21e80…21f00 UnusedSector ┆============  ; CALL(DISTANCE)  ; LOCAL ROUTINE CALL. ; THE ADDRESS OF THE NEXT INSTRUCTION IS PUSHED ON ; THE STACK. A LOCATION┆
0x21f00…21f80 UnusedSector ┆ RELATIVE JUMP IS PERFORMED.  PCO070:                             ; CALL: PTO070:                             ;         MVP     ┆
0x21f80…22000 UnusedSector ┆     X4         R0  ;   PG(Q) => DISTANCE;         ADDC  -1                R5  ;   S-1 => S;         MOV          R4         X5 ┆
0x22000…22080 UnusedSector ┆ ;   Q => ST(S);         INC                     X5  ;   ST(S)+1 => ST(S);         MOV          R0         R4  ;   DISTANCE => Q┆
0x22080…22100 UnusedSector ┆;         JMP                     X4  ;   GOTO NEXT;  ;=======================================================================  ┆
0x22100…22180 UnusedSector ┆    IF OLDVERSUP THEN ; LOCAL ROUTINE CALL. ; THE ADDRESS OF THE NEXT INSTRUCTION IS PUSHED ON ; THE STACK. A LOCATION DIRECT JU┆
0x22180…22200 UnusedSector ┆MP IS PERFORMED.  PCG070:                             ; CALL: PTG070:                             ;         MVP          X4     ┆
0x22200…22280 UnusedSector ┆THEN         JMP              PL1072     ;      GOTO PL1072 FI;         MOV          R4         R0  ;   "THE PRINT ENTER TRACE R┆
0x22280…22300 UnusedSector ┆OUTINE                                     ;    REQUIRES Q IN R0";         JMP          S4  PPE080     ;   "JUMP TO ENTER-TRACE ┆
0x22300…22380 UnusedSector ┆ROUTINE";         MOV          R0         R4  ;   "RESTORE Q"; PL1072:                             ; FI         MOV          R5 ┆
0x22380…22400 UnusedSector ┆        R0  ;   S => X;         MOV   HEAPTOP           R1  ;   ST(HEAPTOP) => Y;         SUB          R1         R0  ;   X-Y =>┆
0x22400…22480 UnusedSector ┆ X;         MVP          X4         R1  ;   PG(Q) => STACKLENGTH;         ILO          R0         R1  ;   IF X < "U" STACKLENGTH┆
0x22480…22500 UnusedSector ┆ THEN         JMP              PCSTAC     ;      GOTO STACKLIMIT FI;         ADDC  -3                R5  ;   S-3 => S;         M┆
0x22500…22580 UnusedSector ┆OV          R3  2.     X5  ;   G => ST(S+2);         MOV          R6  1.     X5  ;   B => ST(S+1);         MOV          R5      ┆
0x22580…22600 UnusedSector ┆   X5  ;   S => ST(S);         MVP   1.     X4         R0  ;   POPLENGTH         ADD          R0         X5  ;            +ST(S)┆
0x22600…22680 UnusedSector ┆ => ST(S);         ADDC  -1                R5  ;   S-1 => S;         MVP   2.     X4         R0  ;   LINE         MOV          R┆
0x22680…22700 UnusedSector ┆0         X5  ;        => ST(S);         MOV          R5         R6  ;   S => B;         MVP   3.     X4         R0  ;   PG(Q+3)┆
0x22700…22780 UnusedSector ┆ => VARLENGTH;         SUB          R0         R5  ;   S-VARLENGTH => S;         JMP              4.     X4  ;   GOTO NEXT;  ;==┆
0x22780…22800 UnusedSector ┆=====================================================================  ; EXIT  ; EXIT FROM A PROCEDURE OR FUNCTION.  PCO073:    ┆
0x22800…22880 UnusedSector ┆                         ; EXIT: PTO073:                             ; IF DBTRAC>3 THEN         MOV   TRMASK            R7  ;   ┆
0x22880…22900 UnusedSector ┆      JOZ          R7  PL1073     ;   IF NOT TRACE THEN GOTO PL1073;         MOV          R5         R2  ;         SUB   HEAPTOP┆
0x22900…22980 UnusedSector ┆           R2  ;         MOV   MINFREE           R1  ;         ILO          R2         R1  ;         MOV          R2  MINFREE   ┆
0x22980…22a00 UnusedSector ┆ ;         IBZ          R7  3          ;   IF NOT EXIT-TRACE THEN         JMP              PL1073     ;      GOTO PL1073 FI;    ┆
0x22a00…22a80 UnusedSector ┆     MOV          R4         R0  ;   "THE PRINT EXIT TRACE ROUTINE                                     ;   REQUIRES Q IN R0";   ┆
0x22a80…22b00 UnusedSector ┆      JMP          S4  PPE085     ;   "JUMP TO EXIT-TRACE ROUTINE";         MOV          R0         R4  ;   "RESTORE Q"; PL1073:┆
0x22b00…22b80 UnusedSector ┆                             ; FI         MOV          R6         R7  ;   B => X;         MOV   1.     X7         R5  ;   ST(X+1┆
0x22b80…22c00 UnusedSector ┆) => S;         MOV   2.     X7         R6  ;   ST(X+2) => B;         MOV   3.     X7         R3  ;   ST(X+3) => G;         MOV ┆
0x22c00…22c80 UnusedSector ┆  4.     X7         R4  ;   ST(X+4) => Q;         JMP                     X4  ;   GOTO NEXT;  ;=================================┆
0x22c80…22d00 UnusedSector ┆(S);         INC                     X5  ;   ST(S)+1 => ST(S);         ADD          R0         R4  ;   Q + DISTANCE => Q;       ┆
0x22d00…22d80 UnusedSector ┆  JMP                     X4  ;   GOTO NEXT;      FI  ;=======================================================================  ┆
0x22d80…22e00 UnusedSector ┆; ENTER(STACKLENGTH, POPLENGTH, LINE, VARLENGTH)  ; ENTRY TO A PROCEDURE OR A FUNCTION. ; BUILDS THE DYNAMIC LINK.  PCO072:     ┆
0x22e00…22e80 UnusedSector ┆                        ; ENTER: PTO072:                             ; IF DBTRAC>1 THEN         MOV   TRMASK            R7  ;   ┆
0x22e80…22f00 UnusedSector ┆      JOZ          R7  PL1072     ;   IF NOT TRACE THEN GOTO PL1072;         IBZ          R7  1          ;   IF NOT ENTER-TRACE ┆
0x22f00…22f80 UnusedSector ┆==================================================  ; EXITPROG  ; EXIT FROM A SEQUENTIAL PROGRAM.  PCO075:                      ┆
0x22f80…23000 UnusedSector ┆       ; EXITPROG: PTO075:                             ;         JMP              PCTERM     ;   GOTO TERMINATED;  ;============┆
0x23000…23080 UnusedSector ┆===========================================================  ; POP(LENGTH)  ; POPS LENGTH WORDS FROM THE STACK.  PCO088:        ┆
0x23080…23100 UnusedSector ┆                     ; POP: PTO088:         MVP          X4         R0  ;   LENGTH         ADD          R0         R5  ;        ┆
0x23100…23180 UnusedSector ┆ +S => S;         JMP              1.     X4  ;   RETURN;   ;===================================================================┆
0x23180…23200 UnusedSector ┆====  ; NEWLINE(NUMBER)  ; STORES A NEW LINE NUMBER.  PCO089:                             ; NEWLINE: PTO089:                    ┆
0x23200…23280 UnusedSector ┆         ;         MVP          X4         R0  ;   NUMBER         MOV          R0         X6  ;          => ST(B);         MOV  ┆
0x23280…23300 UnusedSector ┆ TRMASK            R7  ;         IBZ          R7  5          ;   IF NOT LINE_STATISTICS THEN         JMP              PL1089    ┆
0x23300…23380 UnusedSector ┆ ;      GOTO PL1089 FI;         MOV   XLINESTA          R7  ;   IF NO LINESTATISTICS AREA THEN         JOZ          R7  PL1089  ┆
0x23380…23400 UnusedSector ┆   ;     GOTO PL1089;         ADD          R0         R0  ;   2*NUMBER+         ADD   XLINESTA          R0  ;            LINESTA┆
0x23400…23480 UnusedSector ┆ => X;         MOVC  0                 R1  ;         MOVC  1                 R2  ;         ADD          R2         X0  ;   INCR(┆
0x23480…23500 UnusedSector ┆LINESTA(X)) "LEAST SIGNIF";         ADDU         R1  1.     X0  ;   "ADD CARRY TO MOST SIGNIFICANT"; PL1089:                    ┆
0x23500…23580 UnusedSector ┆         ;         JMP              1.     X4  ;   GOTO NEXT;  ;================================================================┆
0x23580…23600 UnusedSector ┆=======  ; INCRWORD  ; THE STACK TOP ELEMENT CONTAINS AN ABSOLUTE ADDRESS. ; THE ABSOLUTE ADDRESS IS POPPED AND ; THE WORD REFER┆
0x23600…23680 UnusedSector ┆ENCED BY THAT ADDRESS IS INCREMENTED.  PCO090:                             ; INCRWORD: PTO090:         MOV          X5         R┆
0x23680…23700 UnusedSector ┆======================================  ; ENTERPROG(POPLENGTH, LINE, STACKLENGTH, VARLENGTH)  ; ENTRY TO A SEQUENTIAL PROGRAM.  ┆
0x23700…23780 UnusedSector ┆PCO074:                             ; ENTERPROG: PTO074:                             ;         ADDC  -3                R5  ;   S┆
0x23780…23800 UnusedSector ┆-3 => S;         MOV          R3  2.     X5  ;   G => ST(S+2);         MOV          R6  1.     X5  ;   B => ST(S+1);         MOV┆
0x23800…23880 UnusedSector ┆          R5         X5  ;   S => ST(S);         MVP          X4         R0  ;   POPLENGTH         ADD          R0         X5  ;┆
0x23880…23900 UnusedSector ┆            +ST(S) => ST(S);         ADDC  -1                R5  ;   S-1 => S;         MVP   1.     X4         R0  ;   LINE     ┆
0x23900…23980 UnusedSector ┆    MOV          R0         X5  ;        => ST(S);         MOV          R5         R6  ;   S => B;         MOV          R6      ┆
0x23980…23a00 UnusedSector ┆   R3  ;   B => G;         MOV   GTOP              R0  ;         MOV          R0  1.     X5  ;         MOV          R5         R┆
0x23a00…23a80 UnusedSector ┆0  ;   S => X;         MOV   HEAPTOP           R1  ;   ST(HEAPTOP) => Y;         SUB          R1         R0  ;   X-Y => X;      ┆
0x23a80…23b00 UnusedSector ┆   MVP   2.     X4         R1  ;   PG(Q+2) => STACKLENGTH;         ILO          R0         R1  ;   IF X < "U" STACKLENGTH       ┆
0x23b00…23b80 UnusedSector ┆  JMP              PCSTAC     ;      THEN GOTO STACKLIMIT FI;         MVP   3.     X4         R0  ;   PG(Q+3) => VARLENGTH;     ┆
0x23b80…23c00 UnusedSector ┆    SUB          R0         R5  ;   S-VARLENGTH => S;         JMP              4.     X4  ;   GOTO NEXT;  ;=====================┆
0x23c00…23c80 UnusedSector ┆                     X5  ;      ELSE -ST(S) => ST(S) FI; PL1098:                             ;   FI;         JMP                ┆
0x23c80…23d00 UnusedSector ┆     X4  ;   GOTO NEXT;  ;=======================================================================  ; ABSLONG  ; REPLACES THE LON┆
0x23d00…23d80 UnusedSector ┆G INTEGER (2 WORDS) AT THE ; STACK TOP BY ITS ABSOLUTE VALUE.  PCO099:                             ; ABSLONG: PTO099:           ┆
0x23d80…23e00 UnusedSector ┆                  ;         MOV   1.     X5         R1  ;   ST(S+1) => MOST;         IGE          R1  0          ;   IF MOST >= ┆
0x23e00…23e80 UnusedSector ┆0 THEN         JMP              PL1099     ;      THEN GOTO PL1099 FI;         MOV          X5         R0  ;   ST(S) => LEAST;  ┆
0x23e80…23f00 UnusedSector ┆       IEQP         R1  #8000      ;   IF MOST = #8000         IEQ          R0  0          ;      AND LEAST = 0 THEN         JMP┆
0x23f00…23f80 UnusedSector ┆              PCOVER1    ;      OVERFLOW FI;         INV                     R1  ;   INV(MOST) => MOST;         INV             ┆
0x23f80…24000 UnusedSector ┆        R0  ;   INV(LEAST) => LEAST;         ADDC  1                 R0  ;   LEAST+1 => LEAST;         MOVC  0                 R┆
0x24000…24080 UnusedSector ┆2  ;   0         ADDU         R2         R1  ;    +CARRY+MOST => MOST;         MOVL         R01        X55 ;   LEAST,MOST => ST(┆
0x24080…24100 UnusedSector ┆7  ;   ST(S) => X;         INC                     X7  ;   ST(X)+1 => ST(X);         ADDC  1                 R5  ;   S+1 => S;  ┆
0x24100…24180 UnusedSector ┆       JMP                     X4  ;   RETURN;   ;=======================================================================  ; DEC┆
0x24180…24200 UnusedSector ┆RWORD  ; THE STACK TOP ELEMENT CONTAINS AN ABSOLUTE ADDRESS. ; THE ABSOLUTE ADDRESS IS POPPED AND ; THE WORD REFERENCED BY THAT ┆
0x24200…24280 UnusedSector ┆ADDRESS IS DECREMENTED.  PCO091:                             ; DECRWORD: PTO091:         MOV          X5         R7  ;   ST(X) =┆
0x24280…24300 UnusedSector ┆> X;         DEC                     X7  ;   ST(X)-1 => ST(X);         ADDC  1                 R5  ;   S+1 => S;         JMP    ┆
0x24300…24380 UnusedSector ┆                 X4  ;   RETURN;  ;=======================================================================  ; TRUNCLONG  ; POPS ┆
0x24380…24400 UnusedSector ┆A LONG INTEGER (2 WORDS) FROM THE STACK. TRUNCATES ; IT AND PUSHES THE VALUE ON THE STACK AS AN INTEGER (1 WORD).  PCO097:      ┆
0x24400…24480 UnusedSector ┆                       ; TRUNCLONG: PTO097:                             ;         MOVL         X5         R01 ;   ST(S),ST(S+1) ┆
0x24480…24500 UnusedSector ┆=> LEAST,MOST;         SLT          R0  0          ;   IF LEAST < 0         JMP              PL1097     ;                THEN   ┆
0x24500…24580 UnusedSector ┆      INE          R1  -1         ;      IF MOST <> -1 THEN         JMP              PCOVER1    ;         OVERFLOW;         JMP ┆
0x24580…24600 UnusedSector ┆             PL2097     ;      FI; PL1097:                             ;   ELSE "LEAST >= 0"         INE          R1  0         ┆
0x24600…24680 UnusedSector ┆ ;      IF MOST <> 0 THEN         JMP              PCOVER1    ;         OVERFLOW FI; PL2097:                             ;   FI;┆
0x24680…24700 UnusedSector ┆         ADDC  1                 R5  ;   S+1 => S;         MOV          R0         X5  ;   LEAST => ST(S);         JMP          ┆
0x24700…24780 UnusedSector ┆           X4  ;   GOTO NEXT;  ;=======================================================================  ; ABSWORD  ; REPLACES T┆
0x24780…24800 UnusedSector ┆HE STACK TOP ELEMENT (1 WORD) ; BY ITS ABSOLUTE VALUE.  PCO098:                             ; ABSWORD: PTO098:                  ┆
0x24800…24880 UnusedSector ┆           ;         SLT          X5  0          ;   IF ST(S) < 0         JMP              PL1098     ;                THEN     ┆
0x24880…24900 UnusedSector ┆    IEQ          X5  #8000      ;      IF ST(S) = -32768 THEN         JMP              PCOVER1    ;         OVERFLOW         NEG┆
0x24900…24980 UnusedSector ┆ ; ░ONVW ░D: P ░102: ░     ░     ░     ░     ░   ; ░     ░ MOV ░     ░  X5 ░     ░ R0  ░   S ░S) = ░LEAS ░     ░   X ░     ░    ┆
0x24980…24a00 UnusedSector ┆ ░  0  ░     ░ ;   ░ =>  ░ST;  ░     ░ILT  ░     ░ R0  ░     ░0    ░  IF ░EAST ░ 0 T ░N    ░     ░VC   ░     ░     ░     ░  ;  ░┆
0x24a00…24a80 UnusedSector ┆   - ░=> M ░T FI ░     ░  AD ░  -1 ░     ░     ░  R5 ░;    ░1 => ░;    ░     ░V          R0         X5  ;   LEAST => ST(S);     ┆
0x24a80…24b00 UnusedSector ┆S),ST(S+1); PL1099:                             ;         JMP                     X4  ;   GOTO NEXT;  ;=========================┆
0x24b00…24b80 UnusedSector ┆==============================================  ; SUCCWORD  ; INCREMENTS THE TOP STACK ELEMENT.  PCO100:                        ┆
0x24b80…24c00 UnusedSector ┆     ; SUCCWORD: PTO100:         INC                     X5  ;   ST(S)+1 => ST(S);         JMP                     X4  ;   RETUR┆
0x24c00…24c80 UnusedSector ┆N;   ;=======================================================================  ; PREDWORD  ; DECREMENTS THE TOP STACK ELEMENT.  ┆
0x24c80…24d00 UnusedSector ┆PCO101:                             ; PREDWORD: PTO101:         DEC                     X5  ;   ST(S)-1 => ST(S);         JMP   ┆
0x24d00…24d80 UnusedSector ┆                  X4  ;   RETURN;   ;=======================================================================  ; CONVWORD  ; POPS┆
0x24d80…24e00 UnusedSector ┆ AN INTEGER FROM THE STACK, AND PUSHES THE ; LONG INTEGER WITH THE SAME VALUE ON THE STACK.  PCO102:                            ┆
0x24e00…24e80 UnusedSector ┆ ; CONVWORD: PTO102:                             ;         MOV          X5         R0  ;   ST(S) => LEAST;         XTR          ┆
0x24e80…24f00 UnusedSector ┆X5  0          ;   0 => MOST;         ILT          R0         0   ;   IF LEAST < 0 THEN         MOVC  -1                X5  ;   ┆
0x24f00…24f80 UnusedSector ┆   -1 => MOST FI;         ADDC  -1                R5  ;   S-1 => S;         MOV          R0         X5  ;   LEAST => ST(S);     ┆
0x24f80…25000 UnusedSector ┆    JMP                     X4  ;   GOTO NEXT;  ;=======================================================================    $PAS┆
0x25000…25080 UnusedSector ┆RTS.CODES4.S     ; CALLSYS(ENTRY)  ; CALL OF A PREFIX SUBROUTINE. THEY ARE NUMBERED 0, 1, 2, ... ; IN ORDER OF APPEARANCE IN THE┆
0x25080…25100 UnusedSector ┆ PREFIX. THE PROGRAM ; COUNTER Q (R4) IS SET TO POINT TO THE FOLLOWING INSTRUCTION.  PCO071:                             ; CALLS┆
0x25100…25180 UnusedSector ┆YS: PTO071:                             ;         MVP          X4         R1  ;   PG(Q) => ENTRY;         ADDC  1               ┆
0x25180…25200 UnusedSector ┆  R4  ;   Q+1 => Q; IF DBTRAC>2 THEN         MOV   TRMASK            R7  ;         JOZ          R7  PL1071     ;   IF NOT TRACE ┆
0x25200…25280 UnusedSector ┆THEN GOTO PL1071;         IBZ          R7  2          ;   IF NOT PREFIX-TRACE THEN         JMP              PL1071     ;      GO┆
0x25280…25300 UnusedSector ┆TO PL1071 FI;         MOV          R4         R0  ;   "THE PRINT PREFIX TRACE                                     ;   ROUTINE RE┆
0x25300…25380 UnusedSector ┆QUIRES Q IN R0";         MOV          R1  REGS7      ;   "THE PRINT PREFIX TRACE ROUTINE                                     ;  ┆
0x25380…25400 UnusedSector ┆  REQUIRES ENTRY IN REGS7";         JMP          S4  PPE090     ;   "JUMP TO PREFIX-TRACE ROUTINE";         MOV          R0     ┆
0x25400…25480 UnusedSector ┆    R4  ;   "RESTORE Q";         MOV   REGS7             R1  ;   "RESTORE ENTRY"; PL1071:                             ; FI      ┆
0x25480…25500 UnusedSector ┆   MOD          R1             ;   GOTO         JMP              PCJUMPTAB  ;       (PCJUMPTAB+ENTRY); ;========================┆
0x25500…25580 UnusedSector ┆=============================================== Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x25580…25600 UnusedSector ┆  N IN   q  9          ░ H     \   ░ES T ░ ; L ░G IN ░GER  ░TH T ░ SAM ░VALU ░ON T ░ STA ░.  P ░102: ░     ░     ░     ░     ░  ┆
0x25600…25680 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x25680…25700 UnusedSector ┆ ;----------------------------------------------------------------------- ; PROCEDURE OUTTEXT(S: STREAM; UNPACKED_TEXT: TEXT; VA┆
0x25700…25780 UnusedSector ┆R CC: COMPLETIONC) ; THE UNPACKED TEXT IS PACKED IN THE FREE SPACE BETWEEN THE STACK AND ; THE HEAP. THEN OUTTEXTB IS CALLED. PP┆
0x25780…25800 UnusedSector ┆R154:                             ; OUTTEXT:         MOV          R3  REGS3      ;   SAVE(G);         MOV          R4  REGS4    ┆
0x25800…25880 UnusedSector ┆  ;   SAVE(Q);         MOV          R6  REGS6      ;   SAVE(B);         MOV   HEAPTOP           R6  ;   "SET PACKED BASE"       ┆
0x25880…25900 UnusedSector ┆  MOV          R5         R3  ;   S         SUB          R6         R3  ;     - HEAPTOP => FREE_WORDS;         IBZ          R3  ┆
0x25900…25980 UnusedSector ┆15         ;   IF FREE_WORDS.BIT15 = 0 THEN         SLL          R3  1          ;      FREE_WORDS*2 => FREE_BYTES               ┆
0x25980…25a00 UnusedSector ┆                      ;   ELSE FREE_WORDS => FREE_BYTES;         MOVC  0                 R7  ;   0 => Y;         MOV   1.     X5┆
0x25a00…25a80 UnusedSector ┆         R1  ;   REF(UNPACKED_TEXT) => X; PPX154:                             ;   REPEAT         MOV          X1         R2  ;  ┆
0x25a80…25b00 UnusedSector ┆   UNPACKED(X).RIGHTBYTE         MOD          R6             ;         MOVB         R2         X7  ;     => PACKED.BYTE(Y);     ┆
0x25b00…25b80 UnusedSector ┆    INCD         R1         R7  ;     INCR(X); INCR(Y);         IHS          R7         R3  ;     IF Y >="US" FREE_BYTES THEN   ┆
0x25b80…25c00 UnusedSector ┆      JMP              PCSTAC     ;       STACK_LIMIT;         INE          R2  0          ;         JMP              PPX154    ┆
0x25c00…25c80 UnusedSector ┆ ;   UNTIL LAST MOVED CHAR = '(:0:)';         MOV   2.     X5         R4  ;   ST(S+2) => STREAM;         MON   STREAM,    OUTTEX┆
0x25c80…25d00 UnusedSector ┆TB   ;   OUTTEXTB(         NOP                         ;     ERROR: NOP; DONE: CONTINUE);         MOV          X5         R6  ; ┆
0x25d00…25d80 UnusedSector ┆  ST(S) => REF(CC);         MOV          R7         X6  ;   COMPLCODE => CC;         MOV   REGS3             R3  ;   RESTORE(G);┆
0x25d80…25e00 UnusedSector ┆         MOV   REGS4             R4  ;   RESTORE(Q);         MOV   REGS6             R6  ;   RESTORE(B);         ADDC  3        ┆
0x25e00…25e80 UnusedSector ┆         R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;------------------------------------------------┆
0x25e80…25f00 UnusedSector ┆----------------------- ; PROCEDURE OUTHEXA(S: STREAM; INT: UNIV INTEGER; ;    COMMAND_CHAR: CHAR; VAR CC: COMPLETION_CODE); ; T┆
0x25f00…25f80 UnusedSector ┆HE IO SYSTEM PROCEDURE OUTHEXA IS CALLED. PPR156:                             ; OUTHEXA:         MOV          R3  REGS3      ;  ┆
0x25f80…26000 UnusedSector ┆ SAVE(G);         MOV          R4  REGS4      ;   SAVE(Q);         MOV   1.     X5         R3  ;   ST(S+1) => CHAR;         MOV ┆
0x26000…26080 UnusedSector ┆  2.     X5         R2  ;   ST(S+2) => WORD;         MOV   3.     X5         R4  ;   ST(S+3) => STREAM;         MON   STREAM,   ┆
0x26080…26100 UnusedSector ┆ OUTHEXA    ;   OUTHEXA(         NOP                         ;     ERROR: NOP; DONE: CONTINUE);         MOV          X5         ┆
0x26100…26180 UnusedSector ┆R2  ;   ST(S) => REF(CC);         MOV          R7         X2  ;   COMPLCODE => CC;         MOV   REGS3             R3  ;   RESTO┆
0x26180…26200 UnusedSector ┆Z Z ,   -   .   /   0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ?   @   A   B   C   D   E   F   G   H   I   J   ┆
0x26200…26280 UnusedSector ┆K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _   `   a   b   c   d   e   f   g   h   i   j   ┆
0x26280…26300 UnusedSector ┆k   l   m   n   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x26300…26380 UnusedSector ┆REF(CC);         MOV          R7         X2  ;   COMPLCODE => CC;         MOV   REGS3             R3  ;   RESTORE(G);         MO┆
0x26380…26400 UnusedSector ┆V   REGS4             R4  ;   RESTORE(Q);         ADDC  4                 R5  ;   S+4 => S;         JMP                     X4  ┆
0x26400…26480 UnusedSector ┆;   GOTO NEXT;  ;----------------------------------------------------------------------- ; PROCEDURE OUTLONG_INTEGER(S: STREAM; ┆
0x26480…26500 UnusedSector ┆LINT: UNIV LONG_INTEGER; ;    OUTPUT_MODE: UNIV INTEGER; VAR CC: COMPLETION_CODE); ; THE IO SYSTEM PROCEDURE OUTLONG_INTEGER IS ┆
0x26500…26580 UnusedSector ┆CALLED. PPR158:                             ; OUTLONG_INTEGER:         MOV          R3  REGS3      ;   SAVE(G);         MOV     ┆
0x26580…26600 UnusedSector ┆     R4  REGS4      ;   SAVE(Q);         MOV   HEAPTOP           R0  ;         MOV          R5         R1  ;   S         SUB    ┆
0x26600…26680 UnusedSector ┆      R0         R1  ;     - HEAPTOP => FREE_WORDS;         ILO          R1  12         ;   IF FREE_WORDS < 12 THEN         JMP ┆
0x26680…26700 UnusedSector ┆             PCSTAC     ;      STACK_LIMIT;         MOV   1.     X5         R3  ;   ST(S+1) => MODE;         MOVL  2.     X5    ┆
0x26700…26780 UnusedSector ┆     R12 ;   ST(S+2) => WORD(LEAST SIGN);                                     ;   ST(S+3) => WORD(MOST SIGN);         MOV   4.  ┆
0x26780…26800 UnusedSector ┆   X5         R4  ;   ST(S+4) => STREAM;         MON   STREAM,    OUTLONGINTEGER;OUTLONG_INTEGER(         NOP                   ┆
0x26800…26880 UnusedSector ┆      ;   ERROR: NOP; DONE: CONTINUE);         MOV          X5         R2  ;   ST(S) => REF(CC);         MOV          R7        ┆
0x26880…26900 UnusedSector ┆ X2  ;   COMPLCODE => CC;         MOV   REGS3             R3  ;   RESTORE(G);         MOV   REGS4             R4  ;   RESTORE(Q)┆
0x26900…26980 UnusedSector ┆;         ADDC  5                 R5  ;   S+5 => S;         JMP                     X4  ;   GOTO NEXT;  ;-----------------------┆
0x26980…26a00 UnusedSector ┆------------------------------------------------ ; PROCEDURE OUTNL(S: STREAM; VAR CC: COMPLETION_CODE); ; THE IO SYSTEM PROCEDUR┆
0x26a00…26a80 UnusedSector ┆E OUTNL IS CALLED. PPR159:                             ; OUTNL:         MOV          R3  REGS3      ;   SAVE(G);         MOV    ┆
0x26a80…26b00 UnusedSector ┆      R4  REGS4      ;   SAVE(Q);         MOV   1.     X5         R4  ;   ST(S+1) => STREAM;         MON   STREAM,    OUTNL     ┆
0x26b00…26b80 UnusedSector ┆ ;   OUTNL(         NOP                         ;     ERROR: NOP; DONE: CONTINUE);         MOV          X5         R4  ;   ST(S)┆
0x26b80…26c00 UnusedSector ┆RE(G);         MOV   REGS4             R4  ;   RESTORE(Q);         ADDC  4                 R5  ;   S+4 => S;         JMP        ┆
0x26c00…26c80 UnusedSector ┆             X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ; PROCEDURE OUTINTEGER┆
0x26c80…26d00 UnusedSector ┆(S: STREAM; INT: UNIV INTEGER; ;    OUTPUT_MODE: UNIV INTEGER; VAR CC: COMPLETION_CODE); ; THE IO SYSTEM PROCEDURE OUTINTEGER IS┆
0x26d00…26d80 UnusedSector ┆ CALLED. PPR157:                             ; OUTINTEGER:         MOV          R3  REGS3      ;   SAVE(G);         MOV         ┆
0x26d80…26e00 UnusedSector ┆ R4  REGS4      ;   SAVE(Q);         MOV   HEAPTOP           R0  ;         MOV          R5         R1  ;   S         SUB        ┆
0x26e00…26e80 UnusedSector ┆  R0         R1  ;     - HEAPTOP => FREE_WORDS;         ILO          R1  7          ;   IF FREE_WORDS < 7 THEN         JMP      ┆
0x26e80…26f00 UnusedSector ┆        PCSTAC     ;      STACK_LIMIT;         MOV   1.     X5         R3  ;   ST(S+1) => MODE;         MOV   2.     X5         ┆
0x26f00…26f80 UnusedSector ┆R2  ;   ST(S+2) => WORD;         MOV   3.     X5         R4  ;   ST(S+3) => STREAM;         MON   STREAM,    OUTINTEGER ;   OUTI┆
0x26f80…27000 UnusedSector ┆NTEGER(         NOP                         ;     ERROR: NOP; DONE: CONTINUE);         MOV          X5         R2  ;   ST(S) => ┆
0x27000…27080 UnusedSector ┆                     ; ADD:         MOV   1.     X5         R0  ;   A         ADD          X5         R0  ;    +B => X;         ┆
0x27080…27100 UnusedSector ┆ADDC  2                 R5  ;   S+2 => S;         MOV          R0         X5  ;   X => ST(S);         JMP                     X4┆
0x27100…27180 UnusedSector ┆  ;   GOTO NEXT  ;----------------------------------------------------------------------- ; FUNCTION SUBTRACT(A, B: INTEGER): IN┆
0x27180…27200 UnusedSector ┆TEGER; ; THE FUNCTION RESULT IS A-B. THE ARGUMENTS ARE ; UNSIGNED INTEGERS. NO TEST FOR OVERFLOW. PPR164:                       ┆
0x27200…27280 UnusedSector ┆      ; SUBTRACT:         MOV   1.     X5         R0  ;   A         SUB          X5         R0  ;    -B => X;         ADDC  2   ┆
0x27280…27300 UnusedSector ┆              R5  ;   S+2 => S;         MOV          R0         X5  ;   X => ST(S);         JMP                     X4  ;   GOTO┆
0x27300…27380 UnusedSector ┆ NEXT;  ;----------------------------------------------------------------------- ; PROCEDURE SPLIT_LONG(L: LONG_INTEGER; VAR LEA┆
0x27380…27400 UnusedSector ┆ST, MOST: INTEGER); ; THE LONG_INTEGER IS SPLIT. THE 16 LEAST SIGNIFICANT BITS ARE ; DELIVERED IN THE PARAMETER LEAST AND THE 16┆
0x27400…27480 UnusedSector ┆ MOST SIGNIFICANT ; BITS ARE DELIVERED IN THE PARAMETER MOST. PPR165:                             ; SPLIT_LONG:         MOVL  2.┆
0x27480…27500 UnusedSector ┆     X5         R01 ;   L.LEASTSIGN=>R0; L.MOSTSIGN=>R1;         MOV   1.     X5         R7  ;   ST(S+1) => REF(LEAST);         ┆
0x27500…27580 UnusedSector ┆MOV          R0         X7  ;   L.LEASTSIGN => LEAST;         MOV          X5         R7  ;   ST(S) => REF(MOST);         MOV   ┆
0x27580…27600 UnusedSector ┆ => REF(CC);         MOV          R7         X4  ;   COMPLCODE => CC;         MOV   REGS3             R3  ;   RESTORE(G);       ┆
0x27600…27680 UnusedSector ┆  MOV   REGS4             R4  ;   RESTORE(Q);         ADDC  2                 R5  ;   S+2 => S;         JMP                     ┆
0x27680…27700 UnusedSector ┆X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ; FUNCTION FREE_SPACE: INTEGER; ; T┆
0x27700…27780 UnusedSector ┆HE FUNCTION RETURN VALUE IS THE NUMBER OF WORDS ; BETWEEN THE STACK AND THE HEAP. PPR160:                             ; FREE_SPA┆
0x27780…27800 UnusedSector ┆CE:         MOV   HEAPTOP           R0  ;         MOV          R5         R1  ;   S         SUB          R0         R1  ;     - ┆
0x27800…27880 UnusedSector ┆HEAPTOP         MOV          R1         X5  ;   => ST(S);         JMP                     X4  ;   GOTO NEXT;  ;-----------------┆
0x27880…27900 UnusedSector ┆------------------------------------------------------ ; FUNCTION CONTENTS(BASE_REL_ADDR: LONG_INTEGER): INTEGER; ; THE FUNCTION┆
0x27900…27980 UnusedSector ┆ RETURNS THE CONTENTS OF THE LOCATION WITH ; RELATIVE ADDRESS REL_ADDR. THE ADDRESS IS TAKEN MODULO 64 K. PPR161:               ┆
0x27980…27a00 UnusedSector ┆              ; CONTENTS:         MOV          X5         R0  ;   BASE_REL_ADDR.LEAST => X;         MOV          X0  2.     X5  ┆
0x27a00…27a80 UnusedSector ┆;   ST(X) => ST(S+2);         ADDC  2                 R5  ;   S+2 => S;         JMP                     X4  ;   GOTO NEXT;  ;---┆
0x27a80…27b00 UnusedSector ┆-------------------------------------------------------------------- ; FUNCTION REL_ADDR(FIRST_ELEMENT: UNIV ELEMENT): INTEGER; ┆
0x27b00…27b80 UnusedSector ┆; RETURNS THE BASE RELATIVE ADDRESS OF THE PARAMETER. PPR162:                             ; GET_REL_ADDR:         MOV          X┆
0x27b80…27c00 UnusedSector ┆5         R0  ;   ST(S) => A;         ADDC  1                 R5  ;   S+1 => S;         MOV          R0         X5  ;   A => ST(┆
0x27c00…27c80 UnusedSector ┆S);         JMP                     X4  ;   GOTO NEXT;  ;-----------------------------------------------------------------------┆
0x27c80…27d00 UnusedSector ┆ ; FUNCTION ADD(A, B: INTEGER): INTEGER; ; THE 2 ARGUMENTS ARE ADDED AS UNSIGNED INTEGERS. NO TEST FOR OVERFLOW. PPR163:        ┆
0x27d00…27d80 UnusedSector ┆C151         ;     SPECIAL:); SYN151:                             ;         MOVC  XSYNER            R7  ;   SYNTAX_ERROR => COMP┆
0x27d80…27e00 UnusedSector ┆LETIONCODE; NUM151:                             ; ERR151:                             ;         MOV   SS                R5  ;   ┆
0x27e00…27e80 UnusedSector ┆RESTORE(S);         MOV          X5         R2  ;   ST(S) => REF(CC);         MOV          R7         X2  ;   COMPLETIONCODE => ┆
0x27e80…27f00 UnusedSector ┆CC;         MOVC  REGSAV            R7  ;         UNS   6                     ;         ADDC  3                 R5  ;   S+3 => S┆
0x27f00…27f80 UnusedSector ┆;         JMP                     X4  ;   GOTO NEXT; SPC151:                             ;         INE          R3  #20        ;┆
0x27f80…28000 UnusedSector ┆       R1         X7  ;   L.MOSTSIGN => MOST;         ADDC  4                 R5  ;   S+4 => S;         JMP                     ┆
0x28000…28080 UnusedSector ┆X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ; PROCEDURE CREATE_LONG(LEAST, MOST┆
0x28080…28100 UnusedSector ┆: INTEGER): LONG_INTEGER; ; CONCATENATES THE 2 INTEGERS INTO A LONG_INTEGER. PPR166:         MOVL         X5         R01 ;   ST(┆
0x28100…28180 UnusedSector ┆S) => MOST;                                     ;   ST(S+1) => LEAST;         ADDC  2                 R5  ;   S+2 => S;         ┆
0x28180…28200 UnusedSector ┆MOV          R1         X5  ;   LEAST => RES.LEASTSIGNIFICANT;         MOV          R0  1.     X5  ;   MOST => RES.MOSTSIGNIFICA┆
0x28200…28280 UnusedSector ┆NT;         JMP                     X4  ;   GOTO NEXT;  ;-----------------------------------------------------------------------┆
0x28280…28300 UnusedSector ┆ ; PROCEDURE SAVE_EVENT(EVENT: INTEGER); ; THE MONITOR FUNCTION SAVEEVENT IS CALLED. PPR167:                             ; SAVE_┆
0x28300…28380 UnusedSector ┆EVENT:         MOV          X5         R2  ;   ST(S) => EVENT;         MON   SAVEEVENT             ;   SAVEEVENT(EVENT);        ┆
0x28380…28400 UnusedSector ┆ ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;--------------------------------┆
0x28400…28480 UnusedSector ┆--------------------------------------- ; PROCEDURE RESTORE_EVENTS(EVTTYPE: EVENT_TYPE); ; THE MONITOR FUNCTION RECOVEREVENTS IS┆
0x28480…28500 UnusedSector ┆ CALLED. PPR168:                             ; RESTORE_EVENTS:         MOV          X5         R2  ;   ST(S) => EVENTTYPE;      ┆
0x28500…28580 UnusedSector ┆   MON   RECOVEREVENTS         ;   RECOVEREVENTS(EVENTTYPE);         ADDC  1                 R5  ;   S+1 => S;         JMP      ┆
0x28580…28600 UnusedSector ┆               X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ; PROCEDURE ININTEGE┆
0x28600…28680 UnusedSector ┆R(S: STREAM; VAR INT: INTEGER; VAR CC: COMPLETIONCO) ; SPACES ARE ALLOWED IN FRONT OF THE NUMBER. THE COMPLETION CODE ; RETURNED┆
0x28680…28700 UnusedSector ┆ BY THE IO-SYSTEM IS NORMALLY RETURNED TO THE PASCAL PROGRAM. ; HOWEVER, IF THE FIRST ELEMENT (AFTER THE POSSIBLE SPACES) IS NOT┆
0x28700…28780 UnusedSector ┆ AN ; INTEGER WHICH CAN BE IN 1 WORD THEN THE COMPLETION CODE XSYNER IS ; GENERATED. PPR151:                             ; ININT┆
0x28780…28800 UnusedSector ┆EGER:         MOVC  2                 R1  ;   2 => BYTECOUNT; XXX151:                             ;         MOVC  REGTOP        ┆
0x28800…28880 UnusedSector ┆    R7  ;         STC   6                     ;   SAVE(B, G, Q, S); REP151:                             ;         MOV   S1      ┆
0x28880…28900 UnusedSector ┆          R1  ;   SAVED R1 => BYTECOUNT;         MOV   2.     X5         R4  ;   ST(S+2) => STREAM;         MOV   1.     X5     ┆
0x28900…28980 UnusedSector ┆    R6  ;   ST(S+1) => ADDR;         MON   STREAM,    INELEMENT  ;   INELEMENT(         JMP   &      ERR151         ;     ERROR:┆
0x28980…28a00 UnusedSector ┆         JMP   &      NUM151         ;     NUMBER:         JMP   &      SYN151         ;     IDENTIFIER:         JMP   &      SP┆
0x28a00…28a80 UnusedSector ┆S);         JMP              REP151     ;   GOTO REP151;  ;---------------------------------------------------------------------┆
0x28a80…28b00 UnusedSector ┆-- ; PROCEDURE INLONG_INTEGER(S: STREAM; VAR LINT: LONG_INTEGER; ;                          VAR CC: COMPLETION_CODE); ; THE IO S┆
0x28b00…28b80 UnusedSector ┆YSTEM PROCEDURE INELEMENT IS CALLED WITH A BYTE COUNT = 4. ; SPACES ARE ALLOWED IN FRONT OF THE NUMBER. THE COMPLETION CODE ; RE┆
0x28b80…28c00 UnusedSector ┆TURNED BY THE IO_SYSTEM IS NORMALLY RETURNED TO THE PASCAL PROGRAM. ; HOWEVER, IF THE FIRST ELEMENT (AFTER THE POSSIBLE SPACES) ┆
0x28c00…28c80 UnusedSector ┆IS NOT AN ; INTEGER THEN THE COMPLETION CODE XSYNER IS GENERATED. PPR152:                             ; INLONG_INTEGER:         ┆
0x28c80…28d00 UnusedSector ┆MOVC  4                 R1  ;   4 => BYTECOUNT;         JMP              XXX151     ;   GOTO XXX151;  ;-------------------------┆
0x28d00…28d80 UnusedSector ┆---------------------------------------------- ; PROCEDURE INNAME(S: STREAM; VAR N: PACKED_NAME; VAR CC: COMPLETIONCODE ; SPACES┆
0x28d80…28e00 UnusedSector ┆ IN FRONT OF THE NAME IS SKIPPED. THE COMPLETION CODE DELIVERED ; BY THE IO-SYSTEM IS NORMALLY RETURNED TO THE PASCAL PROGRAM. ;┆
0x28e00…28e80 UnusedSector ┆ HOWEVER, IF THE FIRST ELEMENT (AFTER THE POSSIBLE SPACES) IS NOT AN ; IDENTIFIER, THEN THE COMPLETION CODE XSYNER IS GENERATED.┆
0x28e80…28f00 UnusedSector ┆ ; IF THE IDENTIFIER IS LONGER THAN 16 CHARACTERS THEN THE FIRST 15 AND ; THE LAST CHAR IS DELIVERED. IF THE IDENTIFIER IS SHORT┆
0x28f00…28f80 UnusedSector ┆ER THAN 16 ; CHARACTERS THE REMAINING BYTES WILL BE NULL CHARACTERS. PPR153:                             ; INNAME:         MOVC ┆
0x28f80…29000 UnusedSector ┆ REGTOP            R7  ;         STC   6                     ;   SAVE(B, G, Q, S); REP153:                             ;        ┆
0x29000…29080 UnusedSector ┆ MOVC  16                R1  ;   16 => BYTE COUNT;         MOV   2.     X5         R4  ;   ST(S+2) => STREAM;         MOV   1.  ┆
0x29080…29100 UnusedSector ┆   X5         R6  ;   ST(S+1) => ADDR;         MON   STREAM,    INELEMENT  ;   INELEMENT(         JMP   &          ERR153     ; ┆
0x29100…29180 UnusedSector ┆    ERROR:         JMP   &          SYN153     ;     NUMBER:         JMP   &          NAM153     ;     IDENTIFIER:         JMP  ┆
0x29180…29200 UnusedSector ┆ &          SPC153     ;     SPECIAL:); SYN153:                             ;         MOVC  XSYNER            R7  ; ERR153:     ┆
0x29200…29280 UnusedSector ┆                        ; NAM153:                             ;         MOV   SS                R5  ;   RESTORE(S);         MOV ┆
0x29280…29300 UnusedSector ┆         X5         R2  ;   ST(S) => REF(CC);         MOV          R7         X2  ;   COMPLETIONCODE => CC;         MOVC  REGSAV┆
0x29300…29380 UnusedSector ┆            R7  ;         UNS   6                     ;   RESTORE(B, G, Q, S);         ADDC  3                 R5  ;   S+3 => S;┆
0x29380…29400 UnusedSector ┆         JMP                     X4  ;   GOTO NEXT; SPC153:                             ;         INE          R3  #20        ; ┆
0x29400…29480 UnusedSector ┆  IF CHAR <> SPACE THEN         JMP              SYN153     ;     GOTO SYN153;         MOV   SS                R5  ;   RESTORE(S┆
0x29480…29500 UnusedSector ┆);         JMP              REP153     ;   GOTO REP153;  ;----------------------------------------------------------------------┆
0x29500…29580 UnusedSector ┆- ; PROCEDURE INELEMENT(S: STREAM; VAR ELEM: ELEM_REC; VAR CC: COMPLCODE); ; THE IO SYSTEM PROCEDURE INELEMENT IS CALLED WITH A ┆
0x29580…29600 UnusedSector ┆BYTECOUNT OF 16. PPR169:                             ; INELEMENT:         MOVC  REGTOP            R7  ;         STC   6         ┆
0x29600…29680 UnusedSector ┆            ;   SAVE(B, G, Q, S);         MOVC  16                R1  ;   16 => BYTECOUNT;         MOV   2.     X5         R4  ;┆
0x29680…29700 UnusedSector ┆   IF CHAR <> SPACE THEN         JMP              SYN151     ;     GOTO SYN151;         MOV   SS                R5  ;   RESTORE(┆
0x29700…29780 UnusedSector ┆     TYPE = NUMBER THEN         MOVC  4                 R5  ;     TLONG_INTEGER => TYPE;         MOV          R5  2.     X7  ;  ┆
0x29780…29800 UnusedSector ┆ TYPE => ELEM_TYPE;         IEQ          R5  3          ;   IF TYPE = SPECIAL THEN         MOV          R3  3.     X7  ;     SPE┆
0x29800…29880 UnusedSector ┆CIALCHAR => SPEC_CHAR;         MOVC  REGSAV            R7  ;         UNS   6                     ;   RESTORE(B, G, Q, S);       ┆
0x29880…29900 UnusedSector ┆  ADDC  3                 R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;-------------------------------┆
0x29900…29980 UnusedSector ┆---------------------------------------- ; PROCEDURE OUTSTRING(S: STREAM; UNPACKED_TEXT: TEXT; ;    NO_OF_CHARS: INTEGER; VAR CC┆
0x29980…29a00 UnusedSector ┆: COMPLETION_CODE); ; THE UNPACKED TEXT IS PACKED IN THE FREE SPACE BETWEEN THE ; STACK AND THE HEAP. THEN OUTREC IS CALLED. PPR┆
0x29a00…29a80 UnusedSector ┆155:                             ; OUTSTRING:         MOV          R4  REGS4      ;   SAVE(Q);         MOV   HEAPTOP           R┆
0x29a80…29b00 UnusedSector ┆1  ;   "SET PACKED_BASE"         MOV          R5         R0  ;   S         SUB          R1         R0  ;    -HEAPTOP => FREE_WOR┆
0x29b00…29b80 UnusedSector ┆DS;         IBZ          R0  15         ;   IF FREE_WORDS.BIT15 = 0 THEN         SLL          R0  1          ;      FREE_WORDS*2┆
0x29b80…29c00 UnusedSector ┆ => FREE_BYTES                                     ;   ELSE FREE_WORDS => FREE_BYTES;         MOV   1.     X5         R4  ;   ST┆
0x29c00…29c80 UnusedSector ┆(S+1) => NO_OF_CHARS;         ILO          R0         R4  ;   IF FREE_BYTES < NO_OF_CHARS THEN         JMP              PCSTAC  ┆
0x29c80…29d00 UnusedSector ┆   ;     STACK_LIMIT;         ILT          R4  1          ;   IF NO_OF_CHARS < 1 THEN         JMP              PPY155     ;     ┆
0x29d00…29d80 UnusedSector ┆GOTO PPY155;         MOV   2.     X5         R0  ;   REF(UNPACKED) => X;         MOVC  0                 R7  ;   0 => Y; PPX155:┆
0x29d80…29e00 UnusedSector ┆                             ;   FOR I := 1 TO NO_OF_CHARS DO         MOV          X0         R2  ;     UNPACKED(X).RIGHTBYTE   ┆
0x29e00…29e80 UnusedSector ┆      MOD          R1             ;         MOVB         R2         X7  ;     => PACKED.BYTE(Y);         INCD         R0        ┆
0x29e80…29f00 UnusedSector ┆ R7  ;     INCR(X); INCR(Y);         SOB          R4  PPX155     ;   ROF; PPY155:                             ;         MOV   1.┆
0x29f00…29f80 UnusedSector ┆     X5         R2  ;   ST(S+1) => RECORD_SIZE;         MOV   3.     X5         R4  ;   ST(S+3) => STREAM;         MON   STREAM,┆
0x29f80…2a000 UnusedSector ┆    OUTREC     ;   OUTREC(         NOP                         ;     ERROR: NOP; DONE: CONTINUE);         MOV          X5       ┆
0x2a000…2a080 UnusedSector ┆  R1  ;   ST(S) => REF(CC);         MOV          R7         X1  ;   COMPLCODE => CC;         MOV   REGS4             R4  ;   RES┆
0x2a080…2a100 UnusedSector ┆   ST(S+2) => STREAM;         MOV   1.     X5         R6  ;   ST(S+1) => REF(ELEM);         ADDC  3                 R6  ;   REF(┆
0x2a100…2a180 UnusedSector ┆START OF ELEMENT FIELD);         MON   STREAM,    INELEMENT  ;   INELEMENT(         NOP                         ;     ERROR:    ┆
0x2a180…2a200 UnusedSector ┆     NOP                         ;     NUMBER:         NOP                         ;     IDENTIFIER:         NOP                ┆
0x2a200…2a280 UnusedSector ┆         ;     SPECIAL:);         MOV   SS                R6  ;   SAVED R5 => R6;         MOV          X6         R0  ;   ST(S) ┆
0x2a280…2a300 UnusedSector ┆=> REF(CC);         MOV          R7         X0  ;   COMPLCODE => CC;         MOV   1.     X6         R7  ;   ST(S+1) => REF(ELEM┆
0x2a300…2a380 UnusedSector ┆);         MOV          R3         X7  ;   SPECIALCHAR (OR DELIM) => DELIM;         MOV          R1  1.     X7  ;   RETURNED BYT┆
0x2a380…2a400 UnusedSector ┆ECOUNT => BYTECOUNT;         IEQP         R1  4          ;   IF RETURNED BYTECOUNT = 4 AND         IEQ          R5  1          ;┆
0x2a400…2a480 UnusedSector ┆AV            R7  ;         UNS   6                     ;   RESTORE(B, G, Q, S);         ADDC  8                 R5  ;   S+8 => ┆
0x2a480…2a500 UnusedSector ┆S;         JMP                     X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ┆
0x2a500…2a580 UnusedSector ┆; PROCEDURE INFILEID(S: STREAM; VAR FROM_ADAM: BOOLEAN; ;    VAR FSN: FILE_SYSTEM_NAME; VAR VOLUME: VOLUME_NAME; ;    VAR NAMELI┆
0x2a580…2a600 UnusedSector ┆ST: NAMELISTTYPE; VAR NAME_NO: INTEGER; ;    VAR CC: COMPLETION_CODE); PPR171:                             ; INFILEID:         M┆
0x2a600…2a680 UnusedSector ┆OVC  REGTOP            R7  ;         STC   6                     ;   SAVE(B, G, Q, S);         MOV   4.     X5         R0  ;   S┆
0x2a680…2a700 UnusedSector ┆T(S+4) => REF(FILESYSTEMNAME);         MOV   3.     X5         R1  ;   ST(S+3) => REF(VOLUME NAME);         MOV   6.     X5     ┆
0x2a700…2a780 UnusedSector ┆    R4  ;   ST(S+6) => STREAM;         MOV   HEAPTOP           R6  ;   REF(WORKAREA);         MOV          R5         R7  ;     ┆
0x2a780…2a800 UnusedSector ┆    SUB          R6         R7  ;         ILO          R7  16         ;   IF S-HEAPTOP < 16 THEN         JMP              PCSTAC┆
0x2a800…2a880 UnusedSector ┆     ;      STACKLIMIT;         MOV   2.     X5         R5  ;   ST(S+2) => REF(NAMELIST);         MON   INFILEID              ; ┆
0x2a880…2a900 UnusedSector ┆  INFILEID(         JMP   &          ERR171     ;     IO_ERROR: GOTO ERR171;         JMP   &          ERR171     ;     SYNTAX_ER┆
0x2a900…2a980 UnusedSector ┆ROR: GOTO ERR171);         MOV   SS                R5  ;   RESTORE(S);         MOV   1.     X5         R1  ;   ST(S+1) => REF(NA┆
0x2a980…2aa00 UnusedSector ┆MENO);         MOV          R2         X1  ;   RETURNED NAME_NO => NAME_NO;         MOV   5.     X5         R1  ;   ST(S+5) => R┆
0x2aa00…2aa80 UnusedSector ┆EF(FROM_ADAM);         XTR          R3  1          ;   RETURNED FROM_ADAM.BIT0         MOV          R3         X1  ;     => FROM┆
0x2aa80…2ab00 UnusedSector ┆TORE(Q);         ADDC  4                 R5  ;   S+4 => S;         JMP                     X4  ;   GOTO NEXT;  ;----------------┆
0x2ab00…2ab80 UnusedSector ┆------------------------------------------------------- ; PROCEDURE FIND_FILE(FROM_ADAM: BOOLEAN; FSN: FILE_SYSTEM_NAME; ;    VO┆
0x2ab80…2ac00 UnusedSector ┆LUME: VOLUME_NAME; NAMELIST: NAMELISTTYPE; NAME_NO: INTEGER; ;    DIRECTORY: FILE; VAR F: FILE; VAR CC: COMPLETION_CODE); PPR170┆
0x2ac00…2ac80 UnusedSector ┆:                             ; FIND_FILE:         MOVC  REGTOP            R7  ;         STC   6                     ;   SAVE(B,┆
0x2ac80…2ad00 UnusedSector ┆ G, Q, S);         MOV   2.     X5         R4  ;   ST(S+2) => DIRECTORY;         MOV   3.     X5         R2  ;   ST(S+3) => NAME┆
0x2ad00…2ad80 UnusedSector ┆NO;         MOV   5.     X5         R1  ;   ST(S+5) => REF(VOLUME NAME);         MOV   6.     X5         R0  ;   ST(S+6) => REF(┆
0x2ad80…2ae00 UnusedSector ┆FILESYSTEM NAME);         MOV   7.     X5         R3  ;   ST(S+7) => FROM_ADAM;         MOV   HEAPTOP           R6  ;         MO┆
0x2ae00…2ae80 UnusedSector ┆V          R5         R7  ;         SUB          R6         R7  ;         ILO          R7  16         ;   IF S-HEAPTOP < 16 THEN┆
0x2ae80…2af00 UnusedSector ┆         JMP              PCSTAC     ;      STACKLIMIT;         MOV   4.     X5         R5  ;   ST(S+4) => REF(NAMELIST);       ┆
0x2af00…2af80 UnusedSector ┆  MON   FINDFILE              ;   FIND_FILE(         JMP   &          PPX170     ;     ERROR: GOTO PPX170; DONE: CONT);         ┆
0x2af80…2b000 UnusedSector ┆MOV   SS                R5  ;   RESTORE(S);         MOV   1.     X5         R0  ;   ST(S+1) => REF(F);         MOV          R4  ┆
0x2b000…2b080 UnusedSector ┆       X0  ;   RETURNED FD => F; PPX170:                             ;         MOV   SS                R5  ;   RESTORE(S);      ┆
0x2b080…2b100 UnusedSector ┆   MOV          X5         R0  ;   ST(S) => REF(CC);         MOV          R7         X0  ;   COMPLCODE => CC;         MOVC  REGS┆
0x2b100…2b180 UnusedSector ┆    MOVB         R0         X7  ;         INCD         R6         R7  ;     INCREMENT BYTE DISPLACEMENTS         LDS          R4┆
0x2b180…2b200 UnusedSector ┆             ;     SWITCH TO OWN PAGE;         SOB          R5  PLCOPY     ;   ROF; COPFIN:                             ; FIN:  ┆
0x2b200…2b280 UnusedSector ┆       MOVC  REGSAV            R7  ;         UNS   6                     ;   RESTORE(B, G, Q, S);         ADDC  3               ┆
0x2b280…2b300 UnusedSector ┆  R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;-------------------------------------------------------┆
0x2b300…2b380 UnusedSector ┆---------------- ; PROCEDURE SET_TRACE(S: STREAM; MASK: INTEGER); PPR173:                             ; SET_TRACE:         MOV  ┆
0x2b380…2b400 UnusedSector ┆        X5         R0  ;   ST(S)         MOV          R0  TRMASK     ;      => TRMASK;         MOV   1.     X5         R1  ;   S┆
0x2b400…2b480 UnusedSector ┆T(S+1)         MOV          R1  TRSTRM     ;      => TRSTRM;         MOV   TRMASK1           R2  ;   TRMASK1         IOR        ┆
0x2b480…2b500 UnusedSector ┆_ADAM; ERR171:                             ;         MOV   SS                R5  ;   RESTORE(S);         MOV          X5        ┆
0x2b500…2b580 UnusedSector ┆ R0  ;   ST(S) => REF(CC);         MOV          R7         X0  ;   COMPLCODE => CC;         MOVC  REGSAV            R7  ;       ┆
0x2b580…2b600 UnusedSector ┆  UNS   6                     ;   RESTORE(B, G, Q, S);         ADDC  7                 R5  ;   S+7 => S;         JMP            ┆
0x2b600…2b680 UnusedSector ┆         X4  ;   GOTO NEXT;  ;----------------------------------------------------------------------- ; COPY ; COPY(SOURCE, DEST┆
0x2b680…2b700 UnusedSector ┆: BYTE_ADDRESS; NO_OF_BYTES: INTEGER); ; COPIES NO_OF_BYTES FROM THE BYTE ADDRESS SPECIFIED ; BY SOURCE TO THE BYTE ADDRESS SPEC┆
0x2b700…2b780 UnusedSector ┆IFIED BY DEST. ; THIS IS NOT AN OPTIMAL VERSION (PHO-790813). ; R0: THE BYTE TO BE MOVED ; R1: DEST PSW ; R2: DEST WORD BASE ; R┆
0x2b780…2b800 UnusedSector ┆3: SOURCE PSW ; R4: PSW OF PROCESS ; R5: NO_OF_BYTES ; R6: BYTE DISPLACEMENT IN SOURCE ; R7: BYTE DISPLACEMENT IN DEST ; REGS0: ┆
0x2b800…2b880 UnusedSector ┆SOURCE WORD BASE PCPR51:                             ; COPY:         MOVC  REGTOP            R7  ;         STC   6              ┆
0x2b880…2b900 UnusedSector ┆       ;   SAVE(B, G, Q, S);         MOV   XCBASE            R0  ;   BASE => R0;         MOV   1.     X5         R7  ;   ST(S+1)┆
0x2b900…2b980 UnusedSector ┆ => REF(DEST);         MOV   2.     X7         R2  ;   DEST.WORDDISP         SUB          R0         R2  ;    - BASE => DEST_WOR┆
0x2b980…2ba00 UnusedSector ┆D_BASE;         MOV   1.     X7         R1  ;   DEST.MEMSECTION => DEST PSW;         MOV          X7         R7  ;   SET DEST BY┆
0x2ba00…2ba80 UnusedSector ┆TEDISP;         MOV   2.     X5         R6  ;   ST(S+2) => REF(SOURCE);         MOV   2.     X6         R4  ;   SOURCE.WORDDISP ┆
0x2ba80…2bb00 UnusedSector ┆        SUB          R0         R4  ;    - BASE =>         MOV          R4  REGS0      ;      SOURCE_WORD_BASE;         MOV   1.┆
0x2bb00…2bb80 UnusedSector ┆     X6         R3  ;   SOURCE.MEMSECTION => SOURCE PSW;         MOV          X6         R6  ;   SET SOURCE BYTEDISP;         MO┆
0x2bb80…2bc00 UnusedSector ┆V          X5         R5  ;   ST(S) => NO_OF_BYTES;         ILT          R5  1          ;   IF NO_OF_BYTES < 1 THEN         JMP ┆
0x2bc00…2bc80 UnusedSector ┆             COPFIN     ;      GOTO FIN;         SVS                     R4  ;   SAVE(STATUS); PLCOPY:                          ┆
0x2bc80…2bd00 UnusedSector ┆   ;   FOR I := NO_OF_BYTES DOWNTO 1 DO         MOV   REGS0             R0  ;         LDS          R3             ;     SWITCH T┆
0x2bd00…2bd80 UnusedSector ┆O SOURCE PAGE;         MOD          R0             ;     MOD SOURCE WORD BASE ADDR;         MOVB         X6         R0  ;       ┆
0x2bd80…2be00 UnusedSector ┆  LDS          R1             ;     SWITCH TO DEST PAGE;         MOD          R2             ;     MOD DEST WORD BASE ADDR;     ┆
0x2be00…2be80 UnusedSector ┆TYEX            R1  ;   EXTERNAL MASK         MOV          R1  XBLETY.X6  ;     => BLE.XBLETY;         MOV          R5  XBLELK.X┆
0x2be80…2bf00 UnusedSector ┆  R0         R2  ;           OR TRMASK         MOV          R2  TRMASK1    ;   => TRMASK1;         ADDC  2                 R5  ;┆
0x2bf00…2bf80 UnusedSector ┆   S+2 => S;         JMP                     X4  ;   GOTO NEXT;  ;--------------------------------------------------------------┆
0x2bf80…2c000 UnusedSector ┆--------- ; PROCEDURE PRINT_TRACE(ON: BOOLEAN); ; ON = TRUE: TRACE OUTPUT IS PRINTED. ; ON = FALSE: TRACE OUTPUT IS NOT PRINTED.┆
0x2c000…2c080 UnusedSector ┆ PPR172:                             ; PRINT_TRACE:         MOVC  PRITRA            R7  ;         XTR          X7  0          ; ┆
0x2c080…2c100 UnusedSector ┆  FALSE => PRITRA;         IBN          X5  0          ;   IF ON THEN         INC          X7             ;     TRUE => PRITRA; ┆
0x2c100…2c180 UnusedSector ┆        ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;=========================┆
0x2c180…2c200 UnusedSector ┆==============================================  ; PROCEDURE RUN(F: FILE; VAR PARAM: PARAMTYPE; ;               VAR LINE: INTEGER┆
0x2c200…2c280 UnusedSector ┆; VAR RESULT: PROGRESULT); PPR174:                             ; RUN:         MOVC  REGTOP            R7  ;         STC   6     ┆
0x2c280…2c300 UnusedSector ┆                ;   SAVE(B, G, Q, S);         MOV   HEAPTOP           R7  ;         SUB          R7         R5  ;         ILO   ┆
0x2c300…2c380 UnusedSector ┆       R5  500        ;   IF S-HEAPTOP < 500 THEN         JMP              PCSTAC     ;      STACK_LIMIT;         MOV          R┆
0x2c380…2c400 UnusedSector ┆3         R7  ;   G => REF(ACTIVATION RECORD);         MOV   LEVEL. X7         R0  ;   ACTIVATION_RECORD.LEVEL=>LEVEL;         I┆
0x2c400…2c480 UnusedSector ┆NE          R0  0          ;   IF LEVEL <> 0 THEN         JMP              PPA174     ;     GOTO PPA174;  ; WE ARE ON LEVEL 0. C┆
0x2c480…2c500 UnusedSector ┆REATE A TEMPORARY CONTIGUOUS FILE.          MOV   HEAPTOP           R2  ;   HEAPTOP         MOV          R2         R6  ;      =┆
0x2c500…2c580 UnusedSector ┆> REF(FILE ATTR);         MOV   PARAM. X7         R1  ;   ACTIVATION_REC.PARAM => REF;         MOV          R1         R0  ;   R┆
0x2c580…2c600 UnusedSector ┆EF => REF(FSN);         ADDC  VOL               R1  ;   "R1: NOW REF TO CURRENT VOLUME"         MODC  XVLNWL                ;   ┆
0x2c600…2c680 UnusedSector ┆CURRENT VOLUME NAME         MOVM         X1         X2  ;      => FILEATTR.VOLUMENAME;         MOVC  XORCON            R2  ;   C┆
0x2c680…2c700 UnusedSector ┆ONTIGUOUS         MOV          R2  XFATOR.X6  ;     => FILEATTR.ORGANIZATION;         MOVC  0                 R4  ;         MVP ┆
0x2c700…2c780 UnusedSector ┆  XHSIZE.X4         R1  ;   PROGRAM_SIZE      IF OLDVERSUP THEN         MOV   PASYDARELEASE  R5         SEQP  R5         0      ┆
0x2c780…2c800 UnusedSector ┆    ;   SKIP TWO LINES, IF OLD VERSION      FI         MOVC  XFIRST            R5   ;   GET ADDR.OF LENGTH OF ASSM.DATA         ┆
0x2c800…2c880 UnusedSector ┆ADD   XHSIZE.X5          R1  ;   LENGTH OF (DATA PART+PROGRAM)         SRL          R1  8          ;      DIV 256         ADDC  ┆
0x2c880…2c900 UnusedSector ┆1                 R1  ;      + 1 => SECTORS;         MOV          R1  XFATAL.X6  ;   SECTORS         MOV          R4  XFATAL+1.X┆
0x2c900…2c980 UnusedSector ┆6;     =>FILEATTR.ALLOCSIZE;         MOV          R6         R1  ;   REF(FILE ATTRIBUTES);         MON   IO,    CREATE         ;┆
0x2c980…2ca00 UnusedSector ┆   CREATE(         JMP   &      S4  RUNRRR     ;     ERROR: GOTO RUNERROR);  ; SET UP A BUFFER LIST ELEMENT AND A FILE ADDRESS. ┆
0x2ca00…2ca80 UnusedSector ┆         MOV   SG                R7  ;   G => REF(ACTIVATION RECORD);         MOV          R4  PROGFIL.X7 ;   FD=>ACTIVATION_REC┆
0x2ca80…2cb00 UnusedSector ┆ORD.PROGFIL;         MOV   HEAPTOP           R6  ;   HEAPTOP => REF(BLE);         MOVC  0                 R5  ;         MOVC  XB┆
0x2cb00…2cb80 UnusedSector ┆     JMP   &      S4  RUNRRR     ;     ERROR: GOTO RUNERROR);         JMP          S5  CHECKTRANS ;   "CHECK: TRANSFERRED = BYTE┆
0x2cb80…2cc00 UnusedSector ┆COUNT" ;      IF OLDVERSUP THEN         MOV   PASYDARELEASE  R2         SNE   R2         0          ;   SKIP IF R2 = 0 (OLDVERSU┆
0x2cc00…2cc80 UnusedSector ┆P=FALSE)         JMP              PPA174     ;   JMP TO PPA174 IF NEWREL IS FALSE      FI ; OUTPUT THE PROCESS:         MOV   HE┆
0x2cc80…2cd00 UnusedSector ┆APTOP    R6         ;   REF(BLE)         MOVC  0          R5         MOVC  XBTYLL     R2         ;   SET TYPE TO: LOCAL,LOWER BY┆
0x2cd00…2cd80 UnusedSector ┆TE         MOV   R2         XBLETY.X6         MOV   R5         XBLELK.X6  ;   NIL => LINK         MOVC  XFIRST     R7         ; ┆
0x2cd80…2ce00 UnusedSector ┆  PROC.BASE REL.ADDR.OF 1. BYTE         MOV   R7         XBLEBA.X6         MOV   XHSIZE.X7  R1         ;   SIZE OF ASSM.DATA PAR┆
0x2ce00…2ce80 UnusedSector ┆T (IN WORDS)         ADD   R1         R1         ;   *2         MOV   R1         XBLEBS.X6  ;   BUFFER SIZE IN BYTES         MOV┆
0x2ce80…2cf00 UnusedSector ┆   R6         R2         ;   REF(BLE) => R2         ADDC  XBLEWL     R6         ;   REF(FILE ADDR. REC.)         MOV   R1       ┆
0x2cf00…2cf80 UnusedSector ┆  XFADBC.X6  ;   STORE BYTECOUNT,LSB         MOV   R5         XFADBC+1.X6;   0 => MSB         MOV   R6         R1         ;   RE┆
0x2cf80…2d000 UnusedSector ┆F(FILE ADDR.REC.) => R1         MON   IO,        APPENDBYTES;   OUTPUT PROC.PART TO TEMP. FILE         JMP   &   S4     RUNRRR  ┆
0x2d000…2d080 UnusedSector ┆   ;   IF ERROR: GOTO RUNRRR         JMP       S5     CHECKTRANS ;   - ELSE: CHECK X-FERRED=BYTECOUNT?  ; LOAD THE PROGRAM + CON┆
0x2d080…2d100 UnusedSector ┆STANTS.  PPA174:                             ;         MOV   SS                R5  ;   RESTORE(S);         MOV   3.     X5      ┆
0x2d100…2d180 UnusedSector ┆   R4  ;   ST(S+3) => FILE TO LOAD;      IF OLDVERSUP THEN         MOV   PASYDARELEASE  R0         SNE   R0         0          ;┆
0x2d180…2d200 UnusedSector ┆   SKIP NEXT IF NEW VERSION         MOVC  0          R0      FI         JMP          S6  LOADPM     ;   LOADPROGRAM;         JOZ┆
0x2d200…2d280 UnusedSector ┆          R6  PPB174     ;   IF RES <> OK THEN         MOVC  REGSAV            R7  ;     BEGIN         UNS   5                  ┆
0x2d280…2d300 UnusedSector ┆   ;       RESTORE(G, Q, S);         MOV          X5         R7  ;       ST(S) => REF(RESULT);         MOV          R6         X┆
0x2d300…2d380 UnusedSector ┆7  ;       RES => RESULT;         MOV   1.     X5         R7  ;       ST(S+1) => REF(LINE);         MOVC  0                 X7  ┆
0x2d380…2d400 UnusedSector ┆;       0 => LINE;         MOV   SB                R6  ;       RESTORE(B);         JMP              POPPARM    ;       GOTO POPP┆
0x2d400…2d480 UnusedSector ┆ARM;                                     ;     END; PPB174:                             ;  ; R5 IS THE NEW STACK TOP (POINTS AT ┆
0x2d480…2d500 UnusedSector ┆THE CONSTANTS) AND SS IS THE OLD. ; INITIALIZE THE NEW ACTIVATION RECORD.          MOV          R5         R7  ;   S         ADD┆
0x2d500…2d580 UnusedSector ┆C  -ARECLG           R7  ;    -ARECLG=>REF(ACTIVATION REC);         MOV   SQ                R0  ;   Q         MOV          R0  O┆
0x2d580…2d600 UnusedSector ┆6  ;   NIL => BLE.XBLELK;         MVP   MEMPARM.X5        R0  ;   MEMPARM         MOV          R0  XBLEBI.X6  ;           => BLE┆
0x2d600…2d680 UnusedSector ┆.XBLEBI;         MOV          R6         R2  ;   REF(BLE) => R2;         ADDC  XBLEWL            R6  ;   REF(BLE)+BLELENGTH=>REF┆
0x2d680…2d700 UnusedSector ┆(FILEADR)         MVP   XHSIZE.X5         R0  ;   PROGRAMSIZE         ADD          R0         R0  ;      * 2         MOV        ┆
0x2d700…2d780 UnusedSector ┆  R0  XFADBC.X6  ;          => BYTE_COUNT.LEAST;         MOV          R5  XFADBC+1.X6;   0 => BYTE_COUNT.MOST;         MOV      ┆
0x2d780…2d800 UnusedSector ┆    R6         R1  ;   REF(FILE ADDRESS) => R1;  ; OUTPUT THE PROGRAM.          MON   IO,    APPENDBYTES    ;   APPENDBYTES(    ┆
0x2d800…2d880 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x2d880…2d900 UnusedSector ┆  UNT"  m   C     +    ░ H     \   ░     ░V    ░SYDA ░LEAS ░ R2  ░     ░SNE  ░R2   ░     ░     ░     ░  SK ░ IF  ░ = 0 ░OLDV ░SU┆
0x2d900…2d980 UnusedSector ┆P= ░LSE) ░     ░ JMP ░     ░     ░PPA1 ░     ░   J ░ TO  ░A174 ░F NE ░EL I ░FALS ░     ░I ;  ░TPUT ░HE P ░CESS ░     ░  MO ░  HE┆
0x2d980…2da00 UnusedSector ┆ ░TOP  ░ R6  ░     ░;    ░F(BL ░     ░   M ░C  0 ░     ░  R5 ░     ░ MOV ░ XBT ░L    ░R2   ░     ░   S ░ TYP ░TO:  ░CAL, ░WER  ░┆
0x2da00…2da80 UnusedSector ┆TE   ░     ░OV   ░2    ░     ░LETY ░6    ░     ░V    ░     ░   X ░ELK. ░  ;  ░NIL => LINK         MOVC  XFIRST     R7         ; ┆
0x2da80…2db00 UnusedSector ┆Z Z q   r   s   t   u   v   w   x   y   z   {   |   }   ~                                                                       ┆
0x2db00…2db80 UnusedSector ┆    Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x2db80…2dc00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x2dc80…2dd00 UnusedSector ┆ ; NEW ENTERPROG ; INSTEAD OF A JUMP TO AN ENTERPROG INSTRUCTION, A NEW VIRTUAL ; INSTRUCTION IS INSERTED IN +257. ITS PARAMETER┆
0x2dd00…2dd80 UnusedSector ┆ IS THE DISTANCE ; TO THE START OF THE MAIN PROGRAM. THE FIRST 2 WORDS OF A MAIN ; PROGRAM IS A LINENO AND THE VARIABLE LENGTH. ┆
0x2dd80…2de00 UnusedSector ┆ PCO127:         ADDC  -4                R5  ;         MOV          R3  3.     X5  ;   SAVE(G);         MOV          R6  2.     ┆
0x2de00…2de80 UnusedSector ┆X5  ;   SAVE(B);         MOV   GTOP              R0  ;         MOV          R0  1.     X5  ;   SAVE REF TO TOP OF GLOBAL VAR    ┆
0x2de80…2df00 UnusedSector ┆     MVP   0.     X4         R0  ;   DIST TO MAIN         ADD          R0         R4  ;   REF LINENO         MVP   0.     X4    ┆
0x2df00…2df80 UnusedSector ┆     R0  ;         MOV          R0  0.     X5  ;   STORE LINENO         MOV          R5         R3  ;         MOV          R5   ┆
0x2df80…2e000 UnusedSector ┆LDQ.  X7  ;     => ACTIVATIONREC.OLD_Q;      IF OLDVERSUP THEN         MOV   PASYDARELEASE  R6         SEQ   R6         0       ┆
0x2e000…2e080 UnusedSector ┆   ;   SKIP NEXT IF OLD VERSION      FI         MOVC  0          R5         MOV          R5  LARCST.X7  ;   S => ACTIVATIONREC.L┆
0x2e080…2e100 UnusedSector ┆ARCST;         MOV   SS                R6  ;   "OLD S"         MOV   2.     X6         R0  ;   ST(S+2) "REF(PARAM)"         MOV ┆
0x2e100…2e180 UnusedSector ┆         R0  PARAM. X7  ;     => ACTIVATIONREC.PARAM;         MOV   3.     X6         R0  ;   ST(S+3) "FILE"         MOV        ┆
0x2e180…2e200 UnusedSector ┆  R0  PROGFIL.X7 ;     => ACTIVATIONREC.PROGFIL;         MOV          R6  OLDS.  X7  ;   OLD S => ACTIVATIONREC.OLDS;         MO┆
0x2e200…2e280 UnusedSector ┆V   SG                R6  ;   "REF(OLD ACTIVATION REC)"         MOV   LEVEL. X6         R0  ;   OLD LEVEL         ADDC  1       ┆
0x2e280…2e300 UnusedSector ┆          R0  ;      + 1         MOV          R0  LEVEL. X7  ;           => ACTIVATIONREC.LEVEL;         MOV   HEAPTOP          ┆
0x2e300…2e380 UnusedSector ┆ R0  ;   HEAPTOP         MOV          R0  OLHEAP.X7  ;      => ACTIVATIONREC.OLHEAP;         ADDC  OLDQ              R7  ;   "NO┆
0x2e380…2e400 UnusedSector ┆W R7 POINTS TO STACKTOP"         MOV          R7         R5  ;   REF(STACKTOP) => S;         MOV   SG                R3  ;   RES┆
0x2e400…2e480 UnusedSector ┆TORE(G);         MOV   SB                R6  ;   RESTORE(B);         MOVC  257               R4  ;   257 => Q; "FIRST PASCAL INS┆
0x2e480…2e500 UnusedSector ┆TR"         JMP                     X4  ;   GOTO NEXT;  RUNRRR: JMP              RUNERR     ;   GOTO RUNERR;  Z Z Z Z Z Z Z Z Z ┆
0x2e500…2e580 UnusedSector ┆ THIRD PARAMETER         MOV          R7  1.     X5  ; STACK THE FOURTH PARAMETER         MOV          R4         X5  ; PUSH THE┆
0x2e580…2e600 UnusedSector ┆ RETURN ADDRESS         INC                     X5  ;   TO THE STACK         MVP          X4         R0  ; G0T0 THE SUBROUTINE  ┆
0x2e600…2e680 UnusedSector ┆       MOV          R0         R4  ;         JMP                     X4  ;       IF OLDVERSUP THEN ; CALL4 ; THE PARAMETERS ARE ┆
0x2e680…2e700 UnusedSector ┆IN R2, R1, R0, AND R7  PCG119:         ADDC  -9                R5  ;         MOVL         R12 7.     X5  ;         MOV          ┆
0x2e700…2e780 UnusedSector ┆R0  6.     X5  ;         MOV          R7  5.     X5  ;         MOV          R4  4.     X5  ;         INC   4.     X5            ┆
0x2e780…2e800 UnusedSector ┆ ;         MOV          R6  2.     X5  ;         MOV          R5         R6  ;         MOV          R5  1.     X5  ;         MVP┆
0x2e800…2e880 UnusedSector ┆   0.     X4         R0  ;         ADD          R0         R4  ;         MVP   0.     X4         R0  ;         ADD          R0  ┆
0x2e880…2e900 UnusedSector ┆1.     X5  ;         MVP   1.     X4         R0  ;         MOV          R0  0.     X5  ;         MVP   2.     X4         R0  ;  ┆
0x2e900…2e980 UnusedSector ┆       SUB          R0         R5  ;         MOV   HEAPTOP           R0  ;         ADDC  MINSTACK          R0  ;         ILO    ┆
0x2e980…2ea00 UnusedSector ┆      R6  ;         MOV          R5         R0  ;         MOV   HEAPTOP           R1  ;         SUB          R1         R0  ;   ┆
0x2ea00…2ea80 UnusedSector ┆      MVP   1.     X4         R1  ;         ADDC  500               R1  ;         ILO          R0         R1  ;         JMP     ┆
0x2ea80…2eb00 UnusedSector ┆         PCSTAC     ;         MVP   1.     X4         R0  ;         SUB          R0         R5  ;         MOV          R5  GTOP ┆
0x2eb00…2eb80 UnusedSector ┆      ;         MOV          R3         R0  ;         ADDC  -64               R0  ;         MOV          R0  GBOT       ;       ┆
0x2eb80…2ec00 UnusedSector ┆  JMP              2.     X4  ;   ; NEW ENTERPROG ; INSTEAD OF A JUMP TO AN ENTERPROG INSTRUCTION, A NEW VIRTUAL ; INSTRUCTION I┆
0x2ec00…2ec80 UnusedSector ┆S INSERTED IN +257. ITS PARAMETER IS THE DISTANCE ; TO THE START OF THE MAIN PROGRAM. THE FIRST 2 WORDS OF A MAIN ; PROGRAM IS A┆
0x2ec80…2ed00 UnusedSector ┆ LINENO AND THE VARIABLE LENGTH.  PCG127:         ADDC  -4                R5  ;         MOV          R3  3.     X5  ;   SAVE(G);┆
0x2ed00…2ed80 UnusedSector ┆         MOV          R6  2.     X5  ;   SAVE(B);         MOV   GTOP              R0  ;         MOV          R0  1.     X5  ;   ┆
0x2ed80…2ee00 UnusedSector ┆SAVE REF TO TOP OF GLOBAL VAR         MVP   0.     X4         R0  ;   DIST TO MAIN         ADD          R0         R4  ;   REF L┆
0x2ee00…2ee80 UnusedSector ┆INENO         MVP   0.     X4         R0  ;         MOV          R0  0.     X5  ;   STORE LINENO         MOV          R5        ┆
0x2ee80…2ef00 UnusedSector ┆ R3  ;         MOV          R5         R6  ;         MOV          R5         R0  ;         MOV   HEAPTOP           R1  ;        ┆
0x2ef00…2ef80 UnusedSector ┆ SUB          R1         R0  ;         MVP   1.     X4         R1  ;         ADDC  500               R1  ;         ILO          ┆
0x2ef80…2f000 UnusedSector ┆R0         R1  ;         JMP              PCSTAC     ;         MVP   1.     X4         R0  ;         SUB          R0         R5 ┆
0x2f000…2f080 UnusedSector ┆ ;         MOV          R5  GTOP       ;         MOV          R3         R0  ;         ADDC  -64               R0  ;         MOV┆
0x2f080…2f100 UnusedSector ┆          R0  GBOT       ;         ADDC  69         R0         ;         MOV   0.X0       R0         ;         MOV   R0         ┆
0x2f100…2f180 UnusedSector ┆CSTREF     ;         JMP              2.     X4  ;  ; CALL4 ; THE PARAMETERS ARE IN R2, R1, R0, AND R7  PCO119:         ADDC  -5┆
0x2f180…2f200 UnusedSector ┆                R5  ;         MOVL         R12 3.     X5  ; STACK TWO PARAMETERS         MOV          R0  2.     X5  ; STACK THE┆
0x2f200…2f280 UnusedSector ┆   TO THE STACK         MVP          X4         R0  ; GOTO THE SUBROUTINE         MOV          R0         R4  ;         JMP     ┆
0x2f280…2f300 UnusedSector ┆                X4  ;        IF OLDVERSUP THEN ; CALL1 ; THE PARAMETER IS IN R2  PCG116:         ADDC  -6                R5  ;  ┆
0x2f300…2f380 UnusedSector ┆       MOV          R2  5.     X5  ;         MOV          R4  4.     X5  ;         INC   4.     X5             ;         MOV    ┆
0x2f380…2f400 UnusedSector ┆      R5         R0  ;         JMP              PCSTAC     ;         JMP              3.     X4  ;       FI   ; CALL3 ; THE PARA┆
0x2f400…2f480 UnusedSector ┆METERS ARE IN R2, R1, AND R0.  PCO118:         ADDC  -4                R5  ;         MOVL         R12 2.     X5  ; STACK TWO PAR┆
0x2f480…2f500 UnusedSector ┆AMETERS         MOV          R0  1.     X5  ; STACK LAST PARAMETER         MOV          R4         X5  ; PUSH RETURN ADDRESS    ┆
0x2f500…2f580 UnusedSector ┆     INC                     X5  ;   TO THE STACK         MVP          X4         R0  ; GOTO THE SUBROUTINE        MOV          ┆
0x2f580…2f600 UnusedSector ┆ R0         R4  ;        JMP                      X4  ;         IF OLDVERSUP THEN ; CALL3 ; THE PARAMETERS ARE IN R2, R1, AND R0┆
0x2f600…2f680 UnusedSector ┆.  PCG118:         ADDC  -8                R5  ;         MOVL         R12 6.     X5  ;         MOV          R0  5.     X5  ;    ┆
0x2f680…2f700 UnusedSector ┆     MOV          R4  4.     X5  ;         INC   4.     X5             ;         MOV          R6  2.     X5  ;         MOV      ┆
0x2f700…2f780 UnusedSector ┆    R5         R6  ;         MOV          R5  1.     X5  ;         MVP   0.     X4         R0  ;         ADD          R0        ┆
0x2f780…2f800 UnusedSector ┆ R4  ;         MVP   0.     X4         R0  ;         ADD          R0  1.     X5  ;         MVP   1.     X4         R0  ;        ┆
0x2f800…2f880 UnusedSector ┆ MOV          R0  0.     X5  ;         MVP   2.     X4         R0  ;         SUB          R0         R5  ;         MOV   HEAPTOP┆
0x2f880…2f900 UnusedSector ┆           R0  ;         ADDC  MINSTACK          R0  ;         ILO          R5         R0  ;         JMP              PCSTAC    ┆
0x2f900…2f980 UnusedSector ┆ ;         JMP              3.     X4  ;       FI   ; CALL2 ; THE PARAMETERS ARE IN R2 AND R1.  PCO117:         ADDC  -3        ┆
0x2f980…2fa00 UnusedSector ┆        R5  ;         MOVL         R12 1.     X5  ; STACK TWO PARAMETERS         MOV          R4         X5  ; PUSH THE RETURN A┆
0x2fa00…2fa80 UnusedSector ┆DDRESS         INC                     X5  ;   TO THE STACK         MVP          X4         R0  ; GOTO THE SUBROUTINE         MO┆
0x2fa80…2fb00 UnusedSector ┆V          R0         R4  ;         JMP                     X4  ;         IF OLDVERSUP THEN ; CALL2 ; THE PARAMETERS ARE IN R2 A┆
0x2fb00…2fb80 UnusedSector ┆ND R1.  PCG117:         ADDC  -7                R5  ;         MOVL         R12 5.     X5  ;         MOV          R4  4.     X5  ┆
0x2fb80…2fc00 UnusedSector ┆;         INC   4.     X5             ;         MOV          R6  2.     X5  ;         MOV          R5         R6  ;         MOV ┆
0x2fc00…2fc80 UnusedSector ┆         R5  1.     X5  ;         MVP   0.     X4         R0  ;         ADD          R0         R4  ;         MVP   0.     X4   ┆
0x2fc80…2fd00 UnusedSector ┆      R0  ;         ADD          R0  1.     X5  ;         MVP   1.     X4         R0  ;         MOV          R0  0.     X5  ;   ┆
0x2fd00…2fd80 UnusedSector ┆      MVP   2.     X4         R0  ;         SUB          R0         R5  ;         MOV   HEAPTOP           R0  ;         ADDC  MI┆
0x2fd80…2fe00 UnusedSector ┆NSTACK          R0  ;         ILO          R5         R0  ;         JMP              PCSTAC     ;         JMP              3.   ┆
0x2fe00…2fe80 UnusedSector ┆  X4  ;       FI  ; CALL1 ; THE PARAMETER IS IN R2  PCO116:         ADDC  -2                R5  ;         MOV          R2  1.   ┆
0x2fe80…2ff00 UnusedSector ┆  X5  ; STACK ONE PARAMETERS         MOV          R4         X5  ; PUSH THE RETURN ADDRESS         INC          X5             ;┆
0x2ff00…2ff80 UnusedSector ┆  R0         R5  ;         MOV   HEAPTOP           R0  ;         ADDC  MINSTACK          R0  ;         ILO          R5         R┆
0x2ff80…30000 UnusedSector ┆0  ;         JMP              PCSTAC     ;         JMP              3.     X4  ;       FI   ; CALL0 ; NO PARAMETERS FOR PROCEDUR┆
0x30000…30080 UnusedSector ┆E  PCO115:         ADDC  -1                R5  ;         MOV          R4         X5  ; PUSH THE RETURN ADDRESS         INC      ┆
0x30080…30100 UnusedSector ┆               X5  ;   TO THE STACK         MVP          X4         R0  ; GOTO THE SUBROUTINE         MOV          R0         R4┆
0x30100…30180 UnusedSector ┆  ;         JMP                     X4  ;        IF OLDVERSUP THEN ; CALL0 ; NO PARAMETERS FOR PROCEDURE  PCG115:         ADDC  ┆
0x30180…30200 UnusedSector ┆-5                R5  ;         MOV          R4  4.     X5  ;         INC   4.     X5             ;         MOV          R6  2. ┆
0x30200…30280 UnusedSector ┆    X5  ;         MOV          R5         R6  ;         MOV          R5  1.     X5  ;         MVP   0.     X4         R0  ;     ┆
0x30280…30300 UnusedSector ┆    ADD          R0         R4  ;         MVP   0.     X4         R0  ;         ADD          R0  1.     X5  ;         MVP   1.  ┆
0x30300…30380 UnusedSector ┆   X4         R0  ;         MOV          R0  0.     X5  ;         MVP   2.     X4         R0  ;         SUB          R0         ┆
0x30380…30400 UnusedSector ┆R5  ;         MOV   HEAPTOP           R0  ;         ADDC  MINSTACK          R0  ;         ILO          R5         R0  ;         ┆
0x30400…30480 UnusedSector ┆JMP              PCSTAC     ;         JMP              3.     X4  ;       FI   ; CALLSYS0 ; NO PARAMETERS  PCO121:         MVP  ┆
0x30480…30500 UnusedSector ┆ 0.     X4         R1  ;         ADDC  1                 R4  ;         MOD   R1                    ;         JMP              PC┆
0x30500…30580 UnusedSector ┆JUMPTAB  ;    ; CALLSYS1 ; 1 PARAMETER  PCO122:                             ;         ADDC  -1                R5  ;         MOV ┆
0x30580…30600 UnusedSector ┆         R2         X5  ;         MVP   0.     X4         R1  ;         ADDC  1                 R4  ;         MOD   R1          ┆
0x30600…30680 UnusedSector ┆          ;         JMP              PCJUMPTAB  ;    ; CALLSYS2 ; 2 PARAMETERS  PCO123:         ADDC  -2                R5  ;   ┆
0x30680…30700 UnusedSector ┆      MOVL         R12 0.     X5  ;         MVP   0.     X4         R1  ;         ADDC  1                 R4  ;         MOD   R1┆
0x30700…30780 UnusedSector ┆                    ;         JMP              PCJUMPTAB  ;    ; CALLSYS3 ; 3 PARAMETERS  PCO124:         ADDC  -3              ┆
0x30780…30800 UnusedSector ┆  R5  ;         MOVL         R12 1.     X5  ;         MOV          R0  0.     X5  ;         MVP   0.     X4         R1  ;       ┆
0x30800…30880 UnusedSector ┆  ADDC  1                 R4  ;         MOD   R1                    ;         JMP              PCJUMPTAB  ;    ; CALLSYS4 ; 4 PA┆
0x30880…30900 UnusedSector ┆RAMETSRS  PCO125:         ADDC  -4                R5  ;         MOVL         R12 2.     X5  ;         MOV          R0  1.     X5┆
0x30900…30980 UnusedSector ┆  ;         MOV          R7  0.     X5  ;         MVP   0.     X4         R1  ;         ADDC  1                 R4  ;         MO┆
0x30980…30a00 UnusedSector ┆D   R1                    ;         JMP              PCJUMPTAB  ;   ; NEW ENTER  PCO120:        ADDC -4                  R5  ;  ┆
0x30a00…30a80 UnusedSector ┆      MOV           R6  2.     X5  ; SAVE OLD B        MOV           R5  1.     X5  ; R5+        MVP           X4         R0  ; ┆
0x30a80…30b00 UnusedSector ┆      R6  2.     X5  ;         MOV          R5         R6  ;         MOV          R5  1.     X5  ;         MVP   0.     X4      ┆
0x30b00…30b80 UnusedSector ┆   R0  ;         ADD          R0         R4  ;         MVP   0.     X4         R0  ;         ADD          R0  1.     X5  ;      ┆
0x30b80…30c00 UnusedSector ┆   MVP   1.     X4         R0  ;         MOV          R0  0.     X5  ;         MVP   2.     X4         R0  ;         SUB        ┆
0x30c00…30c80 UnusedSector ┆           1.     X4  ;   ; JUST_TWO3 PCO076:         ADDC  -1                R5  ;         MOV          R2  0.     X5  ;       ┆
0x30c80…30d00 UnusedSector ┆  MOV          R1         R2  ;         MOV          R0         R1  ;         JMP                     X4  ;   ; JUST_TWO4 PCO077┆
0x30d00…30d80 UnusedSector ┆:         ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;         MOV          R0         R2  ;         MOV ┆
0x30d80…30e00 UnusedSector ┆         R7         R1  ;         JMP                     X4  ;    ; STORE1 PCO078:         ADDC  -1                R5  ;       ┆
0x30e00…30e80 UnusedSector ┆  MOV          R2  0.     X5  ;         JMP              0.     X4  ;   ; STORE2 PCO079:         ADDC  -2                R5  ;  ┆
0x30e80…30f00 UnusedSector ┆       MOVL         R12 0.     X5  ;         JMP              0.     X4  ;   ; STORE3 PCO080:         ADDC  -3                R5┆
0x30f00…30f80 UnusedSector ┆  ;         MOV          R0  0.     X5  ;         MOVL         R12 1.     X5  ;         JMP              0.     X4  ;   ; STORE4┆
0x30f80…31000 UnusedSector ┆ PCO081:         ADDC  -4                R5  ;         MOV          R7  0.     X5  ;         MOV          R0  1.     X5  ;      ┆
0x31000…31080 UnusedSector ┆   MOVL         R12 2.     X5  ;         JMP              0.     X4  ;   ; COPYSTRUCTURE(LENGTH) AND ADDRESSES IN R2 AND R1 PCO0┆
0x31080…31100 UnusedSector ┆16:         ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;         JMP              PCO021     ;   ; LSSTRU┆
0x31100…31180 UnusedSector ┆CT(LENGTH) AND 2 IN REGS PCO082:         ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;         JMP        ┆
0x31180…31200 UnusedSector ┆      PCO059     ;   ; EQSTRUCT(LENGTH) AND 2 IN REGS PCO083:         ADDC  -2                R5  ;         MOVL         R12 0. ┆
0x31200…31280 UnusedSector ┆    X5  ;         JMP              PCO060     ;   ; GRSTRUCT(LENGTH) AND 2 IN REGS PCO084:         ADDC  -2                R5  ;┆
0x31280…31300 UnusedSector ┆         MOVL         R12 0.     X5  ;         JMP              PCO061     ;   ; NLSTRUCT(LENGTH) AND 2 IN REGS PCO085:         ┆
0x31300…31380 UnusedSector ┆ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;         JMP              PCO062     ;   ; NESTRUCT(LENGTH) A┆
0x31380…31400 UnusedSector ┆ND 2 IN REGS PCO086:         ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;         JMP              PCO063┆
0x31400…31480 UnusedSector ┆     ;   ; NGSTRUCT(LENGTH) AND 2 IN REGS PCO087:         ADDC  -2                R5  ;         MOVL         R12 0.     X5  ;   ┆
0x31480…31500 UnusedSector ┆  POPLENGTH        ADD           R0  1.     X5  ;   =POP ADDRESS        MVP   1.      X4         R0  ; SAVE CURRENT LINENO.     ┆
0x31500…31580 UnusedSector ┆   MOV           R0         X5  ;   ONTHE STACK        MOV           R5         R6  ; SET LOCAL BASE        MVP   2.      X4    ┆
0x31580…31600 UnusedSector ┆     R0  ; GET VARLENGTH        SUB           R0         R5  ; SET STACKTOP        MOV   HEAPTOP            R0  ; CHECK IF      ┆
0x31600…31680 UnusedSector ┆  ADDC  MINSTACK           R0  ;   WE HAVE AT LEAST        ILO           R5         R0  ;   MINSTACK FREE SPACE        JMP   PCS┆
0x31680…31700 UnusedSector ┆TAC                 ; IF NOT THEN STACKERROR        JMP   3.      X4             ;  ; NEW EXIT  PCO126:         MOV   1.     X6 ┆
0x31700…31780 UnusedSector ┆        R5  ;         MOV   4.     X6         R4  ;         MOV   2.     X6         R6  ;         JMP                     X4  ; ┆
0x31780…31800 UnusedSector ┆   ; DIV 2**N MOD 2 PCO008:         MVP   0.     X4         R0  ;         MOV          R1         R7  ;         MOVC  1         ┆
0x31800…31880 UnusedSector ┆        R1  ;         ILTP         R7  0          ;         NEG          R7             ;         MOVC  -1                R1  ; ┆
0x31880…31900 UnusedSector ┆        MOD          R0             ;         IBZ          R7  0          ;         MOVC  0                 R1  ;         JMP   ┆
0x31900…31980 UnusedSector ┆         JMP              PCILLC     ;    Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x31980…31a00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x31a80…31b00 UnusedSector ┆  CO08   >        p    ░ H     \   ░     ░5  ; ░     ░ MOV ░     ░  R7 ░0.   ░ X5  ░     ░   M ░     ░     ░  1. ░   X ░ ;   ░  ┆
0x31b00…31b80 UnusedSector ┆   ░OVL  ░     ░R12  ░     ░5  ; ░     ░ JMP ░     ░     ░0.   ░ X4  ░   ; ░OPYS ░UCTU ░(LEN ░H) A ░ ADD ░SSES ░N R2 ░ND R ░PCO0┆
0x31b80…31c00 UnusedSector ┆ ░:    ░     ░DC   ░     ░     ░     ░  ;  ░     ░MOVL ░     ░ R12 ░.    ░X5   ░     ░  JM ░     ░     ░ PCO ░1    ░;    ░LSST ░┆
0x31c00…31c80 UnusedSector ┆CT(L ░GTH) ░ND 2 ░N RE ░ PCO ░2:   ░     ░DDC  ░2    ░     ░     ░5  ; ░     ░ MOVL         R1  0.     X5  ;         JMP        ┆
0x31c80…31d00 UnusedSector ┆Z Z                                                                                                                             ┆
0x31d00…31d80 UnusedSector ┆                                                                    Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x31d80…31e00 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x31e80…31f00 UnusedSector ┆      JMP              PCO064     ;   ; V_PUSHLONGCONST(DISP) PCO092:         MOV   CSTREF            R7  ; LNGCOP:         MVP ┆
0x31f00…31f80 UnusedSector ┆  0.     X4         R0  ;         ADD          R0         R7  ;         ADDC  -2                R5  ;         MOVL  0.     X7   ┆
0x31f80…32000 UnusedSector ┆      R01 ;         MOVL         R01        X5  ;         JMP              1.     X4  ;   ; V_PUSHLONGLOCAL(DISP) PCO093:       ┆
0x32000…32080 UnusedSector ┆  MOV          R6         R7  ;         JMP              LNGCOP     ;   ; V_PUSHLONGGLOBAL(DISP) PCO094:         MOV          R3┆
0x32080…32100 UnusedSector ┆         R7  ;         JMP              LNGCOP     ;   ; V_PUSHSETCONST(DISPL) PCO095:         MOV   CSTREF            R0  ; SET┆
0x32100…32180 UnusedSector ┆COP:         MVP   0.     X4         R1  ;         ADD          R1         R0  ;         ADDC  -8                R5  ;         M┆
0x32180…32200 UnusedSector ┆ODC  8                     ;         MOVM         X0         X5  ;         ADDC  -8                R5  ;         JMP            ┆
0x32200…32280 UnusedSector ┆  1.     X4  ;   ; V_PUSHSETLOCAL(DISPL) PCO096:         MOV   R6                R0  ;         JMP              SETCOP     ;   ;┆
0x32280…32300 UnusedSector ┆ V_PUSHSETGLOBAL(DISPL) PCO103:         MOV   R3                R0  ;         JMP              SETCOP     ;   ; V_MULR0R1  "R0*R┆
0x32300…32380 UnusedSector ┆1 => R1" PCO104:         MOVC  REGTOP            R7  ;         MOV          R1  0.     X7  ;         MUL          R0         X7 ┆
0x32380…32400 UnusedSector ┆ ;         MOV   0.     X7         R1  ;         JMP                     X4  ;    ; V_MULR1R2   "R1*R2 => R2" PCO105:         MO┆
0x32400…32480 UnusedSector ┆VC  REGTOP            R7  ;         MOV          R2  0.     X7  ;         MUL          R1  0.     X7  ;         MOV   0.     X7 ┆
0x32480…32500 UnusedSector ┆        R2  ;         JMP                     X4  ;    ; V_MULR7R0   "R7*R0 => R0" PCO106:         ADDC  -10               R5  ;┆
0x32500…32580 UnusedSector ┆         MOV          R0  0.     X5  ;         MUL          R7  0.     X5  ;         MOV   0.     X5         R0  ;         ADDC ┆
0x32580…32600 UnusedSector ┆ 10                R5  ;         JMP                     X4  ;   PCO107: PCO108: PCO109: PCO110: PCO111: PCO112: PCO113: PCO114:┆
0x32600…32680 UnusedSector ┆TOP;         MOV          X5         R7  ;   ST(S) => REF(RESULT_PARAMETER);         MOV          R0         X7  ;   RESULT => R┆
0x32680…32700 UnusedSector ┆ESULT_PARAMETER;         MOV   1.     X5         R7  ;   ST(S+1) => REF(LINE_PARAMETER);         MOV   LINE              R0  ;  ┆
0x32700…32780 UnusedSector ┆ LINE         MOV          R0         X7  ;        => LINE_PARAMETER; POPPARM:                            ;         ADDC  4     ┆
0x32780…32800 UnusedSector ┆            R5  ;   "POP PARAMETERS FOR RUN"         MOVC  REGTOP            R7  ;         STC   6                     ;   SAVE(┆
0x32800…32880 UnusedSector ┆B, G, Q, S);         MOVC  1                 R0  ;   "DON'T LOAD CONSTANTS";         MOV          R3         R7  ;         MOV  ┆
0x32880…32900 UnusedSector ┆; USE PROG PCNEXT: PCNEXT1:         JMP                     X4  ;   GOTO NEXT   ;===============================================┆
0x32900…32980 UnusedSector ┆======================== ; EXCEPTIONS PCCALL:                             ; CALLERROR         MODC  9          -8         ; PCIL┆
0x32980…32a00 UnusedSector ┆LC:                             ; TIMELIMIT         MODC  8          -7         ; PCCODE:                             ; CODELIMI┆
0x32a00…32a80 UnusedSector ┆T         MODC  7          -6         ; PCSTAC:                             ; STACKLIMIT         MODC  6          -5         ; P┆
0x32a80…32b00 UnusedSector ┆CHEAP:                             ; HEAPLIMIT         MODC  5          -4         ; PCVARI:                             ; VARIA┆
0x32b00…32b80 UnusedSector ┆NTERROR         MODC  4          -3         ; PCRANG:                             ; RANGEERROR PCRANG1:         MODC  3         ┆
0x32b80…32c00 UnusedSector ┆ -2         ; PCPOIN:                             ; POINTERERROR         MODC  2          -1         ; PCOVER:                  ┆
0x32c00…32c80 UnusedSector ┆           ; OVERFLOW         MODC  1          -0         ; PCTERM:                             ; TERMINATED:         MOVC  0   ┆
0x32c80…32d00 UnusedSector ┆              R1  ;   TERMINATIONCODE         MOV          R1  RESULT     ;     => RESULT;         MOV          X6         R7  ;┆
0x32d00…32d80 UnusedSector ┆   ST(B)         MOV          R7  LINE       ;    => LINE;         MOV          R3         R7  ;         MOV   LEVEL. X7        ┆
0x32d80…32e00 UnusedSector ┆ R0  ;   IF LEVEL         JON          R0  LDPROG     ;           <>0 THEN GOTO LOADPROG;                                     ; ┆
0x32e00…32e80 UnusedSector ┆  "PROGRAM WAS NOT LOADED BY RUN"         JOZ          R1  PCXYZ      ;   IF RESULT <> TERMINATED THEN         MOVC  PASERR     ┆
0x32e80…32f00 UnusedSector ┆       R2  ;     PASERR         IOR          R1         R2  ;       OR TERMINATIONCODE         MOV          R2  RESULT     ;    ┆
0x32f00…32f80 UnusedSector ┆   => RESULT; PCXYZ:                              ;   FI;         JMP              LTERM      ;   GOTO TERMINATION; LDPROG:     ┆
0x32f80…33000 UnusedSector ┆                        ; LOADPROG         MOV          R3         R7  ;   G => REF(ACTIVATION RECORD);         MOV   AB.    X7 ┆
0x33000…33080 UnusedSector ┆        R6  ;   ACTIVATIONREC.B => B;         MOV   AG.    X7         R3  ;   ACTIVATIONREC.G => G;         MOV   OLDQ.  X7     ┆
0x33080…33100 UnusedSector ┆    R4  ;   ACTIVATIONREC.Q => Q;         MOV   OLDS.  X7         R5  ;   ACTIVATIONREC.OLDS => S;         MOV          R3      ┆
0x33100…33180 UnusedSector ┆   R0  ;         ADDC  -64               R0  ;         MOV          R0  GBOT       ;         ADDC  69                R0  ;      ┆
0x33180…33200 UnusedSector ┆   MOV   0.     X0         R0  ;         MOV          R0  CSTREF     ;         MOV   1.     X7         R0  ;         MOV        ┆
0x33200…33280 UnusedSector ┆  R0  GTOP       ;         MOV   RESULT            R0  ;   IF RESULT         INEP         R0  0          ;             <> TERMIN┆
0x33280…33300 UnusedSector ┆ATED THEN         MOV   OLHEAP.X7         R1  ;      ACTIVATIONREC.OLDHEAPTOP         MOV          R1  HEAPTOP    ;      => HEAP┆
0x33300…33380 UnusedSector ┆   R6  0          ;   IF RETURN_CODE <> 0 THEN         MOV          R6         R7  ;         JMP          S4  RUERROR    ;      ┆
0x33380…33400 UnusedSector ┆RUNERROR;         MOVC  REGSAV            R7  ;         UNS   6                     ;   RESTORE(B, G, Q, S);          MOV       ┆
0x33400…33480 UnusedSector ┆   R3         R7  ;         MOV   LEVEL. X7         R0  ;         JON          R0  XX4711     ;   IF LEVEL = 0 THEN         MOV ┆
0x33480…33500 UnusedSector ┆  PROGFIL.X7        R4  ;      BEGIN         MON   IO,    DISMANTLE      ;         DISMANTLE(PROGFIL,         NOP               ┆
0x33500…33580 UnusedSector ┆          ;            ERROR: NOP);         MOV   SQ                R4  ;         RESTORE(Q); XX4711:                           ┆
0x33580…33600 UnusedSector ┆  ;      END;          JMP              PCNEXT     ;   GOTO NEXT;  RUERROR:         JMP   RUNERR                ;   JUMP TO RUNE┆
0x33600…33680 UnusedSector ┆RROR ;=======================================================================    PPE050:                             ;   *******┆
0x33680…33700 UnusedSector ┆*************************                                     ;   PRINT_INSTRUCTION_TRACE;         JMP                     X4  ;┆
0x33700…33780 UnusedSector ┆   ********************************  PCO000:                             ; ILLEGAL CODE: PTO000:                             ;  ┆
0x33780…33800 UnusedSector ┆       JMP              PCILLC     ;  ;=======================================================================  ; CONSTADDR(DISP┆
0x33800…33880 UnusedSector ┆L)  ; THE ABSOLUTE ADDRESS OF A CONSTANT IS PUSHED ON THE STACK.  PCO001:                             ; CONSTADDR: PTO001:      ┆
0x33880…33900 UnusedSector ┆   ADDC  -1                R5  ;   S-1 => S;         MOV          R3         R7  ;         MVP          X4         R1  ;   PG(Q)┆
0x33900…33980 UnusedSector ┆ => DISPL;         ADD   5.     X7         R1  ;   DISPL+ADR OF CONSTS => DISPL;         MOV          R1         X5  ;   DISPL =┆
0x33980…33a00 UnusedSector ┆> ST(S);         JMP              1.     X4  ;   RETURN;   ;====================================================================┆
0x33a00…33a80 UnusedSector ┆===  ; LOCALADDR(DISPL)  ; THE ABSOLUTE ADDRESS OF A LOCAL VARIABLE IS PUSHED ON THE STACK.  PCO002:                            ┆
0x33a80…33b00 UnusedSector ┆ ; LOCALADDR: PTO002:         ADDC  -1                R5  ;   S-1 => S;         MVP          X4         R0  ;   PG(Q) "DISPL"   ┆
0x33b00…33b80 UnusedSector ┆      ADD          R6         R0  ;        +B         MOV          R0         X5  ;           => ST(S);         JMP             ┆
0x33b80…33c00 UnusedSector ┆ 1.     X4  ;   RETURN;   ;=======================================================================  ; GLOBALADDR(DISPL)  ; THE A┆
0x33c00…33c80 UnusedSector ┆BSOLUTE ADDRESS OF A GLOBAL VARIABLE IS PUSHED ON THE STACK.  PCO003:                             ; GLOBALADDR: PTO003:         ┆
0x33c80…33d00 UnusedSector ┆ADDC  -1                R5  ;   S-1 => S;         MVP          X4         R0  ;   PG(Q)         ADD          R3         R0  ;   ┆
0x33d00…33d80 UnusedSector ┆     +G         MOV          R0         X5  ;           => ST(S);         JMP              1.     X4  ;   RETURN;   ;===========┆
0x33d80…33e00 UnusedSector ┆============================================================  ; PUSHCONST(VALUE)  ; THE CONSTANT FOLLOWING THE INSTRUCTION IS PU┆
0x33e00…33e80 UnusedSector ┆SHED ON THE STACK.  PCO004:                             ; PUSHCONST: PTO004:         ADDC  -1                R5  ;   S-1 => S;  ┆
0x33e80…33f00 UnusedSector ┆       MVP          X4         R0  ;   PG(Q) "VALUE"         MOV          R0         X5  ;         => ST(S);         JMP        ┆
0x33f00…33f80 UnusedSector ┆      1.     X4  ;   RETURN;   ;=======================================================================  ; PUSHLOCAL(DISPL)  ; T┆
0x33f80…34000 UnusedSector ┆ PROGFIL.X7        R4  ;   ACTIVATIONREC.PROGFIL=>FILE;         JMP          S6  LOADPM     ;   LOAD PROGRAM;         INEP      ┆
0x34000…34080 UnusedSector ┆  RETURN;   ;=======================================================================  ; PUSHIND  ; AN ABSOLUTE ADDRESS IS POPPED┆
0x34080…34100 UnusedSector ┆ FROM THE STACK, AND THE ; VARIABLE WITH THAT ADDRESS IS PUSHED ON THE STACK.  PCO007:                             ; PUSHIND: PT┆
0x34100…34180 UnusedSector ┆O007:         MOV          X5         R0  ;   ST(S) => X;         MOV          X0         X5  ;   ST(X) => ST(S);         JMP   ┆
0x34180…34200 UnusedSector ┆                  X4  ;   RETURN;   ;=======================================================================  ; PUSHLONG  ; AN A┆
0x34200…34280 UnusedSector ┆BSOLUTE ADDRESS IS POPPED FROM THE STACK. ; A LONG INTEGER (2 WORDS) REFERENCED BY ; THAT ADDRESS IS PUSHED ON THE STACK.  PCO00┆
0x34280…34300 UnusedSector ┆9:                             ; PUSHLONG: PTO009:                             ;         MOV          X5         R7  ;   ST(S) =┆
0x34300…34380 UnusedSector ┆> X;         ADDC  -1                R5  ;   S-1 => S;         MOVL         X7         R01 ;   ST(X),ST(X+1)         MOVL       ┆
0x34380…34400 UnusedSector ┆  R01        X55 ;                 => ST(S),ST(S+1);         JMP                     X4  ;   GOTO NEXT;  ;======================┆
0x34400…34480 UnusedSector ┆=================================================  ; PUSHSET  ; AN ABSOLUTE ADDRESS IS POPPED FROM THE STACK. ; A SET (8 WORDS) ┆
0x34480…34500 UnusedSector ┆REFERENCED BY THAT ; ADDRESS IS PUSHED ON THE STACK.  PCO010:                             ; PUSHSET: PTO010:                    ┆
0x34500…34580 UnusedSector ┆         ;         MOV          X5         R0  ;   ST(S) => X;         ADDC  -7                R5  ;   S-7 => S;         MODC  8┆
0x34580…34600 UnusedSector ┆                     ;   FOR I := 1 TO 8 DO         MOVM         X0         X5  ;   ST(X)=>ST(S);INCR(X);INCR(S) OD;         ADD┆
0x34600…34680 UnusedSector ┆C  -8                R5  ;   S-8 => S;         JMP                     X4  ;   GOTO NEXT;  ;====================================┆
0x34680…34700 UnusedSector ┆===================================  ; FIELD(DISPL)  ; INCREMENTS AN ABSOLUTE ADDRESS ON ; THE STACK WITH THE DISPLACEMENT.  PCO┆
0x34700…34780 UnusedSector ┆011:                             ; FIELD: PTO011:         MVP          X4         R0  ;   PG(Q) "DISPL"         ADD          R0 ┆
0x34780…34800 UnusedSector ┆        X5  ;        +ST(S) => ST(S);         JMP              1.     X4  ;   RETURN;   ;=======================================┆
0x34800…34880 UnusedSector ┆================================  ; INDEX(MIN, MAX-MIN, LENGTH)  ; AN INDEX VALUE AND AN ARRAY ADDRESS ARE POPPED ; FROM THE STA┆
0x34880…34900 UnusedSector ┆CK. THE ADDRESS OF THE CORRESPONDING ; ARRAY ELEMENT IS PUSHED ON THE STACK.  PCO012:                             ; INDEX: PTO01┆
0x34900…34980 UnusedSector ┆2:                             ;         MVP          X4         R0  ;   PG(Q) => MIN;         SUB          R0         X5  ;   S┆
0x34980…34a00 UnusedSector ┆HE LOCAL VARIABLE WHICH ADDRESS FOLLOWS ; THE INSTRUCTION IS PUSHED ON THE STACK.  PCO005:                             ; PUSHLOC┆
0x34a00…34a80 UnusedSector ┆AL: PTO005:         ADDC  -1                R5  ;   S-1 => S;         MVP          X4         R0  ;   PG(Q) "DISPL"         ADD ┆
0x34a80…34b00 UnusedSector ┆         R6         R0  ;        +B => X;         MOV          X0         X5  ;   ST(X) => ST(S);         JMP              1.   ┆
0x34b00…34b80 UnusedSector ┆  X4  ;   RETURN;   ;=======================================================================  ; PUSHGLOBAL(DISPL)  ; THE GLOBAL ┆
0x34b80…34c00 UnusedSector ┆VARIABLE WHICH ADDRESS FOLLOWS ; THE INSTRUCTION IS PUSHED ON THE STACK.  PCO006:                             ; PUSHGLOBAL: PTO0┆
0x34c00…34c80 UnusedSector ┆06:         ADDC  -1                R5  ;   S-1 => S;         MVP          X4         R0  ;   PG(Q) "DISPL"         ADD         ┆
0x34c80…34d00 UnusedSector ┆ R3         R0  ;        +G => X;         MOV          X0         X5  ;   ST(X) => ST(S);         JMP              1.     X4  ; ┆
0x34d00…34d80 UnusedSector ┆========================  ; VARIANT(DISPL, TAGSET)  ; CHECKS THE VALUE OF A TAG FIELD IN A VARIANT RECORD. ; THE RECORD BASE IS ┆
0x34d80…34e00 UnusedSector ┆THE STACK TOP ELEMENT. ; THE TAG FIELD DISPLACEMENT IS THE FIRST PARAMETER. ; THE SECOND PARAMETER IS A BITSTRING. ; BITS SET CO┆
0x34e00…34e80 UnusedSector ┆RRESPONDS TO LEGAL TAG VALUES.  PCO014:                             ; VARIANT: PTO014:                             ;         MVP┆
0x34e80…34f00 UnusedSector ┆          X4         R0  ;   DISPL         ADD          X5         R0  ;        +ST(S) => X;         MOVC  16                R7 ┆
0x34f00…34f80 UnusedSector ┆ ;         IGE          X0         R7  ;   IF ST(X) >= 16 THEN         JMP              PCVARI     ;      VARIANTERROR FI;      ┆
0x34f80…35000 UnusedSector ┆   MVP   1.     X4         R1  ;   PG(Q+1) => BITSTRING;         MOD          X0             ;   IF BIT(ST(X))         IBZ      ┆
0x35000…35080 UnusedSector ┆    R1  0          ;      NOT IN BITSTRING THEN         JMP              PCVARI     ;      THEN VARIANTERROR FI;         JMP    ┆
0x35080…35100 UnusedSector ┆           2.    X4  ;   GOTO NEXT;  ;=======================================================================  ; RANGE(MIN, MAX)┆
0x35100…35180 UnusedSector ┆  ; CHECKS THAT THE STACK TOP VALUE IS WITHIN MIN AND MAX.  PCO015:                             ; RANGE: PTO015:                ┆
0x35180…35200 UnusedSector ┆             ;         MVP          X4         R0  ;   PG(Q) => MIN;         ILT          X5         R0  ;   IF ST(S) < MIN THEN┆
0x35200…35280 UnusedSector ┆         JMP              PCRANG     ;      RANGEERROR FI;         MVP   1.     X4         R0  ;   PG(Q+1) => MAX;         ILT  ┆
0x35280…35300 UnusedSector ┆        R0         X5  ;   IF MAX < ST(S) THEN         JMP              PCRANG     ;      RANGEERROR FI;         JMP            ┆
0x35300…35380 UnusedSector ┆   2.    X4  ;   GOTO NEXT;  ;=======================================================================  ; COPYWORD  ; POPS A WORD┆
0x35380…35400 UnusedSector ┆T(S)-MIN => ST(S);         ILT          X5  0          ;   IF ST(S) < 0 THEN         JMP              PCRANG     ;      RANGEERR┆
0x35400…35480 UnusedSector ┆OR FI;         MVP   1.     X4         R1  ;   PG(Q+1) => MAX-MIN;         ILT          R1         X5  ;   IF MAX-MIN < ST(S) TH┆
0x35480…35500 UnusedSector ┆EN         JMP              PCRANG     ;      RANGEERROR FI;         MVP   2.     X4         R1  ;   PG(Q+2) => ELEMLENGTH;     ┆
0x35500…35580 UnusedSector ┆    SEQ          R1  1          ;   IF ELEMENLENGTH = 1 THEN         JMP              PL1012     ;   BEGIN         MOV          ┆
0x35580…35600 UnusedSector ┆X5         R0  ;      DISPL*1         ADD          R0  1.     X5  ;             +ARRAYADR => ST(S+1);         JMP              P┆
0x35600…35680 UnusedSector ┆L2012     ;   END PL1012:                             ;   ELSE                                     ;   BEGIN         MOV   1.   ┆
0x35680…35700 UnusedSector ┆  X5         R2  ;      ST(S+1) => ARRAYADR;         MUL          R1         X55 ;      OFFSET*ELEMLENGTH         ADD          X┆
0x35700…35780 UnusedSector ┆5         R2  ;                       +ARRAYADR         MOV          R2  1.     X5  ;                       => ST(S+1);         ┆
0x35780…35800 UnusedSector ┆                            ;   END; PL2012:                             ;         ADDC  1                 R5  ;   S+1 => S;    ┆
0x35800…35880 UnusedSector ┆     JMP              3.     X4  ;   GOTO NEXT;  ;=======================================================================  ; POI┆
0x35880…35900 UnusedSector ┆NTER  ; CHECKS THAT THE POINTER VALUE ON ; THE STACK IS DIFFERENT FROM ZERO.  PCO013:                             ; POINTER: PTO┆
0x35900…35980 UnusedSector ┆013:                             ;         INE          X5  0          ;   IF ST(S) <> 0 THEN         JMP                     X4┆
0x35980…35a00 UnusedSector ┆  ;   GOTO NEXT;         JMP              PCPOIN     ;   ELSE POINTERERROR FI;  ;===============================================┆
0x35a00…35a80 UnusedSector ┆=====================  ; COPYSTRUCTURE(LENGTH)  ; POPS A SOURCE ADDRESS AND A DESTINATION ADDRESS ; FROM THE STACK. COPIES LENGT┆
0x35a80…35b00 UnusedSector ┆H WORDS FROM ; THE SOURCE TO THE DESTINATION.  PCO021:                             ; COPYSTRUCTURE: PTO021:                     ┆
0x35b00…35b80 UnusedSector ┆        ;         MOV          X5         R0  ;   ST(S) => SOURCE;         MOV   1.     X5         R1  ;   ST(S+1) => DEST;     ┆
0x35b80…35c00 UnusedSector ┆    MVP          X4         R2  ;   PG(Q) => LENGTH;         ADDC  2                 R5  ;   S+2 => S;         JOZ          R2  ┆
0x35c00…35c80 UnusedSector ┆PCL121     ;   IF LENGTH <> 0 THEN         MOD          R2             ;     "THE FIRST 1+(LENGTH-1) MOD         MOVM         X0┆
0x35c80…35d00 UnusedSector ┆         X1  ;     16 WORDS ARE MOVED"         ADDC  -1                R2  ;     LENGTH-1 => LENGTH;         SRL          R2  4 ┆
0x35d00…35d80 UnusedSector ┆         ;     LENGTH DIV 16 => LENGTH;         JOZ          R2  PCL121 ;   ;     IF LENGTH <> 0 THEN PCL221:                   ┆
0x35d80…35e00 UnusedSector ┆ FROM THE STACK. POPS AN ADDRESS FROM ; THE STACK. STORES THE WORD AT THE ADDRESS.  PCO017:                             ; COPYWO┆
0x35e00…35e80 UnusedSector ┆RD: PTO017:         MOV   1.     X5         R0  ;   ST(S+1) => X;         MOV          X5         X0  ;   ST(S) => ST(X);       ┆
0x35e80…35f00 UnusedSector ┆  ADDC  2                 R5  ;   S+2 => S;         JMP                     X4  ;   RETURN;   ;=================================┆
0x35f00…35f80 UnusedSector ┆======================================  ; COPYLONG  ; COPIES A LONG INTEGER (2 WORDS) FROM THE STACK TOP ; TO AN ADDRESS, WHICH ┆
0x35f80…36000 UnusedSector ┆IS ALSO POPPED FROM THE STACK.  PCO018:                             ; COPYLONG: PTO018:                             ;         MO┆
0x36000…36080 UnusedSector ┆V   2.     X5         R7  ;   ST(S+2) => X;         MOVL         X5         R01 ;   ST(S),ST(S+1)         MOVL         R01      ┆
0x36080…36100 UnusedSector ┆  X7  ;                 => ST(X),ST(X+1);         ADDC  3                 R5  ;   S+3 => S;         JMP                     X4  ┆
0x36100…36180 UnusedSector ┆;   GOTO NEXT;  ;=======================================================================  ; COPYSET  ; COPIES A SET (8 WORDS) FR┆
0x36180…36200 UnusedSector ┆OM THE STACK TOP TO AN ; ADDRESS, WHICH IS ALSO POPPED FROM THE STACK.  PCO019:                             ; COPYSET: PTO019:  ┆
0x36200…36280 UnusedSector ┆                           ;         MOV   8.     X5         R0  ;   ST(S+8) => X;         MODC  8                     ;   FOR I┆
0x36280…36300 UnusedSector ┆ := 1 TO 8 DO         MOVM         X5         X0  ;     ST(S)=>ST(X);INCR(S);INCR(X);                                     ;   RO┆
0x36300…36380 UnusedSector ┆F;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;======================┆
0x36380…36400 UnusedSector ┆=================================================  ; COPYTAG(LENGTH)  ; ASSIGNMENT TO A TAG FIELD OF A RECORD FOLLOWED BY ; ASSI┆
0x36400…36480 UnusedSector ┆GNMENT OF NIL (=0) TO ALL WORDS IN THE VARIANT ; PART OF THE RECORD. THE STACK TOP CONTAINS THE ; VALUE AND THE WORD BELOW CONTA┆
0x36480…36500 UnusedSector ┆INS THE ADDRESS.  PCO020:                             ; COPYTAG: PTO020:                             ;         MOV   1.     X5  ┆
0x36500…36580 UnusedSector ┆       R0  ;   ST(S+1) => X;         MOV          X5         X0  ;   ST(S) => ST(X);         ADDC  2                 R5  ;   S+2┆
0x36580…36600 UnusedSector ┆ => S;         MVP          X4         R1  ;   PG(Q) => LENGTH; PCL020:                             ;   FOR I := 1 TO LENGTH DO ┆
0x36600…36680 UnusedSector ┆        ADDC  1                 R0  ;      X+1 => X;         XTR          X0  0          ;      0 => ST(X);         SOB         ┆
0x36680…36700 UnusedSector ┆ R1  PCL020     ;   ROF;         JMP              1.     X4  ;   GOTO NEXT;  ;==================================================┆
0x36700…36780 UnusedSector ┆.  PCO025:                             ; ANDWORD: PTO025:         MOV          X5         R0  ;   ST(S) => A;         ADDC  1   ┆
0x36780…36800 UnusedSector ┆          ;       FOR I := 1 TO LENGTH DO         MOVM         X0         X1  ;         "MOVE 16 WORDS"         SOB          R2 ┆
0x36800…36880 UnusedSector ┆ PCL221     ;       ROF; PCL121:                             ;   FI FI;         JMP              1.     X4  ;   GOTO NEXT;  ;===┆
0x36880…36900 UnusedSector ┆====================================================================  ; NEW(STACKLENGTH+LENGTH, LENGTH)  ; POPS AN ADDRESS FROM ┆
0x36900…36980 UnusedSector ┆THE STACK. ALLOCATES A VARIABLE ; OF LENGTH WORDS ON THE HEAP, AND STORES ITS ADDRESS ; AT THE POPPED ADDRESS (POINTER VARIABLE)┆
0x36980…36a00 UnusedSector ┆.  PCO022:                             ; NEW: PTO022:                             ;         MOV          R6         R1  ;   B   ┆
0x36a00…36a80 UnusedSector ┆      MOV   HEAPTOP           R2  ;    -ST(HEAPTOP)         SUB          R2         R1  ;                 => X;         MVP     ┆
0x36a80…36b00 UnusedSector ┆     X4         R0  ;         ILO          R1         R0  ;   IF X < PG(Q) THEN         JMP              PCHEAP     ;      HEAPE┆
0x36b00…36b80 UnusedSector ┆RROR FI;         MOV          X5         R1  ;   ST(S) => Z;         MOV          R2         X1  ;   ST(HEAPTOP) => ST(Z);      ┆
0x36b80…36c00 UnusedSector ┆   MVP   1.     X4         R0  ;   PG(Q+1) => LENGTH;         ADD          R0         R2  ;   ST(HEAPTOP)+LENGTH         MOV    ┆
0x36c00…36c80 UnusedSector ┆      R2  HEAPTOP    ;                   => ST(HEAPTOP);         ADDC  1                 R5  ;   S+1 => S;         JMP          ┆
0x36c80…36d00 UnusedSector ┆    2.     X4  ;   GOTO NEXT;  ;=======================================================================  ; NEWINIT(STACKLENGTH+L┆
0x36d00…36d80 UnusedSector ┆ENGTH, LENGTH)  ; POPS AN ADDRESS FROM THE STACK. ALLOCATES A VARIABLE ; OF LENGTH WORDS ON THE HEAP, AND STORES ITS ADDRESS ; A┆
0x36d80…36e00 UnusedSector ┆T THE POPPED ADDRESS (POINTER VARIABLE). ; INITIALIZES THE NEW VARIABLE TO NIL (=0).  PCO023:                             ; NEWI┆
0x36e00…36e80 UnusedSector ┆NIT: PTO023:                             ;         MOV          R6         R1  ;   B         MOV   HEAPTOP           R2  ;    -S┆
0x36e80…36f00 UnusedSector ┆T(HEAPTOP)         SUB          R2         R1  ;                 => X;         MVP          X4         R0  ;         ILO        ┆
0x36f00…36f80 UnusedSector ┆  R1         R0  ;   IF X < PG(Q) THEN         JMP              PCHEAP     ;      HEAPERROR FI;         MOV          X5         ┆
0x36f80…37000 UnusedSector ┆R1  ;   ST(S) => Z;         MOV          R2         X1  ;   ST(HEAPTOP) => ST(Z);         MVP   1.     X4         R0  ;   PG(Q+1┆
0x37000…37080 UnusedSector ┆) => LENGTH;         ADD          R0         R2  ;   ST(HEAPTOP)+LENGTH => X;         MOV          R2  HEAPTOP    ;   X => ST(HE┆
0x37080…37100 UnusedSector ┆APTOP); PLO023:                             ;   FOR I := 1 TO LENGTH DO         ADDC  -1                R2  ;      X-1 => X;    ┆
0x37100…37180 UnusedSector ┆     XTR          X2  0          ;      0 => ST(X);         SOB          R0  PLO023     ;   ROF;         ADDC  1                ┆
0x37180…37200 UnusedSector ┆ R5  ;   S+1 => S;         JMP              2.     X4  ;   GOTO NEXT;  ;========================================================┆
0x37200…37280 UnusedSector ┆===============  ; NOT  ; INVERTS THE LEAST SIGNIFICANT BIT, AND CLEARS ; THE REMAINING BITS OF THE STACK TOP ELEMENT.  PCO024: ┆
0x37280…37300 UnusedSector ┆                            ; NOT: PTO024:         INV                     X5  ;   ONES COMPL(ST(S)) => ST(S);         XTR      ┆
0x37300…37380 UnusedSector ┆    X5  1          ;   CLEAR BIT 1 TO 15;         JMP                     X4  ;   RETURN;  ;====================================┆
0x37380…37400 UnusedSector ┆===================================  ; ANDWORD  ; POPS THE STACK TOP ELEMENT (1 WORD) AND ; ANDS IT TO THE NEW STACK TOP ELEMENT┆
0x37400…37480 UnusedSector ┆      X0  ;      ST(S1) & ST(S) => ST(S1);         INCD         R5         R0  ;      INCR(S); INCR(S1);         SOB          R1┆
0x37480…37500 UnusedSector ┆  PLO026     ;   ROF;         JMP                     X4  ;   GOTO NEXT;  ;=====================================================┆
0x37500…37580 UnusedSector ┆==================  ; ORWORD  ; POPS THE STACK TOP ELEMENT (1 WORD) AND ; ORS IT TO THE NEW STACK TOP ELEMENT.  PCO027:         ┆
0x37580…37600 UnusedSector ┆                    ; ORWORD: PTO027:         MOV          X5         R0  ;   ST(S) => X;         ADDC  1                 R5  ; ┆
0x37600…37680 UnusedSector ┆  S+1 => S;         IOR          R0         X5  ;   ST(S) OR X => ST(S);         JMP                     X4  ;   RETURN;  ;=====┆
0x37680…37700 UnusedSector ┆==================================================================  ; ORSET  ; POPS A SET (8 WORDS) FROM THE STACK TOP AND ORS ;┆
0x37700…37780 UnusedSector ┆ IT TO THE NEW STACK TOP ELEMENT (8 WORDS).  PCO028:                             ; ORSET: PTO028:                             ; ┆
0x37780…37800 UnusedSector ┆        MOV          R5         R0  ;   S         ADDC  8                 R0  ;    +8 => S1;         MOVC  8                 R1 ┆
0x37800…37880 UnusedSector ┆ ;   "FOR LIMIT"; PLO028:                             ;   FOR I := 1 TO 8 DO         IOR          X5         X0  ;      ST(S1) O┆
0x37880…37900 UnusedSector ┆R ST(S) => ST(S1);         INCD         R5         R0  ;      INCR(S); INCR(S1);         SOB          R1  PLO028     ;   ROF;   ┆
0x37900…37980 UnusedSector ┆      JMP                     X4  ;   GOTO NEXT;  ;=======================================================================  ; NE┆
0x37980…37a00 UnusedSector ┆GWORD  ; NEGATES THE STACK TOP ELEMENT (1 WORD).  PCO029:                             ; NEGWORD: PTO029:         IEQ          X5┆
0x37a00…37a80 UnusedSector ┆  #8000      ;   IF ST(S) = -32768 THEN         JMP              PCOVER     ;      OVERFLOW FI;         NEG                     ┆
0x37a80…37b00 UnusedSector ┆X5  ;   -ST(S) => ST(S);         JMP                     X4  ;   RETURN;   ;====================================================┆
0x37b00…37b80 UnusedSector ┆===================  ; NEGLONG  ; NEGATES THE LONG INTEGER AT THE STACK TOP.  PCO030:                             ; NEGLONG: PTO┆
0x37b80…37c00 UnusedSector ┆030:                             ;         MOVL         X5         R01 ;   ST(S)=>LEAST; ST(S+1)=>MOST;         INE          R0 ┆
0x37c00…37c80 UnusedSector ┆ 0          ;   IF LEAST <> 0 THEN         JMP              PLO030     ;      NOT_OVERFLOW;         IEQ          R1  #8000      ┆
0x37c80…37d00 UnusedSector ┆;   IF MOST = #8000 THEN         JMP              PCOVER     ;      OVERFLOW FI; PLO030:                             ; NOT_OVERF┆
0x37d00…37d80 UnusedSector ┆LOW:         INV                     R0  ;   ONE_COMPLEMENT;         INV              1.     X5  ;   ONE_COMPLEMENT;         ADD┆
0x37d80…37e00 UnusedSector ┆C  1                 R0  ;   TWO_COMPLEMENT(LEAST)         MOV          R0         X5  ;                         => ST(S);      ┆
0x37e00…37e80 UnusedSector ┆   MOVC  0                 R1  ;         ADDU         R1  1.     X5  ;   TWO_COMPL(MOST) => ST(S+1);         JMP                ┆
0x37e80…37f00 UnusedSector ┆              R5  ;   S+1 => S;         AND          R0         X5  ;   A AND ST(S) => ST(S);         JMP                     X4┆
0x37f00…37f80 UnusedSector ┆  ;   RETURN;   ;=======================================================================  ; ANDSET  ; POPS A SET (8 WORDS) FROM ┆
0x37f80…38000 UnusedSector ┆THE STACK TOP AND ; ANDS IT TO THE NEW STACK TOP ELEMENT (8 WORDS).  PCO026:                             ; ANDSET: PTO026:      ┆
0x38000…38080 UnusedSector ┆                       ;         MOV          R5         R0  ;   S         ADDC  8                 R0  ;    +8 => S1;         MO┆
0x38080…38100 UnusedSector ┆VC  8                 R1  ;   "FOR LIMIT"; PLO026:                             ;   FOR I := 1 TO 8 DO         AND          X5   ┆
0x38100…38180 UnusedSector ┆   ░1 => ░;    ░     ░R    ░     ░0    ░     ░  ;  ░ST(S ░OR X ░> ST ░);   ░     ░MP   ░     ░     ░     ░4  ; ░ RET ░N;   ░====┆
0x38180…38200 UnusedSector ┆ ░==== ░==== ░==== ░==== ░==== ░==== ░==== ░==== ░==== ░==== ░==== ░; OR ░T  ; ░OPS  ░SET  ░ WOR ░) FR ░ THE ░TACK ░OP A ░ ORS ░┆
0x38200…38280 UnusedSector ┆ IT  ░ THE ░EW S ░CK T ░ ELE ░NT ( ░WORD ░.  P ░028: ░     ░     ░     ░     ░   ; ORSET: PTO0  :                             ; ┆
0x38280…38300 UnusedSector ┆  Z                    ░ H     H   ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░  ┆
0x38300…38380 UnusedSector ┆   ░     ░     ░     ░     ░     ░     ░     ░     ░     ░     ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z ┆
0x38380…38400 UnusedSector ┆ ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░┆
0x38400…38480 UnusedSector ┆Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z  ░Z Z Z Z Z Z Z Z   Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x38480…38500 UnusedSector ┆ ; ADDLONG  ; POPS THE STACK TOP ELEMENT (2 WORDS) AND ADDS ; IT TO THE NEW STACK TOP ELEMENT (2 WORDS).  PCO032:               ┆
0x38500…38580 UnusedSector ┆              ; ADDLONG: PTO032:                             ;         MOV          R5         R0  ;   S         ADDC  2        ┆
0x38580…38600 UnusedSector ┆         R0  ;    +2 => S1;         ADD          X5         X0  ;   LEAST1+LEAST2 => LEAST1;         INCD         R5         R0 ┆
0x38600…38680 UnusedSector ┆ ;   INCR(S); INCR(S1);         ADDU         X5         X0  ;   CARRY+MOST1+MOST2 => MOST1;         JVN              PCOVER1    ┆
0x38680…38700 UnusedSector ┆;   IF OVERFLOW THEN GOTO PCOVER FI;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   G┆
0x38700…38780 UnusedSector ┆OTO NEXT;  ;=======================================================================  ; SUBWORD  ; POPS THE STACK TOP ELEMENT (1 ┆
0x38780…38800 UnusedSector ┆WORD) AND SUBTRACTS ; IT FROM THE NEW STACK TOP ELEMENT (1 WORD).  PCO033:                             ; SUBWORD: PTO033:       ┆
0x38800…38880 UnusedSector ┆  MOV          X5         R0  ;   ST(S) => A;         ADDC  1                 R5  ;   S+1 => S;         SUB          R0         ┆
0x38880…38900 UnusedSector ┆     X4  ;   GOTO NEXT;  ;=======================================================================  ; ADDWORD  ; POPS THE STACK T┆
0x38900…38980 UnusedSector ┆OP ELEMENT (1 WORD) AND ADDS ; IT TO THE NEW STACK TOP ELEMENT (1 WORD).  PCO031:                             ; ADDWORD: PTO031:┆
0x38980…38a00 UnusedSector ┆         MOV          X5         R0  ;   ST(S) => X;         ADDC  1                 R5  ;   S+1 => S;         ADD          R0  ┆
0x38a00…38a80 UnusedSector ┆       X5  ;   ST(S)+X => ST(S);         JVN              PCOVER1    ;   IF OVERFLOW THEN GOTO PCOVER FI;         JMP           ┆
0x38a80…38b00 UnusedSector ┆          X4  ;   RETURN;    ;======================================================================= PCOVER1:                  ┆
0x38b00…38b80 UnusedSector ┆          ;         JMP              PCOVER     ;   AVOIDS MODIFICATION OF JVN; ;===============================================┆
0x38b80…38c00 UnusedSector ┆========================  ;=======================================================================  Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x38c00…38c80 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x2…]
0x38d80…38e00 UnusedSector ┆        c^  0          ░ H     \   ░:    ░     ░V    ░     ░5    ░     ░  ;  ░ST(S ░=> X ░     ░  AD ░  1  ░     ░     ░  R5 ░; ┆
0x38e00…38e80 UnusedSector ┆              ;         MOV   1.     X5         R0  ;   ST(S+1) => A;         MUL          R0         X5  ;   A*ST(S) => LEAST, ┆
0x38e80…38f00 UnusedSector ┆MOST;         ILT          X5  0          ;   IF LEAST < 0 THEN         JMP              PL1036     ;      GOTO PL1036 FI;      ┆
0x38f00…38f80 UnusedSector ┆   ION   1.     X5             ;   IF MOST <> 0 THEN         JMP              PCOVER     ;      OVERFLOW FI; PL2036:            ┆
0x38f80…39000 UnusedSector ┆                 ; NOT_OVERFLOW:         MOV          X5  1.     X5  ;   LEAST => ST(S+1);         ADDC  1                 R5  ;┆
0x39000…39080 UnusedSector ┆   S+1 => S;         JMP                     X4  ;   GOTO NEXT; PL1036:                             ;   "LEAST < 0"         MOV ┆
0x39080…39100 UnusedSector ┆  1.     X5         R0  ;         INE          R0  -1         ;   IF MOST <> -1 THEN         JMP              PCOVER     ;      ┆
0x39100…39180 UnusedSector ┆GOTO PCOVER FI;         JMP              PL2036     ;   GOTO PL2036;  ;=========================================================┆
0x39180…39200 UnusedSector ┆==============  ; MULLONG  ; THE STACK IS ASSUMED TO CONTAIN TWO LONG INTEGERS. ; THE STACK TOP ELEMENT IS POPPED AND MULTIPLIED┆
0x39200…39280 UnusedSector ┆ TO THE NEW STACK TOP ; ELEMENT.  PCO037:                             ; MULLONG: PTO037:                             ;         M┆
0x39280…39300 UnusedSector ┆X5  ;   ST(S)-A => ST(S);         JVN              PCOVER2    ;   IF OVERFLOW THEN GOTO PCOVER FI;         JMP                  ┆
0x39300…39380 UnusedSector ┆   X4  ;   RETURN;   ;======================================================================= PCOVER2:                          ┆
0x39380…39400 UnusedSector ┆  ;         JMP              PCOVER     ;   AVOIDS MODIFICATION OF JVN; ;=======================================================┆
0x39400…39480 UnusedSector ┆================  ;=======================================================================  ; SUBLONG  ; POPS THE STACK TOP ELEM┆
0x39480…39500 UnusedSector ┆ENT (2 WORDS) AND SUBTRACTS ; IT FROM THE NEW STACK TOP ELEMENT (2 WORDS).  PCO034:                             ; SUBLONG: PTO03┆
0x39500…39580 UnusedSector ┆4:                             ;         MOV          R5         R0  ;   S         ADDC  2                 R0  ;    +2 => S1;   ┆
0x39580…39600 UnusedSector ┆      SUB          X5         X0  ;   LEAST1-LEAST2 => LEAST1;         INCD         R5         R0  ;   INCR(S); INCR(S1);       ┆
0x39600…39680 UnusedSector ┆  SUBU         X5         X0  ;   MOST1-MOST2-BORROW => MOST1;         JVN              PCOVER2    ;   IF OVERFLOW THEN GOTO PCO┆
0x39680…39700 UnusedSector ┆VER FI;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;=================┆
0x39700…39780 UnusedSector ┆======================================================  ; SUBSET  ; POPS A SET (8 WORDS) FROM THE STACK. CLEARS THE ; BITS OF TH┆
0x39780…39800 UnusedSector ┆E NEW STACK TOP ELEMENT (8 WORDS) THAT ; CORRESPONDS TO BITS SET IN THE POPPED SET.  PCO035:                             ; SUBSE┆
0x39800…39880 UnusedSector ┆T: PTO035:                             ;         MOV          R5         R7  ;   S         ADDC  8                 R7  ;    +8 =┆
0x39880…39900 UnusedSector ┆> S1;         MOVC  8                 R0  ;   "FOR LIMIT"; PLO035:                             ;   FOR I := 1 TO 8 DO         IN┆
0x39900…39980 UnusedSector ┆V                     X5  ;      INV(ST(S))         AND          X5         X7  ;                &ST(S1) => ST(S1);         INCD┆
0x39980…39a00 UnusedSector ┆         R5         R7  ;      S+1 => S; S1+1 => S1;         SOB          R0  PLO035     ;   ROF;         JMP                   ┆
0x39a00…39a80 UnusedSector ┆  X4  ;   GOTO NEXT;  ;=======================================================================  ; MULWORD  ; POPS A WORD FROM TH┆
0x39a80…39b00 UnusedSector ┆E STACK AND MULTIPLIES ; IT TO THE NEW STACK TOP ELEMENT.  PCO036:                             ; MULWORD: PTO036:               ┆
0x39b00…39b80 UnusedSector ┆GN = MINUS THEN         NEG                     R1  ;      -RES => RES; PLO038:                             ;         MOV       ┆
0x39b80…39c00 UnusedSector ┆   R1  1.     X5  ;   RES => ST(S+1);         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   ┆
0x39c00…39c80 UnusedSector ┆GOTO NEXT;  ;=======================================================================  ; DIVLONG             (OP1 / OP2)  ; THE S┆
0x39c80…39d00 UnusedSector ┆OVL  2.     X5         R01 ;   ST(S+2),ST(S+3)=>OP2         IEQP         R0  512        ;   IF OP2=512         IEQ          R1  ┆
0x39d00…39d80 UnusedSector ┆0          ;         JMP   MULQUICK1             ;     GOTO MULQUICK1         MOVL         X5         R01 ;   ST(S),ST(S+1)=>LOP┆
0x39d80…39e00 UnusedSector ┆1,MOP1         IEQP         R0  512        ;   IF OP1=512         IEQ          R1  0          ;         JMP   MULQUICK          ┆
0x39e00…39e80 UnusedSector ┆    ;     GO TO MULQUICK         MOVC  REGTOP            R7  ;   SAVE(B,G,Q,S)         STC   6                     ;         MOV┆
0x39e80…39f00 UnusedSector ┆L  2.     X5         R23 ;   ST(S+2),ST(S+3)=>LOP2,MOP2         MON   MULTIPLYLONG          ;         MOVL         R01 2.     X5┆
0x39f00…39f80 UnusedSector ┆  ;   RESULT=>ST(S+2),ST(S+3)         JVN   PCOVRX                ;   IF OVERFLOW GOTO PCOVRX         MOVC  REGSAV            R7┆
0x39f80…3a000 UnusedSector ┆  ;         UNS   6                     ;   RESTORE(B,G,Q,S)         ADDC  2                 R5  ;   S+2=>S         JMP         ┆
0x3a000…3a080 UnusedSector ┆            X4  ;   GOTO NEXT; MULQUICK1:                          ; MULQUICK1:         MOVL         X5         R01 ;   ST(S),ST┆
0x3a080…3a100 UnusedSector ┆(S+1)         MOVL         R01 2.     X5  ;   =>ST(S+2),ST(S+3) MULQUICK:                           ; MULQUICK:         ADDC  2 ┆
0x3a100…3a180 UnusedSector ┆                R5  ;   S+2=>S         MOV   1.     X5         R0  ;   "THE 10 HIGHEST BITS IN MOST1         ADDC  64           ┆
0x3a180…3a200 UnusedSector ┆     R0  ;    SHALL BE ALL ONES OR ALL         IHS          R0  128        ;    ZEROES, IE. -64<=MOST1<64         JMP           ┆
0x3a200…3a280 UnusedSector ┆   PCOVER     ;    (0<=MOST1+64<128)."         SLLL         X5  9          ;   MUL(OP2,512)         JMP          X4             ┆
0x3a280…3a300 UnusedSector ┆;   GOTO NEXT PCOVRX:                             ; PCOVRX:         MOVC  REGSAV            R7  ;         UNS   6               ┆
0x3a300…3a380 UnusedSector ┆      ;   RSTORE(B,G,Q,S)         JMP   PCOVER                ;   GOTO OVERFLOW ERROR  ;========================================┆
0x3a380…3a400 UnusedSector ┆===============================  ; DIVWORD  ; POPS A WORD FROM THE STACK AND DIVIDES ; IT INTO THE NEW STACK TOP ELEMENT.  PCO03┆
0x3a400…3a480 UnusedSector ┆8:                             ; DIVWORD: PTO038:                             ;         MOVL         X5         R01 ;         MO┆
0x3a480…3a500 UnusedSector ┆VC  0                 R7  ;   "R7: SIGN OF RESULT";         IEQ          R1  #8000      ;   IF DIVISOR = -32768 THEN         JMP┆
0x3a500…3a580 UnusedSector ┆              PCOVER     ;      OVERFLOW FI;         ILTP         R1  0          ;   IF DIVISOR < 0 THEN         INV            ┆
0x3a580…3a600 UnusedSector ┆         R7  ;      CHANGE SIGN;         NEG                     R1  ;      -DIVISOR => DIVISOR FI;         IEQ          R0  #80┆
0x3a600…3a680 UnusedSector ┆00      ;   IF DIVIDEND = -32768 THEN         JMP              PCOVER     ;      OVERFLOW FI;         ILTP         R0  0        ┆
0x3a680…3a700 UnusedSector ┆  ;   IF DIVIDEND < 0 THEN         INV                     R7  ;      CHANGE SIGN;         NEG                     R0  ;      -D┆
0x3a700…3a780 UnusedSector ┆IVIDEND => DIVIDEND FI;         MOVC  0                 R2  ;   "CLEAR MOST SIGNIFICANT BITS";         DIV          R0         R┆
0x3a780…3a800 UnusedSector ┆12 ;   ABS(ST(S+1)) DIV                                     ;   ABS(ST(S)) => RES;         JOZ          R7  PLO038     ;   IF SI┆
0x3a800…3a880 UnusedSector ┆ICK              ;     GOTO DIVQUICK PL1039:                             ; DIVSLOW:         MOVC  REGTOP            R7  ;       ┆
0x3a880…3a900 UnusedSector ┆  STC   6                     ;   SAVE(B,G,Q,S)         MOVL         X5         R23 ;   ST(S), ST(S+1) => OP2;         ADDC  2  ┆
0x3a900…3a980 UnusedSector ┆               R5  ;   S+2=>S         MOVL         X5         R01 ;   ST(S), ST(S+1) => OP1;         MON   DIVIDELONG           ┆
0x3a980…3aa00 UnusedSector ┆ ;         JVN   PCOVRX                ;   IF OVERFLOW GOTO PCOVRX         MOVC  REGSAV            R7  ;         UNS   6        ┆
0x3aa00…3aa80 UnusedSector ┆             ;   RESTORE(B,G,Q,S)         ADDC  2                 R5  ;   S+2=>S         JMP          X4             ;   GOTO NE┆
0x3aa80…3ab00 UnusedSector ┆XT DIVQUICK:                           ; DIVQUICK:         ADDC  3                 R5  ;   S+3 => S;         ILTP  X5         0 ┆
0x3ab00…3ab80 UnusedSector ┆         ;   IF OP1 < 0 THEN         ADDC  -3                R5  ;   S-3 => S;         JMP              PL1039     ;      GOTO D┆
0x3ab80…3ac00 UnusedSector ┆IVSLOW FI;         ADDC  -1                R5  ;         SRLL         X5  9          ;   DIV(OP1, 512);         JMP          X4 ┆
0x3ac00…3ac80 UnusedSector ┆            ;   GOTO NEXT  ;=======================================================================  ; MODWORD  ; POPS A WORD FR┆
0x3ac80…3ad00 UnusedSector ┆OM THE STACK AND CHANGES THE NEW STACK ; TOP ELEMENT TO ITS OLD VALUE MODULO THE POPPED WORD.  PCO040:                          ┆
0x3ad00…3ad80 UnusedSector ┆   ; MODWORD  (A MOD B): PTO040:                             ;         MOV   1.     X5         R0  ;   ST(S+1) => A;         IEQ┆
0x3ad80…3ae00 UnusedSector ┆          R0  #8000      ;   IF A = -32768 THEN         JMP              PCOVER     ;      OVERFLOW FI;         MOVC  0         ┆
0x3ae00…3ae80 UnusedSector ┆        R2  ;   "R2: SIGN";         ILTP         R0  0          ;   IF A < 0 THEN         MOVC  -1                R2  ;      MIN┆
0x3ae80…3af00 UnusedSector ┆US => SIGN;         NEG                     R0  ;      ABS(A) => A FI;         IEQ          X5  #8000      ;   IF B = -32768 THE┆
0x3af00…3af80 UnusedSector ┆N         JMP              PCOVER     ;      OVERFLOW FI;         ILT          X5  0          ;   IF B < 0 THEN         NEG     ┆
0x3af80…3b000 UnusedSector ┆                X5  ;      ABS(B) => B FI;         MOVC  0                 R1  ;   "CLEAR MOST SIGNIFICANT BITS";         DIV   ┆
0x3b000…3b080 UnusedSector ┆       X5         R01 ;   ABS(A MOD B) => RES;         JOZ          R2  PCL040     ;   IF SIGN = MINUS THEN         NEG         ┆
0x3b080…3b100 UnusedSector ┆            R1  ;      -RES => RES; PCL040:                             ;         MOV          R1  1.     X5  ;   RES => ST(S+1)┆
0x3b100…3b180 UnusedSector ┆;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   GOTO NEXT;  ;=======================┆
0x3b180…3b200 UnusedSector ┆================================================  ; BUILDSET  ; POPS A MEMBER NUMBER (.0..127.) FROM THE STACK. THE ; NEM STACK ┆
0x3b200…3b280 UnusedSector ┆TOP ELEMENT WILL NOW BE A SET IN WHICH THE ; MEMBER IS INCLUDED (THE CORRESPONDING BIT IS SET).  PCO041:                        ┆
0x3b280…3b300 UnusedSector ┆     ; BUILDSET: PTO041:                             ;         MOV          X5         R0  ;   ST(S) => A;         MOVC  128    ┆
0x3b300…3b380 UnusedSector ┆           R2  ;         IHS          R0         R2  ;   IF A >= 128 OR A < 0 THEN         JMP              PCRANG     ;      GO┆
0x3b380…3b400 UnusedSector ┆TACK IS ASUMED TO CONTAIN TWO LONG INTEGERS. ; THE STACK TOP ELEMENT IS POPPED AND DIVIDED INTO THE NEW STACK TOP ; ELEMENT.  PC┆
0x3b400…3b480 UnusedSector ┆O039:                             ; DIVLONG: PTO039:                             ;         MOVL         X5         R01 ;   ST(S)┆
0x3b480…3b500 UnusedSector ┆, ST(S+1) => OP2;         IEQP         R0  512        ;   IF OP2 = 512         IEQ          R1  0          ;         JMP   DIVQU┆
0x3b500…3b580 UnusedSector ┆R1  4          ;   => BITNO;         ADD          R5         R0  ;   WORDNO+S => X;         ADDC  8                 R5  ;   S+8 ┆
0x3b580…3b600 UnusedSector ┆=> S;         XTR          X5  0          ;   FALSE => ST(S);         MOD          R1             ;         IBN          X0  0  ┆
0x3b600…3b680 UnusedSector ┆        ;   IF (BIT BITNO IN ST(X) IS ONE)         INC                     X5  ;      THEN TRUE => ST(S);         JMP           ┆
0x3b680…3b700 UnusedSector ┆          X4  ;   GOTO NEXT;  ;=======================================================================  ; LSWORD  ; A WORD IS PO┆
0x3b700…3b780 UnusedSector ┆PPED FROM THE STACK. IF IT IS GREATER ; THAN THE NEW STACK TOP ELEMENT, THIS IS REPLACED ; BY TRUE (=1), OTHERWISE BY FALSE (=0)┆
0x3b780…3b800 UnusedSector ┆.  PCO043:                             ; LSWORD  (A < B): PTO043:         MOV   1.     X5         R0  ;   ST(S+1) => A;         ┆
0x3b800…3b880 UnusedSector ┆CLR              1.     X5  ;   FALSE => ST(S+1);         ILT          R0         X5  ;   IF A < ST(S) THEN         INC         ┆
0x3b880…3b900 UnusedSector ┆     1.     X5  ;      TRUE => ST(S+1);         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ; ┆
0x3b900…3b980 UnusedSector ┆  RETURN;   ;=======================================================================  ; EQWORD  ; A WORD IS POPPED FROM THE STAC┆
0x3b980…3ba00 UnusedSector ┆K. IF IT IS EQUAL ; TO THE NEW STACK TOP ELEMENT, THIS IS REPLACED ; BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO044:            ┆
0x3ba00…3ba80 UnusedSector ┆                 ; EQWORD  (A = B): PTO044:         MOV   1.     X5         R0  ;   ST(S+1) => A;         CLR              1.   ┆
0x3ba80…3bb00 UnusedSector ┆  X5  ;   FALSE => ST(S+1);         IEQ          R0         X5  ;   IF A = ST(S) THEN         INC              1.     X5  ;     ┆
0x3bb00…3bb80 UnusedSector ┆ TRUE => ST(S+1) FI;         ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   RETURN;   ;======┆
0x3bb80…3bc00 UnusedSector ┆=================================================================  ; GRWORD  ; A WORD IS POPPED FROM THE STACK. IF IT IS LESS ; ┆
0x3bc00…3bc80 UnusedSector ┆THAN THE NEW STACK TOP ELEMENT, THIS IS REPLACED ; BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO045:                             ;┆
0x3bc80…3bd00 UnusedSector ┆ GRWORD  (A > B): PTO045:         MOV   1.     X5         R0  ;   ST(S+1) => A;         CLR              1.     X5  ;   FALSE =>┆
0x3bd00…3bd80 UnusedSector ┆ ST(S+1);         ILT          X5         R0  ;   IF ST(S) < A THEN         INC              1.     X5  ;      TRUE => ST(S+1); ┆
0x3bd80…3be00 UnusedSector ┆TO RANGEERROR;         MOV          R0         R1  ;         XTR          R0  4          ;   B := BITNO. IN WORD;         SRL   ┆
0x3be00…3be80 UnusedSector ┆       R1  4          ;   DISP := WORDNO IN SET;         ADDC  1                 R5  ;   S+1 => S;         ADD          R5      ┆
0x3be80…3bf00 UnusedSector ┆   R1  ;   DISP+S => X;         SETS         X1         R0  ;   ST(X) OR BIT B => ST(X);         JMP                     X4  ;  ┆
0x3bf00…3bf80 UnusedSector ┆ GOTO NEXT;  ;=======================================================================  ; INSET  ; POPS A SET FROM THE STACK. THE┆
0x3bf80…3c000 UnusedSector ┆ NEW STACK TOP ELEMENT ; IS ASSUMED TO BE A MEMBER NUMBER. IF THIS MEMBER IS ; INCLUDED IN THE SET (THE CORRESPONDING BIT IS SET┆
0x3c000…3c080 UnusedSector ┆) ; THEN THE STACK TOP IS SET TO TRUE (=1), OTHERWISE TO ; FALSE (=0).  PCO042:                             ; INSET: PTO042:    ┆
0x3c080…3c100 UnusedSector ┆                         ;         MOV   8.     X5         R0  ;   ST(S+8) => MEMNO;         MOVC  128               R2  ;      ┆
0x3c100…3c180 UnusedSector ┆   IHS          R0         R2  ;   IF MEMNO >= 128 OR A < 0 THEN         JMP              PCRANG     ;      GOTO RANGEERROR;    ┆
0x3c180…3c200 UnusedSector ┆     MOV          R0         R1  ;         SRL          R0  4          ;   => WORDNO "DISPLACEMENT IN SET"         XTR          ┆
0x3c200…3c280 UnusedSector ┆5  ;   S+1 => S;         JMP                     X4  ;   RETURN;   ;============================================================┆
0x3c280…3c300 UnusedSector ┆===========  ; LSLONG           (MOST1, LEAST1) < (MOST2, LEAST2)  ; A LONG (2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; GREAT┆
0x3c300…3c380 UnusedSector ┆ER THAN THE NEW STACK TOP ELEMENT, THIS IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE.  PCO049:                             ; L┆
0x3c380…3c400 UnusedSector ┆SLONG: PTO049:                             ;         MOVL  2.     X5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR ┆
0x3c400…3c480 UnusedSector ┆             3.     X5  ;   FALSE => ST(S+3);         ILT          R1  1.     X5  ;   IF MOST1 < MOST2 THEN         JMP         ┆
0x3c480…3c500 UnusedSector ┆     PL1049     ;      GOTO PL1049 FI;                                     ;   "HERE IS MOST1 >= MOST2";         SNEP         R1┆
0x3c500…3c580 UnusedSector ┆  1.     X5  ;   IF MOST1<>MOST2 THEN SKIP(2) FI;                                     ;   "HERE IS MOST1 = MOST2";         ILO  ┆
0x3c580…3c600 UnusedSector ┆        R0         X5  ;   IF LEAST1 <"U" LEAST2 THEN PL1049:                             ;         INC              3.     X5  ┆
0x3c600…3c680 UnusedSector ┆;      TRUE => ST(S+3) FI;         ADDC  3                 R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT; ┆
0x3c680…3c700 UnusedSector ┆ ;=======================================================================  ; EQLONG           (MOST1, LEAST1) = (MOST2, LEAST2) ┆
0x3c700…3c780 UnusedSector ┆ ; A LONG (2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; EQUAL TO THE NEW STACK TOP ELEMENT, THIS IS REPLACED ; BY TRUE (=1), OT┆
0x3c780…3c800 UnusedSector ┆        ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   RETURN;   ;===========================┆
0x3c800…3c880 UnusedSector ┆============================================  ; NLWORD  ; A WORD IS POPPED FROM THE STACK. IF IT IS NOT GREATER ; THAN THE MEW S┆
0x3c880…3c900 UnusedSector ┆TACK TOP ELEMENT, THIS IS REPLACED BY ; TRUE (=1), OTHERWISE BY FALSE (=0).  PCO046:                             ;   NLWORD  (A ┆
0x3c900…3c980 UnusedSector ┆>= B): PTO046:         MOV   1.     X5         R0  ;   ST(S+1) => A;         CLR              1.     X5  ;   FALSE => ST(S+1);  ┆
0x3c980…3ca00 UnusedSector ┆       IGE          R0         X5  ;   IF A >= ST(S) THEN         INC              1.     X5  ;      TRUE => ST(S+1) FI;        ┆
0x3ca00…3ca80 UnusedSector ┆ ADDC  1                 R5  ;   S+1 => S;         JMP                     X4  ;   RETURN;   ;==================================┆
0x3ca80…3cb00 UnusedSector ┆=====================================  ; NEWORD  ; A WORD IS POPPED FROM THE STACK. IF IT IS NOT EQUAL ; TO THE NEW STACK TOP EL┆
0x3cb00…3cb80 UnusedSector ┆EMENT, THIS IS REPLACED BY ; TRUE (=1), OTHERWISE BY FALSE (=0).  PCO047:                             ; NEWORD  (A <> B): PTO047┆
0x3cb80…3cc00 UnusedSector ┆:         MOV   1.     X5         R0  ;   ST(S+1) => A;         CLR              1.     X5  ;   FALSE => ST(S+1);         INE   ┆
0x3cc00…3cc80 UnusedSector ┆       R0         X5  ;   IF A <> ST(S) THEN         INC              1.     X5  ;      TRUE => ST(S+1);         ADDC  1        ┆
0x3cc80…3cd00 UnusedSector ┆         R5  ;   S+1 => S;         JMP                     X4  ;   RETURN;   ;==================================================┆
0x3cd00…3cd80 UnusedSector ┆=====================  ; NGWORD  ; A WORD IS POPPED FROM THE STACK. IF IT IS NOT LESS ; THAN THE NEW STACK TOP ELEMENT, THIS IS ┆
0x3cd80…3ce00 UnusedSector ┆REPLACED BY ; TRUE (=1), OTHERWISE BY FALSE (=0).  PCO048:                             ;   NGWORD  (A <= B): PTO048:         MOV┆
0x3ce00…3ce80 UnusedSector ┆   1.     X5         R0  ;   ST(S+1) => A;         CLR              1.     X5  ;   FALSE => ST(S+1);         IGE          X5    ┆
0x3ce80…3cf00 UnusedSector ┆     R0  ;   IF ST(S) >= A THEN         INC              1.     X5  ;      TRUE => ST(S+1) FI;         ADDC  1                 R┆
0x3cf00…3cf80 UnusedSector ┆            3.     X5  ;      TRUE => ST(S+3) FI; PL1052:                             ;         ADDC  3                 R5  ;   ┆
0x3cf80…3d000 UnusedSector ┆S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;=================================================================┆
0x3d000…3d080 UnusedSector ┆======  ; NELONG           (MOST1, LEAST1) <> (MOST2, LEAST2)  ; A LONG (2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; NOT EQUAL┆
0x3d080…3d100 UnusedSector ┆ TO THE NEW STACK TOP ELEMENT, THIS IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO053:                             ; ┆
0x3d100…3d180 UnusedSector ┆NELONG: PTO053:                             ;         MOVL  2.     X5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR┆
0x3d180…3d200 UnusedSector ┆HERWISE BY FALSE (=0).  PCO050:                             ; EQLONG: PTO050:                             ;         MOVL  2.    ┆
0x3d200…3d280 UnusedSector ┆ X5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR              3.     X5  ;   FALSE => ST(S+3);         INE        ┆
0x3d280…3d300 UnusedSector ┆  R0         X5  ;   IF LEAST1 <> LEAST2 THEN         JMP              PL1050     ;      GOTO PL1050 FI;                        ┆
0x3d300…3d380 UnusedSector ┆             ;   "HERE IS LEAST1 = LEAST2";         IEQ          R1  1.     X5  ;   IF MOST1 = MOST2 THEN         INC           ┆
0x3d380…3d400 UnusedSector ┆   3.     X5  ;      TRUE => ST(S+3) FI; PL1050:                             ;         ADDC  3                 R5  ;   S+3 => S;┆
0x3d400…3d480 UnusedSector ┆         JMP                     X4  ;   GOTO NEXT;  ;=======================================================================  ;┆
0x3d480…3d500 UnusedSector ┆ GRLONG           (MOST1, LEAST1) > (MOST2, LEAST2)  ; A LONG (2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; LESS THAN THE NEW S┆
0x3d500…3d580 UnusedSector ┆TACK TOP ELEMENT, THIS IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO051:                             ; GRLONG: PTO05┆
0x3d580…3d600 UnusedSector ┆1:                             ;         MOVL  2.     X5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR             ┆
0x3d600…3d680 UnusedSector ┆ 3.     X5  ;   FALSE => ST(S+3);         ILT          R1  1.     X5  ;   IF MOST1 < MOST2 THEN         JMP              PL1051 ┆
0x3d680…3d700 UnusedSector ┆    ;      GOTO PL1051 "FALSE" FI;                                     ;   "HERE IS MOST1 >= MOST2"         SNE          R1  1. ┆
0x3d700…3d780 UnusedSector ┆    X5  ;   IF MOST1<>">" MOST2 THEN SKIP;                                     ;   "HERE IS MOST1 = MOST2"         ILO          ┆
0x3d780…3d800 UnusedSector ┆X5         R0  ;   IF LEAST2 <"U" LEAST1 THEN         INC              3.     X5  ;      TRUE => ST(S+3); PL1051:               ┆
0x3d800…3d880 UnusedSector ┆              ;         ADDC  3                 R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;=========┆
0x3d880…3d900 UnusedSector ┆==============================================================  ; NLLONG           (MOST1, LEAST1) >= (MOST2, LEAST2)  ; A LONG ┆
0x3d900…3d980 UnusedSector ┆(2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; NOT GREATER THAN THE NEW STACK TOP ELEMENT, THIS ; IS REPLACED BY TRUE (=1), OTHE┆
0x3d980…3da00 UnusedSector ┆RWISE BY FALSE (=0).  PCO052:                             ; NLLONG: PTO052:                             ;         MOVL  2.     X┆
0x3da00…3da80 UnusedSector ┆5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR              3.     X5  ;   FALSE => ST(S+3);         ILT          ┆
0x3da80…3db00 UnusedSector ┆R1  1.     X5  ;   IF MOST1 < MOST2 THEN         JMP              PL1052     ;      GOTO PL1052 FI;                             ┆
0x3db00…3db80 UnusedSector ┆        ;   "HERE IS MOST1 >= MOST2"         SNE          R1  1.     X5  ;   IF MOST1<>">"MOST2 THEN SKIP(1);                   ┆
0x3db80…3dc00 UnusedSector ┆                  ;   "HERE IS MOST1 = MOST2";         IHS          R0         X5  ;   IF LEAST1 >="U" LEAST2 THEN         INC  ┆
0x3dc00…3dc80 UnusedSector ┆                            ;   "HERE IS LEAST1 = LEAST2";         INE          R1  1.     X5  ;   IF MOST1 <> MOST2 THEN       ┆
0x3dc80…3dd00 UnusedSector ┆  INC              3.     X5  ;      TRUE => ST(S+3);         ADDC  3                 R5  ;   S+3 => S;         JMP             ┆
0x3dd00…3dd80 UnusedSector ┆        X4  ;   GOTO NEXT;  ;=======================================================================  ; NGLONG           (MOST1,┆
0x3dd80…3de00 UnusedSector ┆ LEAST1) <= (MOST2, LEAST2)  ; A LONG (2 WORDS) IS POPPED FROM THE STACK. IF IT IS ; NOT LESS THAN THE NEW STACK TOP ELEMENT, TH┆
0x3de00…3de80 UnusedSector ┆IS IS ; REPLACED BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO054:                             ; NGLONG: PTO054:                  ┆
0x3de80…3df00 UnusedSector ┆           ;         MOVL  2.     X5         R01 ;   ST(S+2),ST(S+3)=>LEAST1,MOST1;         CLR              3.     X5  ;   FALS┆
0x3df00…3df80 UnusedSector ┆E => ST(S+3);         ILT          R1  1.     X5  ;   IF MOST1 < MOST2 THEN         JMP              PL1054     ;      GOTO PL10┆
0x3df80…3e000 UnusedSector ┆54;                                     ;   "HERE IS MOST1 >= MOST2"         SNEP         R1  1.     X5  ;   IF MOST1<>">"MOST2 ┆
0x3e000…3e080 UnusedSector ┆SKIP(2) FI;                                     ;   "HERE IS MOST1 = MOST2"         IHS          X5         R0  ;   IF LEAST2 >=┆
0x3e080…3e100 UnusedSector ┆"U" LEAST1 THEN PL1054:                             ;         INC              3.     X5  ;      TRUE => ST(S+3) FI;         ADD┆
0x3e100…3e180 UnusedSector ┆C  3                 R5  ;   S+3 => S;         JMP                     X4  ;   GOTO NEXT;  ;====================================┆
0x3e180…3e200 UnusedSector ┆===================================  ; EQSET  ; A SET (8 WORDS) IS POPPED FROM THE STACK. IF IT IS ; EQUAL TO THE NEW STACK TOP ┆
0x3e200…3e280 UnusedSector ┆ELEMENT, THIS IS REPLACED ; BY TRUE (=1), OTHERWISE BY FALSE (=0).  PCO055:                             ; EQSET: PTO055:        ┆
0x3e280…3e300 UnusedSector ┆                     ;         MOV          R5         R1  ;   RE.ST(S);         MOV          R5         R2  ;         ADDC  8  ┆
0x3e300…3e380 UnusedSector ┆               R2  ;   RE.ST(S+8);         ADDC  15                R5  ;   S+15 => S;         MOVC  8                 R0  ;   "F┆
0x3e380…3e400 UnusedSector ┆OR LIMIT" PL1055:                             ;   FOR I := 1 TO 8 DO         INEP         X1         X2  ;      IF ST(X1) <> ST(┆
0x3e400…3e480 UnusedSector ┆X2) THEN         XTR          X5  0          ;         FALSE => ST(S);         JMP              PL2055     ;         GOTO PL2055┆
0x3e480…3e500 UnusedSector ┆ FI;         INCD         R1         R2  ;      INC(R1); INC(R2);         SOB          R0  PL1055     ;   ROF;                  ┆
0x3e500…3e580 UnusedSector ┆                   ;   "THEY ARE EQUAL"         MOVC  1                 X5  ;   TRUE => ST(S); PL2055:                          ┆
0x3e580…3e600 UnusedSector ┆   ;         JMP                     X4  ;   GOTO NEXT;  ;======================================================================┆
0x3e600…3e680 UnusedSector ┆= Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
0x3e680…3e700 UnusedSector ┆Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z Z ┆
         […0x1…]
0x3e780…3e800 UnusedSector 0x1a[128]
         […0x1…]
0x3e880…3e900 UnusedSector ┆              3.     X5  ;   FALSE => ST(S+3);         SNE          R0         X5  ;   IF LEAST1 <> LEAST2 THEN SKIP(1)         ┆