Revision 62edbcc8c6021789df156749d71229308ba4313a authored by Ronald Burkey on 08 August 2021, 00:25:00 UTC, committed by GitHub on 08 August 2021, 00:25:00 UTC
yaAGCb1: Fixed a few errors identified by SELF-CHECK
2 parent s 1bd6f8f + b8b57e2
Raw File
YUL_SYSTEM_ASSEMBLER_AGC_PASS_3.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER_AGC_PASS_3.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:        564-573
# Mod history:  2016-10-06 JL   Created.
#               2017-01-12 JL   Transcribed pages 564-573.

# 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 ASSEMBLER AGC PASS 3

# Page 564
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   1        PAGE  83

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



 0004              SETLOC,2     SIZ PASS 3    B1



 0005              MASKGRP,1    S,0           F,0



R0006              THE AGC PART OF PASS 3 CONTAINS SUBROUTINES WITH THE FOLLOWING FUNCTIONS:

R0008   AG EDT DEF . . . . . . .SET A GIVEN ADDRESS IN PRINT IN WORDS 2 AND 3 OF THE PRINT LINE, OR SET UP BLOTS FOR A
R0010                           BAD ADDRESS.  TYPICALLY USED TO PRINT THE DEFINITION OF A SYMBOL.

R0012   AG EDT AV1 . . . . . . .SET A GIVEN ADDRESS IN PRINT IN WORD 1 OF THE PRINT LINE.  TYPICALLY USED TO PRINT A
R0014                           LOWER LIMIT IN THE AVAILABILITY DISPLAY.

R0015   AG PRIN PN . . . . . . .SET IN PRINT UPPER ADDRESS LIMIT, PARAGRAPH NUMBER, ROPE MODULE NUMBER WITH SIDE LETTER,
R0017                           AND SENSE WIRE NUMBERS FOR A PARAGRAPH.

R0018   AG EDIT WD . . . . . . .FORM A 14-CHARACTER PRINT IMAGE OF A BYPT WORD.  FLAG REFERENCES TO UNUSED FIXED MEMORY.
R0020                           GENERATE A CHECKSUM FOR EACH BANK OR SHOW THE REASON WHY NOT.

R0022   AG EXPLAN  . . . . . . .PRINT A TWO-LINE SUBHEADING FOR AN OCTAL PARAGRAPH LISTING.



R0024              QUANTITIES FILLED IN BY THE AGC PART OF PASS 3 FOR REFERENCE BY THE GENERAL PART OF PASS 3.

 0026   AG SUB SPX CAC          AG PRIN PN    AG EDT AV1    AG EDT DEF
 0027              CAC                        AG EXPLAN     AG EDIT WD

 0028   AG MAX LOC OCT          -167777
 0029   AG MAX SSN OCT          -100357
 0030   AGW TO     ALF           TO
 0031   AGW TO MSK OCT          007777

# Page 565
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   2        PAGE  84

P0032   CONSTANTS, RESERVATIONS, AND EQUIVALENCES.



 0033   BIT 2      OCT          2
 0034   BIT 17     OCT          0000 02
 0035   BIT29M     OCT          -200 0000
 0036   BIT30M     OCT          -100 0000
 0037   MOCT 60    OCT          -60
 0038   MOCT 66    OCT          -66

 0039   OCT 1377   OCT          -1377
 0040   OCT 1400   OCT          -1400
 0041   OCT 2000   OCT          -2000
 0042   OCT 4000   OCT          -4000
 0043   OCT 10000  OCT          -10000

 0044   PL 77777   OCT          +77777
 0045   SPEC 10M   OCT          -100010
 0046   SPEC 20M   OCT          -100020
 0047   SPEC 67M   OCT          -100067
 00472  SPEC 237M  OCT          -100237

 0048   AG FLG MSK OCT          0000 0070
 00482  AG FLAG 4  OCT          0000 0040
 0049   BANK MASK  OCT          -176000
 0050   EBANK MSK  OCT          -3400

 0051   OCTAL CTR  OCT          -7
 0052   L TC SELF  OCT          0
 0053   NEXT EQIV  OCT          0
 0054   CHECKSUM   OCT          0

 0055   L WIRE NOS SPEC                                     WIRE NOS
 0059   M COMMON   RESERVE      2

# Page 566
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   3        PAGE  85

P0060   ALPHABETIC CONSTANTS.



 0061   AGF BANK   ALF              00,0
 0062   AGE BANK   ALF              E0,0
 0063   BANK ZERS  ALF          00,0000
 0064   EBANK ZERS ALF          E0,0000

 0065   AG3 BLOTS  ALF,2               ▪▪▪▪
 0066   ZEROS 1T3  ALF          000
 0067   ZERO C8    ALF                 0
 0068   ZERO C4T7  ALF             0000

 0069   AT AVAIL   ALF             @
 0070   W BAD WORC ALF          BAD WORC
 0071   BADRF CUS  ALF              ▪REF
 0072   EOB CUSS   ALF              ▪EOB
 0073   SUM CUSS   ALF              ▪SUM

 0074   W CKSUM    ALF              CKSM
 0075   W NOSUM    ALF             NOSUM
 0076   LETTER C   ALF                C:
 0077   LETTER I   ALF                I:
 0078   EMPTY WD   ALF           00000 0

 0079   W NO CKSUM ALF,2             NO CHECKSUM
 0080   W PARAG NO ALF,3        PARAGRAPH # 000
 0081   EDIT HED   ALF,5        OCTAL LISTING OF PARAGRAPH # 000, WITH P
 0082              ALF,5        ARITY BIT IN BINARY AT THE RIGHT OF EACH
 0083              ALF,5         WORD; "@" DENOTES UNUSED FIXED MEMORY.

# Page 567
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   4        PAGE  86

P0084   FURTHER ALPHABETIC CONSTANTS.



 0085   W WD MARKS OCT          0002
 0086              ALF,5        ALL VALID WORDS ARE BASIC INSTRUCTIONS E
 0087              ALF,5        XCEPT THOSE MARKED "I" (INTERPRETIVE OPE
 0088              ALF,5        RATOR WORDS) OR "C" (CONSTANTS).

 0089   W SPECENT  ALF,4        SPECIAL AND CENTRAL REGISTERS &
 0090   W ERAS MEM ALF,2        ERASABLE MEMORY
 00902  W ACM      ALF,4        AUXILIARY CORE ROPE MEMORY (ACM)
 0091   MA LO CODE ALF,5        ROPE MODULE 2, SIDE B, SENSE LINE SET 00
 0092              ALF           (WIRES

 0093   WIRE NOS   ALF,4        1-16)    17-32)   33-48)   49-64)
 0094              ALF,4        65-80)   81-96)   97-112)  113-128)
 0095              ALF,4        129-144) 145-160) 161-176) 177-192)

# Page 568
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   5        PAGE  87

P0096              SUBROUTINE IN PASS 3 FOR AGC TO SET IN PRINT THE DEFINITION OF A SYMBOL OR THE UPPER LIMIT OF AN
R0098   ITEM IN THE AVAILABILITY DISPLAY.  SUPPLY AN INTEGER IN EQIVLENT OR ONES IF THERE IS NO DEFINITON.  ENTRY IS
R0100              TS           M EDIT DEF    -             Z,CSC          C    SETS UP THE DEFINITION USING THE BANK
R0102   NOTATION, OR SETS UP FOUR BLOTS IF NO DEFINITION.



 0103   AG EDT DEF NA           EQIVLENT      ONES          C,+2           C
 0104              TN           AG3 BLOTS     2             LINE +2             PRINT BLOTS AND EXIT.

 0106              TX           EQIVLENT      -             M COMMON       C
 0108              LA           M COMMON      OCT  3777     EDIT DEF E     C    BRANCH IF LOCATION IS IN ERASABLE.

 0110              LA           M COMMON      OCT 7777      NON BANK       C    BRANCH IF LOCATION IS NOT IN A BANK.
 0112              WD           M COMMON      OCT 10000     M COMMON       C    REDUCE TO STANDARD BANK NOTATION.
 0114              TX           AGF BANK      -             LINE +2        C
 0115              SWS, ACO5    M COMMON      5,L           LINE +2        C
 0116              SWS, ACO6    M COMMON      2,L           LINE +2        C    SET BANK NUMBER IN PRINT.
 0118              SS           OCT 2000      BANK MASK     M COMMON       C    PUT SUBADDRESS IN THE RANGE 2000-3777.
 0120              TS           ZEROS 1T3     LINE +3       NON BANK +1    C

 0121   EDIT DEF E LA           M COMMON      OCT 1377      NON BANK       C    BRANCH IF LOCATION IS NOT IN AN EBANK.
 0123              TX           AGE BANK      -             LINE +2        C
 0124              SWS, ACO6    M COMMON      4,L           LINE +2        C
 0125              SS           OCT 1400      EBANK MSK     M COMMON       C    PUT SUBADDRESS IN THE RANGE 1400-1777.
 0127              TS           ZEROS 1T3     LINE +3       NON BANK +1    C

 0128   NON BANK   TS           ZERO C8       LINE +2       C,-2           C
 0129              SWS, ACO8    M COMMON      9             LINE +2        C
 0130              SWS, ACO1    M COMMON      12            LINE +3        C
 0131              SWS, ACO2    M COMMON      15            LINE +3        C
 0132              SWS, ACO3    M COMMON      18            LINE +3             SET SUBADDRESS IN PRINT AND EXIT.

# Page 569
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   6        PAGE  88

R0134              SUBROUTINE IN PASS 3 FOR AGC TO SET IN PRINT THE LOWER LIMIT OF AN ITEM IN THE AVAILABILITY DISPLAY
R0136   OR AN ADDRESS IN THE PARAGRAPH EDIT.  WITH THE ADDRESS SUPPLIED AS AN INTEGER IN ADDRESS, ENTRY IS
R0138              SWE, CAC3    M EDIT AV1    16            Z,CSC          C    USES THE BANK NOTATION.



 0140   AG EDT AV1 TX           ADDRESS       -             M COMMON       C
 0142              LA           M COMMON      OCT 3777      EDIT AV1 E     C

 0143              LA           M COMMON      OCT 7777      NON BANK 1     C
 0144              WD           M COMMON      OCT 10000     M COMMON       C
 0145              TX           BANK ZERS     -             LINE +1        C
 0146              SWS, ACO1    M COMMON      29,L          LINE +1        C
 0147              SWS, ACO2    M COMMON      26,L          LINE +1        C    SET BANK NUMBER IN PRINT.
 0149              SS           OCT 2000      BANK MASK     M COMMON       C    PUT SUBADDRESS IN THE RANGE 2000-3777.
 0151              TS           -             -             NON BANK 1 +1  C

 0152   EDIT AV1 E LA           M COMMON      OCT 1377      NON BANK 1     C
 0153              TX           EBANK ZRS     -             LINE +1        C
 0154              SWS, ACO2    M COMMON      28,L          LINE +1        C    SET EBANK NUMBER IN PRINT.
 0156              SS           OCT 1400      EBANK MSK     M COMMON       C    PUT SUBADDRESS IN THE RANGE 1400-1777.
 0158              TS           -             -             NON BANK 1 +1  C

 0159   NON BANK 1 TX           ZERO C4T7     -             LINE +1        C
 0160              SWS, ACO4    M COMMON      15,L          LINE +1        C
 0161              SWS, ACO5    M COMMON      12,L          LINE +1        C
 0162              SWS, ACO6    M COMMON      9,L           LINE +1        C
 0163              SWS, ACO7    M COMMON      6,L           LINE +1             SET SUBADDRESS IN PRINT AND EXIT.



R0165              SUBROUTINE IN PASS 3 FOR AGC TO PRINT TWO EXPLANATORY LINES AT THE HEAD OF EACH PAGE OF AN OCTAL
R0167   PARAGRAPH LISTING.  ENTRY IS
R0168              SWE, CAC3    M EXPLAIN     16            Z,CSC          C


 0169   AG EXPLAN  TN           EDIT HED      15            PAGE HED2 +1   C
 0170              SWS, ACO6    N,X2          6,L           PAGE HED2 +4   C
 0171              SWS, ACO7    N,X2          3,L           PAGE HED2 +4   C
 0172              SS           N,X2          ACO 8         PAGE HED2 +4   C    PUT PARAGRAPH NUMBER IN FIRST LINE.
 0174              TN           W WDMARKS     16            LINE           C
 0175              TS           Z,SC          Z,X4          PRINT LIN           PRINT EXPLANATION AND RETURN.

# Page 570
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   7        PAGE  89

P0177              SUBROUTINE IN PASS 3 FOR AGC TO MAKE A 14-CHARACTER IMAGE CORRESPONDING TO AN AGC WORD.  THE IMAGE
R0179   IS DELIVERED IN IMAGE AND IMAGE+1 AND CONSISTS OF ANY OF THE FOLLOWING, RIGHT-JUSTIFIED SO THAT THE RIGHT-HAND
R0181   14 CHARACTERS CAN BE USED:

R0182   IF AN UNUSED NON-FIXED LOCATION,
R0183   IF AN UNUSED LOCATION,                     @                            OR "NO CHECKSUM" IF PREVENTS CHECKSUM.
R0185   IF A CONFLICT LOCATION,                 CONFLICT
R0186   IF A BAD WORD,                          BAD WORD
R0187   IF A BASIC INSTRUCTION,                  XXXXX P                   (FIVE OCTAL DIGITS AND A PARITY BIT)
R0189   IF REFERRING TO UNUSED LOCATION,    ▪REF XXXXX P
R0190   IF AN INTERPRETIVE OPERATOR WORD,     I: XXXXX P
R0191   IF A CONSTANT,                        C: XXXXX P                        PREFIX IS "CKSM" IF CONST IS A CHECKSUM.

R0193   OTHER PREFIXES: "▪EOB" FOR A USED WORD AFTER A CHECKSUM, "▪SUM" FOR A USED WORD THAT FOULS UP A PROPERLY RE-
R0195   QUESTED CHECKSUM, AND "NOSUM" FOR A USED WORD THAT PREVENTS A CHECKSUM.  "▪" PREFIXES COUNT AS CUSSED LINES.
R0197   ENTRY:     TX           M EDIT WD     -             Z,CSC          C    OR EQUIVALENT.



 0199   AG EDIT WD TX           BLANKS        -             IMAGE          C
 0200              WA           OCTAL CTR     ONE           OCTAL CTR      C
 0201              LA           N,X2          W BAD WORC    TEST FLAG      C    BRANCH IF NOT "BAD WORD" OR "CONFLICT".
 02022             TX           N,X2          -             IMAGE +1       C
 0203              TS           AG FLAG 4     N,X2          SET EOB FL     C    MARK AS SUCH, GO TO SET FLAG AND EXIT.

 0205              SS           ZERO          AG FLG MSK    N,X2           C    REMOVE FLAG IF REFERS TO USED FIXED.
 0207   TEST FLAG  SSL, ACO8    N,X2          27            C,+1           C    FOUR-WAY BRANCH ON TYPE OF FLAG.
 0209              TS           OCT 1777      AVAIL MSK     WHICH MEM      C
 0210              TS           LETTER I      IMAGE         C,-1           C
 0211              TS           LETTER C      IMAGE         C,-2           C

 0212              SWS, B26T30  N,X2          17,L          C,+1           C
 0213              SWE, ONES    BIT 1         0             AVAIL MSK      C    BITS 05-01 OF AGC ADDRESS = SHIFT.
 0215              SWE, B38T48  N,X2          26            Z,X4           C
 0216              SWS, B44T48  N,X2          6             Z,X4           C
 0217              WA           Z,X4          L AV TABLE    Z,X4           C
 0218              SWE, ONES    N,X2          12,L          M COMMON       C    ALIGN REFERS-TO-FIXED-BANK BIT.
 0220              SS           M COMMON      BIT 17        C,+1           C    USE IT TO MAYBE AUGMENT BY 4 X 32 = 128.
 0222              LA, AVAILMSK 4,0           ZERO          TEST FLAG -1   C    BRANCH IF LOCATION IS USED.

 02232 *           NA           SEG OWNER     BLANKS        TEST FLAG -1   C    NO CUSS IN SEGMENT ASSEMBLY.

 0224              TX           BADRF CUS     -             IMAGE          C    "▪REF" FOR REFERENCE TO UNUSED FIXED.

R0226   MINOR SUBROUTINE IN PASS 3 FOR AGC TO REGISTER AN ERROR FOUND DURING THE MAKING OF THE OCTAL STORAGE MAP.

 0228   P3 ERRORS  DA           N OCT ERRS    ONE           N OCT ERRS     C
 02302             SS           ZERO          BIT 16        SWITCH         C    PRINT REMAINDER OF OCTAL STORAGE MAP.
 0234              TX           Z,CSH         -             Z,CSC          C

# Page 571
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   8        PAGE  90

P0235   MAIN STREAM OF EDIT WD CONTINUED: PRINT WORD AND START CHECKSUM PROCESSING.

 0237   WHICH MEM  TS           EMPTY WD      IMAGE +1      WD PRINT       C
 0238              TX           ADDRESS       -             EQIVLENT       C
 0239              LA           OCT 4000      EQIVLENT      C,+3           C    BRANCH IF LOCATION IS IN FIXED MEMORY.
 0241              NA           N,X2          ZERO          SET EOB FL     C    SET FLAG AND EXIT IF USED.
 0243              TS           BLANKS        IMAGE +1      SET EOB FL     C    OTHERWISE SEND ALL BLANKS AND DITTO.

 0245              SS           OCTAL CTR     ACO8          EQIVLENT       C    FILL IN LAST OCTAL DIGIT OF ADDRESS.
 0247              TX           NEXT EQIV     -             M COMMON       C    FOR IMMEDIATE MISSING-PARAGRAPH CHECK.
 0249              WA           EQIVLENT      ONE           NEXT EQIV      C    SET CRITERION FOR MISSING-PARAG. CHECK.
 0251              NA, AVAILMSK EQIVLENT      ZERO          C,+2           C    BRANCH IF NOT THE BEGINNING OF A BANK.
 0253              TS           ZERO          CHECKSUM      TC SELF Q      C

 0254              NA           EQIVLENT      M COMMON      LACK PARA      C    BRANCH IF PARAGRAPH(S) MISSING.
 0256              LA           BIT 1         CHECKSUM      NO SUMING      C    BRANCH IF NO SUMMING TO BE DONE.
 0258              LA           BIT 2         CHECKSUM      PLANT SUM -1   C    BRANCH IF CHECKSUM MUST BE PLANTED NOW.
 0260              NA, AVAILMSK EQIVLENT      ONES          TC SELF Q      C    BRANCH IF NOT END OF BANK.
 0262              LA           N,X2          ZERO          PLANT SUM      C    BRANCH TO PLANT SUM IN LONE HOLE AT END.
 0264              TS           W NOSUM       IMAGE         SET EOB FL     C    SHOW NO CHECKSUM IN FULL BANK, EXIT.

 0266   NO SUMING  NA           N,X2          ZERO          C,+2           C    BRANCH ON USED WORD WHEN NOT SUMMING.
 0268              TX           AT AVAIL      -             IMAGE +1       S    EXIT WITH  AT  FOR UNUSED FIXED.
 0270              LA           ONES          CHECKSUM      N,SC,1         C    EXIT IF SUMMING WAS GIVEN UP.
 0272              TS           EOB CUSS      IMAGE         P3 ERRORS      C    "▪EOB" FOR USED WORD AFTER CHECKSUM.
 0274   SET EOB FL TX           ONES          -             CHECKSUM       S

 0275              NA           N,X2          ZERO          SUM ERROR      C    BRANCH IF USED WD WHERE CKSM SHOULD GO.
 0277   PLANT SUM  SWE, CHAR8   EQIVLENT      10            M COMMON       C    FORM POSITIVE BANK NUMBER.  CHECKSUM IS
 0279              LA           M COMMON      THREE         C,+2           C    SUCH THAT TOTAL SUM IS + OR - BANK NO.
 0281              WD           M COMMON      FOUR          M COMMON       C
 0282              SS           ZERO          BIT 2         CHECKSUM       C
 02822             LA           CHECKSUM      B35T48        C,+2           C    BRANCH IF CHECKSUM IS POSITIVE.
 0283              HA           M COMMON      CAC3          M COMMON       C    GIVE BANK NUMBER AGC SIGN OF CHECKSUM.
 0285              BS           M COMMON      CHECKSUM      N,X2           C
 0287              LA           N,X2          BIT 1         C,+2           C    BRANCH IF ALG. VAL. OF CKSM IS PLUS.
 0289              HA           N,X2          PL 77777      N,X2           C
 0290              SWE, B41T48  N,X2          8             M COMMON +1    C
 0291              HA           N,X2          M COMMON +1   M COMMON       C
 0292              SWE, D12     M COMMON      4             M COMMON +1    C
 0293              HA           M COMMON      M COMMON +1   M COMMON       C
 0294              SWE, THREE   M COMMON      2             M COMMON +1    C
 0295              HA           M COMMON      M COMMON +1   M COMMON       C
 0296              SWE, ONE     M COMMON      1             M COMMON +1    C
 0297              HA           M COMMON      M COMMON +1   M COMMON       C
 0298              HA           M COMMON      ONES          M COMMON       C
 0399              WA           N,X2          N,X2          N,X2           C
 0300              SS           M COMMON      B20 B48       N,X2           C    SHIFT CHECKSUM AND INSERT PARITY BIT.
 0302              TS           EMPTY WD      IMAGE +1      WD PRINT       C    PRINT WITH PREFIX "CKSM".
 0304              TS           W CKSM        IMAGE         SUM ERROR +1   C    SHOW THAT SUM IS DONE AND EXIT.

# Page 572
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.   9        PAGE  91

P0306   PROCEDURE IN EDIT WD TO WATCH FOR TWO TC SELFS IN SUCCESSION, TO MAKE THE CHECKSUM FOLLOW THEM.

 0308   TC SELF Q  SWE, SPECMAG N,X2          1             M COMMON       C
 0309              LA           OCT 10000     EQIVLENT      C,+2           C    BRANCH IF LOCATION IS IN A BANK.
 0311              TS           EQIVLENT      M COMMON +1   C,+3           C
 0312              TX           OCT 2000      -             M COMMON +1    C
 0313              SS           EQIVLENT      OCT 1777      M COMMON +1    C
 0314              NA           M COMMON      M COMMON +1   NO TC SELF     C

 0317              LA           EQIVLENT      L TC SELF     C,+2           C    BRANCH IF THIS IS 2ND TC SELF IN A ROW.
 0319              TS           NEXT EQIV     L TC SELF     ADD 2 SUM      C    SET CRITERION FOR TWO-IN-A-ROW CHECK.
 0321              NA, OCT377   EQIVLENT      ONES          ADD 2 SUM -1   C    BRANCH IF TC SELFS NOT AT END OF PARAGR.
 0323              SWE, ACO8    EQIVLENT      13            M COMMON       C
 0324              WA           L SUBSTRB     M COMMON      Z,X4           C
 0325              SWS, B26T30  EQIVLENT      10,L          C,+1           C
 0326              SWE, ONES    BIT 2         0             AVAIL MSK      C    LOOK IN SUBSTRAB FOR NEXT PARAGRAPH.
 0328              NA, AVAILMSK 4,0           ZERO          ADD 2 SUM -1   C    BRANCH IF NEXT PARAGRAPH EXISTS.

 0330   SUM ERROR  TS           SUM CUSS      IMAGE         P3 ERRORS      C    "▪SUM" FOR FOULED-UP CHECKSUM REQUEST.
 0332              TX           BIT 1         -             CHECKSUM       S    PREPARE POST-CHECKSUM TESTS, EXIT.

 0334   NO TC SELF NA           N,X2          ZERO          ADD 2 SUM      C
 0335              TX           W NO CKSUM    -             IMAGE          C    "   NO CHECKSUM" FOR AN UNUSED WORD THAT
 0337              TS           W NO CKSUM +1 IMAGE +1      SET EOB FL     C    PREVENTS FORMATION OF A CHECKSUM.

 0339              SM           CHECKSUM      BIT 2         CHECKSUM       C    REQUEST CHECKSUM IN NEXT WORD.
 0341   ADD 2 SUM  EX           N,X2          CAC3          M COMMON       C
 0342              SWS, SPECMAG N,X2          1             M COMMON       C    PUT WORD INTO SIGN-DUPLICATED FORM.
 0344              WA           CHECKSUM      M COMMON      CHECKSUM       C
 0345              SSL, ACO8    CHECKSUM      14            C,+1           C    TEST FOR END-AROUND CARRY AND OVERFLOW.

R0347   THIS SIX-WAY BRANCH ACHIEVES END-AROUND CARRY PROPAGATION, OVERFLOW CORRECTION, AND ADDITION OF SGN(OVERFLOW).

 0349              TX           -             -             -              S    000: NO EAC, +, NO OFLO.
 0351              WD           CHECKSUM      B35T48        CHECKSUM       S    001: NO EAC, +,    OFLO.
 0353   B35T48     OCT          -37777                                          010: IMPOSSIBLE.
 0355              TX           -             -             -              S    011: NO EAC, -, NO OFLO.
 0357              WD           CHECKSUM      CAC3          CHECKSUM       S    100:    EAC, +, NO OFLO.
 0359   B20 B48    OCT          -20 0000 0001                                   101: IMPOSSIBLE.
 0361              WA           CHECKSUM      B35T48        CHECKSUM       C    110:    EAC, -,    OFLO.
 0363              WD           CHECKSUM      CAC3          CHECKSUM       S    111:    EAC, -, NO OFLO.

R0365   RESPONSE TO DISCOVERY THAT ONE OR MORE PARAGRAPHS ARE MISSING... EFFECT ON CHECKSUM PROCESSING.

 0367   LACK PARA  LA, AVAILMSK M COMMON      ZERO          C,+4           C    BRANCH IF NEW PH MUST BE IN NEW BANK.
 0369              SS           EQIVLENT      AVAIL MSK     M COMMON       C
 0370              NA           EQIVLENT      M COMMON      C,+2           C    BRANCH IF NEW PARAGRAPH IS IN NEW BANK.
 0372              LA           BIT 1         CHECKSUM      NO SUMING      C    BRANCH IF NO SUMMING TO BE DONE.
 0374              NA           N,X2          ZERO          NO SUMING -1   C    BRANCH TO APPLY PREFIX "NOSUM" TO WORD.
 0376              TS           W NO CKSUM    IMAGE         NO TC SELF +2  C    BUT FOR EMPTY WORD WRITE "NO CHECKSUM".

# Page 573
#      @YUL SYSTEM ASSEMBLER AGC PASS 3                                          USER'S OWN PAGE NO.  10        PAGE  92

P0378   MINOR SUBROUTINE IN PASS 3 FOR AGC TO SET AN ASSEMBLED WORD IN PRINT FOR THE OCTAL STORAGE MAP.

 0380   WD PRINT   SWS, ACO2    N,X2          23,L          IMAGE +1       C
 0381              SWS, ACO3    N,X2          20,L          IMAGE +1       C
 0382              SWS, ACO4    N,X2          17,L          IMAGE +1       C
 0383              SWS, ACO5    N,X2          14,L          IMAGE +1       C
 0384              SWS, ACO6    N,X2          11,L          IMAGE +1       C    SET IN PRINT 5 OCTAL DIGITS OF WORD.
 0386              SS           N,X2          ONE           IMAGE +1       C    SET PARITY BIT IN PRINT.
 0388              TX           Z,CSH         -             Z,CSC          C


R0389              SUBROUTINE IN PASS 3 FOR AGC TO SET IN PRINT THE UPPER ADDRESS LIMIT, PARAGRAPH NUMBER, ROPE MODULE
R0391   NUMBER WITH SIDE LETTER, AND SENSE WIRE NUMBERS FOR A PARAGRAPH.  ENTRY:
R0392              SWE, CAC3    M PRINT PN    32            Z,CSC          C    EXITS TO EDIT DEF TO PRINT UPPER LIMIT.


 0394   AG PRIN PN TN           W PARAG NO    3             LINE +4        C
 0395              SWS, ACO5    Z,R0          12,L          LINE +5        C
 0396              SWS, ACO6    Z,R0          9,L           LINE +5        C
 0397              SWS, ACO7    Z,R0          6,L           LINE +5        C    EDIT PARAGRAPH NUMBER.
 0399              LA           SPEC 10M      Z,R0          FIX MEM        C

 0400              NA           LINE +5       W PARAG NO +1 C,+2           C    BRANCH IF PARAGRAPHS 001-007.
 0402              TN           W SPECENT     4             N,AU2          C    "SPECIAL AND CENTRAL REGISTERS & ".
 0404              TN           W ERAS MEM    2             N,AU2          C    "ERASABLE MEMORY ".
 0406              TS           -             -             AG EDT DEF +2  C    GO TO PRINT UPPER ADDRESS LIMIT.

 04072  FIX MEM    LA           Z,R0          SPEC 237M     ROPE MEM       C
 04074             TN           W ACM         4             N,AU2          C    MARK AUXILIARY CORE MEMORY PARAGRAPH.
 04076             TS           -             -             AG EDT DEF +2  C

 0408   ROPE MEM   TN           MA LO CODE    6             N,AU2          C    SET RAW MANU. LOCATION CODE IN PRINT.
 0410              LA           SPEC 20M      Z,R0          C,+3           C    BRANCH IF PARAGRAPH IS IN A BANK.
 0412              WA           Z,R0          EIGHT         M COMMON       C
 0413              TS           -             -             WHICH MOD      C    USE FIXED-FIXED PARAGRAPH NO. + 10 OCT.

 0415              WD           Z,R0          EIGHT         M COMMON       C
 0416              LA           M COMMON      SPEC 67M      WHICH MOD      C    BRANCH WHEN ROPE MODULE PAIR IS KNOWN.
 0418              WD           M COMMON      MOCT 60       M COMMON       C    REDUCE NUMBER IF IN ROPE MODULE 3 TO 6.
 0420              WA           LINE +8       BIT 29M       LINE +8        C
 04202             TS           -             -             C,-3           C

 0421   WHICH MOD  SSL, TWO     M COMMON      4             C,+1           C    PICK ODD OR EVEN MEMBER OF MODULE PAIR.
 0423              WD           LINE +8       BIT 30M       LINE +8        C
 0424              WD           M COMMON      EIGHT         M COMMON       C    PUT IN RANGE 00-13 FOR S.L. SENSE NO.
 0426              SSL, ONE     M COMMON      0             C,+1           C    PICK SIDE A OR B OR ROPE MODULE.
 0428              WD           LINE +9       BIT 30M       LINE +9        C

 0429              SWE, D12     M COMMON      1             M COMMON       C    FORM BINARY SENSE LINE SET NUMBER.
 0431              WA, C7T8     M COMMON      ONE           LINE +11       C
 0432              LA, C7T8     LINE +11      NINE          C,+2           C
 0433              WA           LINE +11      MOCT 66       LINE +11       C    SET DECIMAL SENSE LINE SET NO. IN PRINT.
 0435              WA           L WIRE NOS    M COMMON      Z,AU1          C
 0436              TS           N,AU1         N,AU2         AG EDT DEF +2  C    GO TO PRINT UPPER ADDRESS LIMIT.
back to top