_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

EVAL

FILE INFORMATION

FILENAME(S): EVAL

FILE TYPE(S): PRG

FILE SIZE: 19.9K

FIRST SEEN: 2025-11-30 16:59:36

APPEARS ON: 1 disk(s)

FILE HASH

9ea29feef5ca6dcaec492c80fa29c20878a1cbf97ac5536700e6b47d6e3557ce

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
LADS64 EVAL PRG High Voltage Complete C64 Collection 16 3 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 01 04 37 04 0A 00 3B 20  22 45 56 41 4C 22 20 20  |..7...; "EVAL"  |
00000010: 4D 41 49 4E 20 45 C5 55  41 54 49 91 20 52 4F 55  |MAIN E.UATI. ROU|
00000020: 54 49 4E 45 20 28 53 49  4D 50 4C 45 20 41 53 53  |TINE (SIMPLE ASS|
00000030: 45 4D 42 4C 45 52 29 00  7C 04 14 00 3B AB AB AB  |EMBLER).|...;...|
00000040: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000050: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000060: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000070: AB AB AB AB AB AB AB AB  AB AB AB AB 00 8D 04 1E  |................|
00000080: 00 53 54 41 52 54 20 4C  44 41 20 23 30 00 99 04  |.START LDA #0...|
00000090: 28 00 4C 44 59 20 23 34  38 00 CB 04 32 00 53 54  |(.LDY #48...2.ST|
000000A0: 52 54 4C 50 20 53 54 41  20 4F 50 2C 59 3B 20 20  |RTLP STA OP,Y;  |
000000B0: 20 20 20 AB AB 20 4C 4F  4F 50 20 A4 20 43 4C 45  |   .. LOOP . CLE|
000000C0: 41 52 20 46 4C 41 47 53  20 AB AB 00 D3 04 3C 00  |AR FLAGS .....<.|
000000D0: 44 45 59 00 EC 04 46 00  42 4E 45 20 53 54 52 54  |DEY...F.BNE STRT|
000000E0: 4C 50 3B 20 AB AB AB AB  AB AB AB AB 00 33 05 50  |LP; .........3.P|
000000F0: 00 4C 44 41 20 23 B3 53  54 41 52 54 3B 20 53 A4  |.LDA #.START; S.|
00000100: 52 45 20 42 4F 54 A4 4D  20 4F 46 20 4C 41 44 53  |RE BOT.M OF LADS|
00000110: 20 B5 4F 20 A4 50 20 4F  46 20 41 52 52 41 59 AD  | .O .P OF ARRAY.|
00000120: 4D 45 4D B0 59 2E 20 20  50 52 4F 54 45 43 54 20  |MEM.Y.  PROTECT |
00000130: 49 54 2E 00 41 05 5A 00  53 54 41 20 4D 45 4D A4  |IT..A.Z.STA MEM.|
00000140: 50 00 50 05 64 00 53 54  41 20 42 4D 45 4D A4 50  |P.P.d.STA BMEM.P|
00000150: 00 60 05 6E 00 53 54 41  20 41 52 52 41 59 A4 50  |.`.n.STA ARRAY.P|
00000160: 00 70 05 78 00 4C 44 41  20 23 B1 53 54 41 52 54  |.p.x.LDA #.START|
00000170: 00 80 05 82 00 53 54 41  20 4D 45 4D A4 50 AA 31  |.....STA MEM.P.1|
00000180: 00 91 05 8C 00 53 54 41  20 42 4D 45 4D A4 50 AA  |.....STA BMEM.P.|
00000190: 31 00 AC 05 96 00 53 54  41 20 41 52 52 41 59 A4  |1.....STA ARRAY.|
000001A0: 50 AA 31 3B AB AB AB AB  AB AB AB AB 00 D5 05 A0  |P.1;............|
000001B0: 00 4C 44 41 20 23 31 3B  20 20 20 20 20 20 20 20  |.LDA #1;        |
000001C0: 20 20 20 20 20 AB AB 20  53 45 54 20 96 41 55 4C  |     .. SET .AUL|
000001D0: 54 53 20 AB AB 00 0A 06  AA 00 3B 20 48 45 52 45  |TS .......; HERE|
000001E0: 20 59 4F 55 20 43 41 4E  20 53 45 54 20 41 4E 59  | YOU CAN SET ANY|
000001F0: 20 41 44 44 49 54 49 91  41 4C 20 96 41 55 4C 54  | ADDITI.AL .AULT|
00000200: 53 20 59 4F 55 20 57 49  53 48 00 2F 06 B4 00 53  |S YOU WISH./...S|
00000210: 54 41 20 48 58 46 4C 41  47 3B 20 54 55 52 4E 20  |TA HXFLAG; TURN |
00000220: 91 20 48 45 58 20 9B 49  4E 47 20 46 4C 41 47 00  |. HEX .ING FLAG.|
00000230: 6A 06 BE 00 53 54 4D 30  20 4C 44 41 20 53 43 52  |j...STM0 LDA SCR|
00000240: 45 45 4E 2C 59 3B 20 20  20 20 20 20 20 20 20 20  |EEN,Y;          |
00000250: 20 20 AB AB 20 A1 20 53  4F 55 52 43 45 20 46 49  |  .. . SOURCE FI|
00000260: 4C 45 20 4E 41 4D 45 20  AB AB 00 76 06 C8 00 43  |LE NAME ...v...C|
00000270: 4D 50 20 23 33 32 00 98  06 D2 00 42 45 51 20 53  |MP #32.....BEQ S|
00000280: 54 4D 31 3B 20 43 48 45  43 4B 20 81 20 41 A8 48  |TM1; CHECK . A.H|
00000290: 45 52 20 42 4C 41 4E 4B  00 A5 06 DC 00 42 43 53  |ER BLANK.....BCS|
000002A0: 20 53 54 4D 33 00 AD 06  E6 00 43 4C 43 00 D6 06  | STM3.....CLC...|
000002B0: F0 00 41 44 43 20 23 36  34 3B 20 41 44 4A 55 53  |..ADC #64; ADJUS|
000002C0: 54 20 81 20 4C 4F 57 20  C6 49 49 20 43 48 41 52  |T . LOW .II CHAR|
000002D0: 41 43 54 45 52 53 00 0A  07 FA 00 53 54 4D 33 20  |ACTERS.....STM3 |
000002E0: 53 54 41 20 46 49 C3 2C  59 3B 20 53 A4 52 45 20  |STA FI.,Y; S.RE |
000002F0: 43 48 41 52 41 43 54 45  52 20 49 4E 20 46 49 C3  |CHARACTER IN FI.|
00000300: 41 4D 45 20 42 55 46 46  45 52 00 12 07 04 01 49  |AME BUFFER.....I|
00000310: 4E 59 00 32 07 0E 01 4A  4D 50 20 53 54 4D 30 3B  |NY.2...JMP STM0;|
00000320: 20 A1 20 41 A8 48 45 52  20 43 48 41 52 41 43 54  | . A.HER CHARACT|
00000330: 45 52 00 58 07 18 01 53  54 4D 31 20 53 54 41 20  |ER.X...STM1 STA |
00000340: 46 49 C3 2C 59 3B 20 43  48 45 43 4B 20 81 20 32  |FI.,Y; CHECK . 2|
00000350: 4E 44 20 42 4C 41 4E 4B  00 60 07 22 01 49 4E 59  |ND BLANK.`.".INY|
00000360: 00 71 07 2C 01 4C 44 41  20 53 43 52 45 45 4E 2C  |.q.,.LDA SCREEN,|
00000370: 59 00 93 07 36 01 43 4D  50 20 23 33 32 3B 20 8B  |Y...6.CMP #32; .|
00000380: 20 4E 4F 20 32 4E 44 20  42 4C 41 4E 4B 20 53 50  | NO 2ND BLANK SP|
00000390: 41 43 45 00 D2 07 40 01  42 4E 45 20 53 54 4D 30  |ACE...@.BNE STM0|
000003A0: 3B 20 20 20 20 20 20 20  20 20 20 20 20 A7 20 CB  |;            . .|
000003B0: 20 42 41 43 4B 20 81 20  4D B0 45 20 4E 41 4D 45  | BACK . M.E NAME|
000003C0: 20 28 4D 49 47 48 54 20  42 45 20 32 20 57 B0 44  | (MIGHT BE 2 W.D|
000003D0: 53 29 00 DA 07 4A 01 44  45 59 00 FB 07 54 01 53  |S)...J.DEY...T.S|
000003E0: 54 59 20 A5 41 4D 45 C3  3B 20 20 53 A4 52 45 20  |TY .AME.;  S.RE |
000003F0: 46 49 C3 41 4D 45 20 C3  47 54 48 00 2A 08 5E 01  |FI.AME .GTH.*.^.|
00000400: 4A 53 52 20 9F 31 3B 20  9F 20 87 20 46 49 4C 45  |JSR .1; . . FILE|
00000410: 20 28 53 4F 55 52 43 45  20 43 4F 44 45 20 46 49  | (SOURCE CODE FI|
00000420: 4C 45 20 91 20 44 49 53  4B 29 00 61 08 68 01 3B  |LE . DISK).a.h.;|
00000430: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00000440: AB AB 20 20 52 45 AB 45  4E 54 52 59 20 50 4F B5  |..  RE.ENTRY PO.|
00000450: 20 81 20 50 41 53 53 20  32 20 AB AB AB AB AB AB  | . PASS 2 ......|
00000460: AB 00 9F 08 72 01 53 4D  B0 45 20 4A 53 52 20 A1  |....r.SM.E JSR .|
00000470: 53 41 3B 20 50 4F B5 20  44 49 53 4B 46 49 4C 45  |SA; PO. DISKFILE|
00000480: 20 A4 20 31 53 54 20 43  48 41 52 41 43 54 45 52  | . 1ST CHARACTER|
00000490: 20 49 4E 20 53 4F 55 52  43 45 20 43 4F 44 45 00  | IN SOURCE CODE.|
000004A0: AA 08 7C 01 4C 44 41 20  23 30 00 D6 08 86 01 53  |..|.LDA #0.....S|
000004B0: 54 41 20 80 46 4C 41 47  3B 20 53 45 54 20 4C 41  |TA .FLAG; SET LA|
000004C0: 44 53 AB 49 53 AB 4F 56  45 52 20 46 4C 41 47 20  |DS.IS.OVER FLAG |
000004D0: A4 20 44 4F 57 4E 00 03  09 90 01 4A 53 52 20 49  |. DOWN.....JSR I|
000004E0: 4E 44 49 53 4B 3B 20 A1  20 41 20 BF 47 4C 45 20  |NDISK; . A .GLE |
000004F0: 4C 49 4E 45 20 4F 46 20  53 4F 55 52 43 45 20 43  |LINE OF SOURCE C|
00000500: 4F 44 45 00 1C 09 9A 01  4C 44 41 20 50 41 53 53  |ODE.....LDA PASS|
00000510: 3B 20 8B 20 32 4E 44 20  50 41 53 53 00 55 09 A4  |; . 2ND PASS.U..|
00000520: 01 42 4E 45 20 53 54 41  52 54 4C 49 4E 45 3B 20  |.BNE STARTLINE; |
00000530: 20 20 20 20 20 20 20 20  A7 20 4A 55 4D 50 20 4F  |        . JUMP O|
00000540: 56 45 52 20 99 49 4E 47  20 4F 46 20 4C 41 44 53  |VER .ING OF LADS|
00000550: 20 4E 41 4D 45 00 72 09  AE 01 4A 53 52 20 50 52  | NAME.r...JSR PR|
00000560: 4E 54 43 52 3B 20 99 20  43 41 52 52 49 41 47 45  |NTCR; . CARRIAGE|
00000570: 20 8E 00 98 09 B8 01 4C  44 41 20 23 32 33 30 3B  | ......LDA #230;|
00000580: 20 99 20 42 4C 4F 43 4B  20 47 52 41 50 48 49 43  | . BLOCK GRAPHIC|
00000590: 53 20 53 59 4D 42 4F 4C  00 A2 09 C2 01 4A 53 52  |S SYMBOL.....JSR|
000005A0: 20 99 00 B9 09 CC 01 4C  44 41 20 23 37 36 3B 20  | ......LDA #76; |
000005B0: 20 20 20 20 20 20 20 20  4C 00 C3 09 D6 01 4A 53  |        L.....JS|
000005C0: 52 20 99 00 DA 09 E0 01  4C 44 41 20 23 36 35 3B  |R ......LDA #65;|
000005D0: 20 20 20 20 20 20 20 20  20 41 00 E4 09 EA 01 4A  |         A.....J|
000005E0: 53 52 20 99 00 FB 09 F4  01 4C 44 41 20 23 36 38  |SR ......LDA #68|
000005F0: 3B 20 20 20 20 20 20 20  20 20 44 00 05 0A FE 01  |;         D.....|
00000600: 4A 53 52 20 99 00 1C 0A  08 02 4C 44 41 20 23 38  |JSR ......LDA #8|
00000610: 33 3B 20 20 20 20 20 20  20 20 20 53 00 26 0A 12  |3;         S.&..|
00000620: 02 4A 53 52 20 99 00 47  0A 1C 02 4A 53 52 20 50  |.JSR ..G...JSR P|
00000630: 52 4E 54 43 52 3B 20 41  A8 48 45 52 20 43 41 52  |RNTCR; A.HER CAR|
00000640: 52 49 41 47 45 20 8E 00  92 0A 26 02 43 4B 48 45  |RIAGE ....&.CKHE|
00000650: 58 20 4C 44 41 20 48 45  58 46 4C 41 47 3B 20 8B  |X LDA HEXFLAG; .|
00000660: 20 53 54 41 52 54 20 41  44 44 52 45 53 53 20 4E  | START ADDRESS N|
00000670: 55 4D 42 45 52 20 49 53  20 48 45 58 2C 20 49 54  |UMBER IS HEX, IT|
00000680: 27 53 20 41 4C 87 59 20  54 52 41 4E 53 4C 41 54  |'S AL.Y TRANSLAT|
00000690: 45 44 00 A0 0A 30 02 42  4E 45 20 53 54 41 52 31  |ED...0.BNE STAR1|
000006A0: 00 DF 0A 3A 02 4C 44 41  20 23 B3 4C 41 42 45 4C  |...:.LDA #.LABEL|
000006B0: 3B 20 49 4E 20 54 48 45  20 4C 41 42 45 4C 20 42  |; IN THE LABEL B|
000006C0: 55 46 46 45 52 20 49 53  20 53 4F 4D 45 54 48 49  |UFFER IS SOMETHI|
000006D0: 4E 47 20 4C 49 4B 45 3A  20 AC B2 20 38 36 34 00  |NG LIKE: .. 864.|
000006E0: 24 0B 44 02 53 54 41 20  54 45 4D 50 3B 20 50 55  |$.D.STA TEMP; PU|
000006F0: 54 20 54 48 45 20 41 44  44 52 45 53 53 20 4F 46  |T THE ADDRESS OF|
00000700: 20 54 48 45 20 42 55 46  46 45 52 20 B5 4F 20 54  | THE BUFFER .O T|
00000710: 48 45 20 50 4F B5 45 52  20 43 41 4C 4C 45 44 20  |HE PO.ER CALLED |
00000720: 54 45 4D 50 00 34 0B 4E  02 4C 44 41 20 23 B1 4C  |TEMP.4.N.LDA #.L|
00000730: 41 42 45 4C 00 43 0B 58  02 53 54 41 20 54 45 4D  |ABEL.C.X.STA TEM|
00000740: 50 AA 31 00 81 0B 62 02  4A 53 52 20 C5 44 45 43  |P.1...b.JSR .DEC|
00000750: 3B 20 54 55 52 4E 20 C6  49 49 20 4E 55 4D 42 45  |; TURN .II NUMBE|
00000760: 52 20 B5 4F 20 41 20 54  57 4F AB 42 59 54 45 20  |R .O A TWO.BYTE |
00000770: B5 45 47 45 52 20 49 4E  20 22 52 45 53 55 4C 54  |.EGER IN "RESULT|
00000780: 22 00 CD 0B 6C 02 53 54  41 52 31 20 4C 44 41 20  |"...l.STAR1 LDA |
00000790: 52 45 53 55 4C 54 3B 20  20 20 20 AB AB 20 53 A4  |RESULT;    .. S.|
000007A0: 52 45 20 4F 42 4A 45 43  54 20 43 4F 44 45 27 53  |RE OBJECT CODE'S|
000007B0: 20 53 54 41 52 54 49 4E  47 20 41 44 44 52 45 53  | STARTING ADDRES|
000007C0: 53 20 49 4E 20 53 41 2C  54 41 20 AB AB 00 D8 0B  |S IN SA,TA .....|
000007D0: 76 02 53 54 41 20 53 41  00 E3 0B 80 02 53 54 41  |v.STA SA.....STA|
000007E0: 20 54 41 00 F4 0B 8A 02  4C 44 41 20 52 45 53 55  | TA.....LDA RESU|
000007F0: 4C 54 AA 31 00 01 0C 94  02 53 54 41 20 53 41 AA  |LT.1.....STA SA.|
00000800: 31 00 0E 0C 9E 02 53 54  41 20 54 41 AA 31 00 53  |1.....STA TA.1.S|
00000810: 0C A8 02 3B AB AB AB AB  AB AB AB AB AB AB AB AB  |...;............|
00000820: AB AB AB AB 20 20 20 45  4E 54 52 59 20 50 4F B5  |....   ENTRY PO.|
00000830: 20 81 20 45 41 43 48 20  A2 20 4C 49 4E 45 20 4F  | . EACH . LINE O|
00000840: 46 20 53 4F 55 52 43 45  20 43 4F 44 45 20 20 AB  |F SOURCE CODE  .|
00000850: AB AB AB 00 9A 0C B2 02  53 54 41 52 54 4C 49 4E  |........STARTLIN|
00000860: 45 20 4A 53 52 20 90 4B  45 59 3A 4C 44 41 20 80  |E JSR .KEY:LDA .|
00000870: 46 4C 41 47 3A 42 45 51  20 45 56 49 4E 44 3A 4A  |FLAG:BEQ EVIND:J|
00000880: 4D 50 20 46 49 4E 49 3B  20 80 20 4C 41 44 53 20  |MP FINI; . LADS |
00000890: 41 53 53 45 4D 42 4C 59  20 8B 00 D9 0C BC 02 3B  |ASSEMBLY ......;|
000008A0: 20 45 49 54 48 45 52 20  54 48 45 20 90 20 28 42  | EITHER THE . (B|
000008B0: 52 45 41 4B 29 20 4B 45  59 20 49 53 20 50 52 45  |REAK) KEY IS PRE|
000008C0: 53 53 45 44 20 B0 20 8B  20 54 48 45 20 80 46 4C  |SSED . . THE .FL|
000008D0: 41 47 20 49 53 20 55 50  2E 00 DF 0C C6 02 3B 00  |AG IS UP......;.|
000008E0: 23 0D D0 02 45 56 49 4E  44 20 4A 53 52 20 49 4E  |#...EVIND JSR IN|
000008F0: 44 49 53 4B 3B 20 4F 54  48 45 52 57 49 53 45 20  |DISK; OTHERWISE |
00000900: CB 20 A4 20 50 55 4C 4C  20 49 4E 20 41 20 4C 49  |. . PULL IN A LI|
00000910: 4E 45 20 46 52 4F 4D 20  53 4F 55 52 43 45 20 43  |NE FROM SOURCE C|
00000920: 4F 44 45 00 2E 0D DA 02  4C 44 41 20 23 30 00 79  |ODE.....LDA #0.y|
00000930: 0D E4 02 53 54 41 20 BD  52 45 53 53 46 3B 20 53  |...STA .RESSF; S|
00000940: 45 54 20 44 4F 57 4E 20  54 48 45 20 46 4C 41 47  |ET DOWN THE FLAG|
00000950: 20 54 48 41 54 20 53 49  47 4E 41 4C 53 20 41 20  | THAT SIGNALS A |
00000960: 4C 41 42 45 4C 20 41 52  47 55 4D 45 4E 54 20 4C  |LABEL ARGUMENT L|
00000970: 49 4B 45 20 4C 44 41 20  50 00 C2 0D EE 02 53 54  |IKE LDA P.....ST|
00000980: 41 20 42 55 46 4C 41 47  3B 20 53 45 54 20 44 4F  |A BUFLAG; SET DO|
00000990: 57 4E 20 54 48 45 20 46  4C 41 47 20 54 48 41 54  |WN THE FLAG THAT|
000009A0: 20 53 49 47 4E 41 4C 53  20 23 20 B0 20 28 20 44  | SIGNALS # . ( D|
000009B0: 55 52 49 4E 47 20 41 52  52 41 59 20 43 48 45 43  |URING ARRAY CHEC|
000009C0: 4B 2E 00 07 0E F8 02 4C  44 59 20 50 41 53 53 3B  |K......LDY PASS;|
000009D0: 91 20 50 41 53 53 20 31  2C 20 57 45 20 44 91 27  |. PASS 1, WE D.'|
000009E0: 54 20 99 20 4C 49 4E 45  20 4E 55 4D 42 45 52 53  |T . LINE NUMBERS|
000009F0: 2C 20 41 44 44 52 2E 20  B0 20 41 4E 59 54 48 49  |, ADDR. . ANYTHI|
00000A00: 4E 47 20 45 4C 53 45 00  15 0E 02 03 42 4E 45 20  |NG ELSE.....BNE |
00000A10: 4D B0 45 45 56 00 22 0E  0C 03 4A 4D 50 20 4D 4F  |M.EEV."...JMP MO|
00000A20: 45 34 00 68 0E 16 03 4D  B0 45 45 56 20 53 54 59  |E4.h...M.EEV STY|
00000A30: 20 4C 4F 43 46 4C 41 47  3B 20 5A 45 52 4F 20 41  | LOCFLAG; ZERO A|
00000A40: 44 44 52 45 53 53 AB 54  59 50 45 20 4C 41 42 45  |DDRESS.TYPE LABE|
00000A50: 4C 20 46 4C 41 47 20 28  4C 49 4B 45 3A 20 4C 41  |L FLAG (LIKE: LA|
00000A60: 42 45 4C 20 49 4E 59 29  00 A7 0E 20 03 3B 20 20  |BEL INY)... .;  |
00000A70: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000A80: 20 54 48 49 53 20 49 53  20 81 20 54 48 45 20 49  | THIS IS . THE I|
00000A90: 4E 4C 49 4E 45 20 53 55  42 52 4F 55 54 49 4E 45  |NLINE SUBROUTINE|
00000AA0: 20 42 45 4C 4F 57 2E 00  CF 0E 2A 03 4C 44 41 20  | BELOW....*.LDA |
00000AB0: 53 46 4C 41 47 3B 20 53  48 4F 55 4C 44 20 57 45  |SFLAG; SHOULD WE|
00000AC0: 20 99 20 A4 20 54 48 45  20 53 43 52 45 45 4E 00  | . . THE SCREEN.|
00000AD0: EF 0E 34 03 42 45 51 20  4D 58 3B 20 8B 20 A8 2C  |..4.BEQ MX; . .,|
00000AE0: 20 53 4B 49 50 20 54 48  49 53 20 50 41 52 54 00  | SKIP THIS PART.|
00000AF0: 0F 0F 3E 03 4A 53 52 20  50 52 4E 54 4C 49 4E 45  |..>.JSR PRNTLINE|
00000B00: 3B 20 99 20 4C 49 4E 45  20 4E 55 4D 42 45 52 00  |; . LINE NUMBER.|
00000B10: 2A 0F 48 03 4A 53 52 20  50 52 4E 54 53 50 41 43  |*.H.JSR PRNTSPAC|
00000B20: 45 3B 20 99 20 53 50 41  43 45 00 67 0F 52 03 4A  |E; . SPACE.g.R.J|
00000B30: 53 52 20 50 52 4E 54 53  41 3B 20 99 20 50 43 20  |SR PRNTSA; . PC |
00000B40: 28 50 52 4F 47 52 41 4D  20 43 4F 55 4E 54 45 52  |(PROGRAM COUNTER|
00000B50: 29 2E 22 53 41 22 20 49  53 20 54 48 45 20 56 41  |)."SA" IS THE VA|
00000B60: 52 49 41 42 4C 45 2E 00  79 0F 5C 03 4A 53 52 20  |RIABLE..y.\.JSR |
00000B70: 50 52 4E 54 53 50 41 43  45 00 A7 0F 66 03 4D 58  |PRNTSPACE...f.MX|
00000B80: 20 4C 44 41 20 50 4C 55  53 46 4C 41 47 3B 20 44  | LDA PLUSFLAG; D|
00000B90: 4F 20 57 45 20 48 41 56  45 20 41 20 AA 20 50 53  |O WE HAVE A . PS|
00000BA0: 45 55 44 4F 20 4F 50 00  BE 0F 70 03 42 45 51 20  |EUDO OP...p.BEQ |
00000BB0: 4D 4F 45 34 3B 20 8B 20  A8 20 53 4B 49 50 00 EF  |MOE4; . . SKIP..|
00000BC0: 0F 7A 03 4A 53 52 20 4D  41 54 48 3B 20 8B 20 53  |.z.JSR MATH; . S|
00000BD0: 4F 2C 20 48 AF 4C 45 20  49 54 20 49 4E 20 53 55  |O, H.LE IT IN SU|
00000BE0: 42 50 52 4F 47 52 41 4D  20 22 4D 41 54 48 22 00  |BPROGRAM "MATH".|
00000BF0: 34 10 84 03 4D 4F 45 34  20 4A 4D 50 20 46 49 4E  |4...MOE4 JMP FIN|
00000C00: 44 4D 4E 3B 20 4C 4F 4F  4B 20 55 50 20 4D 4E 45  |DMN; LOOK UP MNE|
00000C10: 4D 91 49 43 20 28 B0 2C  20 A8 20 46 49 4E 44 49  |M.IC (., . FINDI|
00000C20: 4E 47 20 91 45 2C 20 49  54 27 53 20 41 20 4C 41  |NG .E, IT'S A LA|
00000C30: 42 45 4C 29 00 54 10 8E  03 3B 20 AB AB AB AB AB  |BEL).T...; .....|
00000C40: AB AB AB 20 20 45 C5 55  41 54 45 20 41 52 47 55  |...  E.UATE ARGU|
00000C50: 4D 45 4E 54 00 64 10 98  03 45 56 41 52 20 4C 44  |MENT.d...EVAR LD|
00000C60: 41 20 54 50 00 91 10 A2  03 42 45 51 20 54 50 31  |A TP.....BEQ TP1|
00000C70: 4A 4D 50 3B 20 43 48 45  43 4B 20 54 59 50 45 2C  |JMP; CHECK TYPE,|
00000C80: 20 8B 20 30 2C 20 4E 4F  20 41 52 47 55 4D 45 4E  | . 0, NO ARGUMEN|
00000C90: 54 00 B9 10 AC 03 43 4D  50 20 23 33 3B 20 8B 20  |T.....CMP #3; . |
00000CA0: A8 20 54 59 50 45 20 33  2C 20 A7 20 9A 49 4E 55  |. TYPE 3, . .INU|
00000CB0: 45 20 45 C5 55 41 54 49  91 00 C5 10 B6 03 42 4E  |E E.UATI......BN|
00000CC0: 45 20 45 56 CB 00 FA 10  C0 03 4C 44 41 20 23 31  |E EV......LDA #1|
00000CD0: 3B 20 4F 54 48 45 52 57  49 53 45 2C 20 52 45 50  |; OTHERWISE, REP|
00000CE0: 4C 41 43 45 20 33 20 57  49 54 48 20 31 20 49 4E  |LACE 3 WITH 1 IN|
00000CF0: 20 54 50 20 28 54 59 50  45 29 00 05 11 CA 03 53  | TP (TYPE).....S|
00000D00: 54 41 20 54 50 00 41 11  D4 03 4C 44 41 20 4C 41  |TA TP.A...LDA LA|
00000D10: 42 45 4C AA 33 3B 20 49  53 20 54 48 45 52 45 20  |BEL.3; IS THERE |
00000D20: 53 4F 4D 45 54 48 49 4E  47 20 28 A8 20 41 20 5A  |SOMETHING (. A Z|
00000D30: 45 52 4F 29 20 49 4E 20  34 54 48 20 B9 49 54 49  |ERO) IN 4TH .ITI|
00000D40: 91 00 84 11 DE 03 42 4E  45 20 45 56 CB 3B 20 45  |......BNE EV.; E|
00000D50: 56 CB 20 B2 20 41 52 47  55 4D 45 4E 54 20 28 8B  |V. . ARGUMENT (.|
00000D60: 20 A8 2C 20 54 48 45 52  45 27 53 20 4E 4F 20 41  | ., THERE'S NO A|
00000D70: 52 47 55 4D 45 4E 54 2C  49 54 27 53 20 49 4D 50  |RGUMENT,IT'S IMP|
00000D80: 4C 49 45 44 00 B2 11 E8  03 4C 44 41 20 23 38 3B  |LIED.....LDA #8;|
00000D90: 20 4F 54 48 45 52 57 49  53 45 2C 20 52 41 49 53  | OTHERWISE, RAIS|
00000DA0: 45 20 4F 50 20 28 4F 50  43 4F 44 45 29 20 42 59  |E OP (OPCODE) BY|
00000DB0: 20 38 00 BA 11 F2 03 43  4C 43 00 C5 11 FC 03 41  | 8.....CLC.....A|
00000DC0: 44 43 20 4F 50 00 D0 11  06 04 53 54 41 20 4F 50  |DC OP.....STA OP|
00000DD0: 00 06 12 10 04 54 50 31  4A 4D 50 20 4A 4D 50 20  |.....TP1JMP JMP |
00000DE0: 54 50 31 3B 20 AF 20 4A  55 4D 50 20 A4 20 54 59  |TP1; . JUMP . TY|
00000DF0: 50 45 20 31 20 28 BF 47  4C 45 20 42 59 54 45 20  |PE 1 (.GLE BYTE |
00000E00: 54 59 50 45 53 29 00 1E  12 1A 04 3B AB AB AB AB  |TYPES).....;....|
00000E10: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB 00 5C  |...............\|
00000E20: 12 24 04 45 51 4C 41 42  45 4C 20 4C 44 41 20 50  |.$.EQLABEL LDA P|
00000E30: 41 53 53 3B 20 4D 4F 45  34 20 46 4F 55 4E 44 20  |ASS; MOE4 FOUND |
00000E40: 49 54 20 A4 20 42 45 20  41 20 4C 41 42 45 4C 2C  |IT . BE A LABEL,|
00000E50: 20 A8 20 41 20 4D 4E 45  4D 91 49 43 00 A2 12 2E  | . A MNEM.IC....|
00000E60: 04 42 45 51 20 45 51 4C  41 42 31 3B 20 91 20 50  |.BEQ EQLAB1; . P|
00000E70: 41 53 53 20 31 20 57 45  20 44 91 27 54 20 43 41  |ASS 1 WE D.'T CA|
00000E80: 52 45 20 57 48 49 43 48  20 4B 49 4E 44 20 4F 46  |RE WHICH KIND OF|
00000E90: 20 4C 41 42 45 4C 20 49  54 20 49 53 20 53 4F 20  | LABEL IT IS SO |
00000EA0: 57 45 00 DB 12 38 04 4C  44 59 20 23 32 35 35 3B  |WE...8.LDY #255;|
00000EB0: 20 CB 20 44 4F 57 4E 20  AF 20 53 A4 52 45 20 49  | . DOWN . S.RE I|
00000EC0: 54 20 49 4E 20 54 48 45  20 41 52 52 41 59 20 28  |T IN THE ARRAY (|
00000ED0: 56 49 41 20 45 51 4C 41  42 31 29 00 21 13 42 04  |VIA EQLAB1).!.B.|
00000EE0: 45 56 58 31 20 49 4E 59  3B 20 42 55 54 20 91 20  |EVX1 INY; BUT . |
00000EF0: 50 41 53 53 20 32 2C 20  57 45 20 4E 45 45 44 20  |PASS 2, WE NEED |
00000F00: A4 20 44 45 43 49 44 45  20 8B 20 49 54 27 53 20  |. DECIDE . IT'S |
00000F10: 41 20 50 43 20 41 44 44  52 45 53 53 20 54 59 50  |A PC ADDRESS TYP|
00000F20: 45 00 68 13 4C 04 4C 44  41 20 4C 41 42 45 4C 2C  |E.h.L.LDA LABEL,|
00000F30: 59 3B 20 4C 41 42 45 4C  20 28 4C 49 4B 45 3A 20  |Y; LABEL (LIKE: |
00000F40: 4C 41 42 45 4C 20 49 4E  59 29 20 B0 20 41 4E 20  |LABEL INY) . AN |
00000F50: 45 51 55 41 54 45 20 54  59 50 45 20 28 4C 41 42  |EQUATE TYPE (LAB|
00000F60: 45 4C 20 B2 20 31 35 29  00 AA 13 56 04 42 45 51  |EL . 15)...V.BEQ|
00000F70: 20 CB 4E 4F 41 52 3B 20  53 4F 20 49 4E 20 54 48  | .NOAR; SO IN TH|
00000F80: 49 53 20 4C 4F 4F 50 20  57 45 20 4C 4F 4F 4B 20  |IS LOOP WE LOOK |
00000F90: 81 20 41 20 42 4C 41 4E  4B 20 57 48 49 4C 45 20  |. A BLANK WHILE |
00000FA0: 53 A4 52 49 4E 47 20 54  48 45 00 EF 13 60 04 53  |S.RING THE...`.S|
00000FB0: 54 41 20 46 49 C3 2C 59  3B 20 4C 41 42 45 4C 20  |TA FI.,Y; LABEL |
00000FC0: 4E 41 4D 45 20 49 4E 20  54 48 45 20 22 46 49 4C  |NAME IN THE "FIL|
00000FD0: 45 4E 22 20 42 55 46 46  45 52 2E 20 8B 20 57 45  |EN" BUFFER. . WE|
00000FE0: 20 46 49 4E 44 20 41 20  30 2C 20 49 54 27 53 00  | FIND A 0, IT'S.|
00000FF0: 31 14 6A 04 43 4D 50 20  23 33 32 3B 20 41 20 4E  |1.j.CMP #32; A N|
00001000: 41 4B 45 44 20 4C 41 42  45 4C 20 28 4E 4F 20 41  |AKED LABEL (NO A|
00001010: 52 47 55 4D 45 4E 54 20  A4 20 49 54 29 20 57 48  |RGUMENT . IT) WH|
00001020: 49 43 48 20 43 41 55 53  45 53 20 55 53 20 A4 20  |ICH CAUSES US . |
00001030: 99 00 7E 14 74 04 42 4E  45 20 45 56 58 31 3B 4F  |..~.t.BNE EVX1;O|
00001040: 55 54 20 54 48 41 54 20  45 52 52 B0 20 4D 45 53  |UT THAT ERR. MES|
00001050: 53 41 47 45 20 28 41 54  20 4E 4F 41 52 2C 20 49  |SAGE (AT NOAR, I|
00001060: 4E 20 45 51 55 41 54 45  29 2E 4F 54 48 45 52 57  |N EQUATE).OTHERW|
00001070: 49 53 45 2C 20 57 45 20  46 49 4E 44 20 41 00 A9  |ISE, WE FIND A..|
00001080: 14 7E 04 49 4E 59 3B 20  42 4C 41 4E 4B 20 AF 20  |.~.INY; BLANK . |
00001090: 46 41 4C 4C 20 54 48 52  4F 55 47 48 20 A4 20 54  |FALL THROUGH . T|
000010A0: 48 49 53 20 4C 49 4E 45  2E 00 DF 14 88 04 4C 44  |HIS LINE......LD|
000010B0: 41 20 4C 41 42 45 4C 2C  59 3B 20 57 45 20 52 41  |A LABEL,Y; WE RA|
000010C0: 49 53 45 20 59 20 42 59  20 31 20 AF 20 43 48 45  |ISE Y BY 1 . CHE|
000010D0: 43 4B 20 81 20 41 4E 20  B2 20 53 49 47 4E 2E 00  |CK . AN . SIGN..|
000010E0: EC 14 92 04 43 4D 50 20  23 24 33 44 00 26 15 9C  |....CMP #$3D.&..|
000010F0: 04 42 4E 45 20 A8 45 51  3B 20 8B 20 A8 2C 20 49  |.BNE .EQ; . ., I|
00001100: 54 27 53 20 41 20 50 43  20 41 44 44 52 45 53 53  |T'S A PC ADDRESS|
00001110: 20 54 59 50 45 20 28 53  4F 20 53 45 54 20 4C 4F  | TYPE (SO SET LO|
00001120: 43 46 4C 41 47 29 00 68  15 A6 04 4A 4D 50 20 49  |CFLAG).h...JMP I|
00001130: 4E 4C 49 4E 45 3B 20 8B  20 53 4F 2C 57 41 53 20  |NLINE; . SO,WAS |
00001140: B2 20 54 59 50 45 20 53  4F 20 49 47 4E B0 45 20  |. TYPE SO IGN.E |
00001150: 49 54 20 28 91 20 50 41  53 53 20 32 29 20 AB AB  |IT (. PASS 2) ..|
00001160: AB AB AB AB AB AB AB AB  00 77 15 B0 04 A8 45 51  |.........w....EQ|
00001170: 20 4C 44 58 20 23 30 00  B9 15 BA 04 53 54 58 20  | LDX #0.....STX |
00001180: 4C 4F 43 46 4C 41 47 3B  28 53 48 4F 57 53 20 99  |LOCFLAG;(SHOWS .|
00001190: 4F 55 54 20 A4 20 44 4F  20 54 48 49 53 20 54 59  |OUT . DO THIS TY|
000011A0: 50 45 20 4F 46 20 4C 41  42 45 4C 20 91 20 53 43  |PE OF LABEL . SC|
000011B0: 52 45 45 4E AD 99 45 52  29 00 FC 15 C4 04 54 58  |REEN..ER).....TX|
000011C0: 41 3B 20 50 55 54 20 41  20 5A 45 52 4F 20 49 4E  |A; PUT A ZERO IN|
000011D0: 20 41 54 20 54 48 45 20  80 20 4F 46 20 54 48 45  | AT THE . OF THE|
000011E0: 20 4C 41 42 45 4C 20 4E  41 4D 45 20 28 41 53 20  | LABEL NAME (AS |
000011F0: 41 20 44 45 4C 49 4D 49  54 45 52 29 00 3E 16 CE  |A DELIMITER).>..|
00001200: 04 53 54 41 20 46 49 C3  2C 59 3B 20 4E 4F 57 20  |.STA FI.,Y; NOW |
00001210: 57 45 20 48 41 56 45 20  A4 20 4D 4F 56 45 20 54  |WE HAVE . MOVE T|
00001220: 48 45 20 41 52 47 55 4D  45 4E 54 20 50 B0 54 49  |HE ARGUMENT P.TI|
00001230: 91 20 4F 46 20 54 48 49  53 20 4C 49 4E 45 00 85  |. OF THIS LINE..|
00001240: 16 D8 04 45 56 58 35 20  4C 44 41 20 4C 41 42 45  |...EVX5 LDA LABE|
00001250: 4C 2C 59 3B 20 4F 56 45  52 20 A4 20 54 48 45 20  |L,Y; OVER . THE |
00001260: 53 54 41 52 54 20 4F 46  20 54 48 45 20 22 4C 41  |START OF THE "LA|
00001270: 42 45 4C 22 20 42 55 46  46 45 52 20 81 20 46 55  |BEL" BUFFER . FU|
00001280: 52 54 48 45 52 00 AF 16  E2 04 42 45 51 20 45 56  |RTHER.....BEQ EV|
00001290: 58 34 3B 20 41 4E 41 4C  59 53 49 53 20 28 30 20  |X4; ANALYSIS (0 |
000012A0: 44 45 4C 49 4D 49 54 45  52 20 48 45 52 45 29 00  |DELIMITER HERE).|
000012B0: F3 16 EC 04 53 54 41 20  4C 41 42 45 4C 2C 58 3B  |....STA LABEL,X;|
000012C0: 20 57 45 20 43 41 4E 20  49 47 4E B0 45 20 54 48  | WE CAN IGN.E TH|
000012D0: 45 20 50 43 20 4C 41 42  45 4C 20 28 54 48 49 53  |E PC LABEL (THIS|
000012E0: 20 49 53 20 50 41 53 53  20 32 29 2C 20 42 55 54  | IS PASS 2), BUT|
000012F0: 20 57 45 00 35 17 F6 04  49 4E 58 3B 20 4E 45 45  | WE.5...INX; NEE|
00001300: 44 20 A4 20 45 C5 55 41  54 45 20 54 48 45 20 52  |D . E.UATE THE R|
00001310: 45 53 54 20 4F 46 20 54  48 45 20 4C 49 4E 45 20  |EST OF THE LINE |
00001320: 46 4F 4C 4C 4F 57 49 4E  47 20 54 48 41 54 20 4C  |FOLLOWING THAT L|
00001330: 41 42 45 4C 2E 00 3D 17  00 05 49 4E 59 00 5E 17  |ABEL..=...INY.^.|
00001340: 0A 05 4A 4D 50 20 45 56  58 35 3B AB AB AB AB AB  |..JMP EVX5;.....|
00001350: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB 00 73  |...............s|
00001360: 17 14 05 45 56 58 34 20  53 54 41 20 4C 41 42 45  |...EVX4 STA LABE|
00001370: 4C 2C 58 00 96 17 1E 05  4A 4D 50 20 4D 4F 45 34  |L,X.....JMP MOE4|
00001380: 3B 20 4A 55 4D 50 20 A4  20 9A 49 4E 55 45 20 45  |; JUMP . .INUE E|
00001390: C5 55 41 54 49 91 00 DB  17 28 05 CB 4E 4F 41 52  |.UATI....(..NOAR|
000013A0: 20 4A 53 52 20 4E 4F 41  52 3B 20 99 20 4E 4F 20  | JSR NOAR; . NO |
000013B0: 41 52 47 55 4D 45 4E 54  20 4D 45 53 53 41 47 45  |ARGUMENT MESSAGE|
000013C0: 20 28 41 20 53 50 52 49  4E 47 42 4F 41 52 44 29  | (A SPRINGBOARD)|
000013D0: 3B AB AB AB AB AB AB AB  AB AB AB 00 1D 18 32 05  |;.............2.|
000013E0: 45 51 4C 41 42 31 20 4A  53 52 20 45 51 55 41 54  |EQLAB1 JSR EQUAT|
000013F0: 45 3B 20 50 55 54 20 4C  41 42 45 4C 20 AF 20 49  |E; PUT LABEL . I|
00001400: 54 27 53 20 C5 55 45 20  B5 4F 20 54 48 45 20 41  |T'S .UE .O THE A|
00001410: 52 52 41 59 20 28 50 41  53 53 20 31 29 00 39 18  |RRAY (PASS 1).9.|
00001420: 3C 05 4A 4D 50 20 4D 4F  45 34 3B 20 9A 49 4E 55  |<.JMP MOE4; .INU|
00001430: 45 20 45 C5 55 41 54 49  91 00 76 18 46 05 3B AB  |E E.UATI..v.F.;.|
00001440: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00001450: AB 20 54 52 41 4E 53 4C  41 54 45 20 41 52 47 55  |. TRANSLATE ARGU|
00001460: 4D 45 4E 54 20 4C 41 42  45 4C 53 20 B5 4F 20 4E  |MENT LABELS .O N|
00001470: 55 4D 42 45 52 53 00 B5  18 50 05 45 56 45 58 4C  |UMBERS...P.EVEXL|
00001480: 41 42 20 4C 44 41 20 42  55 46 46 45 52 3B 20 49  |AB LDA BUFFER; I|
00001490: 53 20 54 48 49 53 20 31  53 54 20 43 48 41 52 41  |S THIS 1ST CHARA|
000014A0: 43 54 45 52 20 41 4C 50  48 41 42 45 54 49 43 20  |CTER ALPHABETIC |
000014B0: 28 B1 36 34 29 00 C1 18  5A 05 43 4D 50 20 23 36  |(.64)...Z.CMP #6|
000014C0: 34 00 EC 18 64 05 42 43  53 20 45 56 45 31 3B 20  |4...d.BCS EVE1; |
000014D0: 8B 20 53 4F 2C 20 CB 20  44 4F 57 4E 20 A4 20 46  |. SO, . DOWN . F|
000014E0: 49 4E 44 20 49 54 53 20  C5 55 45 2E 00 24 19 6E  |IND ITS .UE..$.n|
000014F0: 05 4C 44 41 20 42 55 46  46 45 52 AA 31 3B 20 8B  |.LDA BUFFER.1; .|
00001500: 20 A8 2C 20 49 54 20 4D  55 53 54 20 48 41 56 45  | ., IT MUST HAVE|
00001510: 20 42 45 45 4E 20 41 20  28 20 B0 20 23 20 53 59  | BEEN A ( . # SY|
00001520: 4D 42 4F 4C 00 67 19 78  05 49 4E 43 20 42 55 46  |MBOL.g.x.INC BUF|
00001530: 4C 41 47 3B 20 A4 20 54  45 4C 4C 20 41 52 52 41  |LAG; . TELL ARRA|
00001540: 59 20 54 48 41 54 20 28  20 B0 20 23 20 57 41 53  |Y THAT ( . # WAS|
00001550: 20 46 4F 55 4E 44 20 28  AF 20 A4 20 49 47 4E B0  | FOUND (. . IGN.|
00001560: 45 20 54 48 45 4D 29 00  B0 19 82 05 45 56 45 31  |E THEM).....EVE1|
00001570: 20 45 B0 20 23 24 38 30  3B 20 53 45 54 20 37 54  | E. #$80; SET 7T|
00001580: 48 20 42 49 54 20 49 4E  20 31 53 54 20 43 48 41  |H BIT IN 1ST CHA|
00001590: 52 2E 20 28 A4 20 4D 41  54 43 48 20 41 52 52 41  |R. (. MATCH ARRA|
000015A0: 59 20 53 A4 52 41 47 45  20 4D 45 54 48 4F 44 29  |Y S.RAGE METHOD)|
000015B0: 00 EC 19 8C 05 53 54 41  20 57 B0 4B 3B 20 94 20  |.....STA W.K; . |
000015C0: 49 54 20 48 45 52 45 20  54 45 4D 50 B0 41 52 49  |IT HERE TEMP.ARI|
000015D0: 4C 59 20 A4 20 43 4F 4D  50 41 52 45 20 57 49 54  |LY . COMPARE WIT|
000015E0: 48 20 41 52 52 41 59 20  57 B0 44 53 00 20 1A 96  |H ARRAY W.DS. ..|
000015F0: 05 4A 53 52 20 41 52 52  41 59 3B 20 20 45 C5 2E  |.JSR ARRAY;  E..|
00001600: 20 BD 52 45 53 53 49 91  20 4C 41 42 45 4C 2C 20  | .RESSI. LABEL, |
00001610: 53 48 8B 54 45 44 20 31  53 54 20 43 48 41 52 2E  |SH.TED 1ST CHAR.|
00001620: 00 60 1A A0 05 4A 4D 50  20 4C 33 34 30 3B 20 A7  |.`...JMP L340; .|
00001630: 20 9A 49 4E 55 45 20 91  20 57 49 54 48 20 45 C5  | .INUE . WITH E.|
00001640: 55 41 54 49 91 20 28 41  46 54 45 52 20 C5 55 45  |UATI. (AFTER .UE|
00001650: 20 49 53 20 49 4E 20 22  52 45 53 55 4C 54 22 29  | IS IN "RESULT")|
00001660: 00 93 1A AA 05 3B AB AB  AB AB AB AB AB AB AB AB  |.....;..........|
00001670: AB AB AB AB AB 20 49 53  20 41 52 47 55 4D 45 4E  |..... IS ARGUMEN|
00001680: 54 20 4E 55 4D 45 52 49  43 20 B0 20 41 20 4C 41  |T NUMERIC . A LA|
00001690: 42 45 4C 00 A2 1A B4 05  45 56 CB 20 4C 44 59 20  |BEL.....EV. LDY |
000016A0: 23 30 00 D3 1A BE 05 53  54 59 20 BD 52 45 53 53  |#0.....STY .RESS|
000016B0: 46 3B 20 54 55 52 4E 20  4F 46 46 20 54 48 45 20  |F; TURN OFF THE |
000016C0: 22 49 54 27 53 20 41 20  4C 41 42 45 4C 22 20 46  |"IT'S A LABEL" F|
000016D0: 4C 41 47 00 1A 1B C0 05  3B AB AB AB AB AB AB AB  |LAG.....;.......|
000016E0: AB AB AB AB AB AB AB AB  AB AB AB AB 20 53 45 45  |............ SEE|
000016F0: 20 43 48 41 50 54 45 52  20 31 31 20 81 20 44 45  | CHAPTER 11 . DE|
00001700: 53 43 52 49 50 54 49 91  20 4F 46 20 54 48 49 53  |SCRIPTI. OF THIS|
00001710: 20 45 52 52 B0 20 54 52  41 50 00 5C 1B C1 05 3B  | ERR. TRAP.\...;|
00001720: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001730: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001740: 28 54 52 41 50 20 81 20  4E 41 4B 45 44 20 4D 4E  |(TRAP . NAKED MN|
00001750: 45 4D 91 49 43 53 20 45  52 52 B0 29 00 A1 1B C2  |EM.ICS ERR.)....|
00001760: 05 4C 44 41 20 4C 41 42  45 4C AA 33 3A 43 4D 50  |.LDA LABEL.3:CMP|
00001770: 20 23 33 32 3A 42 45 51  20 47 56 45 47 3A 4A 4D  | #32:BEQ GVEG:JM|
00001780: 50 20 4C 37 30 30 3B 20  28 54 45 53 54 20 81 20  |P L700; (TEST . |
00001790: 22 49 4E 43 3A 22 20 54  59 50 45 20 45 52 52 B0  |"INC:" TYPE ERR.|
000017A0: 29 00 ED 1B C8 05 47 56  45 47 20 4C 44 41 20 4C  |).....GVEG LDA L|
000017B0: 41 42 45 4C AA 34 2C 59  3B 20 43 48 45 43 4B 20  |ABEL.4,Y; CHECK |
000017C0: 35 54 48 20 43 48 41 52  2E 20 28 4C 44 41 20 4E  |5TH CHAR. (LDA N|
000017D0: 41 4D 45 20 B0 20 4C 44  41 20 32 35 29 20 28 54  |AME . LDA 25) (T|
000017E0: 48 45 20 22 4E 22 20 B0  20 22 32 22 29 00 25 1C  |HE "N" . "2").%.|
000017F0: D2 05 43 4D 50 20 23 36  35 3B 20 8B 20 4C 45 53  |..CMP #65; . LES|
00001800: 53 20 54 48 41 4E 20 36  35 20 28 C6 49 49 20 81  |S THAN 65 (.II .|
00001810: 20 22 41 22 29 20 A7 20  49 54 27 53 20 41 20 4E  | "A") . IT'S A N|
00001820: 55 4D 42 45 52 00 34 1C  DC 05 42 43 43 20 45 56  |UMBER.4...BCC EV|
00001830: 4D 4F 32 41 00 74 1C E6  05 49 4E 43 20 BD 52 45  |MO2A.t...INC .RE|
00001840: 53 53 46 3B 20 B1 36 35  20 B2 20 41 4C 50 48 41  |SSF; .65 . ALPHA|
00001850: 42 45 54 49 43 20 41 52  47 20 28 4C 41 42 45 4C  |BETIC ARG (LABEL|
00001860: 29 20 53 4F 20 52 41 49  53 45 20 54 48 49 53 20  |) SO RAISE THIS |
00001870: 46 4C 41 47 00 BB 1C F0  05 45 56 4D 4F 32 41 20  |FLAG.....EVMO2A |
00001880: 53 54 41 20 42 55 46 46  45 52 2C 59 3B 20 53 A4  |STA BUFFER,Y; S.|
00001890: 52 45 20 31 53 54 20 43  48 41 52 2E 20 4F 46 20  |RE 1ST CHAR. OF |
000018A0: 41 52 47 55 4D 45 4E 54  20 49 4E 20 22 42 55 46  |ARGUMENT IN "BUF|
000018B0: 46 45 52 22 20 42 55 46  46 45 52 00 C3 1C FA 05  |FER" BUFFER.....|
000018C0: 49 4E 59 00 F8 1C 04 06  4C 44 41 20 4C 41 42 45  |INY.....LDA LABE|
000018D0: 4C AA 34 2C 59 3B 20 4C  4F 4F 4B 20 41 54 20 32  |L.4,Y; LOOK AT 2|
000018E0: 4E 44 20 43 48 41 52 2E  20 49 4E 20 54 48 45 20  |ND CHAR. IN THE |
000018F0: 41 52 47 55 4D 45 4E 54  00 28 1D 0E 06 42 45 51  |ARGUMENT.(...BEQ|
00001900: 20 45 56 4D 4F 33 3B 20  8B 20 5A 45 52 4F 2C 20  | EVMO3; . ZERO, |
00001910: 57 45 27 52 45 20 41 54  20 54 48 45 20 80 20 53  |WE'RE AT THE . S|
00001920: 4F 20 4D 4F 56 45 20 91  00 54 1D 18 06 53 54 41  |O MOVE ..T...STA|
00001930: 20 42 55 46 46 45 52 2C  59 3B 20 4F 54 48 45 52  | BUFFER,Y; OTHER|
00001940: 57 49 53 45 2C 20 53 A4  52 45 20 32 4E 44 20 43  |WISE, S.RE 2ND C|
00001950: 48 41 52 2E 00 91 1D 22  06 43 4D 50 20 23 36 35  |HAR....".CMP #65|
00001960: 3B 20 8B 20 4C 4F 57 45  52 20 54 48 41 4E 20 36  |; . LOWER THAN 6|
00001970: 35 2C 20 44 91 27 54 20  52 41 49 53 45 20 4C 41  |5, D.'T RAISE LA|
00001980: 42 45 4C AB 41 52 47 55  4D 45 4E 54 20 46 4C 41  |BEL.ARGUMENT FLA|
00001990: 47 00 9F 1D 2C 06 42 43  43 20 45 56 4D 4F 32 00  |G...,.BCC EVMO2.|
000019A0: C5 1D 36 06 49 4E 43 20  BD 52 45 53 53 46 3B 20  |..6.INC .RESSF; |
000019B0: 8B 20 48 49 47 48 45 52  2C 20 44 4F 20 52 41 49  |. HIGHER, DO RAI|
000019C0: 53 45 20 49 54 00 03 1E  40 06 45 56 4D 4F 32 20  |SE IT...@.EVMO2 |
000019D0: 49 4E 59 3B 20 4E 4F 57  20 4D 4F 56 45 20 52 45  |INY; NOW MOVE RE|
000019E0: 53 54 20 4F 46 20 41 52  47 55 4D 45 4E 54 20 55  |ST OF ARGUMENT U|
000019F0: 50 20 A4 20 22 42 55 46  46 45 52 22 20 42 55 46  |P . "BUFFER" BUF|
00001A00: 46 45 52 00 3D 1E 4A 06  4C 44 41 20 4C 41 42 45  |FER.=.J.LDA LABE|
00001A10: 4C AA 34 2C 59 3B 20 4C  4F 4F 50 20 A4 20 4D 4F  |L.4,Y; LOOP . MO|
00001A20: 56 45 20 54 48 45 20 41  52 47 55 4D 45 4E 54 20  |VE THE ARGUMENT |
00001A30: B5 4F 20 54 48 45 20 42  55 46 46 45 52 00 7C 1E  |.O THE BUFFER.|.|
00001A40: 54 06 42 45 51 20 45 56  4D 4F 33 3B 20 45 56 4D  |T.BEQ EVMO3; EVM|
00001A50: 4F 33 20 54 41 4B 45 53  20 4F 56 45 52 20 41 46  |O3 TAKES OVER AF|
00001A60: 54 45 52 20 80 20 4F 46  20 41 52 47 55 4D 45 4E  |TER . OF ARGUMEN|
00001A70: 54 20 49 53 20 52 45 41  43 48 45 44 00 8D 1E 5E  |T IS REACHED...^|
00001A80: 06 53 54 41 20 42 55 46  46 45 52 2C 59 00 B9 1E  |.STA BUFFER,Y...|
00001A90: 68 06 4A 4D 50 20 45 56  4D 4F 32 3B 20 8E 20 81  |h.JMP EVMO2; . .|
00001AA0: 20 4D B0 45 20 41 52 47  55 4D 45 4E 54 20 43 48  | M.E ARGUMENT CH|
00001AB0: 41 52 41 43 54 45 52 53  2E 00 CE 1E 72 06 3B AB  |ARACTERS....r.;.|
00001AC0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB 00 DC  |................|
00001AD0: 1E 7C 06 45 56 4D 4F 33  20 44 45 59 00 15 1F 86  |.|.EVMO3 DEY....|
00001AE0: 06 53 54 59 20 41 52 47  53 49 5A 45 3B 20 8F 45  |.STY ARGSIZE; .E|
00001AF0: 4D 42 45 52 20 4E 55 4D  42 45 52 20 4F 46 20 43  |MBER NUMBER OF C|
00001B00: 48 41 52 41 43 54 45 52  53 20 49 4E 20 41 52 47  |HARACTERS IN ARG|
00001B10: 55 4D 45 4E 54 00 5C 1F  90 06 4C 44 41 20 48 45  |UMENT.\...LDA HE|
00001B20: 58 46 4C 41 47 3B 20 8B  20 49 54 27 53 20 48 45  |XFLAG; . IT'S HE|
00001B30: 58 2C 20 49 4E 44 49 53  4B 20 53 55 42 50 52 4F  |X, INDISK SUBPRO|
00001B40: 47 52 41 4D 20 41 4C 87  59 20 54 52 41 4E 53 4C  |GRAM AL.Y TRANSL|
00001B50: 41 54 45 44 20 49 54 20  81 20 55 53 00 88 1F 9A  |ATED IT . US....|
00001B60: 06 42 4E 45 20 4C 33 34  30 3B 20 53 4F 20 CB 20  |.BNE L340; SO . |
00001B70: 91 20 A4 20 45 C5 55 41  54 45 20 41 44 44 52 45  |. . E.UATE ADDRE|
00001B80: 53 53 20 4D 4F 44 45 2E  00 C6 1F A4 06 4C 44 41  |SS MODE......LDA|
00001B90: 20 BD 52 45 53 53 46 3B  20 8B 20 49 54 27 53 20  | .RESSF; . IT'S |
00001BA0: 41 20 4C 41 42 45 4C 20  28 A8 20 41 20 4E 55 4D  |A LABEL (. A NUM|
00001BB0: 42 45 52 29 20 A7 20 CB  20 A4 20 54 48 45 20 52  |BER) . . . THE R|
00001BC0: 4F 55 54 49 4E 45 00 0A  20 AE 06 42 4E 45 20 45  |OUTINE.. ..BNE E|
00001BD0: 56 45 58 4C 41 42 3B 20  57 48 49 43 48 20 45 C5  |VEXLAB; WHICH E.|
00001BE0: 55 41 54 45 53 20 BD 52  45 53 53 49 91 20 28 41  |UATES .RESSI. (A|
00001BF0: 52 47 55 4D 45 4E 54 29  20 4C 41 42 45 4C 53 2C  |RGUMENT) LABELS,|
00001C00: 20 22 45 56 45 58 4C 41  42 22 00 4F 20 B8 06 3B  | "EVEXLAB".O ..;|
00001C10: 20 AB AB AB AB AB AB AB  AB AB AB 20 20 43 41 4C  | ..........  CAL|
00001C20: 43 55 4C 41 54 45 20 41  52 47 55 4D 45 4E 54 27  |CULATE ARGUMENT'|
00001C30: 53 20 C5 55 45 20 28 8B  20 49 54 27 53 20 41 20  |S .UE (. IT'S A |
00001C40: 44 45 43 49 4D 41 4C 20  4E 55 4D 42 45 52 29 00  |DECIMAL NUMBER).|
00001C50: 82 20 C2 06 4C 44 41 20  23 B3 42 55 46 46 45 52  |. ..LDA #.BUFFER|
00001C60: 3B 20 4D 41 4B 45 20 22  54 45 4D 50 22 20 50 4F  |; MAKE "TEMP" PO|
00001C70: B5 45 52 20 50 4F B5 20  A4 20 22 42 55 46 46 45  |.ER PO. . "BUFFE|
00001C80: 52 22 00 8F 20 CC 06 53  54 41 20 54 45 4D 50 00  |R".. ..STA TEMP.|
00001C90: A0 20 D6 06 4C 44 41 20  23 B1 42 55 46 46 45 52  |. ..LDA #.BUFFER|
00001CA0: 00 AF 20 E0 06 53 54 41  20 54 45 4D 50 AA 31 00  |.. ..STA TEMP.1.|
00001CB0: BA 20 EA 06 4C 44 59 20  23 30 00 02 21 F4 06 4C  |. ..LDY #0..!..L|
00001CC0: 44 41 20 42 55 46 46 45  52 3B 20 49 53 20 31 53  |DA BUFFER; IS 1S|
00001CD0: 54 20 43 48 41 52 41 43  54 45 52 20 48 49 47 48  |T CHARACTER HIGH|
00001CE0: 45 52 20 54 48 41 4E 20  34 38 20 28 C6 49 49 20  |ER THAN 48 (.II |
00001CF0: 81 20 54 48 45 20 4E 55  4D 42 45 52 20 5A 45 52  |. THE NUMBER ZER|
00001D00: 4F 29 00 0E 21 FE 06 43  4D 50 20 23 34 38 00 31  |O)..!..CMP #48.1|
00001D10: 21 08 07 42 43 53 20 4D  43 41 4C 3B 20 8B 20 53  |!..BCS MCAL; . S|
00001D20: 4F 2C 20 53 4B 49 50 20  54 48 49 53 20 50 41 52  |O, SKIP THIS PAR|
00001D30: 54 00 72 21 12 07 43 4C  43 3B 20 8B 20 A8 2C 20  |T.r!..CLC; . ., |
00001D40: 54 48 45 20 31 53 54 20  43 48 41 52 41 43 54 45  |THE 1ST CHARACTE|
00001D50: 52 20 4D 55 53 54 20 42  45 20 23 20 B0 20 28 20  |R MUST BE # . ( |
00001D60: 2E 2E 2E 2E 2E 20 53 4F  20 57 45 20 4E 45 45 44  |..... SO WE NEED|
00001D70: 20 A4 00 B1 21 1C 07 49  4E 43 20 54 45 4D 50 3B  | ...!..INC TEMP;|
00001D80: 20 4D 41 4B 45 20 22 54  45 4D 50 22 20 50 4F B5  | MAKE "TEMP" PO.|
00001D90: 20 31 20 43 48 41 52 41  43 54 45 52 20 48 49 47  | 1 CHARACTER HIG|
00001DA0: 48 45 52 20 49 4E 20 22  42 55 46 46 45 52 22 20  |HER IN "BUFFER" |
00001DB0: A4 00 F6 21 26 07 42 43  43 20 4D 43 41 4C 3B 20  |...!&.BCC MCAL; |
00001DC0: 41 56 4F 49 44 20 48 41  56 49 4E 47 20 54 48 45  |AVOID HAVING THE|
00001DD0: 20 C6 49 49 20 A4 20 B5  45 47 45 52 20 53 55 42  | .II . .EGER SUB|
00001DE0: 52 4F 55 54 49 4E 45 20  54 48 49 4E 4B 20 54 48  |ROUTINE THINK TH|
00001DF0: 41 54 20 54 48 45 00 40  22 30 07 49 4E 43 20 54  |AT THE.@"0.INC T|
00001E00: 45 4D 50 AA 31 3B 20 4E  55 4D 42 45 52 20 53 54  |EMP.1; NUMBER ST|
00001E10: 41 52 54 53 20 57 49 54  48 20 41 20 23 20 B0 20  |ARTS WITH A # . |
00001E20: 28 20 AB AB AB 20 54 48  41 54 20 57 4F 55 4C 44  |( ... THAT WOULD|
00001E30: 20 4D 45 53 53 20 54 48  49 4E 47 53 20 55 50 2E  | MESS THINGS UP.|
00001E40: 00 84 22 3A 07 4D 43 41  4C 20 4C 44 41 20 28 54  |..":.MCAL LDA (T|
00001E50: 45 4D 50 29 2C 59 3B 20  4E 4F 57 20 4C 4F 4F 4B  |EMP),Y; NOW LOOK|
00001E60: 20 81 20 54 48 45 20 80  20 4F 46 20 54 48 45 20  | . THE . OF THE |
00001E70: 4E 55 4D 42 45 52 3A 20  20 AB AB AB AB AB AB AB  |NUMBER:  .......|
00001E80: AB AB AB AB 00 B5 22 44  07 42 45 51 20 4D 43 41  |......"D.BEQ MCA|
00001E90: 4C 31 3B 20 49 54 20 43  4F 55 4C 44 20 80 20 57  |L1; IT COULD . W|
00001EA0: 49 54 48 20 41 20 30 20  28 44 45 4C 49 4D 49 54  |ITH A 0 (DELIMIT|
00001EB0: 45 52 29 20 B0 00 DE 22  4E 07 43 4D 50 20 23 34  |ER) ..."N.CMP #4|
00001EC0: 31 3B 20 57 49 54 48 20  41 20 29 20 4C 45 46 54  |1; WITH A ) LEFT|
00001ED0: 20 50 41 52 45 4E 54 48  45 53 49 53 20 B0 00 EC  | PARENTHESIS ...|
00001EE0: 22 58 07 42 45 51 20 4D  43 41 4C 31 00 18 23 62  |"X.BEQ MCAL1..#b|
00001EF0: 07 43 4D 50 20 23 34 34  3B 20 57 49 54 48 20 41  |.CMP #44; WITH A|
00001F00: 20 2C 20 43 4F 4D 4D 41  20 28 41 53 20 49 4E 3A  | , COMMA (AS IN:|
00001F10: 20 31 35 2C 59 29 20 B0  00 26 23 6C 07 42 45 51  | 15,Y) ..&#l.BEQ|
00001F20: 20 4D 43 41 4C 31 00 5B  23 76 07 43 4D 50 20 23  | MCAL1.[#v.CMP #|
00001F30: 33 32 3B 20 57 49 54 48  20 42 4C 41 4E 4B 20 53  |32; WITH BLANK S|
00001F40: 50 41 43 45 20 28 41 53  20 49 4E 3A 20 23 31 35  |PACE (AS IN: #15|
00001F50: 20 20 3B 43 4F 4D 4D 45  4E 54 29 00 69 23 80 07  |  ;COMMENT).i#..|
00001F60: 42 45 51 20 4D 43 41 4C  31 00 AA 23 8A 07 49 4E  |BEQ MCAL1..#..IN|
00001F70: 59 3B 20 8B 20 57 45 27  56 45 20 A8 20 59 45 54  |Y; . WE'VE . YET|
00001F80: 20 46 4F 55 4E 44 20 91  45 20 4F 46 20 54 48 45  | FOUND .E OF THE|
00001F90: 53 45 20 34 20 54 48 49  4E 47 53 2C 20 9A 49 4E  |SE 4 THINGS, .IN|
00001FA0: 55 45 20 4C 4F 4F 4B 49  4E 47 00 D4 23 94 07 4A  |UE LOOKING..#..J|
00001FB0: 4D 50 20 4D 43 41 4C 3B  AB AB AB AB AB AB AB AB  |MP MCAL;........|
00001FC0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00001FD0: AB AB AB AB 00 F0 23 9E  07 4D 43 41 4C 31 20 50  |......#..MCAL1 P|
00001FE0: 48 41 3B 20 94 20 41 43  43 55 4D 55 4C 41 A4 52  |HA; . ACCUMULA.R|
00001FF0: 00 F8 23 A8 07 54 59 41  00 40 24 B2 07 50 48 41  |..#..TYA.@$..PHA|
00002000: 3B 94 20 59 20 52 45 47  49 53 54 45 52 28 42 59  |;. Y REGISTER(BY|
00002010: 20 4E 4F 57 2C 20 59 20  49 53 20 50 4F B5 49 4E  | NOW, Y IS PO.IN|
00002020: 47 20 41 54 20 54 48 45  20 53 50 41 43 45 20 4A  |G AT THE SPACE J|
00002030: 55 53 54 20 41 46 54 45  52 20 54 48 45 20 23 29  |UST AFTER THE #)|
00002040: 00 80 24 BC 07 4C 44 41  20 23 30 3B 20 50 55 54  |..$..LDA #0; PUT|
00002050: 20 44 45 4C 49 4D 49 54  45 52 20 5A 45 52 4F 20  | DELIMITER ZERO |
00002060: B5 4F 20 42 55 46 46 45  52 20 4A 55 53 54 20 46  |.O BUFFER JUST F|
00002070: 4F 4C 4C 4F 57 49 4E 47  20 4E 55 4D 42 45 52 2E  |OLLOWING NUMBER.|
00002080: 00 91 24 C6 07 53 54 41  20 28 54 45 4D 50 29 2C  |..$..STA (TEMP),|
00002090: 59 00 D4 24 D0 07 4A 53  52 20 C5 44 45 43 3B CB  |Y..$..JSR .DEC;.|
000020A0: 20 A4 20 54 48 45 20 C6  49 49 AB 4E 55 4D 42 45  | . THE .II.NUMBE|
000020B0: 52 AB A4 AB B5 45 47 45  52 AB 4E 55 4D 42 45 52  |R....EGER.NUMBER|
000020C0: AB 49 4E AB 22 52 45 53  55 4C 54 22 20 52 4F 55  |.IN."RESULT" ROU|
000020D0: 54 49 4E 45 00 F3 24 DA  07 50 4C 41 3B 20 8C 20  |TINE..$..PLA; . |
000020E0: 54 48 45 20 41 20 AF 20  59 20 52 45 47 49 53 54  |THE A . Y REGIST|
000020F0: 45 52 53 00 FB 24 E4 07  54 41 59 00 03 25 EE 07  |ERS..$..TAY..%..|
00002100: 50 4C 41 00 45 25 F8 07  53 54 41 20 28 54 45 4D  |PLA.E%..STA (TEM|
00002110: 50 29 2C 59 3B 20 8C 20  22 2C 22 20 B0 20 22 29  |P),Y; . "," . ")|
00002120: 22 20 A4 20 54 48 45 20  42 55 46 46 45 52 20 28  |" . THE BUFFER (|
00002130: 81 20 54 48 45 20 41 44  44 52 2E 20 41 4E 41 4C  |. THE ADDR. ANAL|
00002140: 59 53 49 53 29 00 4B 25  FD 07 3B 00 91 25 02 08  |YSIS).K%..;..%..|
00002150: 3B AB AB AB AB AB AB AB  AB AB 20 20 41 4E 41 4C  |;.........  ANAL|
00002160: 59 5A 45 20 54 48 45 20  41 52 47 55 4D 45 4E 54  |YZE THE ARGUMENT|
00002170: 20 A4 20 44 45 54 45 52  4D 49 4E 45 20 41 44 44  | . DETERMINE ADD|
00002180: 52 45 53 BF 47 20 4D 4F  44 45 20 AB AB AB AB AB  |RES.G MODE .....|
00002190: AB 00 97 25 07 08 3B 00  D7 25 0C 08 3B 20 28 54  |...%..;..%..; (T|
000021A0: 48 49 53 20 45 53 53 45  4E 54 49 41 4C 4C 59 20  |HIS ESSENTIALLY |
000021B0: 41 4D 4F 55 4E 54 53 20  A4 20 4D 4F 44 8B 59 49  |AMOUNTS . MOD.YI|
000021C0: 4E 47 20 54 48 45 20 B0  49 47 49 4E 41 4C 20 4F  |NG THE .IGINAL O|
000021D0: 50 43 4F 44 45 20 A4 00  1F 26 16 08 3B 20 20 52  |PCODE ...&..;  R|
000021E0: 45 46 4C 45 43 54 20 54  48 45 20 43 B0 52 45 43  |EFLECT THE C.REC|
000021F0: 54 20 41 44 44 52 45 53  BF 47 20 4D 4F 44 45 2E  |T ADDRES.G MODE.|
00002200: 20 20 41 44 4A 55 53 54  4D 45 4E 54 53 20 A4 20  |  ADJUSTMENTS . |
00002210: 54 48 45 20 4F 50 43 4F  44 45 20 22 4F 50 22 00  |THE OPCODE "OP".|
00002220: 5F 26 20 08 3B 20 20 41  50 50 45 41 52 20 52 41  |_& .;  APPEAR RA|
00002230: 54 48 45 52 20 B8 51 55  45 4E 54 4C 59 20 46 52  |THER .QUENTLY FR|
00002240: 4F 4D 20 48 45 52 45 20  91 2E 20 20 54 48 45 49  |OM HERE ..  THEI|
00002250: 52 20 BC 49 43 20 57 49  4C 4C 20 A8 20 42 45 00  |R .IC WILL . BE.|
00002260: 9F 26 2A 08 3B 20 20 43  4F 4D 4D 45 4E 54 45 44  |.&*.;  COMMENTED|
00002270: 2E 20 20 41 44 44 49 4E  47 20 34 2C 38 2C 31 36  |.  ADDING 4,8,16|
00002280: 2C 20 B0 20 32 34 20 A4  20 41 4E 20 22 4F 50 22  |, . 24 . AN "OP"|
00002290: 20 49 53 20 42 41 53 45  44 20 91 20 54 48 45 00  | IS BASED . THE.|
000022A0: E6 26 34 08 3B 20 20 52  45 4C 41 54 49 91 53 48  |.&4.;  RELATI.SH|
000022B0: 49 50 53 20 57 49 54 48  49 4E 20 54 48 45 20 4F  |IPS WITHIN THE O|
000022C0: 50 43 4F 44 45 20 54 41  42 4C 45 20 28 53 45 45  |PCODE TABLE (SEE|
000022D0: 20 43 48 41 50 54 45 52  20 39 20 81 20 BD 4C 41  | CHAPTER 9 . .LA|
000022E0: 4E 41 54 49 91 29 00 EC  26 3E 08 3B 00 30 27 48  |NATI.)..&>.;.0'H|
000022F0: 08 4C 33 34 30 20 4C 44  41 20 42 55 46 46 45 52  |.L340 LDA BUFFER|
00002300: 3B 20 31 53 54 20 43 48  41 52 2E 20 4F 46 20 54  |; 1ST CHAR. OF T|
00002310: 48 45 20 41 52 47 55 4D  45 4E 54 20 28 54 48 45  |HE ARGUMENT (THE|
00002320: 20 22 23 22 20 49 4E 20  4C 44 41 20 23 31 35 29  | "#" IN LDA #15)|
00002330: 00 3C 27 52 08 43 4D 50  20 23 33 35 00 86 27 5C  |.<'R.CMP #35..'\|
00002340: 08 42 45 51 20 4A 49 4D  4D 45 44 3B 20 23 20 53  |.BEQ JIMMED; # S|
00002350: 59 4D 42 4F 4C 20 46 4F  55 4E 44 20 28 53 4F 20  |YMBOL FOUND (SO |
00002360: 49 4D 4D 45 44 49 41 54  45 20 4D 4F 44 45 29 2E  |IMMEDIATE MODE).|
00002370: 20 20 42 52 41 4E 43 48  20 A4 20 53 50 52 49 4E  |  BRANCH . SPRIN|
00002380: 47 42 4F 41 52 44 00 CB  27 66 08 43 4D 50 20 23  |GBOARD..'f.CMP #|
00002390: 34 30 3B 20 49 53 20 49  54 20 41 20 22 28 22 20  |40; IS IT A "(" |
000023A0: 4C 45 46 54 20 50 41 52  45 4E 54 48 45 53 49 53  |LEFT PARENTHESIS|
000023B0: 2E 20 20 8B 20 53 4F 2C  20 CB 20 A4 20 49 4E 44  |.  . SO, . . IND|
000023C0: 49 52 45 43 54 20 41 44  44 52 2E 00 D9 27 70 08  |IRECT ADDR...'p.|
000023D0: 42 45 51 20 49 4E 44 49  52 00 12 28 7A 08 4C 44  |BEQ INDIR..(z.LD|
000023E0: 41 20 54 50 3B 20 49 53  20 49 54 20 41 20 52 45  |A TP; IS IT A RE|
000023F0: 4C 41 54 49 56 45 20 41  44 44 52 2E 20 4D 4F 44  |LATIVE ADDR. MOD|
00002400: 45 20 28 4C 49 4B 45 20  42 4E 45 2C 20 42 45 51  |E (LIKE BNE, BEQ|
00002410: 29 2E 00 1D 28 84 08 43  4D 50 20 23 38 00 4A 28  |)...(..CMP #8.J(|
00002420: 8E 08 42 45 51 20 52 45  4C 3B 20 8B 20 53 4F 2C  |..BEQ REL; . SO,|
00002430: 20 CB 20 A4 20 57 48 45  52 45 20 54 48 45 59 20  | . . WHERE THEY |
00002440: 41 52 45 20 48 AF 4C 45  44 2E 00 7D 28 98 08 43  |ARE H.LED..}(..C|
00002450: 4D 50 20 23 33 3B 20 41  44 44 20 38 20 A4 20 4F  |MP #3; ADD 8 . O|
00002460: 50 20 41 54 20 54 48 49  53 20 50 4F B5 20 8B 20  |P AT THIS PO. . |
00002470: 49 54 27 53 20 41 20 54  59 50 45 20 33 00 8B 28  |IT'S A TYPE 3..(|
00002480: A2 08 42 4E 45 20 45 56  4D 4F 35 00 96 28 AC 08  |..BNE EVMO5..(..|
00002490: 4C 44 41 20 23 38 00 9E  28 B6 08 43 4C 43 00 A9  |LDA #8..(..CLC..|
000024A0: 28 C0 08 41 44 43 20 4F  50 00 B4 28 CA 08 53 54  |(..ADC OP..(..ST|
000024B0: 41 20 4F 50 00 F1 28 D4  08 4A 4D 50 20 54 50 31  |A OP..(..JMP TP1|
000024C0: 3B 20 AF 20 4A 55 4D 50  20 A4 20 54 48 45 20 BF  |; . JUMP . THE .|
000024D0: 47 4C 45 20 42 59 54 45  20 54 59 50 45 53 20 28  |GLE BYTE TYPES (|
000024E0: 49 4D 50 4C 49 45 44 20  41 44 44 52 45 53 BF 47  |IMPLIED ADDRES.G|
000024F0: 29 00 32 29 DE 08 49 4E  44 49 52 20 4C 44 59 20  |).2)..INDIR LDY |
00002500: 41 52 47 53 49 5A 45 3B  20 48 AF 4C 45 20 49 4E  |ARGSIZE; H.LE IN|
00002510: 44 49 52 45 43 54 20 41  44 44 52 45 53 BF 47 AB  |DIRECT ADDRES.G.|
00002520: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00002530: AB AB 00 70 29 E8 08 4C  44 41 20 42 55 46 46 45  |...p)..LDA BUFFE|
00002540: 52 2C 59 3B 20 4C 4F 4F  4B 20 41 54 20 54 48 45  |R,Y; LOOK AT THE|
00002550: 20 4C 41 53 54 20 43 48  41 52 41 43 54 45 52 20  | LAST CHARACTER |
00002560: 49 4E 20 54 48 45 20 41  52 47 55 4D 45 4E 54 2E  |IN THE ARGUMENT.|
00002570: 00 9A 29 F2 08 43 4D 50  20 23 34 31 3B 20 49 53  |..)..CMP #41; IS|
00002580: 20 49 54 20 41 20 22 29  22 20 4C 45 46 54 20 50  | IT A ")" LEFT P|
00002590: 41 52 45 4E 54 48 45 53  49 53 00 C0 29 FC 08 42  |ARENTHESIS..)..B|
000025A0: 45 51 20 4D 49 4E 44 49  52 3B 20 8B 20 53 4F 2C  |EQ MINDIR; . SO,|
000025B0: 20 48 AF 4C 45 20 54 48  41 54 20 54 59 50 45 2E  | H.LE THAT TYPE.|
000025C0: 00 CB 29 06 09 4C 44 41  20 54 50 00 FD 29 10 09  |..)..LDA TP..)..|
000025D0: 43 4D 50 20 23 31 3B 20  8B 20 54 59 50 45 20 31  |CMP #1; . TYPE 1|
000025E0: 2C 20 41 44 44 20 31 36  20 41 54 20 54 48 49 53  |, ADD 16 AT THIS|
000025F0: 20 50 4F B5 20 A4 20 4F  50 43 4F 44 45 00 0C 2A  | PO. . OPCODE..*|
00002600: 1A 09 42 4E 45 20 4D 49  4E 44 49 52 00 18 2A 24  |..BNE MINDIR..*$|
00002610: 09 4C 44 41 20 23 31 36  00 20 2A 2E 09 43 4C 43  |.LDA #16. *..CLC|
00002620: 00 2B 2A 38 09 41 44 43  20 4F 50 00 36 2A 42 09  |.+*8.ADC OP.6*B.|
00002630: 53 54 41 20 4F 50 00 65  2A 4C 09 4D 49 4E 44 49  |STA OP.e*L.MINDI|
00002640: 52 20 4C 44 41 20 54 50  3B 20 54 59 50 45 20 36  |R LDA TP; TYPE 6|
00002650: 20 49 53 20 41 20 4A 55  4D 50 20 49 4E 53 54 52  | IS A JUMP INSTR|
00002660: 55 43 54 49 91 00 70 2A  56 09 43 4D 50 20 23 36  |UCTI..p*V.CMP #6|
00002670: 00 9E 2A 60 09 42 45 51  20 4A 4A 55 4D 50 3B 20  |..*`.BEQ JJUMP; |
00002680: 53 4F 20 CB 20 A4 20 54  48 45 20 4A 55 4D 50 AB  |SO . . THE JUMP.|
00002690: 48 AF 4C 49 4E 47 20 52  4F 55 54 49 4E 45 00 E3  |H.LING ROUTINE..|
000026A0: 2A 6A 09 4A 4D 50 20 54  57 4F 53 3B 20 4F 54 48  |*j.JMP TWOS; OTH|
000026B0: 45 52 57 49 53 45 2C 20  49 54 20 4D 55 53 54 20  |ERWISE, IT MUST |
000026C0: 42 45 20 41 20 32 AB 42  59 54 45 20 54 59 50 45  |BE A 2.BYTE TYPE|
000026D0: 20 53 4F 20 99 AD 97 20  49 54 2E 3B AB AB AB AB  | SO ... IT.;....|
000026E0: AB AB AB 00 1D 2B 74 09  4A 49 4D 4D 45 44 20 4A  |.....+t.JIMMED J|
000026F0: 4D 50 20 49 4D 4D 45 44  3B 20 53 50 52 49 4E 47  |MP IMMED; SPRING|
00002700: 42 4F 41 52 44 20 A4 20  49 4D 4D 45 44 49 41 54  |BOARD . IMMEDIAT|
00002710: 45 20 4D 4F 44 45 20 54  59 50 45 53 2E 00 64 2B  |E MODE TYPES..d+|
00002720: 7E 09 3B AB AB AB AB AB  AB AB AB AB AB AB AB AB  |~.;.............|
00002730: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00002740: AB AB 20 48 AF 4C 45 20  52 45 4C 41 54 49 56 45  |.. H.LE RELATIVE|
00002750: 20 41 44 44 52 45 53 53  20 28 42 4E 45 29 20 54  | ADDRESS (BNE) T|
00002760: 59 50 45 53 00 A3 2B 88  09 52 45 4C 20 4C 44 41  |YPES..+..REL LDA|
00002770: 20 50 41 53 53 3B 20 91  20 50 41 53 53 20 31 2C  | PASS; . PASS 1,|
00002780: 20 44 91 27 54 20 42 4F  54 48 45 52 2C 20 4A 55  | D.'T BOTHER, JU|
00002790: 53 54 20 49 4E 43 52 45  41 53 45 20 50 43 20 42  |ST INCREASE PC B|
000027A0: 59 20 32 00 B0 2B 92 09  42 4E 45 20 4D 52 45 4C  |Y 2..+..BNE MREL|
000027B0: 00 BD 2B 9C 09 4A 4D 50  20 54 57 4F 53 00 FF 2B  |..+..JMP TWOS..+|
000027C0: A6 09 4D 52 45 4C 20 53  45 43 3B 20 91 20 50 41  |..MREL SEC; . PA|
000027D0: 53 53 20 32 2C 20 53 55  42 54 52 41 43 54 20 50  |SS 2, SUBTRACT P|
000027E0: 43 20 46 52 4F 4D 20 41  52 47 55 4D 45 4E 54 20  |C FROM ARGUMENT |
000027F0: A4 20 A1 20 52 45 4C 2E  20 42 52 41 4E 43 48 00  |. . REL. BRANCH.|
00002800: 0E 2C B0 09 4C 44 41 20  52 45 53 55 4C 54 00 19  |.,..LDA RESULT..|
00002810: 2C BA 09 53 42 43 20 53  41 00 34 2C C4 09 50 48  |,..SBC SA.4,..PH|
00002820: 41 3B 20 94 20 4C 4F 57  20 42 59 54 45 20 41 4E  |A; . LOW BYTE AN|
00002830: 53 57 45 52 00 45 2C CE  09 4C 44 41 20 52 45 53  |SWER.E,..LDA RES|
00002840: 55 4C 54 AA 31 00 52 2C  D8 09 53 42 43 20 53 41  |ULT.1.R,..SBC SA|
00002850: AA 31 00 8C 2C E2 09 42  43 53 20 81 3B 20 8B 20  |.1..,..BCS .; . |
00002860: 41 52 47 55 4D 45 4E 54  20 B1 20 43 55 52 52 45  |ARGUMENT . CURRE|
00002870: 4E 54 20 50 43 2C 20 A7  20 49 54 27 53 20 41 20  |NT PC, . IT'S A |
00002880: 42 52 41 4E 43 48 20 81  57 41 52 44 00 99 2C EC  |BRANCH .WARD..,.|
00002890: 09 43 4D 50 20 23 24 46  46 00 A6 2C F6 09 42 45  |.CMP #$FF..,..BE|
000028A0: 51 20 4D 50 58 53 00 AE  2C 00 0A 50 4C 41 00 BD  |Q MPXS..,..PLA..|
000028B0: 2C 0A 0A 4A 4D 50 20 44  4F 42 45 52 52 00 FA 2C  |,..JMP DOBERR..,|
000028C0: 14 0A 4D 50 58 53 20 50  4C 41 3B 20 4F 54 48 45  |..MPXS PLA; OTHE|
000028D0: 52 57 49 53 45 2C 20 43  48 45 43 4B 20 81 20 4F  |RWISE, CHECK . O|
000028E0: 55 54 20 4F 46 20 52 41  4E 47 45 20 42 52 41 4E  |UT OF RANGE BRAN|
000028F0: 43 48 20 41 54 54 45 4D  50 54 00 2D 2D 1E 0A 42  |CH ATTEMPT.--..B|
00002900: 50 4C 20 42 45 52 52 3B  20 4F 55 54 20 4F 46 20  |PL BERR; OUT OF |
00002910: 52 41 4E 47 45 20 28 99  20 45 52 52 B0 20 4D 45  |RANGE (. ERR. ME|
00002920: 53 53 41 47 45 20 22 42  45 52 52 22 29 00 59 2D  |SSAGE "BERR").Y-|
00002930: 28 0A 4A 4D 50 20 52 45  4C 4D 3B 20 AF 20 4A 55  |(.JMP RELM; . JU|
00002940: 4D 50 20 A4 20 52 45 4C  20 43 91 43 4C 55 53 49  |MP . REL C.CLUSI|
00002950: 91 20 52 4F 55 54 49 4E  45 00 8A 2D 32 0A 81 20  |. ROUTINE..-2.. |
00002960: 42 45 51 20 4D 50 58 53  31 3B 20 43 48 45 43 4B  |BEQ MPXS1; CHECK|
00002970: 20 81 57 41 52 44 20 42  52 41 4E 43 48 20 4F 55  | .WARD BRANCH OU|
00002980: 54 20 4F 46 20 52 41 4E  47 45 00 92 2D 3C 0A 50  |T OF RANGE..-<.P|
00002990: 4C 41 00 A1 2D 46 0A 4A  4D 50 20 44 4F 42 45 52  |LA..-F.JMP DOBER|
000029A0: 52 00 AF 2D 50 0A 4D 50  58 53 31 20 50 4C 41 00  |R..-P.MPXS1 PLA.|
000029B0: E1 2D 5A 0A 42 50 4C 20  52 45 4C 4D 3B 20 57 49  |.-Z.BPL RELM; WI|
000029C0: 54 48 49 4E 20 52 41 4E  47 45 AB AB AB AB AB AB  |THIN RANGE......|
000029D0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000029E0: AB 00 1B 2E 64 0A 42 45  52 52 20 4A 4D 50 20 44  |....d.BERR JMP D|
000029F0: 4F 42 45 52 52 3B 20 99  20 22 42 52 41 4E 43 48  |OBERR; . "BRANCH|
00002A00: 20 4F 55 54 20 4F 46 20  52 41 4E 47 45 22 20 45  | OUT OF RANGE" E|
00002A10: 52 52 B0 20 4D 45 53 53  41 47 45 00 58 2E 6E 0A  |RR. MESSAGE.X.n.|
00002A20: 52 45 4C 4D 20 53 45 43  3B 20 46 49 4E 49 53 48  |RELM SEC; FINISH|
00002A30: 20 55 50 20 52 45 4C 2E  20 41 44 44 52 2E 20 54  | UP REL. ADDR. T|
00002A40: 59 50 45 20 AB AB AB AB  AB AB AB AB AB AB AB AB  |YPE ............|
00002A50: AB AB AB AB AB AB AB AB  00 9C 2E 78 0A 53 42 43  |...........x.SBC|
00002A60: 20 23 32 3B 20 43 B0 52  45 43 54 20 81 20 54 48  | #2; C.RECT . TH|
00002A70: 45 20 46 41 43 54 20 54  48 41 54 20 42 52 41 4E  |E FACT THAT BRAN|
00002A80: 43 48 45 53 20 41 52 45  20 43 41 4C 43 55 4C 41  |CHES ARE CALCULA|
00002A90: 54 45 44 20 46 52 4F 4D  20 54 48 45 00 E1 2E 82  |TED FROM THE....|
00002AA0: 0A 53 54 41 20 52 45 53  55 4C 54 3B 20 49 4E 53  |.STA RESULT; INS|
00002AB0: 54 52 55 43 54 49 91 20  46 4F 4C 4C 4F 57 49 4E  |TRUCTI. FOLLOWIN|
00002AC0: 47 20 54 48 45 4D 3A 20  20 42 4E 45 20 4C 4F 4F  |G THEM:  BNE LOO|
00002AD0: 50 3A 4C 44 41 20 31 35  20 57 4F 55 4C 44 20 42  |P:LDA 15 WOULD B|
00002AE0: 45 00 16 2F 8C 0A 4C 44  41 20 23 30 3B 20 20 20  |E../..LDA #0;   |
00002AF0: 20 20 43 41 4C 43 55 4C  41 54 45 44 20 46 52 4F  |  CALCULATED FRO|
00002B00: 4D 20 54 48 45 20 50 43  20 4F 46 20 54 48 45 20  |M THE PC OF THE |
00002B10: 4C 44 41 20 31 35 00 27  2F 96 0A 53 54 41 20 52  |LDA 15.'/..STA R|
00002B20: 45 53 55 4C 54 AA 31 00  63 2F A0 0A 4A 4D 50 20  |ESULT.1.c/..JMP |
00002B30: 54 57 4F 53 3B 20 4E 4F  57 20 CB 20 A4 20 54 48  |TWOS; NOW . . TH|
00002B40: 45 20 32 AB 42 59 54 45  20 99 AD 97 20 28 57 49  |E 2.BYTE ... (WI|
00002B50: 54 48 20 43 B0 52 45 43  54 20 41 52 47 55 4D 45  |TH C.RECT ARGUME|
00002B60: 4E 54 29 00 A2 2F AA 0A  3B AB AB AB AB AB AB AB  |NT)../..;.......|
00002B70: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00002B80: AB AB AB AB AB AB AB AB  20 9A 49 4E 55 45 20 41  |........ .INUE A|
00002B90: 44 44 52 2E 20 4D 4F 44  45 20 41 4E 41 4C 59 53  |DDR. MODE ANALYS|
00002BA0: 49 53 00 B8 2F B4 0A 45  56 4D 4F 35 20 4C 44 59  |IS../..EVMO5 LDY|
00002BB0: 20 41 52 47 53 49 5A 45  00 C0 2F BE 0A 44 45 59  | ARGSIZE../..DEY|
00002BC0: 00 F5 2F C8 0A 4C 44 41  20 42 55 46 46 45 52 2C  |../..LDA BUFFER,|
00002BD0: 59 3B 20 4C 4F 4F 4B 20  41 54 20 4C 41 53 54 20  |Y; LOOK AT LAST |
00002BE0: 43 48 41 52 41 43 54 45  52 20 4F 46 20 41 52 47  |CHARACTER OF ARG|
00002BF0: 55 4D 45 4E 54 00 35 30  D2 0A 43 4D 50 20 23 34  |UMENT.50..CMP #4|
00002C00: 34 3B 20 8B 20 49 54 27  53 20 A8 20 41 20 43 4F  |4; . IT'S . A CO|
00002C10: 4D 4D 41 2C 20 A7 20 54  48 49 53 20 4D 55 53 54  |MMA, . THIS MUST|
00002C20: 20 42 45 20 41 20 4A 55  4D 50 20 49 4E 53 54 52  | BE A JUMP INSTR|
00002C30: 55 43 54 49 91 00 63 30  DC 0A 42 4E 45 20 4A 4A  |UCTI..c0..BNE JJ|
00002C40: 55 4D 50 3B 20 53 4F 20  CB 20 A4 20 54 48 45 20  |UMP; SO . . THE |
00002C50: 4A 55 4D 50 AB 48 AF 4C  49 4E 47 20 52 4F 55 54  |JUMP.H.LING ROUT|
00002C60: 49 4E 45 00 6B 30 E6 0A  49 4E 59 00 B0 30 F0 0A  |INE.k0..INY..0..|
00002C70: 4A 4D 50 20 58 59 54 59  50 45 3B 20 4F 54 48 45  |JMP XYTYPE; OTHE|
00002C80: 52 57 49 53 45 2C 20 49  54 20 4D 55 53 54 20 42  |RWISE, IT MUST B|
00002C90: 45 20 41 20 2C 58 20 B0  20 2C 59 20 54 59 50 45  |E A ,X . ,Y TYPE|
00002CA0: 3B AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |;...............|
00002CB0: 00 D3 30 FA 0A 4A 4A 55  4D 50 20 4C 44 41 20 4F  |..0..JJUMP LDA O|
00002CC0: 50 3B 20 48 AF 4C 45 20  4A 4D 50 20 4D 4E 45 4D  |P; H.LE JMP MNEM|
00002CD0: 91 49 43 00 05 31 04 0B  43 4D 50 20 23 37 36 3B  |.IC..1..CMP #76;|
00002CE0: 20 8B 20 54 48 45 20 4F  50 43 4F 44 45 20 49 53  | . THE OPCODE IS|
00002CF0: 4E 27 54 20 37 36 2C 20  49 54 27 53 20 A8 20 41  |N'T 76, IT'S . A|
00002D00: 20 4A 55 4D 50 00 2B 31  0E 0B 42 4E 45 20 4D 45  | JUMP.+1..BNE ME|
00002D10: 56 3B 20 53 4F 20 4C 4F  4F 4B 20 81 20 53 4F 4D  |V; SO LOOK . SOM|
00002D20: 45 54 48 49 4E 47 20 45  4C 53 45 00 6E 31 18 0B  |ETHING ELSE.n1..|
00002D30: 4A 4D 50 20 4A 55 4D 50  3B 20 4E 4F 57 20 53 50  |JMP JUMP; NOW SP|
00002D40: 52 49 4E 47 42 4F 41 52  44 20 A4 20 54 48 45 20  |RINGBOARD . THE |
00002D50: 4A 55 4D 50 AB 48 AF 4C  49 4E 47 20 52 4F 55 54  |JUMP.H.LING ROUT|
00002D60: 49 4E 45 2E AB AB AB AB  AB AB AB AB AB AB 00 B5  |INE.............|
00002D70: 31 22 0B 4D 45 56 20 4C  44 41 20 52 45 53 55 4C  |1".MEV LDA RESUL|
00002D80: 54 AA 31 3B 20 8B 20 48  49 47 48 20 42 59 54 45  |T.1; . HIGH BYTE|
00002D90: 20 4F 46 20 52 45 53 55  4C 54 20 49 53 4E 27 54  | OF RESULT ISN'T|
00002DA0: 20 5A 45 52 4F 20 28 5A  45 52 4F 20 50 47 2E 20  | ZERO (ZERO PG. |
00002DB0: 41 44 44 52 29 00 F1 31  2C 0B 42 4E 45 20 50 52  |ADDR)..1,.BNE PR|
00002DC0: 45 50 54 48 52 45 45 53  3B 20 A7 20 CB 20 A4 20  |EPTHREES; . . . |
00002DD0: 54 48 45 20 33 AB 42 59  54 45 20 49 4E 53 54 52  |THE 3.BYTE INSTR|
00002DE0: 55 43 54 49 91 53 20 28  4C 49 4E 45 20 34 30 30  |UCTI.S (LINE 400|
00002DF0: 29 00 1C 32 36 0B 4C 44  41 20 54 50 3B 20 4F 54  |)..26.LDA TP; OT|
00002E00: 48 45 52 57 49 53 45 2C  20 49 54 27 53 20 5A 45  |HERWISE, IT'S ZE|
00002E10: 52 4F 20 50 41 47 45 20  4D 4F 44 45 00 4E 32 3B  |RO PAGE MODE.N2;|
00002E20: 0B 43 4D 50 20 23 39 3A  42 45 51 20 50 52 45 50  |.CMP #9:BEQ PREP|
00002E30: 54 48 52 45 45 53 3B 20  48 AF 4C 45 20 4A 53 52  |THREES; H.LE JSR|
00002E40: 53 20 B5 4F 20 5A 45 52  4F 20 50 41 47 45 00 8C  |S .O ZERO PAGE..|
00002E50: 32 40 0B 43 4D 50 20 23  36 3B 20 8B 20 48 49 47  |2@.CMP #6; . HIG|
00002E60: 48 45 52 20 54 48 41 4E  20 54 59 50 45 20 36 2C  |HER THAN TYPE 6,|
00002E70: 20 49 54 27 53 20 41 4E  20 B0 44 49 4E 41 52 59  | IT'S AN .DINARY|
00002E80: 20 32 AB 42 59 54 45 20  54 59 50 45 00 A6 32 4A  | 2.BYTE TYPE..2J|
00002E90: 0B 42 43 53 20 54 57 4F  53 3B 20 53 4F 20 CB 20  |.BCS TWOS; SO . |
00002EA0: 54 48 45 52 45 2E 00 CA  32 54 0B 43 4D 50 20 23  |THERE...2T.CMP #|
00002EB0: 32 3B 20 8B 20 54 59 50  45 20 32 2C 20 41 4C 53  |2; . TYPE 2, ALS|
00002EC0: 4F 20 CB 20 54 48 45 52  45 2E 00 D7 32 5E 0B 42  |O . THERE...2^.B|
00002ED0: 45 51 20 54 57 4F 53 00  1D 33 68 0B 4C 44 41 20  |EQ TWOS..3h.LDA |
00002EE0: 23 34 3B 20 4F 54 48 45  52 57 49 53 45 2C 20 41  |#4; OTHERWISE, A|
00002EF0: 44 44 20 34 20 A4 20 4F  50 43 4F 44 45 20 AF 20  |DD 4 . OPCODE . |
00002F00: 46 41 4C 4C 20 54 48 52  4F 55 47 48 20 B5 4F 20  |FALL THROUGH .O |
00002F10: 54 57 4F AB 42 59 54 45  20 54 59 50 45 00 25 33  |TWO.BYTE TYPE.%3|
00002F20: 72 0B 43 4C 43 00 30 33  7C 0B 41 44 43 20 4F 50  |r.CLC.03|.ADC OP|
00002F30: 00 3B 33 86 0B 53 54 41  20 4F 50 00 7C 33 90 0B  |.;3..STA OP.|3..|
00002F40: 3B AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |;...............|
00002F50: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00002F60: 20 20 32 20 42 59 54 45  20 54 59 50 45 53 20 28  |  2 BYTE TYPES (|
00002F70: 4C 49 4B 45 20 4C 44 41  20 31 32 29 00 9A 33 9A  |LIKE LDA 12)..3.|
00002F80: 0B 54 57 4F 53 20 4A 53  52 20 81 4D 41 54 3B 20  |.TWOS JSR .MAT; |
00002F90: 99 AD 97 20 4F 50 43 4F  44 45 00 B5 33 A4 0B 4A  |... OPCODE..3..J|
00002FA0: 53 52 20 99 32 3B 20 A7  20 99 AD 97 20 41 52 47  |SR .2; . ... ARG|
00002FB0: 55 4D 45 4E 54 00 FB 33  AE 0B 4A 4D 50 20 49 4E  |UMENT..3..JMP IN|
00002FC0: 4C 49 4E 45 3B 20 AF 20  46 49 4E 41 4C 4C 59 20  |LINE; . FINALLY |
00002FD0: 50 52 45 50 41 52 45 20  A4 20 46 45 54 43 48 20  |PREPARE . FETCH |
00002FE0: A2 20 4C 49 4E 45 20 4F  46 20 53 4F 55 52 43 45  |. LINE OF SOURCE|
00002FF0: 43 4F 44 45 20 28 32 30  30 30 29 00 2A 34 B8 0B  |CODE (2000).*4..|
00003000: 3B AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |;...............|
00003010: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003020: 20 20 48 AF 4C 45 20 4A  4D 50 00 5C 34 C2 0B 4A  |  H.LE JMP.\4..J|
00003030: 55 4D 50 20 4C 44 59 20  41 52 47 53 49 5A 45 3B  |UMP LDY ARGSIZE;|
00003040: 20 49 53 20 49 54 20 4A  4D 50 20 31 35 30 30 20  | IS IT JMP 1500 |
00003050: B0 20 4A 4D 50 20 28 31  35 30 30 29 00 9B 34 CC  |. JMP (1500)..4.|
00003060: 0B 4C 44 41 20 42 55 46  46 45 52 2C 59 3B 20 20  |.LDA BUFFER,Y;  |
00003070: 29 20 20 41 54 20 54 48  45 20 80 20 50 52 4F 56  |)  AT THE . PROV|
00003080: 45 53 20 49 54 27 53 20  41 4E 20 49 4E 44 49 52  |ES IT'S AN INDIR|
00003090: 45 43 54 20 4A 55 4D 50  20 53 4F 00 A7 34 D6 0B  |ECT JUMP SO..4..|
000030A0: 43 4D 50 20 23 34 31 00  B4 34 E0 0B 42 4E 45 20  |CMP #41..4..BNE |
000030B0: 4A 55 4D 4F 00 F2 34 EA  0B 4C 44 41 20 23 31 30  |JUMO..4..LDA #10|
000030C0: 38 3B 20 20 20 20 20 20  20 20 20 57 45 20 4D 55  |8;         WE MU|
000030D0: 53 54 20 43 48 41 4E 47  45 20 54 48 45 20 4F 50  |ST CHANGE THE OP|
000030E0: 43 4F 44 45 20 46 52 4F  4D 20 37 36 20 A4 20 31  |CODE FROM 76 . 1|
000030F0: 30 38 00 FD 34 F4 0B 53  54 41 20 4F 50 00 38 35  |08..4..STA OP.85|
00003100: FE 0B 4A 55 4D 4F 20 4A  4D 50 20 54 48 52 45 45  |..JUMO JMP THREE|
00003110: 53 3B 20 54 52 45 41 54  20 49 54 20 41 53 20 41  |S; TREAT IT AS A|
00003120: 20 4E B0 4D 41 4C 20 33  AB 42 59 54 45 20 49 4E  | N.MAL 3.BYTE IN|
00003130: 53 54 52 55 43 54 49 91  00 79 35 08 0C 3B AB AB  |STRUCTI..y5..;..|
00003140: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003150: AB AB AB AB AB AB AB AB  AB AB AB AB AB 20 49 4D  |............. IM|
00003160: 4D 45 44 49 41 54 45 20  41 44 44 52 45 53 BF 47  |MEDIATE ADDRES.G|
00003170: 20 28 23 20 54 59 50 45  29 00 90 35 12 0C 49 4D  | (# TYPE)..5..IM|
00003180: 4D 45 44 20 4C 44 41 20  42 55 46 46 45 52 AA 31  |MED LDA BUFFER.1|
00003190: 00 CB 35 1C 0C 43 4D 50  20 23 22 22 3B 20 49 53  |..5..CMP #""; IS|
000031A0: 20 54 48 49 53 20 41 20  43 48 41 52 41 43 54 45  | THIS A CHARACTE|
000031B0: 52 20 93 20 50 53 45 55  44 4F AB 4F 50 20 4C 49  |R . PSEUDO.OP LI|
000031C0: 4B 45 3A 20 4C 44 41 20  23 22 41 00 DA 35 26 0C  |KE: LDA #"A..5&.|
000031D0: 42 4E 45 20 49 4D 4D 45  44 58 00 1B 36 30 0C 4C  |BNE IMMEDX..60.L|
000031E0: 44 41 20 42 55 46 46 45  52 AA 32 3B 20 8B 20 53  |DA BUFFER.2; . S|
000031F0: 4F 2C 20 50 55 54 20 54  48 45 20 C6 49 49 20 43  |O, PUT THE .II C|
00003200: 48 41 52 2E 20 B5 4F 20  22 52 45 53 55 4C 54 22  |HAR. .O "RESULT"|
00003210: 20 28 41 52 47 55 4D 45  4E 54 29 00 2A 36 3A 0C  | (ARGUMENT).*6:.|
00003220: 53 54 41 20 52 45 53 55  4C 54 00 3C 36 44 0C 49  |STA RESULT.<6D.I|
00003230: 4D 4D 45 44 58 20 4C 44  41 20 54 50 00 47 36 4E  |MMEDX LDA TP.G6N|
00003240: 0C 43 4D 50 20 23 31 00  84 36 58 0C 42 4E 45 20  |.CMP #1..6X.BNE |
00003250: 54 57 4F 53 3B 20 8B 20  49 54 27 53 20 54 59 50  |TWOS; . IT'S TYP|
00003260: 45 20 31 2C 20 41 44 4A  55 53 54 20 4F 50 43 4F  |E 1, ADJUST OPCO|
00003270: 44 45 20 42 59 20 41 44  44 49 4E 47 20 38 20 A4  |DE BY ADDING 8 .|
00003280: 20 49 54 2E 00 8F 36 62  0C 4C 44 41 20 23 38 00  | IT...6b.LDA #8.|
00003290: A5 36 6C 0C 43 4C 43 3A  41 44 43 20 4F 50 3A 53  |.6l.CLC:ADC OP:S|
000032A0: 54 41 20 4F 50 00 B2 36  76 0C 4A 4D 50 20 54 57  |TA OP..6v.JMP TW|
000032B0: 4F 53 00 E4 36 80 0C 3B  AB AB AB AB AB AB AB AB  |OS..6..;........|
000032C0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000032D0: AB AB AB AB AB AB AB 20  31 20 42 59 54 45 20 54  |....... 1 BYTE T|
000032E0: 59 50 45 53 00 21 37 8A  0C 54 50 31 20 4A 53 52  |YPES.!7..TP1 JSR|
000032F0: 20 81 4D 41 54 3B 20 4A  55 53 54 20 97 20 4F 50  | .MAT; JUST . OP|
00003300: 43 4F 44 45 20 81 20 54  48 45 53 45 2C 20 54 48  |CODE . THESE, TH|
00003310: 45 52 45 27 53 20 4E 4F  20 41 52 47 55 4D 45 4E  |ERE'S NO ARGUMEN|
00003320: 54 00 3D 37 94 0C 4A 4D  50 20 49 4E 4C 49 4E 45  |T.=7..JMP INLINE|
00003330: 3B 20 28 4C 49 4E 45 20  31 30 30 30 29 00 6F 37  |; (LINE 1000).o7|
00003340: 9E 0C 3B AB AB AB AB AB  AB AB AB AB AB AB AB AB  |..;.............|
00003350: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003360: AB AB 20 33 20 42 59 54  45 20 54 59 50 45 53 00  |.. 3 BYTE TYPES.|
00003370: B0 37 A8 0C 50 52 45 50  54 48 52 45 45 53 20 4C  |.7..PREPTHREES L|
00003380: 44 41 20 54 50 3B 20 53  45 56 45 52 41 4C 20 4F  |DA TP; SEVERAL O|
00003390: 50 43 4F 44 45 20 41 44  4A 55 53 54 4D 45 4E 54  |PCODE ADJUSTMENT|
000033A0: 53 20 28 42 41 53 45 44  20 91 20 54 59 50 45 29  |S (BASED . TYPE)|
000033B0: 00 BB 37 B2 0C 43 4D 50  20 23 32 00 C7 37 BC 0C  |..7..CMP #2..7..|
000033C0: 42 45 51 20 50 54 54 00  DE 37 C6 0C 43 4D 50 20  |BEQ PTT..7..CMP |
000033D0: 23 37 3B 20 28 4C 49 4E  45 20 34 33 30 29 00 EA  |#7; (LINE 430)..|
000033E0: 37 D0 0C 42 4E 45 20 50  54 31 00 F9 37 DA 0C 50  |7..BNE PT1..7..P|
000033F0: 54 54 20 4C 44 41 20 4F  50 00 01 38 E4 0C 43 4C  |TT LDA OP..8..CL|
00003400: 43 00 0C 38 EE 0C 41 44  43 20 23 38 00 17 38 F8  |C..8..ADC #8..8.|
00003410: 0C 53 54 41 20 4F 50 00  26 38 02 0D 4A 4D 50 20  |.STA OP.&8..JMP |
00003420: 54 48 52 45 45 53 00 35  38 0C 0D 50 54 31 20 43  |THREES.58..PT1 C|
00003430: 4D 50 20 23 36 00 44 38  16 0D 42 43 53 20 54 48  |MP #6.D8..BCS TH|
00003440: 52 45 45 53 00 4F 38 20  0D 4C 44 41 20 4F 50 00  |REES.O8 .LDA OP.|
00003450: 57 38 2A 0D 43 4C 43 00  63 38 34 0D 41 44 43 20  |W8*.CLC.c84.ADC |
00003460: 23 31 32 00 6E 38 3E 0D  53 54 41 20 4F 50 00 8E  |#12.n8>.STA OP..|
00003470: 38 48 0D 54 48 52 45 45  53 20 4A 53 52 20 81 4D  |8H.THREES JSR .M|
00003480: 41 54 3B 20 99 AD 97 20  4F 50 43 4F 44 45 00 BF  |AT; ... OPCODE..|
00003490: 38 52 0D 4A 53 52 20 99  33 3B 20 99 AD 97 20 32  |8R.JSR .3; ... 2|
000034A0: 20 42 59 54 45 53 20 4F  46 20 54 48 45 20 41 52  | BYTES OF THE AR|
000034B0: 47 55 4D 45 4E 54 20 20  20 28 33 30 30 30 29 00  |GUMENT   (3000).|
000034C0: FF 38 5C 0D 3B AB AB AB  AB AB AB AB AB AB AB AB  |.8\.;...........|
000034D0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000034E0: AB AB AB AB AB AB AB AB  AB AB 20 50 52 45 50 41  |.......... PREPA|
000034F0: 52 45 20 A4 20 A1 20 41  20 A2 20 4C 49 4E 45 00  |RE . . A . LINE.|
00003500: 27 39 66 0D 3B 99 20 4D  41 49 4E 20 85 20 AF 20  |'9f.;. MAIN . . |
00003510: 43 4F 4D 4D 45 4E 54 53  2C 20 A7 20 A4 20 53 54  |COMMENTS, . . ST|
00003520: 41 52 54 4C 49 4E 45 00  63 39 70 0D 49 4E 4C 49  |ARTLINE.c9p.INLI|
00003530: 4E 45 20 4C 44 41 20 50  41 53 53 3B 20 91 20 50  |NE LDA PASS; . P|
00003540: 41 53 53 20 31 2C 20 49  47 4E B0 45 20 54 48 49  |ASS 1, IGN.E THI|
00003550: 53 20 57 48 4F 4C 45 20  99 4F 55 54 20 54 48 49  |S WHOLE .OUT THI|
00003560: 4E 47 2E 00 71 39 7A 0D  42 4E 45 20 4E 4C 4F 58  |NG..q9z.BNE NLOX|
00003570: 31 00 7D 39 84 0D 4A 4D  50 20 4A 53 54 00 B9 39  |1.}9..JMP JST..9|
00003580: 8E 0D 4E 4C 4F 58 31 20  4C 44 41 20 53 46 4C 41  |..NLOX1 LDA SFLA|
00003590: 47 3B 20 4C 49 4B 45 57  49 53 45 2C 20 8B 20 53  |G; LIKEWISE, . S|
000035A0: 43 52 45 45 4E 46 4C 41  47 20 49 53 20 44 4F 57  |CREENFLAG IS DOW|
000035B0: 4E 2C 20 49 47 4E B0 45  2E 00 C6 39 98 0D 42 4E  |N, IGN.E...9..BN|
000035C0: 45 20 4E 4C 4F 58 00 D2  39 A2 0D 4A 4D 50 20 4A  |E NLOX..9..JMP J|
000035D0: 53 54 00 01 3A AC 0D 4E  4C 4F 58 20 4C 44 41 20  |ST..:..NLOX LDA |
000035E0: 4C 4F 43 46 4C 41 47 3B  20 41 4E 59 20 50 43 20  |LOCFLAG; ANY PC |
000035F0: 41 44 44 52 45 53 53 20  4C 41 42 45 4C 20 A4 20  |ADDRESS LABEL . |
00003600: 99 00 36 3A B6 0D 42 4E  45 20 50 52 4D 4D 58 31  |..6:..BNE PRMMX1|
00003610: 3B 20 4E 4F 20 4C 4F 43  20 A4 20 99 20 28 52 56  |; NO LOC . . (RV|
00003620: 53 20 46 4C 41 47 20 55  53 41 47 45 2C 20 81 20  |S FLAG USAGE, . |
00003630: 53 50 45 45 44 29 00 4D  3A C0 0D 4C 44 41 20 99  |SPEED).M:..LDA .|
00003640: 46 4C 41 47 3B 20 99 20  A4 20 99 45 52 00 5A 3A  |FLAG; . . .ER.Z:|
00003650: CA 0D 42 45 51 20 50 52  4D 4D 00 66 3A D4 0D 4C  |..BEQ PRMM.f:..L|
00003660: 44 41 20 23 32 30 00 6E  3A DE 0D 53 45 43 00 99  |DA #20.n:..SEC..|
00003670: 3A E8 0D 53 42 43 20 43  55 52 B9 3B 20 53 55 42  |:..SBC CUR.; SUB|
00003680: 54 52 41 43 54 20 43 55  52 52 45 4E 54 20 43 55  |TRACT CURRENT CU|
00003690: 52 53 B0 20 B9 49 54 49  91 00 CE 3A F2 0D 53 54  |RS. .ITI...:..ST|
000036A0: 41 20 41 3B 20 4D 4F 56  45 20 54 48 45 20 43 55  |A A; MOVE THE CU|
000036B0: 52 53 B0 20 A4 20 32 30  54 48 20 43 4F 4C 55 4D  |RS. . 20TH COLUM|
000036C0: 4E 20 91 20 54 48 45 20  53 43 52 45 45 4E 00 F3  |N . THE SCREEN..|
000036D0: 3A FC 0D 4A 53 52 20 9C  43 48 4E 3B 20 50 52 45  |:..JSR .CHN; PRE|
000036E0: 50 41 52 45 20 99 45 52  20 A4 20 99 20 42 4C 41  |PARE .ER . . BLA|
000036F0: 4E 4B 53 00 FE 3A 06 0E  4C 44 58 20 23 34 00 0D  |NKS..:..LDX #4..|
00003700: 3B 10 0E 4A 53 52 20 43  48 4B 4F 55 54 00 17 3B  |;..JSR CHKOUT..;|
00003710: 1A 0E 4C 44 59 20 41 00  25 3B 24 0E 42 50 4C 20  |..LDY A.%;$.BPL |
00003720: 50 52 58 4D 31 00 30 3B  2E 0E 4C 44 59 20 23 32  |PRXM1.0;..LDY #2|
00003730: 00 3F 3B 38 0E 4A 4D 50  20 50 52 4D 4C 4F 50 00  |.?;8.JMP PRMLOP.|
00003740: 51 3B 42 0E 50 52 58 4D  31 20 4C 44 41 20 23 33  |Q;B.PRXM1 LDA #3|
00003750: 32 00 82 3B 4C 0E 50 52  4D 4C 4F 50 20 4A 53 52  |2..;L.PRMLOP JSR|
00003760: 20 99 3B AB AB AB AB AB  AB AB AB AB AB AB AB AB  | .;.............|
00003770: AB AB AB 20 99 20 42 4C  41 4E 4B 53 20 A4 20 99  |... . BLANKS . .|
00003780: 45 52 00 8A 3B 56 0E 44  45 59 00 BD 3B 60 0E 42  |ER..;V.DEY..;`.B|
00003790: 4E 45 20 50 52 4D 4C 4F  50 3B 20 99 20 4D B0 45  |NE PRMLOP; . M.E|
000037A0: 20 42 4C 41 4E 4B 53 20  A4 20 99 45 52 3B AB AB  | BLANKS . .ER;..|
000037B0: AB AB AB AB AB AB AB AB  AB AB AB AB AB 00 D7 3B  |...............;|
000037C0: 6A 0E 4A 53 52 20 9C 43  48 4E 3B 20 8C 20 4E B0  |j.JSR .CHN; . N.|
000037D0: 4D 41 4C 20 49 AD 4F 00  E2 3B 74 0E 4C 44 58 20  |MAL I.O..;t.LDX |
000037E0: 23 31 00 F0 3B 7E 0E 4A  53 52 20 43 48 4B 49 4E  |#1..;~.JSR CHKIN|
000037F0: 00 27 3C 88 0E 50 52 4D  4D 20 4C 44 41 20 23 32  |.'<..PRMM LDA #2|
00003800: 30 3B 20 50 55 54 20 32  30 20 B5 4F 20 43 55 52  |0; PUT 20 .O CUR|
00003810: 52 45 4E 54 20 53 43 52  45 45 4E 20 43 55 52 53  |RENT SCREEN CURS|
00003820: B0 20 B9 49 54 49 91 00  34 3C 92 0E 53 54 41 20  |. .ITI..4<..STA |
00003830: 43 55 52 B9 00 68 3C 9C  0E 4C 44 41 20 23 B3 46  |CUR..h<..LDA #.F|
00003840: 49 C3 3B 20 50 4F B5 20  22 54 45 4D 50 22 20 A4  |I.; PO. "TEMP" .|
00003850: 20 50 43 20 41 44 44 52  45 53 53 20 4C 41 42 45  | PC ADDRESS LABE|
00003860: 4C 20 81 20 99 4F 55 54  00 75 3C A6 0E 53 54 41  |L . .OUT.u<..STA|
00003870: 20 54 45 4D 50 00 83 3C  B0 0E 4C 44 41 20 23 B1  | TEMP..<..LDA #.|
00003880: 46 49 C3 00 92 3C BA 0E  53 54 41 20 54 45 4D 50  |FI...<..STA TEMP|
00003890: AA 31 00 BF 3C C4 0E 4A  53 52 20 50 52 4E 54 4D  |.1..<..JSR PRNTM|
000038A0: 45 53 53 3B 20 99 20 4C  4F 43 41 54 49 91 20 4C  |ESS; . LOCATI. L|
000038B0: 41 42 45 4C 3B AB AB AB  AB AB AB AB AB AB AB 00  |ABEL;...........|
000038C0: EC 3C CE 0E 50 52 4D 4D  58 31 20 4C 44 41 20 23  |.<..PRMMX1 LDA #|
000038D0: 33 30 3B 20 4D 4F 56 45  20 43 55 52 53 B0 20 A4  |30; MOVE CURS. .|
000038E0: 20 33 30 54 48 20 43 4F  4C 55 4D 4E 00 F4 3C D8  | 30TH COLUMN..<.|
000038F0: 0E 53 45 43 00 01 3D E2  0E 53 42 43 20 43 55 52  |.SEC..=..SBC CUR|
00003900: B9 00 39 3D EC 0E 53 54  41 20 58 3B 20 94 20 4F  |..9=..STA X; . O|
00003910: 46 46 53 45 54 20 46 52  4F 4D 20 43 55 52 52 45  |FFSET FROM CURRE|
00003920: 4E 54 20 B9 49 54 49 91  20 28 33 30 AB B9 49 54  |NT .ITI. (30..IT|
00003930: 49 91 29 20 81 20 99 45  52 00 45 3D F6 0E 4C 44  |I.) . .ER.E=..LD|
00003940: 41 20 23 33 30 00 6F 3D  00 0F 53 54 41 20 43 55  |A #30.o=..STA CU|
00003950: 52 B9 3B 20 53 45 54 20  53 43 52 45 45 4E 20 43  |R.; SET SCREEN C|
00003960: 55 52 53 B0 20 B9 49 54  49 91 20 A4 20 33 30 00  |URS. .ITI. . 30.|
00003970: 9E 3D 0A 0F 4C 44 41 20  99 46 4C 41 47 3B 20 44  |.=..LDA .FLAG; D|
00003980: 4F 20 57 45 20 4E 45 45  44 20 A4 20 99 20 42 4C  |O WE NEED . . BL|
00003990: 41 4E 4B 53 20 A4 20 54  48 45 20 99 45 52 00 AE  |ANKS . THE .ER..|
000039A0: 3D 14 0F 42 45 51 20 50  52 4D 4D 46 49 4E 00 D7  |=..BEQ PRMMFIN..|
000039B0: 3D 1E 0F 4A 53 52 20 9C  43 48 4E 3B 20 41 4C 45  |=..JSR .CHN; ALE|
000039C0: 52 54 20 99 45 52 20 A4  20 52 45 43 45 49 56 45  |RT .ER . RECEIVE|
000039D0: 20 42 4C 41 4E 4B 53 00  E2 3D 28 0F 4C 44 58 20  | BLANKS..=(.LDX |
000039E0: 23 34 00 F1 3D 32 0F 4A  53 52 20 43 48 4B 4F 55  |#4..=2.JSR CHKOU|
000039F0: 54 00 FB 3D 3C 0F 4C 44  59 20 58 00 20 3E 46 0F  |T..=<.LDY X. >F.|
00003A00: 42 45 51 20 50 58 4D 58  3B 20 48 AF 4C 45 20 4E  |BEQ PXMX; H.LE N|
00003A10: 4F 20 42 4C 41 4E 4B 53  20 28 49 47 4E B0 45 29  |O BLANKS (IGN.E)|
00003A20: 00 51 3E 50 0F 42 4D 49  20 50 58 4D 58 3B 20 48  |.Q>P.BMI PXMX; H|
00003A30: AF 4C 45 20 A4 4F 20 4D  41 4E 59 20 42 4C 41 4E  |.LE .O MANY BLAN|
00003A40: 4B 53 20 28 B1 31 32 37  29 20 28 49 47 4E B0 45  |KS (.127) (IGN.E|
00003A50: 29 00 5D 3E 5A 0F 4C 44  41 20 23 33 32 00 92 3E  |).]>Z.LDA #32..>|
00003A60: 64 0F 50 52 4D 4C 4F 50  58 20 4A 53 52 20 99 3B  |d.PRMLOPX JSR .;|
00003A70: 20 99 20 42 4C 41 4E 4B  53 20 A4 20 99 45 52 20  | . BLANKS . .ER |
00003A80: 81 20 81 4D 41 54 54 49  4E 47 AB AB AB AB AB AB  |. .MATTING......|
00003A90: AB AB 00 9A 3E 6E 0F 44  45 59 00 C2 3E 78 0F 42  |....>n.DEY..>x.B|
00003AA0: 4E 45 20 50 52 4D 4C 4F  50 58 3B 20 99 20 4D B0  |NE PRMLOPX; . M.|
00003AB0: 45 20 42 4C 41 4E 4B 53  AB AB AB AB AB AB AB AB  |E BLANKS........|
00003AC0: AB AB 00 E1 3E 82 0F 50  58 4D 58 20 4A 53 52 20  |....>..PXMX JSR |
00003AD0: 9C 43 48 4E 3B 20 8C 20  4E B0 4D 41 4C 20 49 AD  |.CHN; . N.MAL I.|
00003AE0: 4F 00 EC 3E 8C 0F 4C 44  58 20 23 31 00 2C 3F 96  |O..>..LDX #1.,?.|
00003AF0: 0F 4A 53 52 20 43 48 4B  49 4E 3B AB AB AB AB AB  |.JSR CHKIN;.....|
00003B00: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003B10: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003B20: AB AB AB AB AB AB AB AB  AB AB AB AB 00 69 3F A0  |.............i?.|
00003B30: 0F 50 52 4D 4D 46 49 4E  20 4A 53 52 20 50 52 4E  |.PRMMFIN JSR PRN|
00003B40: 54 85 3B 20 99 20 4D 41  49 4E 20 85 20 42 55 46  |T.; . MAIN . BUF|
00003B50: 46 45 52 20 28 42 55 4C  4B 20 4F 46 20 53 4F 55  |FER (BULK OF SOU|
00003B60: 52 43 45 20 4C 49 4E 45  29 00 A8 3F AA 0F 4C 44  |RCE LINE)..?..LD|
00003B70: 41 20 42 59 54 46 4C 41  47 3B 20 49 53 20 54 48  |A BYTFLAG; IS TH|
00003B80: 45 52 45 20 41 20 B3 20  B0 20 B1 20 50 53 45 55  |ERE A . . . PSEU|
00003B90: 44 4F AB 4F 50 20 A4 20  99 20 AB AB AB AB AB AB  |DO.OP . . ......|
00003BA0: AB AB AB AB AB AB AB AB  00 C1 3F B4 0F 42 45 51  |..........?..BEQ|
00003BB0: 20 50 52 58 4D 3B 20 48  AF 4C 45 20 B3 20 AF 20  | PRXM; H.LE . . |
00003BC0: B1 00 E2 3F BE 0F 43 4D  50 20 23 31 3B 20 31 20  |...?..CMP #1; 1 |
00003BD0: 49 4E 20 42 59 54 46 4C  41 47 20 4D 45 41 4E 53  |IN BYTFLAG MEANS|
00003BE0: 20 B3 00 EE 3F C8 0F 42  4E 45 20 4D 4F 35 00 FA  | ...?..BNE MO5..|
00003BF0: 3F D2 0F 4C 44 41 20 23  36 30 00 07 40 DC 0F 4A  |?..LDA #60..@..J|
00003C00: 4D 50 20 50 52 4D 4F 00  1C 40 E6 0F 4D 4F 35 20  |MP PRMO..@..MO5 |
00003C10: 4C 44 41 20 23 36 32 3B  20 99 20 B1 00 2B 40 F0  |LDA #62; . ..+@.|
00003C20: 0F 50 52 4D 4F 20 4A 53  52 20 99 00 5B 40 FA 0F  |.PRMO JSR ..[@..|
00003C30: 4A 53 52 20 50 54 50 31  3B 20 99 20 B1 20 B0 20  |JSR PTP1; . . . |
00003C40: B3 2E 20 20 50 54 50 31  20 49 53 20 A4 20 99 45  |..  PTP1 IS . .E|
00003C50: 52 AB AB AB AB AB AB AB  AB AB AB 00 A2 40 04 10  |R............@..|
00003C60: 50 52 58 4D 20 4C 44 41  20 42 41 42 46 4C 41 47  |PRXM LDA BABFLAG|
00003C70: 3B 20 49 53 20 54 48 45  52 45 20 41 4E 59 20 43  |; IS THERE ANY C|
00003C80: 4F 4D 4D 45 4E 54 20 A4  20 99 20 28 53 4F 4D 45  |OMMENT . . (SOME|
00003C90: 54 48 49 4E 47 20 46 4F  4C 4C 4F 57 49 4E 47 20  |THING FOLLOWING |
00003CA0: 3B 29 00 C1 40 0E 10 42  45 51 20 52 45 54 54 58  |;)..@..BEQ RETTX|
00003CB0: 3B 20 8B 20 A8 2C 20 53  4B 49 50 20 54 48 49 53  |; . ., SKIP THIS|
00003CC0: 2E 00 03 41 18 10 4A 53  52 20 50 52 4E 54 53 50  |...A..JSR PRNTSP|
00003CD0: 41 43 45 3B 20 99 20 41  20 53 50 41 43 45 AB AB  |ACE; . A SPACE..|
00003CE0: AB AB AB AB AB AB 20 20  99 20 43 4F 4D 4D 45 4E  |......  . COMMEN|
00003CF0: 54 53 20 46 49 45 4C 44  20 AB AB AB AB AB AB AB  |TS FIELD .......|
00003D00: AB AB AB 00 1D 41 22 10  4C 44 41 20 23 35 39 3B  |.....A".LDA #59;|
00003D10: 20 99 20 41 20 53 45 4D  49 43 4F 4C 91 00 27 41  | . A SEMICOL..'A|
00003D20: 2C 10 4A 53 52 20 99 00  61 41 36 10 4C 44 41 20  |,.JSR ..aA6.LDA |
00003D30: 23 B3 42 41 42 55 46 3B  20 50 4F B5 20 22 54 45  |#.BABUF; PO. "TE|
00003D40: 4D 50 22 20 A4 20 54 48  45 20 43 4F 4D 4D 45 4E  |MP" . THE COMMEN|
00003D50: 54 53 20 42 55 46 46 45  52 20 22 42 41 42 55 46  |TS BUFFER "BABUF|
00003D60: 22 00 6E 41 40 10 53 54  41 20 54 45 4D 50 00 7E  |".nA@.STA TEMP.~|
00003D70: 41 4A 10 4C 44 41 20 23  B1 42 41 42 55 46 00 8D  |AJ.LDA #.BABUF..|
00003D80: 41 54 10 53 54 41 20 54  45 4D 50 AA 31 00 BF 41  |AT.STA TEMP.1..A|
00003D90: 5E 10 4A 53 52 20 50 52  4E 54 4D 45 53 53 3B 20  |^.JSR PRNTMESS; |
00003DA0: 99 20 57 48 41 54 27 53  20 49 4E 20 54 48 45 20  |. WHAT'S IN THE |
00003DB0: 43 4F 4D 4D 45 4E 54 53  20 42 55 46 46 45 52 00  |COMMENTS BUFFER.|
00003DC0: E2 41 68 10 52 45 54 54  58 20 4A 53 52 20 50 52  |.Ah.RETTX JSR PR|
00003DD0: 4E 54 43 52 3B 20 99 20  43 41 52 52 49 41 47 45  |NTCR; . CARRIAGE|
00003DE0: 20 8E 00 1C 42 72 10 4C  44 41 20 80 46 4C 41 47  | ...Br.LDA .FLAG|
00003DF0: 3B 20 8B 20 80 46 4C 41  47 20 49 53 20 55 50 2C  |; . .FLAG IS UP,|
00003E00: 20 4A 55 4D 50 20 A4 20  54 48 45 20 53 48 55 54  | JUMP . THE SHUT|
00003E10: 44 4F 57 4E 20 52 4F 55  54 49 4E 45 00 29 42 7C  |DOWN ROUTINE.)B||
00003E20: 10 42 4E 45 20 46 49 4E  49 00 6B 42 86 10 4A 53  |.BNE FINI.kB..JS|
00003E30: 54 20 4A 4D 50 20 53 54  41 52 54 4C 49 4E 45 3B  |T JMP STARTLINE;|
00003E40: 20 4F 54 48 45 52 57 49  53 45 20 CB 20 42 41 43  | OTHERWISE . BAC|
00003E50: 4B 20 55 50 20 A4 20 A1  20 54 48 45 20 82 20 53  |K UP . . THE . S|
00003E60: 4F 55 52 43 45 20 4C 49  4E 45 2E 00 AE 42 90 10  |OURCE LINE...B..|
00003E70: 3B AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |;...............|
00003E80: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00003E90: AB AB AB AB AB AB 20 54  48 45 20 80 20 4F 46 20  |...... THE . OF |
00003EA0: 41 20 50 41 53 53 20 28  31 20 B0 20 32 29 00 C0  |A PASS (1 . 2)..|
00003EB0: 42 9A 10 46 49 4E 49 20  4C 44 41 20 50 41 53 53  |B..FINI LDA PASS|
00003EC0: 00 F2 42 A4 10 42 4E 45  20 46 49 4E 3B 20 8B 20  |..B..BNE FIN; . |
00003ED0: 49 54 27 53 20 50 41 53  53 20 32 2C 20 53 48 55  |IT'S PASS 2, SHU|
00003EE0: 54 20 45 56 45 52 59 54  48 49 4E 47 20 44 4F 57  |T EVERYTHING DOW|
00003EF0: 4E 2E 00 32 43 AE 10 49  4E 43 20 50 41 53 53 3B  |N..2C..INC PASS;|
00003F00: 20 4F 54 48 45 52 57 49  53 45 2C 20 43 48 41 4E  | OTHERWISE, CHAN|
00003F10: 47 45 20 50 41 53 53 20  31 20 A4 20 50 41 53 53  |GE PASS 1 . PASS|
00003F20: 20 54 57 4F 20 28 49 4E  20 54 48 45 20 46 4C 41  | TWO (IN THE FLA|
00003F30: 47 29 00 79 43 B8 10 4C  44 41 20 54 41 3B 20 50  |G).yC..LDA TA; P|
00003F40: 55 54 20 54 48 45 20 B0  49 47 49 4E 41 4C 20 53  |UT THE .IGINAL S|
00003F50: 54 41 52 54 20 41 44 44  52 2E 20 B5 4F 20 54 48  |TART ADDR. .O TH|
00003F60: 45 20 50 43 20 50 52 4F  47 52 41 4D 20 43 4F 55  |E PC PROGRAM COU|
00003F70: 4E 54 45 52 20 28 53 41  29 00 84 43 C2 10 53 54  |NTER (SA)..C..ST|
00003F80: 41 20 53 41 00 91 43 CC  10 4C 44 41 20 54 41 AA  |A SA..C..LDA TA.|
00003F90: 31 00 9E 43 D6 10 53 54  41 20 53 41 AA 31 00 C3  |1..C..STA SA.1..|
00003FA0: 43 E0 10 4A 53 52 20 9C  43 48 4E 3B 20 8C 20 B0  |C..JSR .CHN; . .|
00003FB0: 44 49 4E 41 52 59 20 49  AD 4F 20 43 91 44 49 54  |DINARY I.O C.DIT|
00003FC0: 49 91 53 00 CE 43 EA 10  4C 44 41 20 23 31 00 E2  |I.S..C..LDA #1..|
00003FD0: 43 F4 10 4A 53 52 20 A0  3B 20 A0 20 85 20 46 49  |C..JSR .; . . FI|
00003FE0: 4C 45 00 1B 44 FE 10 4A  53 52 20 9F 31 3B 20 9F  |LE..D..JSR .1; .|
00003FF0: 20 85 20 46 49 4C 45 20  28 50 4F B5 20 49 54 20  | . FILE (PO. IT |
00004000: A4 20 54 48 45 20 31 53  54 20 42 59 54 45 20 49  |. THE 1ST BYTE I|
00004010: 4E 20 54 48 45 20 46 49  4C 45 29 00 62 44 08 11  |N THE FILE).bD..|
00004020: 4A 4D 50 20 53 4D B0 45  3B 20 50 41 53 53 20 31  |JMP SM.E; PASS 1|
00004030: 20 46 49 4E 49 53 48 45  44 2C 20 53 54 41 52 54  | FINISHED, START|
00004040: 20 50 41 53 53 20 32 20  28 45 4E 54 52 59 20 50  | PASS 2 (ENTRY P|
00004050: 4F B5 20 81 20 50 41 53  53 20 32 29 AB AB AB AB  |O. . PASS 2)....|
00004060: AB AB 00 68 44 12 11 3B  00 AD 44 1C 11 3B AB AB  |...hD..;..D..;..|
00004070: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00004080: AB 20 53 48 55 54 20 44  4F 57 4E 20 4C 41 44 53  |. SHUT DOWN LADS|
00004090: 20 4F 50 45 52 41 54 49  91 53 20 AF 20 8E 20 A4  | OPERATI.S . . .|
000040A0: 20 42 41 53 49 43 20 AB  AB AB AB AB AB 00 CB 44  | BASIC ........D|
000040B0: 26 11 46 49 4E 20 4A 53  52 20 9C 43 48 4E 3B 20  |&.FIN JSR .CHN; |
000040C0: 8C 20 4E B0 4D 41 4C 20  49 AD 4F 00 D6 44 30 11  |. N.MAL I.O..D0.|
000040D0: 4C 44 41 20 23 31 00 F6  44 3A 11 4A 53 52 20 A0  |LDA #1..D:.JSR .|
000040E0: 3B 20 A0 20 53 4F 55 52  43 45 20 43 4F 44 45 20  |; . SOURCE CODE |
000040F0: 85 20 46 49 4C 45 00 01  45 44 11 4C 44 41 20 23  |. FILE..ED.LDA #|
00004100: 32 00 2E 45 4E 11 4A 53  52 20 A0 3B 20 A0 20 4F  |2..EN.JSR .; . O|
00004110: 42 4A 45 43 54 20 43 4F  44 45 20 4F 55 54 50 55  |BJECT CODE OUTPU|
00004120: 54 20 46 49 4C 45 20 28  8B 20 41 4E 59 29 00 4F  |T FILE (. ANY).O|
00004130: 45 58 11 4C 44 41 20 99  46 4C 41 47 3B 20 49 53  |EX.LDA .FLAG; IS|
00004140: 20 54 48 45 20 99 45 52  20 41 43 54 49 56 45 00  | THE .ER ACTIVE.|
00004150: 73 45 62 11 42 45 51 20  46 49 4E 46 49 4E 3B 20  |sEb.BEQ FINFIN; |
00004160: 8B 20 A8 2C 20 4A 55 53  54 20 8E 20 A4 20 42 41  |. ., JUST . . BA|
00004170: 53 49 43 00 A6 45 6C 11  4A 53 52 20 9C 43 48 4E  |SIC..El.JSR .CHN|
00004180: 3B 20 4F 54 48 45 52 57  49 53 45 20 53 48 55 54  |; OTHERWISE SHUT|
00004190: 20 44 4F 57 4E 20 99 45  52 2C 20 47 52 41 43 45  | DOWN .ER, GRACE|
000041A0: 46 55 4C 4C 59 2E 00 B1  45 76 11 4C 44 58 20 23  |FULLY...Ev.LDX #|
000041B0: 34 00 C0 45 80 11 4A 53  52 20 43 48 4B 4F 55 54  |4..E..JSR CHKOUT|
000041C0: 00 E9 45 8A 11 4C 44 41  20 23 31 33 3B 20 20 20  |..E..LDA #13;   |
000041D0: 20 20 20 20 20 42 59 20  99 49 4E 47 20 41 20 43  |     BY .ING A C|
000041E0: 41 52 52 49 41 47 45 20  8E 00 F3 45 94 11 4A 53  |ARRIAGE ...E..JS|
000041F0: 52 20 99 00 00 46 9E 11  4A 53 52 20 9C 43 48 4E  |R ...F..JSR .CHN|
00004200: 00 0B 46 A8 11 4C 44 41  20 23 34 00 15 46 B2 11  |..F..LDA #4..F..|
00004210: 4A 53 52 20 A0 00 36 46  BC 11 46 49 4E 46 49 4E  |JSR ..6F..FINFIN|
00004220: 20 4A 4D 50 20 A4 42 41  53 49 43 3B 20 8E 20 A4  | JMP .BASIC; . .|
00004230: 20 42 41 53 49 43 00 3C  46 C6 11 3B 00 7E 46 D0  | BASIC.<F..;.~F.|
00004240: 11 3B AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |.;..............|
00004250: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00004260: AB AB AB AB AB AB AB 20  20 2C 58 20 B0 20 2C 59  |.......  ,X . ,Y|
00004270: 20 41 44 44 52 45 53 BF  47 20 54 59 50 45 00 B6  | ADDRES.G TYPE..|
00004280: 46 DA 11 58 59 54 59 50  45 20 4C 44 41 20 42 55  |F..XYTYPE LDA BU|
00004290: 46 46 45 52 2C 59 3B 20  4C 4F 4F 4B 20 41 54 20  |FFER,Y; LOOK AT |
000042A0: 4C 41 53 54 20 43 48 41  52 2E 20 49 4E 20 41 52  |LAST CHAR. IN AR|
000042B0: 47 55 4D 45 4E 54 00 CE  46 E4 11 43 4D 50 20 23  |GUMENT..F..CMP #|
000042C0: 38 38 3B 20 49 53 20 49  54 20 41 4E 20 58 00 DB  |88; IS IT AN X..|
000042D0: 46 EE 11 42 45 51 20 4C  37 32 30 00 18 47 F8 11  |F..BEQ L720..G..|
000042E0: 44 45 59 3B 20 4F 54 48  45 52 57 49 53 45 2C 20  |DEY; OTHERWISE, |
000042F0: 4C 4F 4F 4B 20 41 54 20  54 48 45 20 33 52 44 20  |LOOK AT THE 3RD |
00004300: 43 48 41 52 2E 20 46 52  4F 4D 20 80 20 4F 46 20  |CHAR. FROM . OF |
00004310: 41 52 47 55 4D 45 4E 54  00 20 47 02 12 44 45 59  |ARGUMENT. G..DEY|
00004320: 00 4F 47 0C 12 4C 44 41  20 42 55 46 46 45 52 2C  |.OG..LDA BUFFER,|
00004330: 59 3B 20 49 53 20 49 54  20 41 20 20 29 20 20 4C  |Y; IS IT A  )  L|
00004340: 45 46 54 20 50 41 52 45  4E 54 48 45 53 49 53 00  |EFT PARENTHESIS.|
00004350: 5B 47 16 12 43 4D 50 20  23 34 31 00 8D 47 20 12  |[G..CMP #41..G .|
00004360: 42 4E 45 20 5A 45 52 4F  59 3B 20 8B 20 A8 2C 20  |BNE ZEROY; . ., |
00004370: 49 54 27 53 20 A8 20 41  4E 20 49 4E 44 49 52 45  |IT'S . AN INDIRE|
00004380: 43 54 20 41 44 44 52 2E  20 4D 4F 44 45 00 C2 47  |CT ADDR. MODE..G|
00004390: 2A 12 4A 4D 50 20 49 4E  44 49 52 3B 20 8B 20 53  |*.JMP INDIR; . S|
000043A0: 4F 2C 20 49 54 20 49 53  20 41 4E 20 49 4E 44 49  |O, IT IS AN INDI|
000043B0: 52 45 43 54 20 41 44 44  52 45 53 BF 47 20 4D 4F  |RECT ADDRES.G MO|
000043C0: 44 45 00 03 48 34 12 5A  45 52 4F 59 20 4C 44 41  |DE..H4.ZEROY LDA|
000043D0: 20 52 45 53 55 4C 54 AA  31 3B 20 43 48 45 43 4B  | RESULT.1; CHECK|
000043E0: 20 48 49 47 48 20 42 59  54 45 20 4F 46 20 52 45  | HIGH BYTE OF RE|
000043F0: 53 55 4C 54 20 28 5A 45  52 4F 20 50 47 2E 20 B0  |SULT (ZERO PG. .|
00004400: 20 A8 29 00 1D 48 3E 12  42 4E 45 20 4C 36 38 30  | .)..H>.BNE L680|
00004410: 3B 20 5A 45 52 4F 20 59  20 54 59 50 45 00 44 48  |; ZERO Y TYPE.DH|
00004420: 48 12 4C 44 41 20 54 50  3B 20 41 44 4A 55 53 54  |H.LDA TP; ADJUST|
00004430: 20 4F 50 43 4F 44 45 20  42 41 53 45 44 20 91 20  | OPCODE BASED . |
00004440: 54 59 50 45 00 4F 48 52  12 43 4D 50 20 23 32 00  |TYPE.OHR.CMP #2.|
00004450: 5C 48 5C 12 42 45 51 20  4C 37 33 30 00 67 48 66  |\H\.BEQ L730.gHf|
00004460: 12 43 4D 50 20 23 35 00  74 48 70 12 42 45 51 20  |.CMP #5.tHp.BEQ |
00004470: 4C 37 33 30 00 7F 48 7A  12 43 4D 50 20 23 31 00  |L730..Hz.CMP #1.|
00004480: 8C 48 84 12 42 45 51 20  4C 37 36 30 00 9C 48 8E  |.H..BEQ L760..H.|
00004490: 12 4C 36 38 30 20 4C 44  41 20 54 50 00 A7 48 98  |.L680 LDA TP..H.|
000044A0: 12 43 4D 50 20 23 31 00  B4 48 A2 12 42 4E 45 20  |.CMP #1..H..BNE |
000044B0: 4C 36 39 30 00 BF 48 AC  12 4C 44 41 20 4F 50 00  |L690..H..LDA OP.|
000044C0: C7 48 B6 12 43 4C 43 00  D3 48 C0 12 41 44 43 20  |.H..CLC..H..ADC |
000044D0: 23 32 34 00 DE 48 CA 12  53 54 41 20 4F 50 00 ED  |#24..H..STA OP..|
000044E0: 48 D4 12 4A 4D 50 20 54  48 52 45 45 53 00 FD 48  |H..JMP THREES..H|
000044F0: DE 12 4C 36 39 30 20 4C  44 41 20 54 50 00 08 49  |..L690 LDA TP..I|
00004500: E8 12 43 4D 50 20 23 35  00 13 49 F2 12 42 45 51  |..CMP #5..I..BEQ|
00004510: 20 4D 36 00 20 49 FC 12  4C 44 41 20 23 24 33 31  | M6. I..LDA #$31|
00004520: 00 2A 49 06 13 4A 53 52  20 50 00 37 49 10 13 4A  |.*I..JSR P.7I..J|
00004530: 4D 50 20 4C 37 30 30 00  45 49 1A 13 4D 36 20 4C  |MP L700.EI..M6 L|
00004540: 44 41 20 4F 50 00 4D 49  24 13 43 4C 43 00 59 49  |DA OP.MI$.CLC.YI|
00004550: 2E 13 41 44 43 20 23 32  38 00 64 49 38 13 53 54  |..ADC #28.dI8.ST|
00004560: 41 20 4F 50 00 73 49 42  13 4A 4D 50 20 54 48 52  |A OP.sIB.JMP THR|
00004570: 45 45 53 00 AF 49 4C 13  3B AB AB AB AB AB AB AB  |EES..IL.;.......|
00004580: AB AB AB AB 20 99 20 41  20 53 59 4E 54 41 58 20  |.... . A SYNTAX |
00004590: 45 52 52 B0 20 4D 45 53  53 41 47 45 20 AB AB AB  |ERR. MESSAGE ...|
000045A0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB 00  |................|
000045B0: EF 49 56 13 4C 37 30 30  20 4A 53 52 20 45 52 52  |.IV.L700 JSR ERR|
000045C0: 49 4E 47 3B 20 52 49 4E  47 20 45 52 52 B0 20 42  |ING; RING ERR. B|
000045D0: 45 4C 4C 20 AF 20 54 55  52 4E 20 91 20 52 45 56  |ELL . TURN . REV|
000045E0: 45 52 53 45 20 43 48 41  52 41 43 54 45 52 53 00  |ERSE CHARACTERS.|
000045F0: 0F 4A 60 13 4A 53 52 20  50 52 4E 54 4C 49 4E 45  |.J`.JSR PRNTLINE|
00004600: 3B 20 99 20 4C 49 4E 45  20 4E 55 4D 42 45 52 00  |; . LINE NUMBER.|
00004610: 41 4A 6A 13 4C 44 41 20  23 B3 4D 45 52 52 B0 3B  |AJj.LDA #.MERR.;|
00004620: 20 50 4F B5 20 22 54 45  4D 50 22 20 A4 20 53 59  | PO. "TEMP" . SY|
00004630: 4E 54 41 58 20 45 52 52  B0 20 4D 45 53 53 41 47  |NTAX ERR. MESSAG|
00004640: 45 00 4E 4A 74 13 53 54  41 20 54 45 4D 50 00 5E  |E.NJt.STA TEMP.^|
00004650: 4A 7E 13 4C 44 41 20 23  B1 4D 45 52 52 B0 00 6D  |J~.LDA #.MERR..m|
00004660: 4A 88 13 53 54 41 20 54  45 4D 50 AA 31 00 98 4A  |J..STA TEMP.1..J|
00004670: 92 13 4A 53 52 20 50 52  4E 54 4D 45 53 53 3A 4A  |..JSR PRNTMESS:J|
00004680: 53 52 20 50 52 4E 54 43  52 3B 20 99 20 54 48 45  |SR PRNTCR; . THE|
00004690: 20 4D 45 53 53 41 47 45  00 C5 4A 9C 13 4A 4D 50  | MESSAGE..J..JMP|
000046A0: 20 49 4E 4C 49 4E 45 3B  20 CB 20 A4 20 54 48 45  | INLINE; . . THE|
000046B0: 20 A1 AB 54 48 45 AB 82  AB 4C 49 4E 45 20 52 4F  | ..THE...LINE RO|
000046C0: 55 54 49 4E 45 00 06 4B  A6 13 3B AB AB AB AB AB  |UTINE..K..;.....|
000046D0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000046E0: AB AB AB AB AB AB AB AB  AB 20 9A 49 4E 55 45 20  |......... .INUE |
000046F0: 41 4E 41 4C 59 53 49 53  20 4F 46 20 41 44 44 52  |ANALYSIS OF ADDR|
00004700: 2E 20 4D 4F 44 45 00 3F  4B B0 13 4C 37 32 30 20  |. MODE.?K..L720 |
00004710: 4C 44 41 20 52 45 53 55  4C 54 AA 31 3B 20 4D 41  |LDA RESULT.1; MA|
00004720: 4B 45 20 46 55 52 54 48  45 52 20 41 44 4A 55 53  |KE FURTHER ADJUS|
00004730: 54 4D 45 4E 54 53 20 A4  20 4F 50 43 4F 44 45 00  |TMENTS . OPCODE.|
00004740: 59 4B BA 13 42 4E 45 20  4C 37 38 30 3B 20 A8 20  |YK..BNE L780; . |
00004750: 5A 45 52 4F 20 50 41 47  45 00 69 4B C4 13 4C 37  |ZERO PAGE.iK..L7|
00004760: 33 30 20 4C 44 41 20 54  50 00 74 4B CE 13 43 4D  |30 LDA TP.tK..CM|
00004770: 50 20 23 32 00 81 4B D8  13 42 4E 45 20 4C 37 34  |P #2..K..BNE L74|
00004780: 30 00 8D 4B E2 13 4C 44  41 20 23 31 36 00 95 4B  |0..K..LDA #16..K|
00004790: EC 13 43 4C 43 00 A0 4B  F6 13 41 44 43 20 4F 50  |..CLC..K..ADC OP|
000047A0: 00 AB 4B 00 14 53 54 41  20 4F 50 00 B8 4B 0A 14  |..K..STA OP..K..|
000047B0: 4A 4D 50 20 54 57 4F 53  00 C8 4B 14 14 4C 37 34  |JMP TWOS..K..L74|
000047C0: 30 20 43 4D 50 20 23 31  00 D5 4B 1E 14 42 45 51  |0 CMP #1..K..BEQ|
000047D0: 20 4C 37 35 39 00 E0 4B  28 14 43 4D 50 20 23 33  | L759..K(.CMP #3|
000047E0: 00 ED 4B 32 14 42 45 51  20 4C 37 35 39 00 F8 4B  |..K2.BEQ L759..K|
000047F0: 3C 14 43 4D 50 20 23 35  00 05 4C 46 14 42 45 51  |<.CMP #5..LF.BEQ|
00004800: 20 4C 37 35 39 00 17 4C  50 14 4C 37 35 30 20 4C  | L759..LP.L750 L|
00004810: 44 41 20 23 24 33 32 00  21 4C 5A 14 4A 53 52 20  |DA #$32.!LZ.JSR |
00004820: 50 00 2E 4C 64 14 4A 4D  50 20 4C 37 30 30 00 3F  |P..Ld.JMP L700.?|
00004830: 4C 6E 14 4C 37 35 39 20  4C 44 41 20 23 32 30 00  |Ln.L759 LDA #20.|
00004840: 47 4C 78 14 43 4C 43 00  52 4C 82 14 41 44 43 20  |GLx.CLC.RL..ADC |
00004850: 4F 50 00 5D 4C 8C 14 53  54 41 20 4F 50 00 A1 4C  |OP.]L..STA OP..L|
00004860: 96 14 3B 20 AB AB AB AB  AB AB AB AB AB AB 20 53  |..; .......... S|
00004870: 45 45 20 43 48 41 50 54  45 52 20 31 31 20 81 20  |EE CHAPTER 11 . |
00004880: BD 4C 41 4E 41 54 49 91  20 4F 46 20 54 48 49 53  |.LANATI. OF THIS|
00004890: 20 45 52 52 B0 20 54 52  41 50 20 AB AB AB AB AB  | ERR. TRAP .....|
000048A0: AB 00 E7 4C 97 14 4C 37  36 30 20 4C 44 41 20 42  |...L..L760 LDA B|
000048B0: 55 46 46 45 52 AA 32 2C  59 3A 43 4D 50 20 23 38  |UFFER.2,Y:CMP #8|
000048C0: 39 3A 42 4E 45 20 4D 4C  37 36 30 3B 20 AB AB AB  |9:BNE ML760; ...|
000048D0: 20 45 52 52 B0 20 54 52  41 50 20 81 20 4C 44 41  | ERR. TRAP . LDA|
000048E0: 20 28 31 35 2C 59 29 00  30 4D 98 14 4C 44 41 20  | (15,Y).0M..LDA |
000048F0: 4F 50 3A 43 4D 50 20 23  31 38 32 3A 42 45 51 20  |OP:CMP #182:BEQ |
00004900: 4D 4C 37 36 30 3B 20 49  53 20 54 48 45 20 4D 4E  |ML760; IS THE MN|
00004910: 45 4D 91 49 43 20 4C 44  58 20 28 8B 20 53 4F 2C  |EM.IC LDX (. SO,|
00004920: 20 4D 4F 44 45 20 49 53  20 43 B0 52 45 43 54 29  | MODE IS C.RECT)|
00004930: 00 69 4D 99 14 4A 4D 50  20 4C 36 38 30 3B 20 8B  |.iM..JMP L680; .|
00004940: 20 A8 2C 20 4A 55 4D 50  20 A4 20 4D 41 4B 45 20  | ., JUMP . MAKE |
00004950: 49 54 20 28 4C 44 41 20  24 30 30 31 35 2C 59 29  |IT (LDA $0015,Y)|
00004960: 20 B6 4F 4C 55 54 45 20  59 00 7C 4D 9A 14 4D 4C  | .OLUTE Y.|M..ML|
00004970: 37 36 30 20 4A 4D 50 20  54 57 4F 53 00 A4 4D 9B  |760 JMP TWOS..M.|
00004980: 14 3B AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |.;..............|
00004990: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
000049A0: AB AB AB AB 00 B4 4D A0  14 4C 37 38 30 20 4C 44  |......M..L780 LD|
000049B0: 41 20 54 50 00 BF 4D AA  14 43 4D 50 20 23 32 00  |A TP..M..CMP #2.|
000049C0: CC 4D B4 14 42 4E 45 20  4C 37 39 30 00 D8 4D BE  |.M..BNE L790..M.|
000049D0: 14 4C 44 41 20 23 32 34  00 E0 4D C8 14 43 4C 43  |.LDA #24..M..CLC|
000049E0: 00 EB 4D D2 14 41 44 43  20 4F 50 00 F6 4D DC 14  |..M..ADC OP..M..|
000049F0: 53 54 41 20 4F 50 00 05  4E E6 14 4A 4D 50 20 54  |STA OP..N..JMP T|
00004A00: 48 52 45 45 53 00 15 4E  F0 14 4C 37 39 30 20 43  |HREES..N..L790 C|
00004A10: 4D 50 20 23 31 00 22 4E  FA 14 42 45 51 20 4C 38  |MP #1."N..BEQ L8|
00004A20: 30 39 00 2D 4E 04 15 43  4D 50 20 23 33 00 3A 4E  |09.-N..CMP #3.:N|
00004A30: 0E 15 42 45 51 20 4C 38  30 39 00 45 4E 18 15 43  |..BEQ L809.EN..C|
00004A40: 4D 50 20 23 35 00 52 4E  22 15 42 45 51 20 4C 38  |MP #5.RN".BEQ L8|
00004A50: 30 39 00 64 4E 2C 15 4C  38 30 30 20 4C 44 41 20  |09.dN,.L800 LDA |
00004A60: 23 24 33 33 00 6E 4E 36  15 4A 53 52 20 50 00 7B  |#$33.nN6.JSR P.{|
00004A70: 4E 40 15 4A 4D 50 20 4C  37 30 30 00 8C 4E 4A 15  |N@.JMP L700..NJ.|
00004A80: 4C 38 30 39 20 4C 44 41  20 23 32 38 00 94 4E 54  |L809 LDA #28..NT|
00004A90: 15 43 4C 43 00 9F 4E 5E  15 41 44 43 20 4F 50 00  |.CLC..N^.ADC OP.|
00004AA0: AA 4E 68 15 53 54 41 20  4F 50 00 E4 4E 72 15 4A  |.Nh.STA OP..Nr.J|
00004AB0: 4D 50 20 54 48 52 45 45  53 3B 20 20 20 20 80 20  |MP THREES;    . |
00004AC0: 4F 46 20 41 44 44 52 2E  20 4D 4F 44 45 20 45 C5  |OF ADDR. MODE E.|
00004AD0: 55 41 54 49 91 53 20 AF  20 41 44 4A 55 53 54 4D  |UATI.S . ADJUSTM|
00004AE0: 45 4E 54 53 00 EA 4E 7C  15 3B 00 26 4F 86 15 3B  |ENTS..N|.;.&O..;|
00004AF0: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00004B00: AB AB AB AB 20 45 52 52  B0 20 52 45 50 B0 54 49  |.... ERR. REP.TI|
00004B10: 4E 47 20 81 20 44 45 42  55 47 47 49 4E 47 20 28  |NG . DEBUGGING (|
00004B20: 99 53 20 50 43 29 00 6F  4F 90 15 50 20 53 54 41  |.S PC).oO..P STA|
00004B30: 20 41 3B 20 57 48 45 4E  20 59 4F 55 20 49 4E 53  | A; WHEN YOU INS|
00004B40: 45 52 54 20 41 20 22 4A  53 52 20 50 22 20 B5 4F  |ERT A "JSR P" .O|
00004B50: 20 59 4F 55 52 20 53 4F  55 52 43 45 20 43 4F 44  | YOUR SOURCE COD|
00004B60: 45 2C 20 54 48 49 53 20  52 4F 55 54 49 4E 45 00  |E, THIS ROUTINE.|
00004B70: 9F 4F 9A 15 53 54 59 20  59 3B 20 57 49 4C 4C 20  |.O..STY Y; WILL |
00004B80: 99 20 54 48 45 20 50 43  20 46 52 4F 4D 20 57 48  |. THE PC FROM WH|
00004B90: 49 43 48 20 59 4F 55 20  4A 53 52 27 45 44 2E 00  |ICH YOU JSR'ED..|
00004BA0: D8 4F A4 15 53 54 58 20  58 3B 20 20 41 46 54 45  |.O..STX X;  AFTE|
00004BB0: 52 20 41 4E 20 52 54 53  2C 20 54 48 49 53 20 57  |R AN RTS, THIS W|
00004BC0: 49 4C 4C 20 52 45 56 45  41 4C 20 54 48 45 20 4A  |ILL REVEAL THE J|
00004BD0: 53 52 20 41 44 44 52 2E  00 1B 50 AE 15 4C 44 41  |SR ADDR...P..LDA|
00004BE0: 20 23 24 42 41 3B 20 99  20 41 20 47 52 41 50 48  | #$BA; . A GRAPH|
00004BF0: 49 43 53 20 53 59 4D 42  4F 4C 20 A4 20 53 49 47  |ICS SYMBOL . SIG|
00004C00: 4E 41 4C 20 54 48 41 54  20 54 48 45 20 50 43 20  |NAL THAT THE PC |
00004C10: 49 53 20 A4 20 46 4F 4C  4C 4F 57 00 25 50 B8 15  |IS . FOLLOW.%P..|
00004C20: 4A 53 52 20 99 00 58 50  C2 15 50 4C 41 3B 20 94  |JSR ..XP..PLA; .|
00004C30: 20 54 48 45 20 52 54 53  20 41 44 44 52 45 53 53  | THE RTS ADDRESS|
00004C40: 20 28 A4 20 4B 45 45 50  20 54 48 45 20 53 54 41  | (. KEEP THE STA|
00004C50: 43 4B 20 B5 41 43 54 29  00 60 50 CC 15 54 41 58  |CK .ACT).`P..TAX|
00004C60: 00 68 50 D6 15 50 4C 41  00 70 50 E0 15 54 41 59  |.hP..PLA.pP..TAY|
00004C70: 00 78 50 EA 15 54 59 41  00 80 50 F4 15 50 48 41  |.xP..TYA..P..PHA|
00004C80: 00 88 50 FE 15 54 58 41  00 90 50 08 16 50 48 41  |..P..TXA..P..PHA|
00004C90: 00 98 50 12 16 54 59 41  00 BA 50 1C 16 4A 53 52  |..P..TYA..P..JSR|
00004CA0: 20 4F 55 54 4E 55 4D 3B  20 99 20 54 48 45 20 50  | OUTNUM; . THE P|
00004CB0: 43 20 41 44 44 52 45 53  53 2E 00 D6 50 26 16 4C  |C ADDRESS...P&.L|
00004CC0: 44 41 20 41 3B 20 8C 20  54 48 45 20 52 45 47 49  |DA A; . THE REGI|
00004CD0: 53 54 45 52 53 2E 00 E0  50 30 16 4C 44 59 20 59  |STERS...P0.LDY Y|
00004CE0: 00 EA 50 3A 16 4C 44 58  20 58 00 F2 50 44 16 52  |..P:.LDX X..PD.R|
00004CF0: 54 53 00 12 51 4E 16 3B  AB AB AB AB AB AB AB AB  |TS..QN.;........|
00004D00: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00004D10: AB AB 00 5B 51 58 16 43  4C 45 41 4E 4C 41 42 20  |...[QX.CLEANLAB |
00004D20: 4C 44 59 20 23 30 3B 20  46 49 4C 4C 53 20 4D 41  |LDY #0; FILLS MA|
00004D30: 49 4E 20 85 20 42 55 46  46 45 52 20 28 22 4C 41  |IN . BUFFER ("LA|
00004D40: 42 45 4C 22 29 20 57 49  54 48 20 5A 45 52 4F 2E  |BEL") WITH ZERO.|
00004D50: 20 43 4C 45 41 4E 53 20  49 54 2E 00 63 51 62 16  | CLEANS IT..cQb.|
00004D60: 54 59 41 00 7A 51 6C 16  43 4C 45 4D B0 45 20 53  |TYA.zQl.CLEM.E S|
00004D70: 54 41 20 4C 41 42 45 4C  2C 59 00 82 51 76 16 49  |TA LABEL,Y..Qv.I|
00004D80: 4E 59 00 8E 51 80 16 43  50 59 20 23 38 30 00 9D  |NY..Q..CPY #80..|
00004D90: 51 8A 16 42 4E 45 20 43  4C 45 4D B0 45 00 A5 51  |Q..BNE CLEM.E..Q|
00004DA0: 94 16 52 54 53 00 E5 51  9E 16 3B 20 AB AB AB AB  |..RTS..Q..; ....|
00004DB0: AB AB AB AB AB 99 20 42  52 41 4E 43 48 20 4F 55  |...... BRANCH OU|
00004DC0: 54 20 4F 46 20 52 41 4E  47 45 20 45 52 52 B0 20  |T OF RANGE ERR. |
00004DD0: 4D 45 53 53 41 47 45 AB  AB AB AB AB AB AB AB AB  |MESSAGE.........|
00004DE0: AB AB AB AB AB 00 21 52  A8 16 44 4F 42 45 52 52  |......!R..DOBERR|
00004DF0: 20 4A 53 52 20 50 52 4E  54 43 52 3B 20 99 20 22  | JSR PRNTCR; . "|
00004E00: 42 52 41 4E 43 48 20 4F  55 54 20 4F 46 20 52 41  |BRANCH OUT OF RA|
00004E10: 4E 47 45 22 20 45 52 52  B0 20 4D 45 53 53 41 47  |NGE" ERR. MESSAG|
00004E20: 45 00 30 52 B2 16 4A 53  52 20 45 52 52 49 4E 47  |E.0R..JSR ERRING|
00004E30: 00 54 52 BC 16 4A 53 52  20 50 52 4E 54 4C 49 4E  |.TR..JSR PRNTLIN|
00004E40: 45 3B 20 99 20 54 48 45  20 4C 49 4E 45 20 4E 55  |E; . THE LINE NU|
00004E50: 4D 42 45 52 00 88 52 C6  16 4C 44 41 20 23 B3 4D  |MBER..R..LDA #.M|
00004E60: 42 B0 3B 20 50 4F B5 20  22 54 45 4D 50 22 20 A4  |B.; PO. "TEMP" .|
00004E70: 20 54 48 45 20 45 52 52  B0 20 4D 45 53 53 41 47  | THE ERR. MESSAG|
00004E80: 45 20 22 4D 42 4F 52 22  00 B9 52 D0 16 53 54 41  |E "MBOR"..R..STA|
00004E90: 20 54 45 4D 50 3B 20 28  4D 45 53 53 41 47 45 20  | TEMP; (MESSAGE |
00004EA0: 42 52 41 4E 43 48 20 4F  55 54 20 4F 46 20 52 41  |BRANCH OUT OF RA|
00004EB0: 4E 47 45 2C 20 4D 42 B0  29 00 C7 52 DA 16 4C 44  |NGE, MB.)..R..LD|
00004EC0: 41 20 23 B1 4D 42 B0 00  D6 52 E4 16 53 54 41 20  |A #.MB...R..STA |
00004ED0: 54 45 4D 50 AA 31 00 F6  52 EE 16 4A 53 52 20 50  |TEMP.1..R..JSR P|
00004EE0: 52 4E 54 4D 45 53 53 3B  20 99 20 54 48 45 20 4D  |RNTMESS; . THE M|
00004EF0: 45 53 53 41 47 45 00 17  53 F8 16 4A 53 52 20 50  |ESSAGE..S..JSR P|
00004F00: 52 4E 54 43 52 3B 20 99  20 41 20 43 41 52 52 49  |RNTCR; . A CARRI|
00004F10: 41 47 45 20 8E 20 AF 00  5A 53 02 17 4A 4D 50 20  |AGE . ..ZS..JMP |
00004F20: 54 57 4F 53 3B 20 42 55  4E 47 4C 45 20 41 53 20  |TWOS; BUNGLE AS |
00004F30: 41 4E 20 B0 44 49 4E 41  52 59 20 32 AB 42 59 54  |AN .DINARY 2.BYT|
00004F40: 45 20 45 56 45 4E 54 20  28 A4 20 4B 45 45 50 20  |E EVENT (. KEEP |
00004F50: 50 43 20 43 B0 52 45 43  54 29 00 7C 53 0C 17 3B  |PC C.RECT).|S..;|
00004F60: AB AB AB AB AB AB AB AB  AB AB AB AB AB AB AB AB  |................|
00004F70: AB AB AB AB AB AB AB AB  AB AB AB AB 00 8D 53 16  |..............S.|
00004F80: 17 2E 46 49 4C 45 20 45  51 55 41 54 45 00 00 00  |..FILE EQUATE...|
..7...; "EVAL"  MAIN EEUATI. ROUTINE (SI
MPLE ASSEMBLER).|...;...................
........................................
.........START LDA #0...(.LDY #48.K.2.ST
RTLP STA OP,Y;     .. LOOP . CLEAR FLAGS
 ...S.<.DEY...F.BNE STRTLP; .........3.P
.LDA #.START; S.RE BOT.M OF LADS .O .P O
F ARRAY.MEM.Y.  PROTECT IT..A.Z.STA MEM.
P.P.D.STA BMEM.P.`.N.STA ARRAY.P.P.X.LDA
 #.START.....STA MEM.P.1.....STA BMEM.P.
1.....STA ARRAY.P.1;.........U. .LDA #1;
             .. SET .AULTS .......; HERE
 YOU CAN SET ANY ADDITI.AL .AULTS YOU WI
SH./...STA HXFLAG; TURN . HEX .ING FLAG.
J...STM0 LDA SCREEN,Y;            .. . S
OURCE FILE NAME ...V.H.CMP #32...R.BEQ S
TM1; CHECK . A.HER BLANK.....BCS STM3...
..CLC.V...ADC #64; ADJUST . LOW FII CHAR
ACTERS.....STM3 STA FIC,Y; S.RE CHARACTE
R IN FICAME BUFFER.....INY.2...JMP STM0;
 . A.HER CHARACTER.X...STM1 STA FIC,Y; C
HECK . 2ND BLANK.`.".INY.Q.,.LDA SCREEN,
Y...6.CMP #32; . NO 2ND BLANK SPACE.R.@.
BNE STM0;            . K BACK . M.E NAME
 (MIGHT BE 2 W.DS).Z.J.DEY...T.STY .AMEC
;  S.RE FICAME CGTH.*.^.JSR .1; . . FILE
 (SOURCE CODE FILE . DISK).A.H.;........
..........  RE.ENTRY PO. . PASS 2 ......
....R.SM.E JSR .SA; PO. DISKFILE . 1ST C
HARACTER IN SOURCE CODE...|.LDA #0.V...S
TA .FLAG; SET LADS.IS.OVER FLAG . DOWN..
...JSR INDISK; . A .GLE LINE OF SOURCE C
ODE.....LDA PASS; . 2ND PASS.U...BNE STA
RTLINE;         . JUMP OVER .ING OF LADS
 NAME.R...JSR PRNTCR; . CARRIAGE ......L
DA #230; . BLOCK GRAPHICS SYMBOL...B.JSR
 ....L.LDA #76;         L.C.V.JSR ..Z...
LDA #65;         A.....JSR ......LDA #68
;         D.....JSR ......LDA #83;      
   S.&...JSR ..G...JSR PRNTCR; A.HER CAR
RIAGE ....&.CKHEX LDA HEXFLAG; . START A
DDRESS NUMBER IS HEX, IT'S AL.Y TRANSLAT
ED. .0.BNE STAR1...:.LDA #.LABEL; IN THE
 LABEL BUFFER IS SOMETHING LIKE: .. 864.
$.D.STA TEMP; PUT THE ADDRESS OF THE BUF
FER .O THE PO.ER CALLED TEMP.4.N.LDA #.L
ABEL.C.X.STA TEMP.1...B.JSR EDEC; TURN F
II NUMBER .O A TWO.BYTE .EGER IN "RESULT
".M.L.STAR1 LDA RESULT;    .. S.RE OBJEC
T CODE'S STARTING ADDRESS IN SA,TA ...X.
V.STA SA.....STA TA.....LDA RESULT.1....
.STA SA.1.....STA TA.1.S...;............
....   ENTRY PO. . EACH . LINE OF SOURCE
 CODE  .........STARTLINE JSR .KEY:LDA .
FLAG:BEQ EVIND:JMP FINI; . LADS ASSEMBLY
 ..Y...; EITHER THE . (BREAK) KEY IS PRE
SSED . . THE .FLAG IS UP....F.;.#.P.EVIN
D JSR INDISK; OTHERWISE K . PULL IN A LI
NE FROM SOURCE CODE...Z.LDA #0.Y...STA .
RESSF; SET DOWN THE FLAG THAT SIGNALS A 
LABEL ARGUMENT LIKE LDA P.B...STA BUFLAG
; SET DOWN THE FLAG THAT SIGNALS # . ( D
URING ARRAY CHECK......LDY PASS;. PASS 1
, WE D.'T . LINE NUMBERS, ADDR. . ANYTHI
NG ELSE.....BNE M.EEV."...JMP MOE4.H...M
.EEV STY LOCFLAG; ZERO ADDRESS.TYPE LABE
L FLAG (LIKE: LABEL INY)... .;          
         THIS IS . THE INLINE SUBROUTINE
 BELOW..O.*.LDA SFLAG; SHOULD WE . . THE
 SCREEN...4.BEQ MX; . ., SKIP THIS PART.
..>.JSR PRNTLINE; . LINE NUMBER.*.H.JSR 
PRNTSPACE; . SPACE.G.R.JSR PRNTSA; . PC 
(PROGRAM COUNTER)."SA" IS THE VARIABLE..
Y.\.JSR PRNTSPACE...F.MX LDA PLUSFLAG; D
O WE HAVE A . PSEUDO OP...P.BEQ MOE4; . 
. SKIP...Z.JSR MATH; . SO, H.LE IT IN SU
BPROGRAM "MATH".4...MOE4 JMP FINDMN; LOO
K UP MNEM.IC (., . FINDING .E, IT'S A LA
BEL).T...; ........  EEUATE ARGUMENT.D..
.EVAR LDA TP.....BEQ TP1JMP; CHECK TYPE,
 . 0, NO ARGUMENT.....CMP #3; . . TYPE 3
, . .INUE EEUATI..E...BNE EVK.....LDA #1
; OTHERWISE, REPLACE 3 WITH 1 IN TP (TYP
E)...J.STA TP.A.T.LDA LABEL.3; IS THERE 
SOMETHING (. A ZERO) IN 4TH .ITI......BN
E EVK; EVK . ARGUMENT (. ., THERE'S NO A
RGUMENT,IT'S IMPLIED.....LDA #8; OTHERWI
SE, RAISE OP (OPCODE) BY 8.....CLC.E...A
DC OP.P...STA OP.....TP1JMP JMP TP1; . J
UMP . TYPE 1 (.GLE BYTE TYPES).....;....
...............\.$.EQLABEL LDA PASS; MOE
4 FOUND IT . BE A LABEL, . A MNEM.IC....
.BEQ EQLAB1; . PASS 1 WE D.'T CARE WHICH
 KIND OF LABEL IT IS SO WE...8.LDY #255;
 K DOWN . S.RE IT IN THE ARRAY (VIA EQLA
B1).!.B.EVX1 INY; BUT . PASS 2, WE NEED 
. DECIDE . IT'S A PC ADDRESS TYPE.H.L.LD
A LABEL,Y; LABEL (LIKE: LABEL INY) . AN 
EQUATE TYPE (LABEL . 15)...V.BEQ KNOAR; 
SO IN THIS LOOP WE LOOK . A BLANK WHILE 
S.RING THE...`.STA FIC,Y; LABEL NAME IN 
THE "FILEN" BUFFER. . WE FIND A 0, IT'S.
1.J.CMP #32; A NAKED LABEL (NO ARGUMENT 
. IT) WHICH CAUSES US . ..~.T.BNE EVX1;O
UT THAT ERR. MESSAGE (AT NOAR, IN EQUATE
).OTHERWISE, WE FIND A...~.INY; BLANK . 
FALL THROUGH . THIS LINE......LDA LABEL,
Y; WE RAISE Y BY 1 . CHECK . AN . SIGN..
....CMP #$3D.&...BNE .EQ; . ., IT'S A PC
 ADDRESS TYPE (SO SET LOCFLAG).H...JMP I
NLINE; . SO,WAS . TYPE SO IGN.E IT (. PA
SS 2) ...........W....EQ LDX #0.....STX 
LOCFLAG;(SHOWS .OUT . DO THIS TYPE OF LA
BEL . SCREEN..ER)...D.TXA; PUT A ZERO IN
 AT THE . OF THE LABEL NAME (AS A DELIMI
TER).>.N.STA FIC,Y; NOW WE HAVE . MOVE T
HE ARGUMENT P.TI. OF THIS LINE...X.EVX5 
LDA LABEL,Y; OVER . THE START OF THE "LA
BEL" BUFFER . FURTHER.....BEQ EVX4; ANAL
YSIS (0 DELIMITER HERE).....STA LABEL,X;
 WE CAN IGN.E THE PC LABEL (THIS IS PASS
 2), BUT WE.5...INX; NEED . EEUATE THE R
EST OF THE LINE FOLLOWING THAT LABEL..=.
..INY.^...JMP EVX5;....................S
...EVX4 STA LABEL,X.....JMP MOE4; JUMP .
 .INUE EEUATI....(.KNOAR JSR NOAR; . NO 
ARGUMENT MESSAGE (A SPRINGBOARD);.......
......2.EQLAB1 JSR EQUATE; PUT LABEL . I
T'S EUE .O THE ARRAY (PASS 1).9.<.JMP MO
E4; .INUE EEUATI..V.F.;.................
. TRANSLATE ARGUMENT LABELS .O NUMBERS..
.P.EVEXLAB LDA BUFFER; IS THIS 1ST CHARA
CTER ALPHABETIC (.64).A.Z.CMP #64...D.BC
S EVE1; . SO, K DOWN . FIND ITS EUE..$.N
.LDA BUFFER.1; . ., IT MUST HAVE BEEN A 
( . # SYMBOL.G.X.INC BUFLAG; . TELL ARRA
Y THAT ( . # WAS FOUND (. . IGN.E THEM).
....EVE1 E. #$80; SET 7TH BIT IN 1ST CHA
R. (. MATCH ARRAY S.RAGE METHOD).....STA
 W.K; . IT HERE TEMP.ARILY . COMPARE WIT
H ARRAY W.DS. ...JSR ARRAY;  EE. .RESSI.
 LABEL, SH.TED 1ST CHAR..`. .JMP L340; .
 .INUE . WITH EEUATI. (AFTER EUE IS IN "
RESULT").....;............... IS ARGUMEN
T NUMERIC . A LABEL.....EVK LDY #0.S...S
TY .RESSF; TURN OFF THE "IT'S A LABEL" F
LAG.....;................... SEE CHAPTER
 11 . DESCRIPTI. OF THIS ERR. TRAP.\.A.;
                                (TRAP . 
NAKED MNEM.ICS ERR.)...B.LDA LABEL.3:CMP
 #32:BEQ GVEG:JMP L700; (TEST . "INC:" T
YPE ERR.)...H.GVEG LDA LABEL.4,Y; CHECK 
5TH CHAR. (LDA NAME . LDA 25) (THE "N" .
 "2").%.R.CMP #65; . LESS THAN 65 (FII .
 "A") . IT'S A NUMBER.4...BCC EVMO2A.T..
.INC .RESSF; .65 . ALPHABETIC ARG (LABEL
) SO RAISE THIS FLAG.....EVMO2A STA BUFF
ER,Y; S.RE 1ST CHAR. OF ARGUMENT IN "BUF
FER" BUFFER.C...INY.....LDA LABEL.4,Y; L
OOK AT 2ND CHAR. IN THE ARGUMENT.(...BEQ
 EVMO3; . ZERO, WE'RE AT THE . SO MOVE .
.T...STA BUFFER,Y; OTHERWISE, S.RE 2ND C
HAR....".CMP #65; . LOWER THAN 65, D.'T 
RAISE LABEL.ARGUMENT FLAG...,.BCC EVMO2.
E.6.INC .RESSF; . HIGHER, DO RAISE IT...
@.EVMO2 INY; NOW MOVE REST OF ARGUMENT U
P . "BUFFER" BUFFER.=.J.LDA LABEL.4,Y; L
OOP . MOVE THE ARGUMENT .O THE BUFFER.|.
T.BEQ EVMO3; EVMO3 TAKES OVER AFTER . OF
 ARGUMENT IS REACHED...^.STA BUFFER,Y...
H.JMP EVMO2; . . M.E ARGUMENT CHARACTERS
..N.R.;..................|.EVMO3 DEY....
.STY ARGSIZE; .EMBER NUMBER OF CHARACTER
S IN ARGUMENT.\...LDA HEXFLAG; . IT'S HE
X, INDISK SUBPROGRAM AL.Y TRANSLATED IT 
. US.....BNE L340; SO K . . EEUATE ADDRE
SS MODE..F...LDA .RESSF; . IT'S A LABEL 
(. A NUMBER) . K . THE ROUTINE.. ..BNE E
VEXLAB; WHICH EEUATES .RESSI. (ARGUMENT)
 LABELS, "EVEXLAB".O ..; ..........  CAL
CULATE ARGUMENT'S EUE (. IT'S A DECIMAL 
NUMBER).. B.LDA #.BUFFER; MAKE "TEMP" PO
.ER PO. . "BUFFER".. L.STA TEMP.  V.LDA 
#.BUFFER.. ..STA TEMP.1.. ..LDY #0..!..L
DA BUFFER; IS 1ST CHARACTER HIGHER THAN 
48 (FII . THE NUMBER ZERO)..!..CMP #48.1
!..BCS MCAL; . SO, SKIP THIS PART.R!..CL
C; . ., THE 1ST CHARACTER MUST BE # . ( 
..... SO WE NEED ...!..INC TEMP; MAKE "T
EMP" PO. 1 CHARACTER HIGHER IN "BUFFER" 
...!&.BCC MCAL; AVOID HAVING THE FII . .
EGER SUBROUTINE THINK THAT THE.@"0.INC T
EMP.1; NUMBER STARTS WITH A # . ( ... TH
AT WOULD MESS THINGS UP...":.MCAL LDA (T
EMP),Y; NOW LOOK . THE . OF THE NUMBER: 
 ............."D.BEQ MCAL1; IT COULD . W
ITH A 0 (DELIMITER) ..."N.CMP #41; WITH 
A ) LEFT PARENTHESIS ..."X.BEQ MCAL1..#B
.CMP #44; WITH A , COMMA (AS IN: 15,Y) .
.&#L.BEQ MCAL1.[#V.CMP #32; WITH BLANK S
PACE (AS IN: #15  ;COMMENT).I#..BEQ MCAL
1..#..INY; . WE'VE . YET FOUND .E OF THE
SE 4 THINGS, .INUE LOOKING.T#..JMP MCAL;
..............................#..MCAL1 P
HA; . ACCUMULA.R..#..TYA.@$..PHA;. Y REG
ISTER(BY NOW, Y IS PO.ING AT THE SPACE J
UST AFTER THE #)..$..LDA #0; PUT DELIMIT
ER ZERO .O BUFFER JUST FOLLOWING NUMBER.
..$F.STA (TEMP),Y.T$P.JSR EDEC;K . THE F
II.NUMBER....EGER.NUMBER.IN."RESULT" ROU
TINE..$Z.PLA; . THE A . Y REGISTERS..$..
TAY..%..PLA.E%..STA (TEMP),Y; . "," . ")
" . THE BUFFER (. THE ADDR. ANALYSIS).K%
..;..%..;.........  ANALYZE THE ARGUMENT
 . DETERMINE ADDRES.G MODE ........%..;.
W%..; (THIS ESSENTIALLY AMOUNTS . MOD.YI
NG THE .IGINAL OPCODE ...&..;  REFLECT T
HE C.RECT ADDRES.G MODE.  ADJUSTMENTS . 
THE OPCODE "OP"._& .;  APPEAR RATHER .QU
ENTLY FROM HERE ..  THEIR .IC WILL . BE.
.&*.;  COMMENTED.  ADDING 4,8,16, . 24 .
 AN "OP" IS BASED . THE..&4.;  RELATI.SH
IPS WITHIN THE OPCODE TABLE (SEE CHAPTER
 9 . .LANATI.)..&>.;.0'H.L340 LDA BUFFER
; 1ST CHAR. OF THE ARGUMENT (THE "#" IN 
LDA #15).<'R.CMP #35..'\.BEQ JIMMED; # S
YMBOL FOUND (SO IMMEDIATE MODE).  BRANCH
 . SPRINGBOARD.K'F.CMP #40; IS IT A "(" 
LEFT PARENTHESIS.  . SO, K . INDIRECT AD
DR..Y'P.BEQ INDIR..(Z.LDA TP; IS IT A RE
LATIVE ADDR. MODE (LIKE BNE, BEQ)...(..C
MP #8.J(..BEQ REL; . SO, K . WHERE THEY 
ARE H.LED..}(..CMP #3; ADD 8 . OP AT THI
S PO. . IT'S A TYPE 3..(..BNE EVMO5..(..
LDA #8..(..CLC..(..ADC OP..(J.STA OP..(T
.JMP TP1; . JUMP . THE .GLE BYTE TYPES (
IMPLIED ADDRES.G).2)..INDIR LDY ARGSIZE;
 H.LE INDIRECT ADDRES.G.................
...P)..LDA BUFFER,Y; LOOK AT THE LAST CH
ARACTER IN THE ARGUMENT...)..CMP #41; IS
 IT A ")" LEFT PARENTHESIS..)..BEQ MINDI
R; . SO, H.LE THAT TYPE..K)..LDA TP..)..
CMP #1; . TYPE 1, ADD 16 AT THIS PO. . O
PCODE..*..BNE MINDIR..*$.LDA #16. *..CLC
.+*8.ADC OP.6*B.STA OP.E*L.MINDIR LDA TP
; TYPE 6 IS A JUMP INSTRUCTI..P*V.CMP #6
..*`.BEQ JJUMP; SO K . THE JUMP.H.LING R
OUTINE..*J.JMP TWOS; OTHERWISE, IT MUST 
BE A 2.BYTE TYPE SO ... IT.;.........+T.
JIMMED JMP IMMED; SPRINGBOARD . IMMEDIAT
E MODE TYPES..D+~.;.....................
.......... H.LE RELATIVE ADDRESS (BNE) T
YPES..+..REL LDA PASS; . PASS 1, D.'T BO
THER, JUST INCREASE PC BY 2..+..BNE MREL
..+..JMP TWOS..+..MREL SEC; . PASS 2, SU
BTRACT PC FROM ARGUMENT . . REL. BRANCH.
.,..LDA RESULT..,..SBC SA.4,D.PHA; . LOW
 BYTE ANSWER.E,N.LDA RESULT.1.R,X.SBC SA
.1..,..BCS .; . ARGUMENT . CURRENT PC, .
 IT'S A BRANCH .WARD..,..CMP #$FF..,..BE
Q MPXS..,..PLA..,..JMP DOBERR..,..MPXS P
LA; OTHERWISE, CHECK . OUT OF RANGE BRAN
CH ATTEMPT.--..BPL BERR; OUT OF RANGE (.
 ERR. MESSAGE "BERR").Y-(.JMP RELM; . JU
MP . REL C.CLUSI. ROUTINE..-2.. BEQ MPXS
1; CHECK .WARD BRANCH OUT OF RANGE..-<.P
LA..-F.JMP DOBERR..-P.MPXS1 PLA..-Z.BPL 
RELM; WITHIN RANGE......................
....D.BERR JMP DOBERR; . "BRANCH OUT OF 
RANGE" ERR. MESSAGE.X.N.RELM SEC; FINISH
 UP REL. ADDR. TYPE ....................
...X.SBC #2; C.RECT . THE FACT THAT BRAN
CHES ARE CALCULATED FROM THE.....STA RES
ULT; INSTRUCTI. FOLLOWING THEM:  BNE LOO
P:LDA 15 WOULD BE../..LDA #0;     CALCUL
ATED FROM THE PC OF THE LDA 15.'/..STA R
ESULT.1.C/ .JMP TWOS; NOW K . THE 2.BYTE
 ... (WITH C.RECT ARGUMENT)../..;.......
........................ .INUE ADDR. MOD
E ANALYSIS../..EVMO5 LDY ARGSIZE../..DEY
../H.LDA BUFFER,Y; LOOK AT LAST CHARACTE
R OF ARGUMENT.50R.CMP #44; . IT'S . A CO
MMA, . THIS MUST BE A JUMP INSTRUCTI..C0
..BNE JJUMP; SO K . THE JUMP.H.LING ROUT
INE.K0..INY..0..JMP XYTYPE; OTHERWISE, I
T MUST BE A ,X . ,Y TYPE;...............
.S0..JJUMP LDA OP; H.LE JMP MNEM.IC..1..
CMP #76; . THE OPCODE ISN'T 76, IT'S . A
 JUMP.+1..BNE MEV; SO LOOK . SOMETHING E
LSE.N1..JMP JUMP; NOW SPRINGBOARD . THE 
JUMP.H.LING ROUTINE.............1".MEV L
DA RESULT.1; . HIGH BYTE OF RESULT ISN'T
 ZERO (ZERO PG. ADDR)..1,.BNE PREPTHREES
; . K . THE 3.BYTE INSTRUCTI.S (LINE 400
)..26.LDA TP; OTHERWISE, IT'S ZERO PAGE 
MODE.N2;.CMP #9:BEQ PREPTHREES; H.LE JSR
S .O ZERO PAGE..2@.CMP #6; . HIGHER THAN
 TYPE 6, IT'S AN .DINARY 2.BYTE TYPE..2J
.BCS TWOS; SO K THERE..J2T.CMP #2; . TYP
E 2, ALSO K THERE..W2^.BEQ TWOS..3H.LDA 
#4; OTHERWISE, ADD 4 . OPCODE . FALL THR
OUGH .O TWO.BYTE TYPE.%3R.CLC.03|.ADC OP
.;3..STA OP.|3..;.......................
........  2 BYTE TYPES (LIKE LDA 12)..3.
.TWOS JSR .MAT; ... OPCODE..3..JSR .2; .
 ... ARGUMENT..3..JMP INLINE; . FINALLY 
PREPARE . FETCH . LINE OF SOURCECODE (20
00).*4..;...............................
  H.LE JMP.\4B.JUMP LDY ARGSIZE; IS IT J
MP 1500 . JMP (1500)..4L.LDA BUFFER,Y;  
)  AT THE . PROVES IT'S AN INDIRECT JUMP
 SO..4V.CMP #41..4..BNE JUMO..4..LDA #10
8;         WE MUST CHANGE THE OPCODE FRO
M 76 . 108..4..STA OP.85..JUMO JMP THREE
S; TREAT IT AS A N.MAL 3.BYTE INSTRUCTI.
.Y5..;............................... IM
MEDIATE ADDRES.G (# TYPE)..5..IMMED LDA 
BUFFER.1.K5..CMP #""; IS THIS A CHARACTE
R . PSEUDO.OP LIKE: LDA #"A.Z5&.BNE IMME
DX..60.LDA BUFFER.2; . SO, PUT THE FII C
HAR. .O "RESULT" (ARGUMENT).*6:.STA RESU
LT.<6D.IMMEDX LDA TP.G6N.CMP #1..6X.BNE 
TWOS; . IT'S TYPE 1, ADJUST OPCODE BY AD
DING 8 . IT...6B.LDA #8..6L.CLC:ADC OP:S
TA OP..6V.JMP TWOS..6..;................
............... 1 BYTE TYPES.!7..TP1 JSR
 .MAT; JUST . OPCODE . THESE, THERE'S NO
 ARGUMENT.=7..JMP INLINE; (LINE 1000).O7
..;............................... 3 BYT
E TYPES..7..PREPTHREES LDA TP; SEVERAL O
PCODE ADJUSTMENTS (BASED . TYPE)..7..CMP
 #2.G7..BEQ PTT..7F.CMP #7; (LINE 430)..
7P.BNE PT1..7Z.PTT LDA OP..8..CLC..8..AD
C #8..8..STA OP.&8..JMP THREES.58..PT1 C
MP #6.D8..BCS THREES.O8 .LDA OP.W8*.CLC.
C84.ADC #12.N8>.STA OP..8H.THREES JSR .M
AT; ... OPCODE..8R.JSR .3; ... 2 BYTES O
F THE ARGUMENT   (3000)..8\.;...........
.......................... PREPARE . . A
 . LINE.'9F.;. MAIN . . COMMENTS, . . ST
ARTLINE.C9P.INLINE LDA PASS; . PASS 1, I
GN.E THIS WHOLE .OUT THING..Q9Z.BNE NLOX
1.}9..JMP JST..9..NLOX1 LDA SFLAG; LIKEW
ISE, . SCREENFLAG IS DOWN, IGN.E..F9..BN
E NLOX.R9..JMP JST..:..NLOX LDA LOCFLAG;
 ANY PC ADDRESS LABEL . ..6:..BNE PRMMX1
; NO LOC . . (RVS FLAG USAGE, . SPEED).M
:..LDA .FLAG; . . .ER.Z:J.BEQ PRMM.F:T.L
DA #20.N:..SEC..:..SBC CUR.; SUBTRACT CU
RRENT CURS. .ITI..N:..STA A; MOVE THE CU
RS. . 20TH COLUMN . THE SCREEN..:..JSR .
CHN; PREPARE .ER . . BLANKS..:..LDX #4..
;..JSR CHKOUT..;..LDY A.%;$.BPL PRXM1.0;
..LDY #2.?;8.JMP PRMLOP.Q;B.PRXM1 LDA #3
2..;L.PRMLOP JSR .;................ . BL
ANKS . .ER..;V.DEY..;`.BNE PRMLOP; . M.E
 BLANKS . .ER;................W;J.JSR .C
HN; . N.MAL I.O..;T.LDX #1..;~.JSR CHKIN
.'<..PRMM LDA #20; PUT 20 .O CURRENT SCR
EEN CURS. .ITI..4<..STA CUR..H<..LDA #.F
IC; PO. "TEMP" . PC ADDRESS LABEL . .OUT
.U<..STA TEMP..<..LDA #.FIC..<..STA TEMP
.1..<D.JSR PRNTMESS; . LOCATI. LABEL;...
.........<N.PRMMX1 LDA #30; MOVE CURS. .
 30TH COLUMN..<X.SEC..=..SBC CUR..9=..ST
A X; . OFFSET FROM CURRENT .ITI. (30..IT
I.) . .ER.E=..LDA #30.O=..STA CUR.; SET 
SCREEN CURS. .ITI. . 30..=..LDA .FLAG; D
O WE NEED . . BLANKS . THE .ER..=..BEQ P
RMMFIN.W=..JSR .CHN; ALERT .ER . RECEIVE
 BLANKS..=(.LDX #4..=2.JSR CHKOUT..=<.LD
Y X. >F.BEQ PXMX; H.LE NO BLANKS (IGN.E)
.Q>P.BMI PXMX; H.LE .O MANY BLANKS (.127
) (IGN.E).]>Z.LDA #32..>D.PRMLOPX JSR .;
 . BLANKS . .ER . .MATTING..........>N.D
EY.B>X.BNE PRMLOPX; . M.E BLANKS........
....>..PXMX JSR .CHN; . N.MAL I.O..>..LD
X #1.,?..JSR CHKIN;.....................
.............................I? .PRMMFIN
 JSR PRNT.; . MAIN . BUFFER (BULK OF SOU
RCE LINE)..?..LDA BYTFLAG; IS THERE A . 
. . PSEUDO.OP . . ...............A?..BEQ
 PRXM; H.LE . . ...?..CMP #1; 1 IN BYTFL
AG MEANS ...?H.BNE MO5..?R.LDA #60..@..J
MP PRMO..@..MO5 LDA #62; . ..+@..PRMO JS
R ..[@..JSR PTP1; . . . ..  PTP1 IS . .E
R............@..PRXM LDA BABFLAG; IS THE
RE ANY COMMENT . . (SOMETHING FOLLOWING 
;).A@..BEQ RETTX; . ., SKIP THIS...A..JS
R PRNTSPACE; . A SPACE........  . COMMEN
TS FIELD ............A".LDA #59; . A SEM
ICOL..'A,.JSR ..AA6.LDA #.BABUF; PO. "TE
MP" . THE COMMENTS BUFFER "BABUF".NA@.ST
A TEMP.~AJ.LDA #.BABUF..AT.STA TEMP.1..A
^.JSR PRNTMESS; . WHAT'S IN THE COMMENTS
 BUFFER..AH.RETTX JSR PRNTCR; . CARRIAGE
 ...BR.LDA .FLAG; . .FLAG IS UP, JUMP . 
THE SHUTDOWN ROUTINE.)B|.BNE FINI.KB..JS
T JMP STARTLINE; OTHERWISE K BACK UP . .
 THE . SOURCE LINE...B..;...............
...................... THE . OF A PASS (
1 . 2)..B..FINI LDA PASS..B..BNE FIN; . 
IT'S PASS 2, SHUT EVERYTHING DOWN..2C..I
NC PASS; OTHERWISE, CHANGE PASS 1 . PASS
 TWO (IN THE FLAG).YC..LDA TA; PUT THE .
IGINAL START ADDR. .O THE PC PROGRAM COU
NTER (SA)..CB.STA SA..CL.LDA TA.1..CV.ST
A SA.1.CC..JSR .CHN; . .DINARY I.O C.DIT
I.S.NC..LDA #1..C..JSR  ;   . FILE..D..J
SR .1; . . FILE (PO. IT . THE 1ST BYTE I
N THE FILE).BD..JMP SM.E; PASS 1 FINISHE
D, START PASS 2 (ENTRY PO. . PASS 2)....
...HD..;..D..;................... SHUT D
OWN LADS OPERATI.S . . . BASIC .......KD
&.FIN JSR .CHN; . N.MAL I.O.VD0.LDA #1..
D:.JSR  ;   SOURCE CODE . FILE..ED.LDA #
2..EN.JSR  ;   OBJECT CODE OUTPUT FILE (
. ANY).OEX.LDA .FLAG; IS THE .ER ACTIVE.
SEB.BEQ FINFIN; . ., JUST . . BASIC..EL.
JSR .CHN; OTHERWISE SHUT DOWN .ER, GRACE
FULLY...EV.LDX #4..E..JSR CHKOUT..E..LDA
 #13;        BY .ING A CARRIAGE ...E..JS
R ...F..JSR .CHN..F..LDA #4..F..JSR  .6F
..FINFIN JMP .BASIC; . . BASIC.<FF.;.~FP
.;..................................... 
 ,X . ,Y ADDRES.G TYPE..FZ.XYTYPE LDA BU
FFER,Y; LOOK AT LAST CHAR. IN ARGUMENT.N
F..CMP #88; IS IT AN X..F..BEQ L720..G..
DEY; OTHERWISE, LOOK AT THE 3RD CHAR. FR
OM . OF ARGUMENT. G..DEY.OG..LDA BUFFER,
Y; IS IT A  )  LEFT PARENTHESIS.[G..CMP 
#41..G .BNE ZEROY; . ., IT'S . AN INDIRE
CT ADDR. MODE.BG*.JMP INDIR; . SO, IT IS
 AN INDIRECT ADDRES.G MODE..H4.ZEROY LDA
 RESULT.1; CHECK HIGH BYTE OF RESULT (ZE
RO PG. . .)..H>.BNE L680; ZERO Y TYPE.DH
H.LDA TP; ADJUST OPCODE BASED . TYPE.OHR
.CMP #2.\H\.BEQ L730.GHF.CMP #5.THP.BEQ 
L730.HZ.CMP #1..H..BEQ L760..H..L680 LD
A TP..H..CMP #1..H..BNE L690..H..LDA OP.
GH..CLC.SH..ADC #24..HJ.STA OP..HT.JMP T
HREES..H..L690 LDA TP..I..CMP #5..I..BEQ
 M6. I..LDA #$31.*I..JSR P.7I..JMP L700.
EI..M6 LDA OP.MI$.CLC.YI..ADC #28.DI8.ST
A OP.SIB.JMP THREES..IL.;........... . A
 SYNTAX ERR. MESSAGE ...................
.IV.L700 JSR ERRING; RING ERR. BELL . TU
RN . REVERSE CHARACTERS..J`.JSR PRNTLINE
; . LINE NUMBER.AJJ.LDA #.MERR.; PO. "TE
MP" . SYNTAX ERR. MESSAGE.NJT.STA TEMP.^
J~.LDA #.MERR..MJ..STA TEMP.1..J..JSR PR
NTMESS:JSR PRNTCR; . THE MESSAGE.EJ..JMP
 INLINE; K . THE ..THE...LINE ROUTINE..K
..;.............................. .INUE 
ANALYSIS OF ADDR. MODE.?K..L720 LDA RESU
LT.1; MAKE FURTHER ADJUSTMENTS . OPCODE.
YK..BNE L780; . ZERO PAGE.IKD.L730 LDA T
P.TKN.CMP #2..KX.BNE L740..K..LDA #16..K
..CLC. K..ADC OP..K..STA OP..K..JMP TWOS
.HK..L740 CMP #1.UK..BEQ L759..K(.CMP #3
..K2.BEQ L759..K<.CMP #5..LF.BEQ L759..L
P.L750 LDA #$32.!LZ.JSR P..LD.JMP L700.?
LN.L759 LDA #20.GLX.CLC.RL..ADC OP.]L..S
TA OP..L..; .......... SEE CHAPTER 11 . 
.LANATI. OF THIS ERR. TRAP ........L..L7
60 LDA BUFFER.2,Y:CMP #89:BNE ML760; ...
 ERR. TRAP . LDA (15,Y).0M..LDA OP:CMP #
182:BEQ ML760; IS THE MNEM.IC LDX (. SO,
 MODE IS C.RECT).IM..JMP L680; . ., JUMP
 . MAKE IT (LDA $0015,Y) .OLUTE Y.|M..ML
760 JMP TWOS..M..;......................
..............M .L780 LDA TP..M..CMP #2.
LM..BNE L790.XM..LDA #24..MH.CLC..MR.ADC
 OP..M..STA OP..N..JMP THREES..N..L790 C
MP #1."N..BEQ L809.-N..CMP #3.:N..BEQ L8
09.EN..CMP #5.RN".BEQ L809.DN,.L800 LDA 
#$33.NN6.JSR P.{N@.JMP L700..NJ.L809 LDA
 #28..NT.CLC..N^.ADC OP..NH.STA OP..NR.J
MP THREES;    . OF ADDR. MODE EEUATI.S .
 ADJUSTMENTS..N|.;.&O..;................
.... ERR. REP.TING . DEBUGGING (.S PC).O
O..P STA A; WHEN YOU INSERT A "JSR P" .O
 YOUR SOURCE CODE, THIS ROUTINE..O..STY 
Y; WILL . THE PC FROM WHICH YOU JSR'ED..
XO..STX X;  AFTER AN RTS, THIS WILL REVE
AL THE JSR ADDR...P..LDA #$BA; . A GRAPH
ICS SYMBOL . SIGNAL THAT THE PC IS . FOL
LOW.%P..JSR ..XPB.PLA; . THE RTS ADDRESS
 (. KEEP THE STACK .ACT).`PL.TAX.HPV.PLA
.PP..TAY.XP..TYA..P..PHA..P..TXA..P..PHA
..P..TYA..P..JSR OUTNUM; . THE PC ADDRES
S..VP&.LDA A; . THE REGISTERS...P0.LDY Y
..P:.LDX X..PD.RTS..QN.;................
...........[QX.CLEANLAB LDY #0; FILLS MA
IN . BUFFER ("LABEL") WITH ZERO. CLEANS 
IT..CQB.TYA.ZQL.CLEM.E STA LABEL,Y..QV.I
NY..Q..CPY #80..Q..BNE CLEM.E..Q..RTS..Q
..; .......... BRANCH OUT OF RANGE ERR. 
MESSAGE...............!R..DOBERR JSR PRN
TCR; . "BRANCH OUT OF RANGE" ERR. MESSAG
E.0R..JSR ERRING.TR..JSR PRNTLINE; . THE
 LINE NUMBER..RF.LDA #.MB.; PO. "TEMP" .
 THE ERR. MESSAGE "MBOR"..RP.STA TEMP; (
MESSAGE BRANCH OUT OF RANGE, MB.).GRZ.LD
A #.MB..VR..STA TEMP.1..R..JSR PRNTMESS;
 . THE MESSAGE..S..JSR PRNTCR; . A CARRI
AGE . ..ZS..JMP TWOS; BUNGLE AS AN .DINA
RY 2.BYTE EVENT (. KEEP PC C.RECT).|S..;
..............................S...FILE E
QUATE...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL