Raw File
YUL_SYSTEM_ASSEMBLER_SACO_PASS_3.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER_SACO_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:        548-553
# Mod history:  2016-10-06 JL   Created.
#               2017-01-12 JL   Transcribed pages 548-553.

# 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 SACO PASS 3

# Page 548
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   1        PAGE  67

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 SACO PART OF PASS 3 CONTAINS SUBROUTINES WITH THE FOLLOWING FUNCTIONS:

R0008   SC 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   SC 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   SC PRIN PN . . . . . . .SET IN PRINT UPPER ADDRESS LIMIT AND PARAGRAPH NUMBER FOR A PARAGRAPH.

R0017   SC EDIT WD . . . . . . .FORM A 14-CHARACTER PRINT IMAGE OF A BYPT WORD.  FLAG REFERENCES TO UNUSED FIXED MEMORY.

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



R0020              QUANTITIES FILLED IN BY THE SACO PART OF PASS 3 FOR REFERENCE BY THE GENERAL PART OF PASS 3.

 0022   SC SUB SPX CAC          SC PRIN PN    SC EDT AV1    SC EDT DEF
 0023              CAC                        SC EXPLAN     SC EDIT WD

 0024   SC MAX LOC OCT          - 17777
 0025   SC MAX SSN OCT          -100037
 0026   SCW TO     ALF           TO
 0027   SCW TO MSK OCT          007777

# Page 549
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   2        PAGE  68

P0028   CONSTANTS AND RESERVATIONS.



 00281  SC FLG MSK OCT          0000 0070
 00282  SC FLAG 4  OCT          0000 0040
 0029   SC3 BLOTS  ALF,2               ▪▪▪▪
 0030   SC3 BANK   ALF               0,0
 0031   OCT 5777   OCT          -5777
 0032   M COMMON   RESERVE      2

 0033   BANK ZERS  ALF           0,0000
 0034   ZEROS 1T3  ALF          000
 0035   ZERO C8    ALF                 0
 0036   ZERO C4T7  ALF             0000

 0037   AT AVAIL   ALF             @
 0038   W BAD WORC ALF          BAD WORC
 0039   BADRF CUS  ALF              ▪REF
 0040   LETTER C   ALF                C:
 0041   LETTER I   ALF                I:
 0042   EMPTY WD   ALF           00000 0

# Page 550
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   3        PAGE  69

P00421  ALPHABETIC ARRAYS.



 0043   W PARAG NO ALF,3        PARAGRAPH # 00
 0044   EDIT HED   ALF,5        OCTAL LISTING OF PARAGRAPH # 00, WITH PA
 0045              ALF,5        RITY BIT IN BINARY AT THE RIGHT OF EACH
 0046              ALF,5        WORD; "@" DENOTES UNUSED FIXED MEMORY.

 0047   W WD MARKS OCT          0002
 0048              ALF,5        ALL VALID WORDS ARE BASIC INSTRUCTIONS E
 0049              ALF,5        XCEPT THOSE MARKED "I" (INTERPRETIVE OPE
 0050              ALF,5        RATOR WORDS) OR "C" (CONSTANTS).

 0051   SC SSTRED  ALF,4        IMITS ARE SHOWN FOR EACH.

# Page 551
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   4        PAGE  70

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



 0059   SC EDT DEF NA           EQIVLENT      ONES          C,+2           C
 0060              TN           SC3 BLOTS     2             LINE +2             PRINT BLOTS AND EXIT.

 0062              LA           EQIVLENT      OCT  5777     NON BANK       C    BRANCH IF LOCATION IS NOT IN A BANK.
 0064              TX           SC3 BANK      -             LINE +2        C
 0067              SWS, ACO6    EQIVLENT      2,L           LINE +2        C    SET BANK NUMBER IN PRINT.
 0069              SM           EQIVLENT      OCT  6000     M COMMON       C    PUT SUBADDRESS IN THE RANGE 6000-7777.
 0071              TS           ZEROS 1T3     LINE +3       C,+3           C

 0072   NON BANK   TX           EQIVLENT      -             M COMMON       C
 0073              TS           ZERO C8       LINE +2       C,-2           C

 0074              SWS, ACO8    M COMMON      9             LINE +2        C
 0075              SWS, ACO1    M COMMON      12            LINE +3        C
 0076              SWS, ACO2    M COMMON      15            LINE +3        C
 0077              SWS, ACO3    M COMMON      18            LINE +3             SET SUBADDRESS IN PRINT AND EXIT.



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



 0085   SC EDT AV1 LA           ADDRESS       OCT  5777     NON BANK 1     C
 0086              TX           BANK ZERS     -             LINE +1        C
 0089              SWS, ACO2    ADDRESS       26,L          LINE +1        C    PRINT BANK NUMBER.
 0091              SM           ADDRESS       N,CSC,3       M COMMON       C    PUT SUBADDRESS IN THE RANGE 6000-7777.
 0093   OCT  6000  OCT          -6000

 0094   NON BANK 1 TX           ZERO C4T7     -             LINE +1        C
 0095              TX           ADDRESS       -             M COMMON       C

 0096              SWS, ACO4    M COMMON      15,L          LINE +1        C
 0097              SWS, ACO5    M COMMON      12,L          LINE +1        C
 0098              SWS, ACO6    M COMMON      9,L           LINE +1        C
 0099              SWS, ACO7    M COMMON      6,L           LINE +1             SET SUBADDRESS IN PRINT AND EXIT.

# Page 552
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   5        PAGE  71

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

R0106   IF A NON-FIXED LOCATION,
R0107   IF AN UNUSED LOCATION,                     @
R0108   IF A CONFLICT LOCATION,                 CONFLICT
R0109   IF A BAD WORD,                          BAD WORD
R0110   IF A BASIC INSTRUCTION,                  XXXXX P                   (FIVE OCTAL DIGITS AND A PARITY BIT)
R0112   IF REFERRING TO UNUSED LOCATION,    ▪REF XXXXX P
R0113   IF AN INTERPRETIVE OPERATOR WORD,     I: XXXXX P
R0114   IF A CONSTANT,                        C: XXXXX P                        ENTRY IS

R0116              TX           M EDIT WD     -             Z,CSC          C    OR EQUIVALENT.

 0118   SC EDIT WD TX           BLANKS        -             IMAGE          C
 0119              NA           N,X2          ZERO          USED FIXT      C    OMIT TYPE CHECK FOR USED WORDS.

 0121              TX           ADDRESS       -             EQIVLENT       C
 0122              WD           Z,X2          Z,X3          M COMMON       C
 0123              WD, CAC3     M COMMON      THREE         M COMMON       C
 0124              SS           M COMMON      B41T48        EQIVLENT       C    FORM SACO ADDRESS OF UNUSED WORD.
 0126              TX           RL TYP TAB    -             Z,X4           C
 0127              LA, CAC3     EQIVLENT      4,0           C,+2           C    BRANCH WHEN MEMORY TYPE FOUND.
 0129              TS           Z,X4,1        -             C,-1           C
 0130              NA, LSTYPE   4,0           TYPE F        C,+2           C
 0131              TX           AT AVAIL      -             IMAGE +1            EXIT WITH  AT  FOR UNUSED FIXED.
 0133              TX           BLANKS        -             IMAGE +1            EXIT WITH BLANK IMAGE FOR NON-FIXED.

 0135   USED FIXT  LA           N,X2          W BAD WORC    TEST FLAG      C    BRANCH IF NOT "BAD WORD" OR "CONFLICT".
 0137              TX           N,X2          -             IMAGE +1       C
 01372             TX           SC FLAG 4     -             N,X2           S    MARK AS SUCH AND EXIT.

 01388             SS           ZERO          SC FLG MSK    N,X2           C    REMOVE FLAG IF REFERS TO USED FIXED.
 0139   TEST FLAG  SSL, ACO8    N,X2          27            C,+1           C    FOUR-WAY BRANCH ON TYPE OF FLAG.
 0141              TS           EMPTY WD      IMAGE +1      FLAGGED        C    SEE BOTTOM OF NEXT PAGE.
 0143              TS           LETTER I      IMAGE         C,-1           C
 0144              TS           LETTER C      IMAGE         C,-2           C

 0145              LA, B36T48   2,0           THREAD 11     TEST FLAG -1   C    BRANCH IF NOT REFERRING TO FIXED MEMORY.
 0147              SWS, B26T30  N,X2          17,L          C,+1           C
 0148              SWE, ONES    BIT 1         0             AVAIL MSK      C
 0149              SWE, B39T48  N,X2          26            Z,X4           C
 0150              SWS, B44T48  N,X2          6             Z,X4           C
 01502             WA           Z,X4          L AV TABLE    Z,X4           C
 0151              LA, AVAILMSK 4,0           ZERO          TEST FLAG -1   C    BRANCH IF LOCATION IS USED.

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

 0153   P3 ERRORS  DA           N OCT ERRS    ONE           N OCT ERRS     C
 01561             SS           ZERO          BIT 16        SWITCH         C    PRINT REMAINDER OF OCTAL STORAGE MAP.
 0159              TX           BADRF CUS     IMAGE         TEST FLAG +1   C    MARK GUILTY ORDER AND EXIT.

# Page 553
#      @YUL SYSTEM ASSEMBLER SACO PASS 3                                         USER'S OWN PAGE NO.   6        PAGE  72

R0161              SUBROUTINE IN PASS 3 FOR SACO TO SET IN PRINT THE UPPER ADDRESS LIMIT AND PARAGRAPH NUMBER FOR THE
R0163   PARAGRAPH SUMMARY.  ENTRY IS
R0164              SWE, CAC3    M PRINT PN    32            Z,CSC          C    EXITS TO EDIT DEF TO PRINT UPPER LIMIT.



 0166   SC PRIN PN TN           W PARAG NO    3             LINE +4        C
 0167              SWS, ACO5    Z,R0          15,L          LINE +5        C
 0168              SWS, ACO6    Z,R0          12,L          LINE +5        C    EDIT PARAGRAPH NUMBER.
 0170              TN           SC SSTRED     4             PAGE HED2 +7   C    REMOVE BIT ABOUT "MANUFACTURING LOCATION
 0172              MT           BLANKS        4             N,AU2,1        C    CODE" FROM LOCAL PAGE SUBHEAD.
 0174              TS           C,+0          C,-2          SC EDT DEF +2  C    JOIN EDT DEF FOR UPPER ADDRESS LIMIT.



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


 0180   SC EXPLAN  TN           EDIT HED      15            PAGE HED2 +1   C
 0181              SWS, ACO6    N,X2          9,L           PAGE HED2 +4   C
 0182              SWS, ACO7    N,X2          6,L           PAGE HED2 +4   C    PUT PARAGRAPH NUMBER IN FIRST LINE.
 0184              TN           W WDMARKS     16            LINE           C
 0185              TS           Z,SC          Z,X4          PRINT LIN           PRINT EXPLANATION AND RETURN.



R0187   TERMINATION OF SC EDIT WD ON PREVIOUS PAGE.



 0188   FLAGGED    SWS, ACO2    N,X2          23,L          IMAGE +1       C
 0189              SWS, ACO3    N,X2          20,L          IMAGE +1       C
 0190              SWS, ACO4    N,X2          17,L          IMAGE +1       C
 0191              SWS, ACO5    N,X2          14,L          IMAGE +1       C
 0192              SWS, ACO6    N,X2          11,L          IMAGE +1       C    SET IN PRINT 5 OCTAL DIGITS OF WORD.
 0194              SS           N,X2          ONE           IMAGE +1            SET PARITY BIT IN PRINT, EXIT.
back to top