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_SACO_PASS_1.argus
# Copyright:    Public domain.
# Filename:     YUL_SYSTEM_ASSEMBLER_SACO_PASS_1.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:        256-262
# Mod history:  2016-10-06 JL   Created.
#               2016-12-01 JL   Transcribed.

# 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 1

# Page 256
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   1        PAGE  80

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 1    B1


 0005  *           MASKGRP,1    S,1           F,1


R0006              THE SACO PART OF PASS 1 CONTAINS THE FOLLOWING DATA:

R0007   MAXIMUM LEGAL NUMERIC OPERATION CODE,  GREATEST ADDRESS OF A MEMORY LOCATION,  DITTO + 1,  BLOCK SIZE - 1,
R0009   SHIFT AMOUNTS FOR CONVERTING A BLOCK NUMBER TO AN ADDRESS AND FOR STORING A NUMERIC OPERATION CODE,  A TABLE
R0011   SHOWING WHICH LOCATIONS IN SACO ARE ERASABLE, FIXED, AND SPECIAL/NONEXISTENT, AND A TABLE OF SYMBOLIC OPERA-
R0013   TION CODES, EACH WITH EITHER CODED BINARY INFORMATION (INSTRUCTION CODES) OR AN ADDRESS (CLERICAL CODES).
R00142  IN SACO, THIS TABLE IS LOCATED IN BANK 5.

R0015   CODING IS ALSO PROVIDED HERE TO PROCESS (PARTLY) THE ADDRESS FIELD OF POLISH OPERATOR CARDS.

R0017  *QUANTITIES FILLED IN FOR REFERENCE BY GENERAL PASS 1.


 0018   SC OP THRS SPEC                                     OP THRS
 0019   SC MAX NOP FXBIN        7
 0020   SC MAX LOC OCT          - 17777
 0021   SC ADR LIM OCT          - 20000
 0022   SC BLOK IS OCT          -377
 0023   SC SHIFTS  OCT          0000 0044 24
 0024   SC TYP TAB CAC          COUNT STA     1024          SACO MEMO      -
 00241  SC SUB LOC EQUALS       SC TYP TAB
 00242  SC COUNSP  EQUALS       SC TYP TAB
 0025  *SC SPCIAL  TS           C,+1          OP FOUND      SEG TEST
 0026              TS           SACO MXR      Z,MXR         POLISH Q

 00261  SC ELEFT P CAC          6149                        GOT ELEFTO
 00262 *SC FLEFT P CAC          6165          1024          SC FLEFTO      -



 0027   SACO MEMO  OCT          -1000 0057
 0028              OCT          -4000 1777
 0029              OCT          -2001 7777
 0030              DEC          BB00 FFFF
 00301 *SEG MEMO   OCT          -1001 7777
 0031              RESERVE      23


 00312 *SEG TEST   EX           SWITCH        BIT 7         SEG TEST
 00314 *           LA           SEG TEST      ZERO          POST SPEC           EXIT IF NOT IN A SEGMENT ASSEMBLY.
 00316 *           TS           SEG MEMO      SACO MEMO +2  POST SPEC           CHANGE FIXED TO SPEC/NON AND EXIT.

# Page 257
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   2        PAGE  81

P0032              FIELD AND SHIFT MASKS FOR THE SACO PART OF PASS 1.

 00329  B,VMASKM   OCT          0
 0033   B,C1T6M    OCT          7777 7777 7777
 0034   B,ONESM    OCT          7777 7777 7777 7777
 0035   B,B18T24M  OCT          0000 0177
 0036   B,B22T25M  OCT          0000 0007 4

 0037   B,B22T32M  OCT          0000 0007 776
 0038   B,B25T31M  OCT          -7740 0000
 0039   B,BIT31M   OCT          -0200 0000
 0040   B,C7T8M    OCT          -7777

 0041   B,B37B48M  OCT          -4001
 0042   B,B41T45M  OCT          -370
 0043   B,TWOM     OCT          -2
 0044   B,ONEM     OCT          -1

 0045   B,CHAR7M   OCT          -7700
 0046   B,CHAR8M   OCT          -77


R0048              CONSTANTS.

 00481  B36T38M    OCT          -16000
 00482  OCT 2000   OCT          -2000
 00483  OCT 5777   OCT          -5777
 0049   SACO MXR   MASKBASE     S,1           F,1

 0050   SPECOND 7  OCT          -70
 0051   SPECON 12  OCT          -120

 0052   2 POLOP 7  OCT          -0340 0000
 0053   2 POLOP 17 OCT          -0740 0000
 0054   2 POLOP 27 OCT          -1340 0000



R00541             SPECIAL ROUTINE IN PASS 1 FOR SACO TO ALLOCATE LEFTOVER INSTRUCTIONS AND CONSTANTS TO FIXED BANKS.

 00542  SC FLEFTO  LA           LOC CTR       OCT 5777      FF OR ERAS
 005422            LA           ONES          LOC CTR       FF OR ERAS +1       IF BAD LOC CTR, ANYWHERE IN FIXED IS OK.
 00543             SS           LOC CTR       B36T38M       C,+2                IF LOC CTR IS IN A BANK, SO IS LEFTOVER.
 00544             TS           C,+1          COMMON +2     GOT FLEFP
 00545             CAC                        6149                         -

 00546  FF OR ERAS LA           OCT  4000     LOC CTR       GOT FLEFP           IF FIXED FIXED, ORIG. PARAMETER WAS OK.
 00547             TS           C,+1          COMMON +2     GOT FLEFP           IF ERASABLE, ANYWHERE IN FIXED IS OK.
 00548             CAC                        6245          1024           -

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

P0055              SPECIAL ROUTINE IN PASS 1 FOR SACO TO RESPOND TO THE FINDING OF AN INSTRUCTION OPERATION CODE.  IF
R0057   THE CODE IS A POLISH OR STORE ADDRESS CONSTANT, RESETS THE BEGINNING-OF-EQUATION INDICATOR (BIT 29 OF SWITCH)
R0059   AND RETURNS TO THE GENERAL INSTRUCTION-PROCESSING PROCEDURE.  IF THE CODE IS A POLISH OPERATOR, THE SEVEN-BIT
R0061   EQUIVALENT IS PLACED IN BITS 18-24 OF HEALTH AND THE BEGINNING-OF-EQUATION INDICATOR IS EXAMINED.  IF IT IS
R0063   RESET (AS IS TRUE INITIALLY), IT IS NOW SET AND 07 IS SUPPLIED AS THE SECOND OPERATOR, TO INDICATE THAT PASS 2
R0065   IS TO DECODE AN OPERATOR WORD COUNT FROM THERE.  OTHERWISE, THE ADDRESS FIELD IS INTERPRETED AS FOLLOWS...
R0067   BLANK: OPERATOR 00, NUMERIC: OPERATOR 07 (ASSUME NEW EQUATION), SYMBOLIC WITH MODIFIER: OPERATION 17 (ILLEGAL
R0069   FORMAT), SYMBOLIC: VALUE FROM OPERATION CODE TABLE IF POLISH OPERATOR, OR OPERATOR 27 OTHERWISE.

 0071   POLISH Q   NA, ONEM     4,0           ZERO          POLISH OP
 0072              SWS, B22T32M N,X4          16,L          HEALTH              SEND BITS AS USUAL IF NOT POLISH.
 0074              NA, TWOM     4,0           ZERO          SC P1 EXIT          EXIT IF AN IMPLIED-ADDRESS CODE.
 0076              LA, B41T45M  4,0           SPECOND 7     SC P1 EXIT
 0077              LA, B41T45M  SPECON 12     4,0           SC P1 EXIT          BRANCH IF NOT A POLISH OR STORE ADDRESS.
 0079              TS, BIT29M   ZERO          SWITCH        SC P1 EXIT          RESET INDICATOR, EXIT.

 0081   POLISH OP  SWS, B18T24M N,X4          21,L          HEALTH              SEND EQUIVALENT OF LEFT OPERATOR.
 0083              SM           HEALTH        BIT 32        HEALTH              INDICATE POLISH OPERATOR WORD.
 0085              NA, BIT29M   SWITCH        ZERO          TWO POLES           BRANCH IF NOT BEGINNING OF EQUATION.
 0087              SM           HEALTH        2 POLOP 7     HEALTH              SEND INDICATION TO PASS 2.
 0089              TS, BIT29M   ONES          SWITCH        SC P1 EXIT          SET INDICATOR AND EXIT.

 0091   TWO POLES  TX           P1 MASKS      -             Z,MXR
 0092              TS           Z,SC          Z,X4          ADR FIELD           DECODE ADDRESS FIELD.
 0094              LA           FIELD COD     ZERO          INSTRUCT            FAST EXIT FOR BLANK (VACUOUS) OPERATOR.

 0096              TX           SACO MXR      -             Z,MXR
 0097              NA           FIELD COD     BIT 1         POLISH OP +3        BRANCH IF ADDRESS FIELD IS NOT SYMBOLIC.
 0099              LA           FIELD COD +1  ZERO          C,+2                BRANCH IF NO MODIFIER.
 0101              TS, B25T31M  2 POLOP 17    HEALTH        SC P1 EXIT          INDICATE IMPROPER ADDRESS FIELD, EXIT.

 0103              NA, CHAR8M   ADR WD        ASTRISKS      C,+3                BRANCH IF NO DETACHED ASTERISK.
 0105              NA, CHAR7M   ADR WD        BLANKS        POLE FAIL           BRANCH IF OPERATOR SYMBOL TOO LONG.
 0107              TS, CHAR8M   BLANKS        ADR WD        POLE SEEK           BLANK OUT ASTERISK, LOOK UP CODE.

 0109              NA, C7T8M    ADR WD        BLANKS        POLE FAIL           BRANCH IF MORE THAN SIX CHARACTERS.
 0111              TS           N L CHAR 6    Z,X4          C,+2                REVERSE BASE FOR SET OF CHARACTER MASKS.
 0113              NA, VMASKM   ADR WD        BLANKS        C,+2                SCAN TO LEFT UNTIL A CHARACTER IS FOUND.
 0115              TS           N,X4,1        N,MXR         C,-1
 0116              NA, VMASKM   ADR WD        ASTRISKS      POLE SEEK           PROCEED WITH SEARCH IF NO ASTERISK.
 0118              SS           BLANKS        N,MXR         ADR WD              BLANK OUT ATTACHED ASTERISK.

 0120   POLE SEEK  TX           SC OP THRS    -             Z,X4
 0121              SWS, B22T25M ADR WD        17            C,+1
 0122              SWE, ONESM   4,0           0             Z,X4                SELECT SECTION OF OP CODE LIST.
 0124              TX           Z,SC,1        -             -
 0125              LA           N,X4,1        ZERO          POLE FAIL           BRANCH IF OP CODE NOT FOUND.
 0127              NA, C1T6M    ADR WD        4,0           C,-1                SEARCH THROUGH SELECTED SUBLIST.
 0129              LA, B37B48M  ONES          4,0           C,+2                BRANCH IF POLISH OPERATOR FOUND.
 0131   POLE FAIL  TS, B25T31M  2 POLOP 27    HEALTH        SC P1 EXIT          INDICATE FAILURE AND EXIT.

 0133              SWS, B25T31M N,X4          14,L          HEALTH              SEND EQUIVALENT OF RIGHT OPERATOR.
 0135   SC P1 EXIT TS           P1 MASKS      Z,MXR         INSTRUCT

# Page 259
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   4        PAGE  83

P01352  SPECIAL PROCESSING FOR COUNT* CODE.

 01354             MASKGRP      S,0           F,0

 01356  COUNT STA  NA, CHAR1    ADR WD        DOLLARS       ILL COUNT      C
 01358             SWS, CHAR1   LOC CTR       16            ADR WD         S    REPLACE DOLLAR SIGN WITH BANK NUMBER.



R0136              OPERATION CODE THREADS AND TABLES FOR SACO, USED IN PASS 1.

 01362             SETLOC,3     0             B5

 01364             SETLOC,4     15            B5

 0137   OP THRS    CAC          CODES 01                    BAD CODE
 0138              CAC          CODES 11                    CODES 10
 0139              CAC          CODES 21                    CODES 20
 0140              CAC          CODES 31                    CODES 30
 0141              CAC          CODES 41                    BAD CODE
 0142              CAC          CODES 51                    CODES 50
 0143              CAC          CODES 61                    CODES 60
 0144              CAC          CODES 71                    CODES 70



R01444             SACO OPERATION CODE TABLES.  PLEASE IGNORE THE BANK ERRORS.

 0145   CODES 01   M,A,MA       A,SK          A,            B,7400
 0146              M,A,DE       A,C           A,            DECIMAL
 0147              M,A,DA       A,D           A,            B,4341
 0148              M,A,DD       A,V           A,            B,4641
 0149              M,A,HE       A,AD          A,            HEAD TAIL
 0150              M,A,ME       A,MO          A,RY          LATE MEM
 0151   BAD CODE   OCT          0

 0152   CODES 11   M,A,DV       A,            A,            B,6600
 0153              M,A,MS       A,K           A,            B,7400
 0154              M,A,DS       A,U           A,            B,4441
 0155              M,A,DS       A,Q           A,            B,5331
 0156              M,A,MX       A,V           A,            B,5241
 0157              OCT          0

 0158   CODES 10   M,A,MP       A,            A,            B,6200
 0159              M,A,DM       A,P           A,            B,4541
 0160              M,A,DM       A,PR          A,            B,5101
 0161              M,A,DO       A,T           A,            B,5641
 0162              M,A,UN       A,IT          A,            B,4231
 0163              M,A,DM       A,OV          A,E           B,5531
 0164              M,A,DO       A,UB          A,LE          B,7002
 0165              OCT          0

# Page 260
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   5        PAGE  84

P0166   SACO OPERATION CODE TABLES CONTINUED.  PLEASE IGNORE THE BANK ERRORS.

 0167   CODES 21   M,A,AD       A,            A,            B,7000
 0168              M,A,ND       A,X           A,            B,5040
 0169              M,A,VA       A,D           A,            B,5341
 0170              M,A,AC       A,OS          A,            B,4731
 0171              M,A,AB       A,S           A,            B,4531
 0172              M,A,AB       A,VA          A,L           B,4331
 0173              M,A,VD       A,EF          A,            B,5731
 0174              M,A,AD       A,RE          A,S           B,4060
 0175              M,A,RE       A,TU          A,RN          B,4006
 0176              M,A,NE       A,XT          A,            B,5711
 0177              M,A,RE       A,LI          A,NT          B,5016
 0178              M,A,RE       A,SU          A,ME          B,5026
 0179              OCT          0

 0180   CODES 20   M,A,         A,            A,            B,4100
 0181              OCT          0

 0182   CODES 31   M,A,IS       A,            A,            IS EQUALS
 0183              M,A,EX       A,TE          A,ND          B,5132
 01831             M,A,EV       A,EN          A,            EVEN
 0184              M,A,IT       A,C           A,            B,4041
 0185              M,A,IT       A,CQ          A,            B,5751
 0186              M,A,VX       A,M           A,            B,5301
 0187              M,A,VS       A,U           A,            B,4141
 0188              M,A,VS       A,RT          A,            B,5501
 0189              M,A,VS       A,LT          A,            B,5541
 0190              M,A,VX       A,SC          A,            B,4101
 0191              M,A,VX       A,V           A,            B,5701
 0192              M,A,EX       A,IT          A,            B,4011
 0193              M,A,RT       A,B           A,            B,4051
 0194              M,A,AX       A,T,          A,1           B,4111
 0195              M,A,AX       A,T,          A,2           B,4151
 0196              M,A,AX       A,C,          A,1           B,5211
 0197              M,A,AX       A,C,          A,2           B,5251
 0198              M,A,VS       A,Q           A,            B,4431
 0199              M,A,AS       A,T,          A,1           B,5111
 0200              M,A,AS       A,T,          A,2           B,5151
 0201              M,A,AS       A,IN          A,            B,4631
 0202              M,A,IT       A,A           A,            B,5511
 0203              M,A,IT       A,CI          A,            B,5551
 0204              OCT          0

# Page 261
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   6        PAGE  85

P02041  SACO OPERATION CODE TABLES CONTINUED.  PLEASE IGNORE THE BANK ERRORS.

 0205   CODES 30   M,A,IN       A,DE          A,X           B,5040
 0206              M,A,EQ       A,UA          A,LS          IS EQUALS
 0207              M,A,ER       A,AS          A,E           ERASE
 0208              M,A,NO       A,LO          A,D           B,5411
 0209              M,A,NO       A,LO          A,AD          B,5411
 0210              M,A,RO       A,UN          A,D           B,5451
 0211              M,A,VM       A,OV          A,E           B,4131
 0212              M,A,IN       A,CR          A,,1          B,4611
 0213              M,A,IN       A,CR          A,,2          B,4651
 0214              M,A,VP       A,RO          A,J           B,5741
 0215              M,A,NO       A,OP          A,            B,5402
 0216              M,A,IN       A,HI          A,NT          B,5022
 0217              OCT          0

 0219   CODES 41   M,A,OC       A,T           A,            OCTAL
 0220              M,A,OC       A,TA          A,L           OCTAL
 0221              M,A,2D       A,EC          A,            2DECIMAL
 0222              M,A,SE       A,TL          A,OC          SETLOC
 0223              M,A,BH       A,IZ          A,            B,4401
 0224              M,A,BD       A,SU          A,            B,4501
 0225              M,A,BD       A,DV          A,            B,4701
 0226              M,A,SI       A,GN          A,            B,5201
 0227              M,A,SI       A,N           A,            B,5031
 0228              M,A,SG       A,N           A,            B,5201
 02281 *           M,A,SE       A,GN          A,UM          LATE MEM
 0229              OCT          0

 0230   CODES 51   M,A,SU       A,            A,            B,7200
 0231              M,A,ST       A,OR          A,E           B,4110
 0232              M,A,OV       A,SK          A,            B,6402
 0233              M,A,SW       A,IT          A,CH          B,5651
 0234              M,A,BZ       A,E           A,            B,5401
 0235              M,A,ST       A,Z           A,            B,4241
 0236              M,A,BV       A,SU          A,            B,5441
 0237              M,A,SX       A,A,          A,1           B,4411
 0238              M,A,SX       A,A,          A,2           B,4451
 0239              M,A,SU       A,BR          A,O           SUBRO
 0240              OCT          0

 0241   CODES 50   M,A,BL       A,OC          A,K           BLOCK
 0242              M,A,BP       A,L           A,            B,5601
 0243              M,A,BM       A,N           A,            B,4201
 0244              M,A,BO       A,V           A,            B,4301
 0245              M,A,SQ       A,RT          A,            B,5231
 0246              M,A,SM       A,OV          A,E           B,5631
 0247              M,A,2O       A,CT          A,            2OCTAL
 0248              M,A,2O       A,CT          A,AL          2OCTAL
 0249              M,A,SQ       A,UA          A,RE          B,6202
 0250              OCT          0

# Page 262
#      @YUL SYSTEM ASSEMBLER SACO PASS 1                                         USER'S OWN PAGE NO.   7        PAGE  86

P0251   SACO OPERATION CODE TABLES CONCLUDED.  PLEASE IGNORE THE BANK ERRORS.

 0252   CODES 61   M,A,TC       A,            A,            B,4000
 0253              M,A,XC       A,H           A,            B,5400
 0254              M,A,CC       A,S           A,            B,4400
 0255              M,A,CA       A,F           A,            B,5410
 0256              M,A,TE       A,ST          A,            B,5611
 0257              M,A,XC       A,HX          A,,1          B,4511
 0258              M,A,XC       A,HX          A,,2          B,4551
 0259              M,A,XA       A,D,          A,1           B,4711
 0260              M,A,XA       A,D,          A,2           B,4751
 0261              M,A,TI       A,X,          A,1           B,5311
 0262              M,A,TX       A,X,          A,2           B,5351
 0263              M,A,TA       A,D           A,            B,4741
 0264              M,A,TC       A,R           A,            B,4000
 0265              M,A,TC       A,AA          A,            B,6412
 0266              M,A,XA       A,Q           A,            B,4002
 0267              M,A,CA       A,DR          A,            B,4070
 0268              M,A,XC       A,AD          A,R           B,4120
 0269              M,A,TA       A,IL          A,            HEAD TAIL
 0270              OCT          0

 0271   CODES 69   M,A,=        A,            A,            IS EQUALS
 0272              M,A,P        A,            A,            B,4100
 0273              OCT          0

 0274   CODES 71   M,A,CS       A,            A,            B,6000
 0275              M,A,TS       A,            A,            B,6450
 02751             M,A,TS       A,F           A,            B,6400
 0276              M,A,TS       A,U           A,            B,5141
 0277              M,A,TS       A,RT          A,            B,5041
 0278              M,A,TS       A,LT          A,            B,4601
 0279              M,A,TS       A,LC          A,            B,5001
 0280              M,A,LX       A,A,          A,1           B,4211
 0281              M,A,LX       A,A,          A,2           B,4251
 0282              M,A,LX       A,C,          A,1           B,4311
 0283              M,A,LX       A,C,          A,2           B,4351
 0284              M,A,XS       A,U,          A,1           B,5011
 0285              M,A,XS       A,U,          A,2           B,5051
 0286              OCT          0

 0287   CODES 70   M,A,CO       A,M           A,            B,6002
 0288              M,A,LO       A,C           A,            SETLOC
 0289              M,A,LO       A,DO          A,N           B,5711
 0290              M,A,TM       A,OV          A,E           B,4031
 0291              M,A,TP       A,            A,            B,4031
 0292              M,A,CO       A,MP          A,            B,5431
 0293              M,A,CO       A,S           A,            B,5131
 027935            M,A,CO       A,UN          A,T           COUNT
 027936            M,A,=P       A,LU          A,S           EQU PLUS
 027937            M,A,=M       A,IN          A,US          EQU MINUS
 0294              OCT          0
back to top