Raw File
YUL_SYSTEM_SIMULATORS_--_AGC4.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_SIMULATORS_--_AGC4.mitigus
# Purpose:      Part of the source code for YUL (revision 9).
# Assembler:    TBD
# Contact:      Jim Lawton <jim.lawton@gmail.com>
# Website:      https://www.ibiblio.org/apollo/index.html
# Page scans:   https://archive.org/details/yulsystemsourcec00hugh
# Pages:        672-700
# Mod history:  2016-10-06 JL   Created.
#               2017-02-04 JL   Transcribed pages 672-682.
#               2017-02-05 JL   Transcribed pages 683-691.
#               2017-02-06 JL   Transcribed pages 692-700.

# Annotations:
#
#   B L A I R - S M I T H
#    Y U L   S Y S T E M
#
#       Listings in
#    MITIGUS  Format
#

# Note: Page numbers are scan page numbers rather than listing.


L      @YUL SYSTEM SIMULATORS -- AGC4

# Page 672
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   1        PAGE   1

# (jl) Annotation: this page (and probably the whole log section) is marked "FOR REFERENCE ONLY".

R0001   WE ARE DEEPLY INDEBTED TO THE ONE, THE ONLY, THE GREAT JOHN SHAW FOR THE FOLLOWING STRONG MAGIC....
R0003   JSOCTL



 0004              SETLOC,1     0             B4



 0005              MASKGRP,1    S,1           F,1



R0006              THIS PROGRAM IS LOADED BY YUL PASS 0 IN RESPONSE TO A YUL DIRECTOR CARD CORRECTLY SPECIFYING A SIMU-
R0008   LATION RUN FOR AGC4.  WHEN MISCGA SIMULATION IS DESIRED, THE VERB ON THE DIRECTOR CARD IS "ETALIMUS".  MISCGA 1
R0010   AND MISCGA 2 ARE THE CREATIONS OF CHARLES "MADMAN" MUNTZ, WHO DERIVED THE NAME BY SPELLING "AGCSIM" BACKWARDS.
R0012   AT PRESENT, THIS PROGRAM RESPONDS ONLY TO THE VERB "ETALIMUS", AND INCORPORATES MISCGA 2.  A PROGRAM DEFINED FOR
R0014   LOCATIONS 0000-7777 (FIRST SWITCHABLE BANK ONLY) CAN BE SIMULATED, PROVIDED THAT NO USE OF INPUT-OUTPUT OR OF
R0016   PROGRAM INTERRUPT IS REQUIRED.  ALSO, CERTAIN CASES OF ADDRESSING CENTRAL REGISTERS MAY NOT WORK.  EVERY INSTRU-
R0018   CTION SIMULATED IS TRACED IN PRINT, EXCEPT AS MODIFIED BY TRACE ON/OFF SUBDIRECTORS (SEE BELOW).  THE RUN IS
R0019   TERMINATED BY ANY OF THE FOLLOWING OCCURRENCES:

R0020   EXECUTION OF AN ILLEGAL OPERATION CODE,
R0021   A CCS ADDRESS IN FIXED MEMORY,
R0022   DIVIDE OVERFLOW,
R0023   DETECTION OF AN INFINITE LOOP (UP TO ABOUT 300 INSTRUCTIONS IN LENGTH),
R0024   EXCEEDING THE PRESET PRINT LIMIT,
R0025   OVERFLOW OUT OF THE TIME3 REGISTER, OR
R0026   ABORT BY THE OPERATOR, USING FB9 (B = FIRST SIDE-GROUP).

R0027              THE SUBDIRECTORS USED WITH MISCGA 2 ARE:

R0028   S       START AT NNNN                 (NNNN OCTAL, 1 TO 4 DIGITS).  THIS CARD IS REQUIRED, AND MUST BE FIRST.
R0030   S       PRINT LIMIT = DDDDD           (DDDDD DECIMAL, 1 TO 5 DIGITS. "=" OPTIONAL).  THIS CARD IS OPTIONAL.  IF
R0032                                         IT IS LACKING OR INVALID, THE PRINT LIMIT IS 5000 LINES.
R00331  S       TRACE ON NNNN                 TURN ON TRACE JUST BEFORE C(NNNN) IS EXECUTED.
R00332  S       TRACE OFF NNNN                TURN OFF TRACE JUST AFTER C(NNNN) IS EXECUTED.
R00333  S       TRACE ON R:NNNN               TURN TRACE ON JUST BEFORE NNNN IS REFERRED TO.
R00334  S       TRACE OFF R:NNNN              TURN TRACE OFF JUST AFTER NNNN IS REFERRED TO.
R00335                                        ANY NUMBER OF TRACE ON/OFF SUBDIRECTORS MAY BE SUBMITTED, PROVIDED THAT
R00336                                        THEY SPECIFY UNIQUE OCTAL ADDRESSES NNNN.

 0034   AGC4  SIMU TS           BANK 1        Z,X0          WHAT SUBD           THIS INSTRUCTION IS AT BASE ADDRESS.

R0036   MAIN BODY OF PROGRAM FOLLOWS CONSTANTS, ETC.

# Page 673
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   2        PAGE   2

P0037   FIELD AND SHIFT MASKS.



 0038   B,B3TB12   OCT          -7774
 0039   B,CHAR1    OCT          77
 0040   B,CHAR6    OCT          -77 0000
 00401  B,CHAR7    OCT          -7700
 0041   B,CHAR8    OCT          -77

 0042   B,EFLAG    OCT          00001
 0043   B,EDITFLG  OCT          00002
 0044   B,LPFLAG   OCT          00004
 0045   B,FLAGS    OCT          00007

 0046   B,C7T8     OCT          -7777
 0047   B,CAC3     DEC          -GGGG
 0048   B,SIGN     OCT          -100000
 00489  B,CHANGMSK OCT          3

 0049   B,DCHECK   OCT          6060 6060 6060 6060



P0050   FURTHER SHIFT MASKS.

 0051   S,D12      DEC          -G
 0052   S,C1T3     OCT          777777
 00522  S, ACO6    OCT          -70000
 0053   S,ACO8     OCT          -7
 0054   S,ACH7     OCT          -1700

 0055   S,MSK5     OCT          -700000000
 0056   S,MSK4     OCT          -7000000
 0057   S,MSK3     OCT          -70000
 0058   S,MSK2     OCT          -700

 0059   S,ONE      OCT          -1
 0060   S,THREE    OCT          -3
 0061   S,LOW14    OCT          -37777
 0062   S,LOW15    OCT          -77777

 0063   S,CAC1     DEC          GGGG
 0064   S,CAC2     DEC          0000 GGGG
 0065   S,ONES     DEC          GGGG GGGG GGGG

 0066   S,US       OCT          -40000
 0067   S,DVMSK    OCT          037777

# Page 674
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   3        PAGE   3

P0068   RESERVATIONS.



 0069   T1         RESERVE      1
 0070   T2         RESERVE      1
 0071   T3         RESERVE      1
 0072   T4         RESERVE      1

 0073   INSTR      RESERVE      1
 0074   INSTR2     RESERVE      1
 0075   DBEF       RESERVE      1
 0076   DATA       RESERVE      1

 0077   LOCATION   RESERVE      1
 0078   ZDECR      RESERVE      1
 0079   NEW Z      RESERVE      1
 0080   EDIT WD    RESERVE      1

 0081   PAT PTR    RESERVE      1



R0083   ADDRESS CONSTANTS.

 0084   BANK 1     SPEC,B1                                  DAMN ZERO
 0085   BANK 2     SPEC,B2                                  DAMN ZERO
 0086   BANK 8     SPEC,B8                                  DAMN ZERO
 0087   BANK 5     SPEC,B5                                  DAMN ZERO

 0088   BANK8 M3   SPEC,B7                                  2045
 0089   SPEC 1777  SPEC,B2                                  1023
 0090   L SIXES    SPEC                                     SIXES
 0091   OP ALF     SPEC                                     OP ALF T

 0092   PRIN SPEX  SPEC                                     LINE +3
 0093              SPEC                                     NEXT LINE +3
 0094              SPEC                                     NEXT LINE +9
 0095              SPEC                                     LINE +9

 0096   IN PTR     SPEC                                     MASK LOC +64
 0097   OUT PTR    SPEC                                     MASK LOC +64
 00971  LAST PTR   SPEC                                     MASK LOC +64
 0098   L STD PLIM SPEC                                     UNRC SUBD +1

 0099   L GOGO P1  SPEC                                     CONTINUE +1
 00991  L RECYCLE  SPEC                                     RECYCLE
 00992  L TRON OFF SPEC                                     TR ON OFF
 0100   DEC 853    SPEC,B0                                  853

 01008  PHI WAA    SPEC,B7                                  600
 0101   AGC4 MSKS  MASKBASE     S,1           F,1

# Page 675
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   4        PAGE   4

P0102   ALPHABETIC CONSTANTS -- FIRST OF FOUR PAGES.



 0103   W SUBDIRC  ALF,2        SUBDIRECTOR:
 0104   W START    ALF          START
 0105   W AT       ALF          AT
 0106   START MSG  ALF,2        START AT

 0107   W PRINT    ALF          PRINT
 0108   W LIMIT    ALF          LIMIT
 0109   ALF 5000   ALF          5000
 0110   PLIM MSG   ALF,3        PRINT LIMIT =

 0111   2 LONS MSG ALF,3        START ADDRESS TOO LONG
 0112   UNOCS MSG  ALF,3        START ADDRESS NOT OCTAL
 0113   2 LONP MSG ALF,3        PRINT LIMIT TOO LONG
 0114   UNDPL MSG  ALF,3        PRINT LIMIT NOT DECIMAL

 0116   NO PAL MSG ALF,3        NO PARAGRAPHS LOADED
 0117   EMRGY MSG  ALF,4        IN EMERGENCY, ABORT TASK BY F79
 0118   PAGE 1     ALF          PAGE   1

 0119   SIMU HEAD  OCT          0024
 0120              ALF,5                YUL SYSTEM (MISCGA 2) FOR AGC4:
 0121              ALF,5
 0122              ALF,5

# Page 676
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   5        PAGE   5

P0123   ALPHABETIC CONSTANTS -- SECOND OF FOUR PAGES.



 0124   SUBHEAD    OCT          0002
 0125              ALF,5            LOC     OP      ADDR     A      B(X)
 0126              ALF,5           A(X)     LP      Q       OVCTR    T3
 0127              ALF,5

 0128              OCT          4
 0129   LINE       ALF,5
 0130              ALF,5
 0131              ALF,5

 0132   OP ALF 1   ALF,4              TC     CCS   INDEX      XCH
 0133              ALF,4
 0134              ALF,4                      MP      DV       SU
 0135              ALF,4              CS      TS      AD     MASK

# Page 677
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   6        PAGE   6

P0136   ALPHABETIC CONSTANTS -- THIRD OF FOUR PAGES.



 0137   SP1        OCT          0001
 0138   NEXT LINE  ALF,5
 0139              ALF,5
 0140              ALF,5

 01401             RESERVE      7                                               USED IN DITTO PROCEDURE.

 01403  W TRACE    ALF          TRACE
 01404  W ON       ALF          ON
 01405  W OFF      ALF          OFF
 01406  W R        ALF          R

 0141   BLANK 1T3  ALF             00000
 0142   BLANK 1T4  ALF              0000
 0143   OVF BLOT   ALF            ▪00000
 01431  ZERO C6    ALF               0
 0144   DITTO      ALF               "

 0145              DEC          -5000
 0146   PRINT LIM  DEC          -5000
 0147   SKIP       OCT          4
 0148   BLANKS     ALF

 01488  W CUT OFF  ALF          CUT OFF
 0149   W ILLEGOP  ALF          ILLEGOP
 0150   W LOOPING  ALF          LOOPING
 0151   W PRNT MAX ALF          PRINTMAX

 01519  W INF LOOP ALF,2           INFINITE LOOP
 015199 CAUSE      ALF,2        00000000
 0152   T DUMP MSG ALF,5        TERMINAL DUMP OF ERASABLE MEMORY FOLLOWS
 0153   END SI MSG ALF,2        END SIMULATION

# Page 678
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   7        PAGE   7

P015301 ALPHABETIC CONSTANTS -- FOURTH OF FOUR PAGES.



 015302 2 LONT MSG ALF,4        TRACE ON/OFF ADDRESS TOO LONG
 015303 UNOTR MSG  ALF,4        TRACE ON/OFF ADDRESS NOT OCTAL
 015304 DUPTR MSG  ALF,4        TRACE ON/OFF ADDRESS DUPLICATED
 015305 OMIT MSG   ALF,5          TRACE OFF FOR          INSTRUCTIONS

 015306 W CORONER  ALF,2        CORONER'S REPORT

# Page 679
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   8        PAGE   8

P0154   NUMERIC CONSTANTS.



 0155   ZERO       OCT          0
 0156   TWO        OCT          -2
 0157   FOUR       OCT          -4
 0158   EIGHT      DEC          -8

 01581  TWEVLE     FXBIN        -12
 0160   FIFTY      FXBIN        -50
 0161   C65        FXBIN        -65
 0162   DEC 852    FXBIN        -852

 0163   2K         OCT          -2000
 0164   5 C6       OCT          -5 0000
 0165   6 C6       OCT          -6 0000

 0167   SIXES      OCT          06, 06, 0606, 060606, 0606 0606
 0168              OCT          0606 0606 06
 0169   SP3        OCT          0003
 0170   NEG ONE    OCT          -177776
 0171   BIT 14     OCT          -20000

 0172   SIGN CLIP  DEC          0GGG GGGG
 0173   BANK MASK  OCT          -36000
 0174   EDIT PREF  OCT          -20
 0175   GENERASE   OCT          -25

 0176   L BANK REG OCT          -15
 0177   START ADR  OCT          0
 0179   HOLD LINE  DEC          GGGG GGGG GGGG,-1, 0

 0180   LINE CNT   FXBIN        -51
 0181   TASK LINS  DEC          0
 0182   PAGE NO    DEC          -1
 01821  TRACE OFF  DEC          0

 01822  LOC FLAG   OCT          2
 01823  ON         OCT          3
 01824  OFF        OCT          5
 01825  B1B2       OCT          6

# Page 680
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.   9        PAGE   9

P0183   ASSIGNMENTS.



 01831  PAGE HEAD  ASSIGN       0,20

 0184   YUL TYPER  ASSIGN       0,63
 0185   RD SBDIRC  ASSIGN       0,65
 0186   HOWZAT     ASSIGN       0,66
 0187   IGN SUBDR  ASSIGN       0,68

 0188   UNRC SBDR  ASSIGN       0,69
 0189   E SYLT OK  ASSIGN       0,70
 0190   FETCH SS   ASSIGN       0,71
 0191   MANUF RTN  ASSIGN       0,76

 0192   YUL MASKS  ASSIGN       0,77
 0193   OCTAL 20   ASSIGN       0,78
 0194   WHODUNIT   ASSIGN       0,80

 0195   TYP ABORT  ASSIGN       0,89
 0196   L OBJC MSG ASSIGN       0,90
 01961  RJEC SUBD  ASSIGN       0,91
 01962  DEPAGIN8   ASSIGN       0,101
 01963  YUL D2A ZS ASSIGN       0,119

 0197   A          ASSIGN       4,0
 0198   Q          ASSIGN       4,1
 0199   Z          ASSIGN       4,2
 0200   LP         ASSIGN       4,3

 0201   BANKREG    ASSIGN       4,13
 0202   CYR        ASSIGN       4,16
 0203   SR         ASSIGN       4,17
 0204   CYL        ASSIGN       4,18

 0205   SL         ASSIGN       4,19
 0206   OVCTR      ASSIGN       4,28
 0207   TIME1      ASSIGN       4,29
 0208   TIME2      ASSIGN       4,30

 0209   TIME3      ASSIGN       4,31

 0210   MON TAPE   ASSIGN       7,1
 0211   EOR        ASSIGN       7,4
 0212   MON PRINT  ASSIGN       7,23
 0213   MON A2D    ASSIGN       7,41

 0214   MON WAKE   ASSIGN       7,99
 0215   MON SLEEP  ASSIGN       7,166

# Page 681
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  10        PAGE  10

P0217   EQUIVALENCES.



 0218   DAMN ZERO  EQUALS       0
 0219   AA         EQUALS       128
 0220   AMTF       EQUALS       384
 02201  SPRA       EQUALS       128
 0221   SP2        EQUALS       SUBHEAD

 0222   OCT 7      EQUALS       ACO8
 0223   LOW2       EQUALS       THREE
 0224   LOW4       EQUALS       D12
 0225   LOW12      EQUALS       C7T8

# (jl) Note: The following two cards seem to specify the same equivalence. Does the assembler ignore
# multiple identical equivalences?
 0226   16 ONES    EQUALS       CAC3
 0227   16 ONES    EQUALS       CAC3
 0228   E BIT      EQUALS       E FLAG
 0229   LP BIT     EQUALS       LP FLAG

 02291  LOW 16     EQUALS       CAC3
 0230   SPEC ZERO  EQUALS       SIGN
 0231   POINTERS   EQUALS       IN PTR

# Page 682
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  11        PAGE  11

P0232              TWO PRIMARY SUBDIRECTORS ARE RECOGNIZED FOR USE WITH MISCGA.  THE FIRST, WHICH IS REQUIRED, SPECIFIES
R0234   THE STARTING ADDRESS BY "START AT NNNN", WHERE NNNN IS FROM 1 TO 4 OCTAL DIGITS.  THE SECOND IS OPTIONAL AND
R0236   SPECIFIES A PRINT LINE LIMIT BY "PRINT LIMIT = DDDDD" (THE "=" IS OPTIONAL, AND "DDDDD" IS FROM 1 TO 5 DECIMAL
R0238   DIGITS).  IF THE PRINT LIMIT SUBDIRECTOR IS MISSING OR INVALID, THE PRINT LIMIT IS 5000 LINES.

 0240   WHAT SUBD  TX           YUL MASKS     -             Z,MXR
 0241              S,YUL TYPER  W SUBDIRC     AA+2          C,+1                TYPE "SUBDIRECTOR:".
 0243              WA           Z,X6          OCTAL 20      Z,X5
 0244   SUSPECT    TX           Z,X5          -             WHODUNIT
 0245              NA           N,X5,3        W START       HOWZAT              "START" IS REQUIRED.
 0247              TS           AGC4 MSKS     Z,MXR         C,-2           C
 0248              NA           N,X5,3        W AT          HOWZIS              "AT" IS REQUIRED.
 0250              LA, CHAR6    5 C6          5,2           ILL START           BRANCH IF START ADR MORE THAN 4 DIGITS.
 02511             LA, CHAR6    5,2           ZERO          UNO START           BRANCH IF START ADDRESS IS BLANK.
 0252              LA, CHAR8    EIGHT         5,2           UNO START           BRANCH IF START ADDRESS NOT OCTAL.
 0254              WA           Z,X5          THREE         WHODUNIT
 0255              NA           5,3           ONES          HOWZIS              SUPERFLUOUS WORDS ARE FORBIDDEN.

 0257              SWS, ONES    N,X5          A,1           START MSG +1
 0258              TS           YUL MASKS     Z,MXR         E SYLT OK           MAKE GRP B SEEK DESIRED PROGRAM.
 0260              S, YUL TYPER START MSG     AA+2          C,+1                TYPE START ADDRESS.
 0262              TS           AGC4 MSKS     Z,MXR         C,+3

 0263              SWS, ONES    START ADR     3,L           START ADR           SHIFT UP DIGITS THUS FAR.
 0265              SWS, ACO8    START MSG +1  A,7           START ADR           CONVERT ALPHA START ADR TO OCTAL.
 0267              SWS, ONES    START MSG +1  A,1,L         START MSG +1        POSITION NEXT ALPHA OCTAL DIGIT.
 0269              NA, CHAR1    START MSG +1  BLANKS        C,-3                BRANCH IF MORE START ADR DIGITS.

 0271              WA           Z,X6          OCTAL 20      Z,X5
 0272              TS           Z,X5          WHODUNIT      RD SBDIRC           READ 2ND SUBDIRECTOR IF ANY.

 0274   STD PLIM   TS           ALF 5000      ALF PLIM      PROC PLIM           WHEN 2ND SUBDIRECTOR LACKING OR BAD.

 02751             TX           WHODUNIT      -             Z,X5
 02753             TX           TWO           -             HOLD LINE +1        SHOW THAT A SUBDIRECTOR WAS READ.
 0276              NA           N,X5,3        W PRINT       STD PLIM            IF NOT "PRINT", MAYBE "TRACE".
 0278              TS           ZERO          HOLD LINE +1  SUSPECT        C    SHOW THAT PRINT LIMIT CARD WAS READ.
 0279              NA           N,X5,3        W LIMIT       UNRC SUBD           "LIMIT" IS REQUIRED.
 0281              LA, CHAR6    6 C6          5,2           ILL PLIM            BRANCH IF PRINT LIMIT OVER 5 DIGITS.
 0283              SWE, CHAR8   5,2           A,2           Z,AU1
 0284              WA           Z,AU1         L SIXES       Z,AU1
 0285              WA           N,AU1         N,X5          PRINT LIM
 0286              NA, DCHECK   PRINT LIM     ZERO          UNDC PLIM           BRANCH IF PRINT LIMIT NOT DECIMAL.
 0288              TS           N,X5,3        ALF PLIM      SUSPECT        C
 0289              NA           N,X5          ONES          UNRC SUBD           SUPERFLUOUS WORDS ARE FORBIDDEN.

 0291   PROC PLIM  SWS, C7T8    ALF PLIM      A,2,L         PLIM MSG +1         USE CORRECTLY SPECIFIED PRINT LIMIT OR
 0293              SWS, C1T3    ALF PLIM      A,2,L         PLIM MSG +2         USE 5000 LINES OTHERWISE.
 0295              TS           Z,SC,1        Z,X4          MON A2D             COMVERT ALPHA TO DECIMAL.
 02961  ALF PLIM   RESERVE      2
 0297              TS           ALF PLIM +1   PRINT LIM     WHAT SUBD      C    STORE LIMIT, RECOVER BK 1 MASKS.
 0299              S, YUL TYPER PLIM MSG      AA+3          C,+1                TYPE PRINT LIMIT.

# Page 683
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  12        PAGE  12

P0301   INITIALIZE PAGE HEAD, AGC4 MEMORY, PRINT BUFFER FLAG TABLE.  READ TRACE ON/OFF SUBDIRECTOR CARDS, PLANT FLAGS.

 0303   A4 MASKER  TX           AGC4 MSKS     -             Z,MXR
 0304              TX           PAGE HEAD +1  -             SIMU HEAD +1        PUT LOG NUMBER INTO PAGE HEADING.
 0306              TX           L OBJC MSG    -             Z,AU1
 0307              TN           N,AU1         7             SIMU HEAD +6        PUT OBJECT MESSAGE INTO PAGE HEADING.
 0309              TN           PAGE HEAD +12 2             N,AU2               ALSO FANCY DATE.
 0311              S, MON PRINT SIMU HEAD                                       PRINT PARTIAL PAGE HEAD. SP20.

 0313              TX           PAGE 1        -             SIMU HEAD +15
 0314              TN           BANK 2        2             Z,X4                BANK2 TO X4, BANK 8 TO X5.
 0316              TX           C65           -             Z,AU1
 0317              MT           E BIT         63            N,X4,1              CLEAR AGC4 MEMORY.
 0319              MT           ZERO          63            N,X5,1              CLEAR PRINT BUFFER FLAG TABLE.
 0321              NA           Z,AU1,1       ONE           C,-2
 0322              TX           E BIT         -             N,X4
 0323              TX           ZERO          -             N,X5
 03232             SSL, THREE   HOLD LINE +1  0             TR ON OFF           CHOICE IS 0, 1, OR 2.

 0324   UNREC SBD  TS           YUL MASKS     Z,MXR         UNRC SBDR           UNRECOGNIZED WD IN TRACE ON/OFF SUBDIR.

 032402 TR ON OFF  TS           AGC4 MSKS     Z,MXR         RD SBDIRC           GET TRACE ON/OFF SUBDIRECTOR IF ANY.
 032404            TS           IN PTR        Z,AU1         INIT BUFF           EXIT WHEN SUBDIRECTORS RUN OUT.
 032406            WA           Z,X6          OCTAL 20      Z,X5
 032407            TX           Z,X5          -             WHODUNIT
 032408            NA           N,X5,3        W TRACE       UNREC SBD           "TRACE" IS REQUIRED.
 03241             TX           Z,X5          -             WHODUNIT
 032411            NA           N.X5          W ON          C,+3
 032412            TX           OFF           -             EDIT WD
 032413            TS           Z,X5,3        -             C,+3
 032414            NA           N,X5,3        W OFF         UNREC SBD           EITHER "ON" OR "OFF" IS REQUIRED.
 032416            TX           ON            -             EDIT WD
 032417            NA           N,X5          W R           C,+2                "R:" FOR REFERENCE IS OPTIONAL.
 032419            TS           Z,X5,3        -             C,+2
 03242             EX           EDIT WD       B1B2          EDIT WD             CLEAR REEFERENCE BIT IF NO "R:".
 032422            LA, CHAR6    5 C6          5,2           ILL TRONF           BRANCH IF ADDRESS MORE THAN 4 DIGITS.
 032424            LA, CHAR6    5,2           ZERO          UNO TRONF           BRANCH IF ADDRESS IS BLANK.
 032426            LA, CHAR8    EIGHT         5,2           UNO TRONF           BRANCH IF ADDRESS IS NOT OCTAL.
 032428            WA           Z,X5          THREE         WHODUNIT
 032429            NA           5,3           ONES          UNREC SBD           SUPERFLUOUS WORDS ARE FORBIDDEN.

 032431            TX           N,X5          -             LOCATION
 032432            TS           ZERO          Z,X5          C,+2
 032433            SWS, ONES    Z,X5          3,L           Z,X5                SHIFT UP DIGITS THUS FAR.
 032435            SWS, ACO8    LOCATION      A,7           Z,X5                CONVERT ALPHA ADDRESS TO OCTAL.
 032437            SWS, ONES    LOCATION      A,1,L         LOCATION            POSITION NEXT ALPHA OCTAL DIGIT.
 032439            NA, CHAR1    LOCATION      BLANKS        C,-3                BRANCH IF MORE ADDRESS DIGITS.
 032441            WA           Z,X5          BANK 8        Z,X5                FIND PLACE IN TABLE IN BANKS 8 AND 9.
 032443            NA           N,X5          ZERO          DUP TRONF           BRANCH IF ADDRESS IS A DUPLICATE.
 032445            TS           EDIT WD       N,X5          TR ON OFF           PLANT TRACE ON/OFF FLAG, GET NEXT SUBDR.

# Page 684
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  13        PAGE  13

P032499 INITIALIZE PRINT BUFFER AND LOAD PROGRAM INTO BANKS 2 AND 3.

 0325   INIT BUFF  MT           ZERO          3             N,AU1,1
 0326              TX           Z,AU1,1       -             Z,AU2
 0327              SWE, CAC2    Z,AU1         16,L          N,AU2               INITIALIZE TRACE LINE (PRINT) BUFFER.
 0329              NA           Z,AU1         BANK 5        C,-3
 0330              TS           IN PTR        Z,AU1         C,-2           C

 0331   READ LOOP  TS           BANK 2        Z,X5          FETCH SS            FETCH A PARAGRAPH IF ANY LEFT.
 0333              TS           START ADR     5,2           END LOAD            NO MORE, INITIALIZE Z REGISTER AND BGIN.
 0335              LA           OCTAL 20      1,2           C,-1                CUT OFF LOADING AFTER BANK 03.
 0337              TX           Z,X5          -             Z,R3
 0338              WA           Z,X1          THREE         Z,X5                1800 ADDRESS OF 1ST WD IN PARAGRAPH.
 0340              SWS, LOW12   1,2           8,L           Z,R3                DITTO IN AGC4 MEMORY.

 0342   LOAD LOOP  EX           N,X5,1        16 ONES       INSTR
 0343              SWS, LOW15   INSTR         1             INSTR               CROP PARITY AND DUPLICATE SIGN.
 0345              TS           SP3           SIMU HEAD     FLAGSET        C    APPLY FLAGS TO WORD.
 0347              TX           INSTR         -             N,R3,1              LOAD WORD INTO AGC4 MEMORY.
 0349              NA           5,2           EOR           LOAD LOOP           BRANCH IF MORE WORDS IN PARAGRAPH.
 0351              TS           -             -             READ LOOP           GO TO GET NEXT PARAGRAPH.

 0364   END LOAD   TS           YUL MASKS     Z,MXR         MON TAPE
 0365              RW,1         -             -             -                   REWIND YULPROGS.
 0367              LA           SIMU HEAD     SP3           OK LOAD             BRANCH IF ANY PARAGRAPHS LOADED.

 0369              TN           NOPAL MSG     3             LINE +7
 0370              S, MON PRINT LINE -1                                         PRINT "NO PARAGRAPHS LOADED".
 0372              S, YUL TYPER NOPAL MSG     AMTF +3       TYP ABORT           TYPE "NO PARAGRAPHS LOADED", ABORT.

 0374   OK LOAD    TX           PHI WAA       -             Z,X4
 03742             TS           Z,SC,6        4,107         MON WAKE       C

 0375              TS           Z,SC          Z,R0          OK LOAD        C    SET UP SPECIAL FIXED START FOR ABORTING.
 0376   GRP B PCR  SPCR                                     N,R0,3
 0377              TS           ZERO          GB SWITCH     MON SLEEP      C    GO TO SLEEP AND AWAIT FIXED START.
 0378              LA           CAUSE         ZERO          C,-1                BEWARE OF ACCIDENTAL WAKING.

 0379              TS           C,+1          RECYCLE2 +2   4,106               SET TRIPWIRE FOR MAIN GROUP.
 0380              S, MON TYPER W CUT OFF     SPRA +8       TERM DUMP           GROUP A TYPES "CUT OFF ", ABORTS.

 0381              TS           ZERO          LOCATION      A4 MASKER      C
 03812  GB SWITCH  WD           Z,SC          ONE           Z,SC
 03814             SWS, ACO6    GRP B PCR     16            EMRGY MSG +3
 03816             S, YUL TYPER EMRGY MSG     AA +4         C,+1                TYPE "IN EMERGENCY, ABORT TASK BY FB9 ".
 0382              TX           BANK 2        -             Z,R1
 0383              TX           BANK 2        -             Z,R3
 0384              TX           BANK 2        -             Z,X4
 0385              TS           SPEC ZERO     Z,R7          RECYCLE             INITIALIZE SPECIAL REGISTERS, BEGIN.

# Page 685
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  14        PAGE  14

P038601 SUBROUTINE TO APPLY FLAGS DURING LOADING, INDEXING, AND TC TO A.

 038602 FLAGSET    LA,LOW12     2K            INSTR         ZEROFLG        C
 038603            LA,LOW12     GENERASE      INSTR         EFLAG2         C
 038604            NA,B3TB12    INSTR         EDITPREF      C,+2           C
 038605            SS           EDITFLG       FLAGS         INSTR
 038606            NA,LOW12     LOW2          INSTR         C,+2           C

 038607            SS           LPFLAG        FLAGS         INSTR
 038608 EFLAG2     SS           EFLAG         FLAGS         INSTR
 038609 ZEROFLG    SS           ZERO          FLAGS         INSTR



R0387   UNRECOGNIZED WORD IN "START AT" SUBDIRECTOR CARD.

 0388   HOWZIS     TS           YUL MASKS     Z,MXR         HOWZAT              UNRECOGNIZED-WORD ABORT.

R0390   START ADDRESS ILLEGAL.

 0391   ILL START  TX           YUL MASKS     -             Z,MXR
 0392              S, YUL TYPER 2 LONS MSG    AMTF +3       RJEC SUBD           START ADDRESS TOO LONG.
 0394   UNO START  TX           YUL MASKS     -             Z,MXR
 0395              S, YUL TYPER UNOCS MSG     AMTF +3       RJEC SUBD           START ADDRESS NOT OCTAL.

R0400   UNRECOGNIZED WORD IN "PRINT LIMIT" SUBDIRECTOR CARD.

 0401   UNRC SUBD  TS           YUL MASKS     Z,MXR         UNRC SBDR           UNRECOGNIZED WORD IN PRINT LIMIT SUBDIR.
 0403              TS           AGC4 MSKS     Z,MXR         STD PLIM            SET PRINT LIMIT = 5000 IN THIS CASE.

R0405   ILLEGAL PRINT LIMIT.  USE 5000.

 0406   ILL PLIM   TX           YUL MASKS     -             Z,MXR
 0407              S, YUL TYPER 2 LONP MSG    AMTF +3       C,+3                PRINT LIMIT TOO LARGE.
 0409   UNDC PLIM  TX           YUL MASKS     -             Z,MXR
 0410              S, YUL TYPER UNDPL MSG     AMTF +3       C,+1                PRINT LIMIT NOT DECIMAL.
 0412              TS           L STD PLIM    Z,SC          IGN SUBDR           USE PRINT LIMIT = 5000 IN THESE CASES.

R041301 ILLEGAL OR DUPLICATED TRACE ON/OFF ADDRESS.

 041302 ILL TRONF  TX           YUL MASKS     -             Z,MXR
 041303            S, YUL TYPER 2 LONT MSG    AMTF +4       C,+5
 041304 UNO TRONF  TX           YUL MASKS     -             Z,MXR
 041305            S, YUL TYPER UNOTR MSG     AMTF +4       C,+3
 041306 DUP TRONF  TX           YUL MASKS     -             Z,MXR
 041307            S, YUL TYPER DUPTR MSG     AMTF +4       C,+1
 041308            TS           L TRON OFF    Z,SC          IGN SUBDR

# Page 686
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  15        PAGE  15

P0414   MAIN SIMULATOR LOOP

 0415   RECYCLE    SS           Z             LOW12         Z,R1
 0416              WA           Z             ONE           Z
 0417              TX           N,R1          -             INSTR

 0418   RECYCLE2   SS           INSTR         LOW12         Z,R1
 0419              EX           N,R1          LOW 16        DBEF
 04192             LA, LOW12    Z             2K            EXERASE             BRANCH IF ABOUT TO EXECUTE FROM E MEMRY.
 0420              SSL,LOW4     INSTR         12            C,+1

 0421              TS           Z,R7,1        -             TC                  0000
 0423              TS           Z,R7,2        -             CCS                 0001
 0425              TS           Z,R7,2        -             INDEX               0010
 0427              TS           Z,R7,2        -             XCH                 0011

 0429              S, MON TYPER W ILLEGOP     SPRA +8       TERMDUMP            0100
 0431              S, MON TYPER W ILLEGOP     SPRA +8       TERMDUMP            0101
 0433              S, MON TYPER W ILLEGOP     SPRA +8       TERMDUMP            0110
 0435              S, MON TYPER W ILLEGOP     SPRA +8       TERMDUMP            0111

 0437              S, MON TYPER W ILLEGOP     SPRA +8       TERMDUMP            1000
 0439              TS           Z,R7,8        -             MP                  1001
 0441              TS           Z,R7,16       -             DV                  1010
 0443              TS           Z,R7,2        -             SU                  1011

 0445              TS           Z,R7,2        -             CS                  1100
 0447              TS           Z,R7,2        -             TS                  1101
 0449              TS           Z,R7,2        -             AD                  1110
 0451              TS           Z,R7,2        -             MASK                1111

 04522  EXERASE    TS           Z,SH          Z,SC          FLAG SET       C    SET FLAGS BEFORE EXECUTING FROM E MEMRY.

R0453   RETURN HERE AFTER EACH INSTRUCTION.

 0454   REEDCHK    TS           -             -             EDITCHK        C
 0455              TX           LRECYCLE                    T4

 0456   TIMES      LA           Z,R7          DEC853        EDITOR

 0457              WA           TIME1         ONE           TIME1
 0458              SWE,ONE      TIME1         14            T1
 0459              EX           TIME1         LOW14         TIME1
 0460              WA           T1            TIME2         TIME2
 0461              WA           TIME3         ONE           TIME3
 0462              WD           Z,R7          DEC852        Z,R7
 0463              NA,SIGN      TIME3         SIGN          EDITOR

 0464              TX           ZERO          -             TIME3
 0465              S, MON TYPER C,+1          SPRA +8       TERMDUMP
 0466              ALF          T3RUPT

# Page 687
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  16        PAGE  16

P0467   PROCEDURE FOR TC (TRANSFER CONTROL).

 0468   TC         TX           N,R1          -             INSTR2
 0469              TX           Z             -             Q
 0470              EX           Z,R1          LOW12         NEWZ
 0471   TC1        TX           ONE           -             ZDECR
 0472              TS           ZERO          T4            TIMES



R0473   PROCEDURE FOR CCS (COUNT COMPARE AND SKIP).

 0474   CCS        LA,LOW12     2K            INSTR         ILLEGCCS            BRANCH IF ARGUMENT IS IN FIXED.

 0476              EX           N,R1          16ONES        A
 0477              TX           ONE           -             ZDECR
 0478              NA,SIGN      A             ZERO          NEGCCS

 0479              NA           A             ZERO          C,+4

 0480   ZEROBR     WA           Z             ONE           Z
 0481              WA           ZDECR         ONE           ZDECR
 0482              TS           -             -             REEDCHK

 0483   DECBR      WD           A             ONE           A
 0484              TS           -             -             REEDCHK

 0485   NEGCCS     WA           Z             TWO           Z
 0486              TX           THREE         -             ZDECR
 0487              NA           A             16ONES        C,+2

 0488              TS           ZERO          A             ZEROBR

 0489              HA           A             16ONES        A
 0490              TS           -             -             DECBR

 0491   ILLEG CCS  S, MON TYPER C,+1          SPRA +8       TERMDUMP
 0492              ALF          CCSFIXED

# Page 688
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  17        PAGE  17

P0493   PROCEDURE FOR INDEX (INDEX NEXT INSTRUCTION).

 0494   INDEX      EX           N,R1          16ONES        T1
 0495              SS           Z             LOW12         Z,R3
 0496              TX           Z             -             NEWZ
 0497              WA           N,R3          T1            DATA
 0498              SWE,ONE      DATA          16            T1
 0499              WA           T1            DATA          DATA
 0500              TS           ONE           ZDECR         EDITCHK        C
 0501              TX           INSTR         -             T2
 0502              EX           DATA          16ONES        INSTR
 0503              TS           -             -             FLAGSET        C
 0504              TX           INSTR         -             INSTR2
 0505              TX           T2            -             INSTR
 0506              TS           ZERO          T4            TIMES



R0507   PROCEDURE FOR XCH (EXCHANGE).

 0508   XCH        NA,FLAGS     INSTR         ZERO          XCH1

 0509              EX           N,R1          16ONES        A
 0510              TS           ONE           ZDECR         REEDCHK+1

 0511   XCH1       TX           N,R1          -             DATA
 0512              LA,LOW12     INSTR         TWO           C,+2

 0513              SWS,US       A             1             A

 05132             NA,LOW12     INSTR         TWO           C,+3
 05134             TX           A             -             NEWZ
 05136             TS           DATA          A             TC1

 0514              TX           A             -             N,R1
 0515              NA,LOW12     INSTR         LBANKREG      C,+2

 0516              EX           N,R1          BANKMASK      N,R1

 0517              TX           ONE           -             ZDECR
 0518              TS           DATA          A             REEDCHK

# Page 689
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  18        PAGE  18

P0519   PROCEDURE FOR CS (CLEAR AND SUBTRACT).

 0520   CS         HA           N,R1          16ONES        DATA
 0521              TX           ONE           -             ZDECR
 0522              TS,16ONES    DATA          A             REEDCHK



R0523   PROCEDURE FOR TS (TRANSFER TO STORAGE).

 0524   TS         TX           ONE           -             ZDECR
 0525              NA,FLAGS     INSTR         ZERO          C,+2

 0526              TS           -             -             OVIND               OVERFLOW INDICATION ONLY IF REF FIXED.

 0535              TX           A             -             NEWZ
 0536              LA,LOW12     INSTR         TWO           C,+4

 0537              SWS,US       NEWZ          1             NEWZ
 0538              NA,LOW12     INSTR         LBANKREG      C,+2

 0539              EX           NEWZ          BANKMASK      NEWZ

 0540   OVIND      SSL,LOW2     A             14            C,+1
 0541              TS           -             -             TSZ CHK
 0542              TS           ONE           A             TS SKIP
 0543              TS           NEGONE        A             TS SKIP
 0544   TSZ CHK    NA, LOW12    INSTR         TWO           C,+2
 05442             TS           ZERO          T4            TIMES
 05444             TS           NEWZ          N,R1          REEDCHK

 0545   TS SKIP    WA           Z             ONE           Z
 0546              TS           TWO           ZDECR         TSZ CHK

# Page 690
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  19        PAGE  19

P0549   PROCEDURE FOR AD (ADD).

 0550   AD         WA           N,R1          A             DATA
 0551              SWE,ONE      DATA          16            A
 0552              WA           DATA          A             DATA
 0553              EX           DATA          16ONES        A
 0554              TX           ONE           -             ZDECR
 0555              SSL,LOW2     A             14            C,+1

 0556              TS           -             -             REEDCHK
 0557              TS           ONE           T1            OVCTRINC
 0558              TS           NEGONE        T1            OVCTRINC
 0559              TS           -             -             REEDCHK

 0560   OVCTRINC   WA           T1            OVCTR         OVCTR
 0561              SWE,ONE      OVCTR         16            T1
 0562              WA           T1            OVCTR         OVCTR
 0563              EX           OVCTR         16ONES        OVCTR
 0564              TS           Z,R7,1        -             REEDCHK



R0565   PROCEDURE FOR MASK (BOOLEAN AND).

 0566   MASK       EX           N,R1          16ONES        DATA
 0567              EX           DATA          A             A
 0568              TS           ONE           ZDECR         REEDCHK+1



R0569   INTRODUCTION TO PROCEDURE FOR SU (SUBTRACT).  JOINS PROCEDURE FOR AD.

 0570   SU         HA           N,R1          16ONES        DATA
 0571              WA           DATA          A             DATA
 0572              TS           -             -             AD+1



R0573   PROCEDURE FOR MP (MULTIPLY).

 0574   MP         TS           ONE           ZDECR         SGNABS         C
 0575              BM           A             DATA          T2
 0576              TS           -             T2            -
 0577              EX           T2            LOW14         LP
 0578              SWE,LOW14    T2            14            A
 0579              NA,SIGN      T1            SIGN          REEDCHK +1

 0580              HA           A             16ONES        A
 0581              HA           LP            16ONES        LP
 0582              TS           -             -             REEDCHK +1

# Page 691
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  20        PAGE  20

P0583   PROCEDURE FOR DV (DIVIDE).

 0584   DV         TX           N,R1          -             DATA
 0585              TX           ZERO          -             T4
 0586              HA,SIGN      DATA          A             T4
 0587              SWS,US       T4            1             T4
 0588              SM           ONE           T4            T4
 0589              NA,SIGN      DATA          SIGN          C,+3

 0590              NA,SIGN      A             ZERO          C,+2

 0591              SS           ZERO          ONE           T4

 0592              TS           ONE           ZDECR         SGNABS         C
 0593              LA,LOW16     DATA          A             DVOVF

 0594              SWE,DVMSK    DATA          30,L          DATA
 0595              SWE,DVMSK    A             30,L          A
 0596              BD           DATA          A             T3
 0597              EX           T3            DVMSK         T3
 0598              BM           T3            DATA          T2
 0599              EX           T2            SIGNCLIP      T2
 0600              WD           A             T2            T2
 0601              SWE,LOW14    T2            16            Q
 0602              HA           Q             16ONES        Q
 0603              SWE,LOW14    T3            30            A
 0604              TX           T4            -             LP
 0605              NA,SIGN      T1            SIGN          REEDCHK +1

 0606              HA           A             16ONES        A
 0607              TS           -             -             REEDCHK +1

 0608   DV OVF     S, MON TYPER C,+1          SPRA +8       TERMDUMP
 0609              ALF          DIV OVF



R0610   SUBROUTINE TO GENERATE SIGN AND ABSOLUTE VALUE OF AN OPERAND.  USED BY MULTIPLY AND DIVIDE.

 0612   SGNABS     EX           N,R1          16ONES        DATA           C
 0613              SWS,US       DATA          1             DATA           C
 0614              SWS,US       A             1             A              C
 0615              HA           A             DATA          T1             C
 0616              NA,SIGN      DATA          SIGN          C,+2           C

 0617              HA           DATA          16ONES        DATA           C

 0618              NA,SIGN      A             SIGN          C,+2           C

 0619              HA           A             16ONES        A

 0620              TX           -             -             -

# Page 692
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  21        PAGE  21

P0621   PROCEDURE TO SIMULATE THE ACTION OF EDITING REGISTERS.

 0622   EDITCHK    NA,FLAGS     INSTR         ZERO          C,+2           C
 0623              TX           -                           -                   FAST EXIT WHEN NO EDITING REGS INVOLVED.

 0625              NA,EBIT      INSTR         ZERO          C,-1           C

 0626              NA,LPBIT     INSTR         ZERO          LPCYCLE        C    BRANCH WHEN OPERAND IS LP.

 0628              SSL,LOW4     INSTR         2,L           C,+1           C



R0629   PROCEDURE TO SIMULATE CYR (CYCLE RIGHT).

 0630   CYRCYCLE   SWS,SIGN     CYR           15,L          CYR            C
 0631              SWS,LOW15    CYR           1             CYR
 0632              PR
 0633              PR



R0634   PROCEDURE TO SIMULATE SR (SHIFT RIGHT).

 0635   SRCYCLE    SWS,LOW14    SR            1             SR



R0636   PROCEDURE TO SIMULATE LP (LOW-ORDER PRODUCT REGISTER).

 0637   LPCYCLE    SWS,SIGN     LP            15,L          LP             C
 0638              SWS,LOW15    LP            1             LP             C
 0639              SS           ZERO          BIT14         LP



R0640   PROCEDURE TO SIMULATE CYL (CYCLE LEFT).

 0641   CYLCYCLE   SWS,LOW15    CYL           1,L           CYL            C
 0642              SWS,ONE      CYL           15            CYL            C
 0643              SWS,SIGN     CYL           1,L           CYL
 0644              PR



R0645   PROCEDURE TO SIMULATE SL (SHIFT LEFT).

 0646   SLCYCLE    SWS,LOW14    SL            1,L           SL             C
 0647              SWS,ONE      SL            14            SL

# Page 693
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  22        PAGE  22

P0648              EDITOR ROUTINE TO PREPARE PRINTED OUTPUT.  THIS PART DETECTS THE OCCURRENCE OF INFINITE LOOPS.  THE
R0650   BINARY OUTPUT OF A TRACED INSTRUCTION, NINE AGC4 WORDS, IS CONDENSED INTO THREE CAC-WORDS.  A BUFFER OF FOUR-
R0652   WORD ITEMS IS MAINTAINED, WHERE THE FIRST THREE WORDS ARE A TRIPLE OF CAC-WORDS FOR A LINE, AND THE FOURTH IS
R0654   A CAC-WORD CONTAINING A THREAD TO THE NEXT ITEM (IN ORDER OF PRINTING) IN CAC2, AND A THREAD TO THE NEXT ITEM
R0656   WITH THE SAME VALUE OF Z IN CAC3 (OR ZERO IF NONE).  BANKS 8 AND 9 CONTAIN SPECS, EACH POINTING TO THE EARLIEST
R0658   ITEM IN THE BUFFER WITH THE CORRESPONDING VALUE OF Z.  BY "VALUE OF Z" HERE IS MEANT B(Z), I.E. THE LOCATION.
R0660   AN INDICATOR IS KEPT IN START ADR SHOWING WHETHER A LOOP PATTERN IS IN A STATE OF PARTIAL COMPLETION.  UP TO
R0662   FOUR POINTERS ARE KEPT (POINTERS ARE SPECS POINTING TO ITEMS IN THE BUFFER).  THE TWO THAT ARE ALWAYS KEPT ARE
R0664   "IN PTR", POINTING TO THE NEXT ITEM-SLOT TO BE FILLED AND "OUT PTR" POINTING TO THE NEXT ITEM TO BE PRINTED.
R0666   WHEN A LOOP PATTERN IS IN PROCESS, "PAT PTR" POINTS TO THE FIRST ITEM IN THE PATTERN, AND X3, THE COMPARISON
R0668   POINTER, POINTS TO THE ITEM WITH WHICH THE NEXT INCOMING LINE IS TO BE COMPARED.  THE STRATEGY, WITH AND WITHOUT
R0670   A PATTERN IN PROCESS, IS AS FOLLOWS:

R0671   CASE 1: NO PATTERN (C(START ADR) NOT ALL ONES)

R0672              IF THREAD IN BKS 8-9 IS VOID, THREAD IT TO A NEW ITEM FORMED FROM THIS LINE.
R0674              IF NON-VOID, THREAD THROUGH ITEMS WITH SAME B(Z) AS THIS LINE, LOOKING FOR A 3-WORD MATCH.
R0676                           IF NONE, THREAD LAST ITEM EXAMINED TO A NEW ITEM FORMED FROM THIS LINE.
R0678                           IF FOUND, SET PAT PTR AND X3, DISCARD THIS LINE, AND SET START ADR TO ALL ONES.
R0680                                         IF MATCH WAS WITH PRECEDING LINE, INDICATE TCA TRAP AND ABORT.

R0682   CASE 2: PATTERN IN PROCESS (C(START ADR) IS ALL ONES)

R0683              COMPARE THIS LINE WITH EXISTING ITEM ACCORDING TO X3 (THE COMPARISON POINTER).
R0685              IF IT MATCHES, SEE IF MATCH WAS WITH THE LAST NON-REPEATING LINE.
R0687                           IF SO, THE SIMULATED PROGRAM IS IN AN INFINITE LOOP, AND THE RUN IS ABORTED.
R0689                           IF NOT, INDEX THE COMPARISON POINTER AND DISCARD THE CURRENT LINE.
R0691              IF NO MATCH, THE PATTERN IS BROKEN.  USING PAT PTR AND X3, FEED ALL REPEATED LINES INTO THE BUFFER,
R0693              THREADING ACCORDING TO LOCATION BUT NOT CHECKING FOR DUPLICATES.  RESET START ADR TO ZERO AND
R0695              RESUBMIT THIS LINE.

# Page 694
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  23        PAGE  23

P06952  ENTER HERE AFTER EACH INSTRUCTION.

 0696   EDITOR     TX           IN PTR        -             Z,X1                AN ITEM-SLOT IS ALWAYS AVAILABLE HERE.
 0698              WD, LOW12    Z             ZDECR         LOCATION
 0699              TX           A             -             N,X1
 0700              SWS, CAC2    INSTR         16,L          N,X1
 0701              SWS, CAC1    LOCATION      32,L          N,X1,1              FORM FIRST CAC-WORD.

 0703              TX           LP            -             N,X1
 0704              SWS, CAC2    N,R1          16,L          N,X1                (D AFTER).
 0706              SWS, CAC1    D BEF         32,L          N,X1,1              FORM SECOND CAC-WORD.

 0708              TX           TIME3         -             N,X1
 0709              SWS, CAC2    OVCTR         16,L          N,X1
 0710              SWS, CAC1    Q             32,L          N,X1                FORM THIRD CAC-WORD.

 0712              TN           POINTERS      2             Z,X1                IN PTR TO X1, OUT PTR TO X2.
 0714              LA           ONES          START ADR     PATTERN             BRANCH IF THERE'S A PATTERN IN PROCESS.

R0716   PROCEDURE TO LOOK FOR A MATCH WHEN NO PATTERN IS IN PROCESS.

 0717   NO PATERN  WA           BANK8 M3      LOCATION      Z,X3                LET 3,3 = INITIAL THREAD FOR THIS B(Z).

 0719   NOT MATCH  LA, CAC3     3,3           ZERO          NO MATCH            BRANCH IF NO MATCH IN WHOLE BUFFER.
 0721              TX           3,3           -             Z,X3                THREAD TO ITEM WITH THIS B(Z).
 0723              NA           N,X1          N,X3          NOT MATCH
 0724              NA           1,1           3,1           NOT MATCH
 0725              NA           1,2           3,2           NOT MATCH           BRANCH IF NO MATCH ON THIS ITEM.

 0727              TX           Z,X3          -             PAT PTR             PATTERN BEGINS NOW.  SET PAT PTR.
 0731              TS           ONES          START ADR     LOOP CHEK           SET PATTERN SIGNAL, CHECK ONE-ORDER LUP.

 0733   NO MATCH   SS           Z,X1          CAC3          3,3                 STORE LOCATION THREAD TO THIS ITEM.
 0735              TS           L GOGO P1     Z,S3          ADV IN PTR +1       ADVANCE INPUT POINTER, MAYBE PRINTING.

# Page 695
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  24        PAGE  24

P0737   PROCEDURE WHEN A PATTERN IS IN A STATE OF PARTIAL COMPLETION.

 0738   PATTERN    NA           N,X1          N,X3          BREAK PAT
 0739              NA           1,1           3,1           BREAK PAT
 0740              NA           1,2           3,2           BREAK PAT           BRANCH IF PATTERN IS NOW BROKEN.

 0742   LOOP CHEK  NA           Z,X3          LAST PTR      CONTINUE            BRANCH IF LOOP NOT CLOSED YET.
 0744              TX           ZERO          -             START ADR           CLEAR PATTERN-IN-PROCESS INDICATOR.
 0746              TX           PAT PTR       -             Z,X3
 0747              SM           3,3           CAC1          3,3                 FLAG BEGINNING OF INFINITE LOOP.
 0749              S, MON TYPER W LOOPING     SPRA +8       TERMDUMP

 0750   CONTINUE   SWE, CAC3    3,3           16            Z,X3                INDEX COMPARISON POINTER TO NEXT ITEM.
 0752              NA           T4            ZERO          RECYCLE
 0753              WA           NEWZ          ONE           Z
 0754              TS           INSTR2        INSTR         RECYCLE2

 0758   BREAK PAT  TN           N,X1          3             HOLD LINE           SAVE THIS LINE WHILE BREAKING UP PATERN.
 0760              TN           PRINT LIM     2             PRINT LIM -1        SAVE AND DISABLE PRINT LIMIT.
 0762              TX           PAT PTR       -             Z,S0                POINT TO BEGINNING OF PATTERN.

 0764   RPT LINES  TN           N,S0          3             N,X1                RE-FEED REPEATED LINE.
 0766              TS           Z,S0,3        Z,X5          C,+2
 0767              TX           5,3           -             Z,X5
 0768              NA, CAC3     5,3           ZERO          C,-1
 0769              SS           Z,X1          CAC3          5,3                 STORE LOCATION THREAD TO RE-FED LINE.
 0771              TS           ZERO          START ADR     ADV IN PTR          RESET PATTERN SIGNAL, ADVANCE IN PTR.
 0773              SWE, CAC3    N,S0          16            Z,S0                ADVANCE RE-FEEDING POINTER.
 0775              NA           Z,S0          Z,X3          RPT LINES           BRANCH IF MORE ITEMS TO REPEAT.

 0777              LA           ONES          HOLD LINE     END PRINT           BR IF CALLED BY TERMDUMP, NOT PAT BREAK.

 0779              TN           HOL LINE      3             N,X1                RESTORE THIS LINE.
 0781              TS           PRINT LIM -1  PRINT LIM     NO PATERN           RE-SUBMIT THIS LINE FOR MATCHING.

# Page 696
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  25        PAGE  25

P0783              EDITOR CONTINUED.  THIS PART IS A SUBROUTINE TO ADVANCE IN PTR.  IF THE RESULTING VALUE EQUALS THAT
R0785   OF OUT PTR, THE BUFFER IS FULL (THIS IS THE NORMAL CASE AFTER THE FIRST 300 LINES OR THEREABOUTS).  A LINE IS
R0787   PUSHED OUT OF THE BUFFER ACCORDING TO OUT PTR, AND OUT PTR IS ADVANCED.  THE LOCATION THREAD FOR THE LINE IS
R0789   SEWN UP AROUND IT.  IF THE TRACE IS ON, THE FOLLOWING QUANTITIES ARE PRINTED:

R0790   LOCATION  ALPHA-OP-CODE  ADDRESS  A  B(X)  A(X)  LP  Q  OVCTR  T3, AND (IF APPROPRIATE) "INFINITE LOOP".

R0792   FOR EACH QUANTITY EXCEPT "INFINITE LOOP", DITTO MARKS ARE PRINTED IF APPROPRIATE, EXCEPT AT THE TOP OF A PAGE.
R0794   FOR ANY FLIP-FLOP REGISTER CONTAINING OVERFLOW, THE OVERFLOW-CORRECTED CONTENTS ARE SHOWN, PRECEDED BY A BLOT.

 0796   ADV IN PTR TX           Z,SH          -             Z,S3
 0797              TX           Z,X1          -             LAST PTR            POINT TO LAST NEW LINE ACCEPTED.
 0799              SWE, CAC3    1,3           16            IN PTR              ADVANCE IN PTR.
 0801              TX           IN PTR        -             Z,X1                KEEP IN PTR IN X1 ALSO.
 0803              NA           Z,X1          OUT PTR       N,S3                FAST EXIT UNTIL BUFFER FILLS UP.

 0805              LA           2,3           CAC1          C,+2
 0806              TN           W INF LOOP    2             NEXT LINE +10       DO THIS WHERE LOOP BEGINS.
 0808              SWE, CAC3    N,X2          32            EDIT WD             RECOVER LOCATION.
 0810              WA           BANK8 M3      EDIT WD       Z,X5                LET 5,3 = INITIAL LOCATION THREAD.
 0812              NA, CAC3     5,3           OUT PTR       C,+2
 0813              TS, CAC3     2,3           5,3           C,+2                DELETE THIS LINE FROM LOCATION THREAD.
 0815              TS           5,3           Z,X5          C,-2
 0816              SS           ZERO          CAC3          2,3                 CLEAR LOCATION THREAD IN ITEM.

 081701 CHANGE Q   WA           BANK 8        EDIT WD       Z,X5
 081702            NA, CHANGMSK 5,0           LOC FLAG      C,+4                BRANCH IF NO TRACE CHANGE ON LOCATION.
 081704            HA           LOC FLAG      B1B2          LOC FLAG            CHANGE CRITERION FOR CHANGE ON LOCATION.
 081706            NA           CHANG MSK     ON            N OMITTED           BRANCH IF CHANGING OFF TO ON.
 081708            TS           OFF           CHANG MSK     SET UP LIN          CHANGE ON TO OFF BUT PRINT THIS INSTR.
 08171             SWS, LOW 12  N,X2          16            Z,X5
 081711            LA, CHANGMSK ONES          5,0           C,-4                BRANCH IF TRACE CHANGE ON ADDRESS.

 081713 OFF TEST   NA           CHANG MSK     OFF           SET UP LIN          BRANCH IF TRACE IS ON.
 081715            DA           TRACE OFF     ONE           TRACE OFF           STEP COUNT OF UNTRACED INSTRUCTIONS.
 081717            SWE, CAC3    2,3           16            OUT PTR             ADVANCE OUT PTR AND SAME IN X2.
 081719            TS           OUT PTR       Z,X2          N,S3                QUICK EXIT WHEN TRACE IS OFF.

 081721 N OMITTED  LA           TRACE OFF     ZERO          SET UP LIN          WHEN IT REALLY WASN'T OFF AT ALL.
 081723            SWE, ONES    TRACE OFF     D,4,L         MON ARG
 081724            TS           Z,SC          Z,AU1         YUL D2A ZS
 081725*         DELETE                 THIS BETTER BE R.P. AFTER 817.24
 081725 MON ARG    RESERVE      1
 081726*           MT           N,SH,2        2             OMIT MSG +2         EDIT TRACE-OFF COUNT FOR PRINTING.
 08173             TS           BLANKS        LINE          END PAGE +1    C    GENERATE BLANK LINE.
 081732            TS           Z,S3          CHANG MSK     END PRINT +2   C    SAVE RETURN, SET SP1.
 081734            TN           OMIT MSG      5             LINE +10
 081735            TS           Z,SC          Z,S3          PRINT LIN           PRINT NO. OF UNTRACED INSTRUCTIONS.
 081737            TX           CHANG MSK     -             Z,S3                RECOVER RETURN ADDRESS.
 081739            TX           ON            -             CHANG MSK           TURN ON THE TRACE.
 081741            TX           ZERO          -             TRACE OFF

# Page 697
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  26        PAGE  26

P081799 PROCEDURE TO SET UP A TRACE LINE IN PRINT.



 0818   SET UP LIN S, OCT2ALF4  EDIT WD                     NEXT LINE           EDIT LOCATION.
 0820              SWE, LOW4    N,X2          28            T1
 0821              WA           T1            OP ALF        Z,AU1
 0822              TX           N,AU1         -             NEXT LINE +1        SUPPLY ALPHABETIC OP CODE.
 0824              SWE, CAC3    N,X2          16            EDIT WD
 0825              S, OCT2ALF4  EDIT WD                     NEXT LINE +2        EDIT ADDRESS PART OF INSTRUCTION.
 0827              S, OCT2ALF5  2,0                         NEXT LINE +3        EDIT C(A).

 0829              SWE, CAC3    2,1           32            EDIT WD
 0830              S, OCT2ALF5  EDIT WD                     NEXT LINE +4        EDIT B(X).
 0832              SWE, CAC3    2,1           16            EDIT WD
 0833              S, OCT2ALF5  EDIT WD                     NEXT LINE +5        EDIT A(X).
 0835              S, OCT2ALF5  2,1                         NEXT LINE +6        EDIT C(LP).

 0837              SWE, CAC3    2,2           32            EDIT WD
 0838              S, OCT2ALF5  EDIT WD                     NEXT LINE +7        EDIT C(Q).
 0840              SWE, CAC3    2,2           16            EDIT WD
 0841              S, OCT2ALF5  EDIT WD                     NEXT LINE +8        EDIT C(OVCTR).
 0843              S, OCT2ALF5  2,2                         NEXT LINE +9        EDIT C(T3).

 0845              SWE, CAC3    2,3           16            OUT PTR             ADVANCE OUT PTR.
 0847              TX           OUT PTR       -             Z,X2                ALSO KEEP IT IN X2.
 0849              LA           LINE CNT      FIFTY         PRINT               BRANCH IF NOT END OF PAGE.

# Page 698
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  27        PAGE  27

P0851   AT END OF PAGE, PRINT A BLANK LINE AND SKIP.  THEN PRINT PAGE HEAD AND SUBHEAD.

 0853   END PAGE   TN           SKIP          2             LINE -1             SKIP-CODE AND BLANK WORD.
 0855              TN           LINE          14            LINE +1             GENERATE BLANK LINE.
 08562             S, MON PRINT DEPAGIN8
 0857              S, MON PRINT LINE -1                                         SKIP TO HEAD OF FORM.
 0859              S, MON PRINT SIMU HEAD                                       PRINT PAGE HEAD.
 0861              DA           PAGE NO       ONE           PAGE NO
 0862              SS           PAGE NO       D12           SIMU HEAD +15       STORE INCREASED PAGE NUMBER.
 0864              NA, CHAR8    SIMU HEAD +15 ZERO          C,+4                BRANCH IF NO CHANGE IN TENS DIGIT.

 0865              SWS, ACH7    PAGE NO       2,L           SIMU HEAD +15       SET UP CHANGED TENS DIGIT.
 0868              NA, CHAR7    SIMU HEAD +15 ZERO          C,+2                BRANCH IF NO CHANGE IN HUNDREDS DIGIT.

 0870              SWS, CHAR6   PAGE NO       4,L           SIMU HEAD +15       SET UP CHANGED HUNDREDS DIGIT.

 0872   RESET LC   TX           ONE           -             LINE CNT
 0873              S, MON PRINT SUB HEAD                                        PRINT COLUMN HEADINGS.

 0875   PRINT      TN           PRIN SPEX     2             Z,S1                SPECS FOR LINE +3 AND NEXT LINE +3.
 08764  DITO LOOP  NA           N,S2          N,S1          NOT SAME            BR IF THIS WD NO MATCH SAME IN LAST LIN.
 08768             WA           Z,S2          TWELVE        Z,AU1               HERE THIS WD IN LAST LINE NOT A DITTO.
 08772             TS           N,S1,1        N,AU1         PUT DITTO           SAVE REPEATED WORD FOR LATER COMPARISON.

 08776  NOT SAME   NA           N,S1,1        DITTO         PUT DITTO +1        BRANCH UNLESS NO-MATCH CAUSED BY DITTO.
 0878              WA           Z,S2          TWELVE        Z,AU1
 08784             NA           N,S2          N,AU1         PUT DITTO +1        BRANCH IF DITTO PATTERN BREAKS NOW.

 0879   PUT DITTO  TX           DITTO         -             N,S2                SUPPLY INIITAL OR CONTINUED DITTO.
 0880              NA           Z,S2,1        PRIN SPEX +2  DITO LOOP           DO THIS FOR RIGHT-HAND SEVEN FIELDS.

 0882              TN           NEXT LINE -1  16            LINE -1
 0883   PRINT LIN  S, MON PRINT LINE -1
 0884              WA           LINE CNT      ONE           LINE CNT
 0885              DA           TASK LINS     ONE           TASK LINS           COUNT PRINT LINES IN TASK.
 0887              LA           TASK LINS     PRINT LIM     N,S3                RETURN IF NOT TOO MANY.
 08882             LA           CHANG MSK     CAC 3         N,S3                RETURN IF LINE IS "TRACE OFF" TYPE.
 0889              S, MON TYPER W PRNT MAX    SPRA +8       TERMDUMP

# Page 699
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  28        PAGE  28

P0890              SUBROUTINE TO CONVERT LOW-ORDER BITS TO 5 ALPHA-OCTALS (CHECKING FOR OVERFLOW).  16 LOW-ORDER BITS AT
R0892   A ARE MADE INTO A RIGHT-JUSTIFIED ALPHA WORD AT C.

 0893   OCT2ALF5   SIMULATE
 0894              SSL, LOW2    N,AU1         14            BLOT CHEK      C    TEST FOR OVERFLOW IN OPERAND.

 0896   OV CORECT  SWS, US      N,AU1         1             N,AU1          C    CORRECT IT IF REQUIRED.

 0898              SWS, MSK5    N,AU1         12,L          N,AU2          C    SET UP HIGH-ORDER DIGIT.

 0900   4 DIGITS   SWS, MSK4    N,AU1         9,L           N,AU2          C
 0901              SWS, MSK3    N,AU1         6,L           N,AU2          C
 0902              SWS, MSK2    N,AU1         3,L           N,AU2          C
 0903              SS           N,AU1         OCT7          N,AU2               SET UP LOW-ORDER DIGITS, RETURN.



R0905   SIMILAR SUBROUTINE FOR 12 LOW-ORDER DIGITS INTO 4 ALPHA-OCTALS.

 0906   OCT2ALF4   SIMULATE
 0907              TS           BLANK 1T4     N,AU2         4 DIGITS       C



R0908   FOUR ANSWERS TO OVERFLOW CHECK IN OCT2ALF5.

 0909   BLOT CHEK  TS           BLANK 1T3     N,AU2         OV CORECT +1   C
 0910              TS           OVF BLOT      N,AU2         OV CORECT      C
 0911              TS           OVF BLOT      N,AU2         OV CORECT      C
 0912              TS           BLANK 1T3     N,AU2         OV CORECT +1   C

# Page 700
#      @YUL SYSTEM SIMULATORS -- AGC4                                            USER'S OWN PAGE NO.  29        PAGE  29

P0913              TERMINAL DUMP PROCEDURE, USED WHEN A PROPERLY STARTED RUN ENDS FOR ANY REASON.  GIVES THE CAUSE OF
R0915   TERMINATION AND DUMPS LOCATIONS 0000-1777 ON FOUR PAGES.

 0916   MON TYPER  SIMULATE
 0917              TS           N,AU1         CAUSE         C,+1                SUPPLY CAUSE FOR PRINTING.
 091802 TERMDUMP   S, YUL TYPER CAUSE         AA +1         C,+1
 09181             TS           OFF TEST      CHANGE Q +1   MON WAKE       C    LOCK TRACE ON.
 09183             TN           W CORONER     2             NEXT LINE +13       LABEL CORONER'S REPORT AS SUCH.
 0919              TS           ONES          HOLD LINE     BREAK PAT +1   C    DISABLE LOCAL PRINT LIMIT.
 0920              LA           ONES          START ADR     BREAK PAT +2        BREAK PARTIAL PATTERN IF ANY.

 0922   END PRINT  NA           OUT PTR       IN PTR        ADV IN PTR
 0923              NA           OUT PTR       LAST PTR      ADV IN PTR +2       EMPTY OUT TRACE LINE BUFFER.

 0925              TX           SP1           -             LINE -1
 0926              TS           BLANKS        LINE          END PAGE +1    C
 0927              S, MON PRINT LINE -1                                         LEAVE A BLANK LINE.
 0929              TX           SKIP          -             LINE -1
 0931              TN           CAUSE         7             LINE +2             STATE CAUSE AND ANNOUNCE DUMP.
 09321             TX           BANK 2        -             Z,X3                H800 ADDRESS OF AGC4 ADDRESS 0000.
 0933              TS           C,+1          RESET LC      END PAGE +2         CHANGE RETURN FROM PAGE HEAD PRINT.
 0935              TS           EIGHT         Z,S1          C,+1                SET NUMBER OF 4-LINE GROUPS PER PAGE.

 0939              TS           SP1           LINE -1       END PAGE +1    C

 0940   4 LINES    TS           FOUR          Z,S2          C,+2                SET NUMBER OF LINES PER BUNCH.

 0942   1 LINE     S, MON PRINT LINE -1
 0943              WD           PRIN SPEX     ONE           Z,X5                FORM SPEC   LINE +2.
 0945              TX           Z,X3          -             EDIT WD
 0946              S, OCT2ALF4  EDIT WD                     LINE                EDIT ADDRESS OF 1ST WORD OF 8 ON A LINE.

 0948   1 WORD     S, OCT2ALF5  3,0                         5,0                 EDIT A WORD OF ERASABLE MEMORY.
 09492             NA           N,X5          BLANK 1T3     C,+2
 09494             TX           ZERO C6       -             N,X5                REPLACE ZERO WORD WITH A LONE ZERO.
 0950              LA           SPEC 1777     Z,X3,1        LAST LINE           BRANCH IF LAST WORD EDITED.
 0952              NA           Z,X5,1        PRIN SPEX +3  1 WORD

 0953              NA           Z,S2,1        ONE           1 LINE              BRANCH IF NOT LAST LINE OF BUNCH OF 4.

 0955              TX           SP2           -             LINE -1
 0956              S, MON PRINT LINE -1
 0957              LA           Z,S1,1        ONE           END PAGE

 0958              TS           SP1           LINE -1       4 LINES             GO TO PRINT NEXT FOUR LINES, SAME PAGE.

 0960   LAST LINE  TX           SKIP          -             LINE -1
 09601             S, MON PRINT DEPAGIN8
 0961              S, MON PRINT LINE -1
 0962              TX           YUL MASKS     -             Z,MXR
 0963              S, YUL TYPER END SI MSG    AMTF +2       MANUF RTN           TYPE "END SIMULATION", EXIT.
 0966   MASK LOC   MODLOC       64

 0000  *CORRECT  CARDNO TO 999999
 SEQBRK*           END          YULSIMUL      AGC4

back to top