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

PONZO TUTOR NO 5

FILE INFORMATION

FILENAME(S): PONZO TUTOR NO 5

FILE TYPE(S): PRG

FILE SIZE: 16.4K

FIRST SEEN: 2025-11-30 21:15:11

APPEARS ON: 1 disk(s)

FILE HASH

052b09fac5f3b59b078a1521c2cd01b89d4072f23f1a333f5d24dffed2e339ed

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
PONZO TUTOR PONZO TUTOR NO 5 PRG DuncanTwain 25 9 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 21 08 00 00 8F 22  14 14 14 14 14 14 14 20  |..!...."....... |
00000010: 50 4F 4E 5A 4F 2A 38 33  2A 57 41 54 45 52 4C 4F  |PONZO*83*WATERLO|
00000020: 4F 00 2E 08 01 00 8F 22  14 14 14 14 14 14 00 4B  |O......".......K|
00000030: 08 0A 00 97 35 33 32 38  31 2C 31 35 3A 97 35 33  |....53281,15:.53|
00000040: 32 38 30 2C 31 32 3A 99  22 90 22 00 6E 08 0B 00  |280,12:.".".n...|
00000050: 99 22 93 20 20 20 20 20  20 20 20 20 20 20 20 20  |.".             |
00000060: 20 12 1F 43 36 34 20 54  55 54 4F 52 2D 35 00 9E  | ..C64 TUTOR-5..|
00000070: 08 0C 00 99 22 1C B0 C0  C0 C0 C0 C0 C0 C0 C0 C0  |...."...........|
00000080: C0 C0 C0 C0 C0 C0 C0 C0  C0 C0 C0 C0 C0 C0 C0 C0  |................|
00000090: C0 C0 C0 C0 C0 C0 C0 C0  C0 C0 C0 C0 AE 22 00 E2  |............."..|
000000A0: 08 0D 00 99 22 DD 20 12  1F 54 48 45 20 41 44 43  |....". ..THE ADC|
000000B0: 27 53 20 4F 46 20 36 35  31 30 20 4D 41 43 48 49  |'S OF 6510 MACHI|
000000C0: 4E 45 20 4C 41 4E 47 55  41 47 45 20 1C 92 20 DD  |NE LANGUAGE .. .|
000000D0: 22 3A 4D 53 24 B2 22 20  57 45 4C 43 4F 4D 45 21  |":MS$." WELCOME!|
000000E0: 20 22 00 13 09 0E 00 99  22 1C AD C0 C0 C0 C0 C0  | "......".......|
000000F0: C0 C0 C0 C0 C0 C0 C0 C0  C0 C0 C0 C0 C0 C0 C0 C0  |................|
00000100: C0 C0 C0 C0 C0 C0 C0 C0  C0 C0 C0 C0 C0 C0 C0 C0  |................|
00000110: BD 90 22 00 2C 09 1E 00  8D 36 30 30 30 30 3A 8D  |..".,....60000:.|
00000120: 36 33 31 30 30 3A 8D 36  33 30 30 30 00 5A 09 1F  |63100:.63000.Z..|
00000130: 00 99 22 93 11 11 54 48  45 20 12 4D 92 49 43 52  |.."...THE .M.ICR|
00000140: 4F 12 50 92 52 4F 43 45  53 53 4F 52 20 12 55 92  |O.P.ROCESSOR .U.|
00000150: 4E 49 54 20 28 4D 50 55  29 22 00 7C 09 20 00 99  |NIT (MPU)".|. ..|
00000160: 22 11 49 4E 20 54 48 45  20 43 36 34 20 49 53 20  |".IN THE C64 IS |
00000170: 54 48 45 20 12 36 35 31  30 92 2E 22 00 A6 09 21  |THE .6510.."...!|
00000180: 00 99 22 11 48 45 20 28  53 48 45 3F 29 20 57 49  |..".HE (SHE?) WI|
00000190: 4C 4C 20 4F 42 45 59 20  59 4F 55 52 20 43 4F 4D  |LL OBEY YOUR COM|
000001A0: 4D 41 4E 44 53 22 00 D2  09 22 00 99 22 11 49 46  |MANDS"..."..".IF|
000001B0: 20 59 4F 55 20 43 41 4E  20 53 50 45 41 4B 20 54  | YOU CAN SPEAK T|
000001C0: 48 45 20 52 49 47 48 54  20 4C 41 4E 47 55 41 47  |HE RIGHT LANGUAG|
000001D0: 45 22 00 FD 09 23 00 99  22 11 2E 2E 2E 41 4E 44  |E"...#.."....AND|
000001E0: 20 54 48 41 54 27 53 20  20 12 4D 41 43 48 49 4E  | THAT'S  .MACHIN|
000001F0: 45 20 4C 41 4E 47 55 41  47 45 92 2E 22 00 28 0A  |E LANGUAGE..".(.|
00000200: 24 00 99 22 11 57 45 27  4C 4C 20 4C 45 41 52 4E  |$..".WE'LL LEARN|
00000210: 20 53 4F 4D 45 20 12 4D  41 43 48 49 4E 45 20 4C  | SOME .MACHINE L|
00000220: 41 4E 47 55 41 47 45 22  00 42 0A 25 00 99 22 11  |ANGUAGE".B.%..".|
00000230: 49 4E 20 54 48 49 53 20  54 55 54 4F 52 49 41 4C  |IN THIS TUTORIAL|
00000240: 2E 22 00 6E 0A 26 00 99  22 11 42 55 54 20 4C 45  |.".n.&..".BUT LE|
00000250: 54 27 53 20 4C 45 54 20  54 48 45 20 12 36 35 31  |T'S LET THE .651|
00000260: 30 92 20 54 45 4C 4C 20  49 54 2E 2E 2E 22 00 79  |0. TELL IT...".y|
00000270: 0A 27 00 8D 36 33 30 30  30 00 A6 0A 28 00 99 22  |.'..63000...(.."|
00000280: 93 A6 A6 A6 A6 A6 A6 A6  A6 A6 A6 A6 A6 12 54 48  |..............TH|
00000290: 45 20 36 35 31 30 92 A6  A6 A6 A6 A6 A6 A6 A6 A6  |E 6510..........|
000002A0: A6 A6 A6 A6 A6 22 00 CE  0A 2D 00 99 22 11 D1 57  |....."...-.."..W|
000002B0: 45 27 56 45 20 47 4F 54  20 41 20 4E 55 4D 42 45  |E'VE GOT A NUMBE|
000002C0: 52 20 4F 46 20 49 4E 54  45 52 4E 41 4C 22 00 FA  |R OF INTERNAL"..|
000002D0: 0A 32 00 99 22 11 27 52  45 47 49 53 54 45 52 53  |.2..".'REGISTERS|
000002E0: 27 20 57 48 49 43 48 20  48 4F 4C 44 20 38 2D 42  |' WHICH HOLD 8-B|
000002F0: 49 54 20 42 49 4E 41 52  59 22 00 2B 0B 3C 00 99  |IT BINARY".+.<..|
00000300: 22 11 4E 55 4D 42 45 52  53 28 42 59 54 45 53 29  |".NUMBERS(BYTES)|
00000310: 20 46 52 4F 4D 20 24 30  30 20 54 4F 20 24 46 46  | FROM $00 TO $FF|
00000320: 20 28 49 4E 20 48 45 58  29 2E 22 00 56 0B 41 00  | (IN HEX).".V.A.|
00000330: 99 22 11 D1 57 45 20 43  41 4C 4C 20 54 48 45 4D  |."..WE CALL THEM|
00000340: 20 27 41 27 20 41 4E 44  20 27 58 27 20 41 4E 44  | 'A' AND 'X' AND|
00000350: 20 27 59 27 2E 22 00 7F  0B 42 00 99 22 11 28 57  | 'Y'."...B..".(W|
00000360: 45 20 48 41 56 45 20 41  20 46 45 57 20 4D 4F 52  |E HAVE A FEW MOR|
00000370: 45 2E 2E 42 55 54 20 57  41 49 54 2E 2E 29 22 00  |E..BUT WAIT..)".|
00000380: A7 0B 46 00 99 22 11 D1  59 4F 55 20 4D 41 59 20  |..F.."..YOU MAY |
00000390: 4C 4F 41 44 20 54 48 45  4D 20 57 49 54 48 20 4E  |LOAD THEM WITH N|
000003A0: 55 4D 42 45 52 53 22 00  D1 0B 50 00 99 22 11 41  |UMBERS"...P..".A|
000003B0: 4E 44 20 50 45 52 46 4F  52 4D 20 41 44 44 49 54  |ND PERFORM ADDIT|
000003C0: 49 4F 4E 2C 53 55 42 54  52 41 43 54 49 4F 4E 2C  |ION,SUBTRACTION,|
000003D0: 22 00 F9 0B 5A 00 99 22  11 54 45 53 54 53 20 46  |"...Z..".TESTS F|
000003E0: 4F 52 20 5A 45 52 4F 20  2C 20 3E 20 2C 20 3C 20  |OR ZERO , > , < |
000003F0: 45 54 43 2E 45 54 43 2E  22 00 28 0C 64 00 99 22  |ETC.ETC.".(.d.."|
00000400: 11 D1 4C 45 54 27 53 20  47 4F 20 54 48 52 4F 55  |..LET'S GO THROU|
00000410: 47 48 20 53 4F 4D 45 20  4F 46 20 54 48 45 53 45  |GH SOME OF THESE|
00000420: 20 12 36 35 31 30 92 22  00 43 0C 6E 00 99 22 11  | .6510.".C.n..".|
00000430: 43 4F 4D 4D 41 4E 44 53  2E 2E 2E 22 3A 8D 36 33  |COMMANDS...":.63|
00000440: 30 30 30 00 52 0C 78 00  99 22 93 22 41 24 58 24  |000.R.x.."."A$X$|
00000450: 59 24 00 7B 0C 82 00 99  53 44 24 22 48 45 52 45  |Y$.{....SD$"HERE|
00000460: 20 41 52 45 20 41 20 46  45 57 20 4F 46 20 54 48  | ARE A FEW OF TH|
00000470: 45 20 43 4F 4D 4D 41 4E  44 53 22 00 95 0C 8C 00  |E COMMANDS".....|
00000480: 99 22 11 49 4E 20 4D 59  20 52 45 50 45 52 54 4F  |.".IN MY REPERTO|
00000490: 49 52 45 3A 22 00 A0 0C  96 00 8D 36 33 32 30 30  |IRE:"......63200|
000004A0: 00 B1 0C A0 00 99 22 12  4C 44 41 20 23 24 46 33  |......".LDA #$F3|
000004B0: 22 00 DE 0C AA 00 99 22  11 12 4C 92 4F 41 12 44  |"......"..L.OA.D|
000004C0: 92 20 54 48 45 20 12 41  92 43 43 55 4D 55 4C 41  |. THE .A.CCUMULA|
000004D0: 54 4F 52 20 57 49 54 48  20 20 54 48 45 22 00 FD  |TOR WITH  THE"..|
000004E0: 0C B4 00 99 22 11 4E 55  4D 42 45 52 20 46 33 20  |....".NUMBER F3 |
000004F0: 49 4E 20 48 45 58 2E 2E  23 24 46 33 22 00 22 0D  |IN HEX..#$F3".".|
00000500: BE 00 99 22 11 54 48 49  53 20 49 53 20 41 4E 20  |...".THIS IS AN |
00000510: 12 49 4D 4D 45 44 49 41  54 45 92 20 4C 4F 41 44  |.IMMEDIATE. LOAD|
00000520: 2E 22 00 5A 0D C8 00 4D  53 24 B2 22 20 20 41 3D  |.".Z...MS$."  A=|
00000530: 23 24 46 33 20 20 22 3A  8D 36 33 33 30 30 3A 4E  |#$F3  ":.63300:N|
00000540: 24 B2 22 31 31 31 31 30  30 31 31 22 3A 8D 34 30  |$."11110011":.40|
00000550: 31 31 30 3A 8D 36 33 32  30 30 00 83 0D D2 00 99  |110:.63200......|
00000560: 22 12 4C 44 58 20 23 24  41 42 22 3A 4D 53 24 B2  |".LDX #$AB":MS$.|
00000570: 22 20 20 58 3D 23 24 41  42 20 20 22 3A 8D 36 33  |"  X=#$AB  ":.63|
00000580: 33 30 30 00 A3 0D D7 00  4E 24 B2 22 31 30 31 30  |300.....N$."1010|
00000590: 31 30 31 31 22 3A 8D 34  30 31 33 30 3A 8D 36 33  |1011":.40130:.63|
000005A0: 32 30 30 00 E1 0D DC 00  99 22 12 4C 44 59 20 23  |200......".LDY #|
000005B0: 24 44 44 22 3A 4D 53 24  B2 22 20 20 59 3D 23 24  |$DD":MS$."  Y=#$|
000005C0: 44 44 20 20 22 3A 8D 36  33 33 30 30 3A 4E 24 B2  |DD  ":.63300:N$.|
000005D0: 22 31 31 30 31 31 31 30  31 22 3A 8D 34 30 31 34  |"11011101":.4014|
000005E0: 30 00 1B 0E E6 00 8D 36  33 32 30 30 3A 99 22 12  |0......63200:.".|
000005F0: 54 41 58 22 3A 99 22 11  12 54 92 52 41 4E 53 46  |TAX":."..T.RANSF|
00000600: 45 52 20 43 4F 4E 54 45  4E 54 53 20 4F 46 20 12  |ER CONTENTS OF .|
00000610: 41 92 20 54 4F 20 12 58  92 2E 22 00 45 0E EB 00  |A. TO .X..".E...|
00000620: 4D 53 24 B2 22 20 20 20  58 3D 41 20 20 20 20 22  |MS$."   X=A    "|
00000630: 3A 8D 36 33 33 30 30 3A  8D 34 31 31 33 30 3A 8D  |:.63300:.41130:.|
00000640: 36 33 32 30 30 00 88 0E  F0 00 99 22 12 54 59 41  |63200......".TYA|
00000650: 22 3A 99 22 11 12 54 92  52 41 4E 53 46 45 52 20  |":."..T.RANSFER |
00000660: 43 4F 4E 54 45 4E 54 53  20 4F 46 20 12 59 92 20  |CONTENTS OF .Y. |
00000670: 54 4F 20 12 41 92 2E 22  3A 4D 53 24 B2 22 20 20  |TO .A..":MS$."  |
00000680: 20 41 3D 59 20 20 20 22  00 A1 0E F5 00 8D 36 33  | A=Y   "......63|
00000690: 33 30 30 3A 8D 34 31 34  31 30 3A 8D 36 33 32 30  |300:.41410:.6320|
000006A0: 30 00 C7 0E FA 00 99 22  2E 2E 41 4E 44 20 54 48  |0......"..AND TH|
000006B0: 45 52 45 27 53 20 12 54  58 41 92 20 41 4E 44 20  |ERE'S .TXA. AND |
000006C0: 12 54 41 59 92 2E 22 00  ED 0E 0E 01 99 22 11 11  |.TAY.."......"..|
000006D0: 12 48 45 52 45 20 41 52  45 20 53 4F 4D 45 20 4D  |.HERE ARE SOME M|
000006E0: 4F 52 45 92 3A 22 3A 8D  36 33 32 30 30 00 32 0F  |ORE.:":.63200.2.|
000006F0: 18 01 99 22 12 49 4E 58  92 22 3A 99 22 11 12 49  |...".INX.":."..I|
00000700: 4E 92 43 52 45 4D 45 4E  54 20 54 48 45 20 12 58  |N.CREMENT THE .X|
00000710: 92 2D 52 45 47 49 53 54  45 52 20 42 59 20 31 2E  |.-REGISTER BY 1.|
00000720: 22 3A 4D 53 24 B2 22 20  20 58 3D 58 2B 31 20 20  |":MS$."  X=X+1  |
00000730: 20 22 00 59 0F 22 01 8D  36 33 33 30 30 3A 4E 24  | ".Y."..63300:N$|
00000740: B2 22 31 30 31 30 31 31  30 30 22 3A 8D 34 30 31  |."10101100":.401|
00000750: 33 30 3A 8D 36 33 32 30  30 00 9D 0F 2C 01 99 22  |30:.63200...,.."|
00000760: 12 44 45 58 92 22 3A 99  22 11 12 44 45 92 43 52  |.DEX.":."..DE.CR|
00000770: 45 4D 45 4E 54 20 54 48  45 20 12 58 92 2D 52 45  |EMENT THE .X.-RE|
00000780: 47 49 53 54 45 52 20 42  59 20 31 2E 22 3A 4D 53  |GISTER BY 1.":MS|
00000790: 24 B2 22 20 20 58 3D 58  2D 31 20 20 22 00 C4 0F  |$."  X=X-1  "...|
000007A0: 36 01 8D 36 33 33 30 30  3A 4E 24 B2 22 31 30 31  |6..63300:N$."101|
000007B0: 30 31 30 31 31 22 3A 8D  34 30 31 33 30 3A 8D 36  |01011":.40130:.6|
000007C0: 33 32 30 30 00 EF 0F 40  01 99 22 41 4E 44 20 54  |3200...@.."AND T|
000007D0: 48 45 52 45 27 53 20 12  49 4E 59 92 20 41 4E 44  |HERE'S .INY. AND|
000007E0: 20 12 44 45 59 92 2E 22  3A 8D 36 33 32 30 30 00  | .DEY..":.63200.|
000007F0: 23 10 4A 01 99 4D 24 3A  4E 24 B2 22 31 30 31 31  |#.J..M$:N$."1011|
00000800: 30 31 30 31 22 3A 50 50  B2 30 3A 8D 34 30 31 36  |0101":PP.0:.4016|
00000810: 30 3A 99 4D 4C 24 22 24  31 32 33 34 22 3A 50 50  |0:.ML$"$1234":PP|
00000820: B2 32 30 00 60 10 54 01  99 53 44 24 22 12 49 4E  |.20.`.T..SD$".IN|
00000830: 43 20 24 31 32 33 34 92  22 3A 99 22 11 12 49 4E  |C $1234.":."..IN|
00000840: 43 92 52 45 4D 45 4E 54  53 20 4D 45 4D 4F 52 59  |C.REMENTS MEMORY|
00000850: 20 4C 4F 43 41 54 49 4F  4E 20 24 31 32 33 34 22  | LOCATION $1234"|
00000860: 00 97 10 5E 01 4D 53 24  B2 22 20 20 4D 3D 4D 2B  |...^.MS$."  M=M+|
00000870: 31 20 20 22 3A 8D 36 33  33 30 30 3A 4E 24 B2 22  |1  ":.63300:N$."|
00000880: 31 30 31 31 30 31 31 30  22 3A 8D 34 30 31 36 30  |10110110":.40160|
00000890: 3A 8D 36 33 32 30 30 00  D1 10 68 01 99 22 12 44  |:.63200...h..".D|
000008A0: 45 43 20 24 31 32 33 34  92 22 3A 99 22 11 12 44  |EC $1234.":."..D|
000008B0: 45 43 92 52 45 4D 45 4E  54 53 20 4D 45 4D 4F 52  |EC.REMENTS MEMOR|
000008C0: 59 20 4C 4F 43 41 54 49  4F 4E 20 24 31 32 33 34  |Y LOCATION $1234|
000008D0: 22 00 09 11 72 01 4D 53  24 B2 22 20 20 20 4D 3D  |"...r.MS$."   M=|
000008E0: 4D 2D 31 20 20 22 3A 8D  36 33 33 30 30 3A 4E 24  |M-1  ":.63300:N$|
000008F0: B2 22 31 30 31 31 30 31  30 31 22 3A 8D 34 30 31  |."10110101":.401|
00000900: 36 30 3A 8D 36 33 32 30  30 00 36 11 7C 01 99 22  |60:.63200.6.|.."|
00000910: 12 41 53 4C 92 22 3A 99  22 11 12 41 92 52 49 54  |.ASL.":."..A.RIT|
00000920: 48 4D 45 54 49 43 20 12  53 92 48 49 46 54 20 12  |HMETIC .S.HIFT .|
00000930: 4C 92 45 46 54 22 00 60  11 86 01 99 22 11 41 4C  |L.EFT".`....".AL|
00000940: 4C 20 42 49 54 53 20 4F  46 20 54 48 45 20 12 41  |L BITS OF THE .A|
00000950: 92 2D 52 45 47 49 53 54  45 52 20 4D 4F 56 45 22  |.-REGISTER MOVE"|
00000960: 00 8E 11 90 01 99 22 11  4D 4F 56 45 20 4C 45 46  |......".MOVE LEF|
00000970: 54 2E 20 41 20 27 30 27  20 43 4F 4D 45 53 20 49  |T. A '0' COMES I|
00000980: 4E 54 4F 20 54 48 45 20  27 4C 53 42 27 22 00 BC  |NTO THE 'LSB'"..|
00000990: 11 9A 01 99 22 11 41 4E  44 20 54 48 45 20 27 4D  |....".AND THE 'M|
000009A0: 53 42 27 20 44 52 4F 50  53 20 49 4E 54 4F 20 54  |SB' DROPS INTO T|
000009B0: 48 45 20 27 43 41 52 52  59 27 2E 22 00 DF 11 A4  |HE 'CARRY'."....|
000009C0: 01 99 22 11 D1 4C 53 42  3D 4C 45 41 53 54 20 53  |.."..LSB=LEAST S|
000009D0: 49 47 4E 49 46 49 43 41  4E 54 20 42 49 54 22 00  |IGNIFICANT BIT".|
000009E0: 01 12 AE 01 99 22 11 D1  4D 53 42 3D 4D 4F 53 54  |....."..MSB=MOST|
000009F0: 20 53 49 47 4E 49 46 49  43 41 4E 54 20 42 49 54  | SIGNIFICANT BIT|
00000A00: 22 00 1D 12 B3 01 4D 53  24 B2 22 20 20 41 3D 32  |".....MS$."  A=2|
00000A10: 2A 41 20 20 20 22 3A 8D  36 33 33 30 30 00 54 12  |*A   ":.63300.T.|
00000A20: B8 01 99 43 24 3A 97 43  2C 34 39 3A 4E 24 B2 22  |...C$:.C,49:N$."|
00000A30: 31 30 31 31 31 30 31 30  22 3A 50 50 B2 35 30 30  |10111010":PP.500|
00000A40: 3A 8D 34 30 30 39 38 3A  8D 36 33 32 30 30 3A 50  |:.40098:.63200:P|
00000A50: 50 B2 32 30 00 63 12 C2  01 99 43 43 24 3A 97 43  |P.20.c....CC$:.C|
00000A60: 2C 33 32 00 8F 12 CC 01  99 53 44 24 22 11 12 53  |,32......SD$"..S|
00000A70: 45 43 92 22 3A 99 22 11  12 53 45 92 54 20 54 48  |EC.":."..SE.T TH|
00000A80: 45 20 12 43 92 41 52 52  59 20 42 49 54 2E 22 00  |E .C.ARRY BIT.".|
00000A90: BD 12 D6 01 99 43 52 24  3A 4D 53 24 B2 22 20 20  |.....CR$:MS$."  |
00000AA0: 43 41 52 52 59 3D 31 20  22 3A 8D 36 33 33 30 30  |CARRY=1 ":.63300|
00000AB0: 3A 97 43 2C 34 39 3A 8D  36 33 32 30 30 00 F8 12  |:.C,49:.63200...|
00000AC0: E0 01 99 53 44 24 22 11  12 43 4C 43 92 22 3A 99  |...SD$"..CLC.":.|
00000AD0: 22 11 12 43 4C 92 45 41  52 20 12 43 92 41 52 52  |"..CL.EAR .C.ARR|
00000AE0: 59 20 42 49 54 2E 22 3A  4D 53 24 B2 22 20 20 43  |Y BIT.":MS$."  C|
00000AF0: 41 52 52 59 3D 30 20 22  00 1A 13 EA 01 8D 36 33  |ARRY=0 "......63|
00000B00: 33 30 30 3A 99 43 52 24  3A 97 43 2C 34 38 3A 8D  |300:.CR$:.C,48:.|
00000B10: 36 33 32 30 30 3A 99 43  43 24 00 4A 13 F4 01 99  |63200:.CC$.J....|
00000B20: 22 12 53 54 41 20 24 31  32 33 34 92 22 3A 99 22  |".STA $1234.":."|
00000B30: 11 12 53 54 92 4F 52 45  20 54 48 45 20 12 41 92  |..ST.ORE THE .A.|
00000B40: 2D 52 45 47 49 53 54 45  52 22 00 83 13 FE 01 99  |-REGISTER"......|
00000B50: 22 11 49 4E 20 4D 45 4D  4F 52 59 20 4C 4F 43 41  |".IN MEMORY LOCA|
00000B60: 54 49 4F 4E 20 24 31 32  33 34 22 3A 4D 53 24 B2  |TION $1234":MS$.|
00000B70: 22 20 20 20 4D 3D 41 20  20 20 20 22 3A 8D 36 33  |"   M=A    ":.63|
00000B80: 33 30 30 00 A3 13 08 02  4E 24 B2 22 31 30 31 31  |300.....N$."1011|
00000B90: 31 30 31 30 22 3A 8D 34  31 31 36 30 3A 8D 36 33  |1010":.41160:.63|
00000BA0: 30 30 30 00 D3 13 58 02  99 22 93 54 48 41 54 27  |000...X..".THAT'|
00000BB0: 53 20 45 4E 4F 55 47 48  2E 20 4C 45 54 27 53 20  |S ENOUGH. LET'S |
00000BC0: 43 4C 45 41 52 20 54 48  45 20 53 43 52 45 45 4E  |CLEAR THE SCREEN|
00000BD0: 2E 11 22 00 FF 13 62 02  99 22 4C 44 41 20 23 24  |.."...b.."LDA #$|
00000BE0: 32 30 20 20 5F 4C 4F 41  44 20 41 20 57 49 54 48  |20  _LOAD A WITH|
00000BF0: 20 23 24 32 30 3D 27 53  50 41 43 45 27 2E 22 00  | #$20='SPACE'.".|
00000C00: 2E 14 6C 02 99 22 53 54  41 20 24 30 34 30 30 20  |..l.."STA $0400 |
00000C10: C9 22 3A 99 22 53 54 41  20 24 30 34 30 31 20 DD  |.":."STA $0401 .|
00000C20: 5F 46 49 4C 4C 53 20 53  43 52 45 45 4E 22 00 53  |_FILLS SCREEN".S|
00000C30: 14 76 02 99 22 53 54 41  20 24 30 34 30 32 20 DD  |.v.."STA $0402 .|
00000C40: 5F 4D 45 4D 4F 52 59 20  57 49 54 48 20 23 24 32  |_MEMORY WITH #$2|
00000C50: 30 2E 22 00 98 14 80 02  99 22 2D 2D 2D 20 2D 2D  |0."......"--- --|
00000C60: 2D 2D 2D 20 2E 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |--- .-----------|
00000C70: 2D 2D 2D 2D 2D 22 3A 99  22 53 54 41 20 24 30 37  |-----":."STA $07|
00000C80: 46 46 20 CB 5F 48 45 4E  43 45 20 43 4C 45 41 52  |FF ._HENCE CLEAR|
00000C90: 20 53 43 52 45 45 4E 22  00 D1 14 8A 02 99 22 11  | SCREEN"......".|
00000CA0: 42 55 54 20 57 45 20 43  4C 45 41 52 4C 59 20 4E  |BUT WE CLEARLY N|
00000CB0: 45 45 44 20 53 4F 4D 45  54 48 49 4E 47 20 4C 49  |EED SOMETHING LI|
00000CC0: 4B 45 3A 22 3A 99 22 11  4C 44 41 20 23 24 32 30  |KE:":.".LDA #$20|
00000CD0: 22 00 09 15 94 02 99 22  46 4F 52 20 58 3D 30 20  |"......"FOR X=0 |
00000CE0: 54 4F 20 23 24 33 46 46  22 3A 99 22 53 54 41 20  |TO #$3FF":."STA |
00000CF0: 24 30 34 30 30 2B 58 22  3A 99 22 4E 45 58 54 20  |$0400+X":."NEXT |
00000D00: 58 22 3A 8D 36 33 30 30  30 00 41 15 9E 02 99 22  |X":.63000.A...."|
00000D10: 93 4F 52 11 9D 9D B8 B8  22 3A 99 22 42 45 47 49  |.OR.....":."BEGI|
00000D20: 4E 20 4C 44 41 20 23 24  32 30 20 5F 4E 4F 54 45  |N LDA #$20 _NOTE|
00000D30: 20 53 54 41 54 45 4D 45  4E 54 20 4C 41 42 45 4C  | STATEMENT LABEL|
00000D40: 22 00 81 15 A8 02 99 22  20 20 20 20 20 20 4C 44  |"......"      LD|
00000D50: 58 20 23 24 30 30 22 3A  99 22 4C 4F 4F 50 20 20  |X #$00":."LOOP  |
00000D60: 53 54 41 20 24 30 34 30  30 2C 58 20 5F 12 49 4E  |STA $0400,X _.IN|
00000D70: 44 45 58 45 44 20 41 44  44 52 45 53 53 49 4E 47  |DEXED ADDRESSING|
00000D80: 22 00 AF 15 B2 02 99 22  20 20 20 5E 20 20 49 4E  |"......"   ^  IN|
00000D90: 58 22 3A 99 22 20 20 20  DD 20 20 3F 43 48 45 43  |X":."   .  ?CHEC|
00000DA0: 4B 20 46 4F 52 20 58 3D  23 24 33 46 46 3F 22 00  |K FOR X=#$3FF?".|
00000DB0: CF 15 B7 02 99 22 20 20  20 AD C0 20 49 46 20 4E  |....."   .. IF N|
00000DC0: 4F 54 2C 47 4F 54 4F 20  27 4C 4F 4F 50 27 22 00  |OT,GOTO 'LOOP'".|
00000DD0: 03 16 BC 02 99 22 11 11  57 45 20 48 41 56 45 20  |....."..WE HAVE |
00000DE0: 12 43 4F 4D 50 41 52 45  92 20 26 20 12 42 52 41  |.COMPARE. & .BRA|
00000DF0: 4E 43 48 92 20 49 4E 53  54 52 55 43 54 49 4F 4E  |NCH. INSTRUCTION|
00000E00: 53 21 22 00 3F 16 C6 02  99 22 11 57 48 41 54 20  |S!".?....".WHAT |
00000E10: 57 45 20 4E 45 45 44 20  41 42 4F 56 45 20 49 53  |WE NEED ABOVE IS|
00000E20: 3A 22 3A 99 22 11 12 43  92 4F 4D 12 50 92 41 52  |:":."..C.OM.P.AR|
00000E30: 45 20 12 58 92 20 54 4F  20 23 24 33 46 46 22 00  |E .X. TO #$3FF".|
00000E40: 75 16 D0 02 99 22 11 26  20 12 42 92 52 41 4E 43  |u....".& .B.RANC|
00000E50: 48 20 49 46 20 12 4E 92  4F 54 20 12 45 92 51 55  |H IF .N.OT .E.QU|
00000E60: 41 4C 2E 2E 54 4F 20 27  4C 4F 4F 50 27 22 3A 8D  |AL..TO 'LOOP'":.|
00000E70: 36 33 30 31 30 00 A6 16  DA 02 99 22 13 11 11 12  |63010......"....|
00000E80: 42 45 47 49 4E 20 4C 44  41 20 23 24 32 30 20 20  |BEGIN LDA #$20  |
00000E90: 20 92 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00000EA0: 20 20 20 20 20 22 00 D6  16 E4 02 99 22 12 20 20  |     "......".  |
00000EB0: 20 20 20 20 4C 44 58 20  23 24 30 30 20 20 20 22  |    LDX #$00   "|
00000EC0: 3A 99 22 12 4C 4F 4F 50  20 20 53 54 41 20 24 30  |:.".LOOP  STA $0|
00000ED0: 34 30 30 2C 58 22 00 1D  17 EE 02 99 22 12 20 20  |400,X"......".  |
00000EE0: 20 5E 20 20 49 4E 58 20  20 20 20 20 20 20 20 22  | ^  INX        "|
00000EF0: 3A 99 22 12 20 20 20 DD  20 20 43 50 58 20 23 24  |:.".   .  CPX #$|
00000F00: 33 46 46 20 20 92 20 20  20 20 20 20 20 20 20 20  |3FF  .          |
00000F10: 20 20 20 20 20 20 20 20  20 20 20 20 22 00 4E 17  |            ".N.|
00000F20: F8 02 99 22 12 20 20 20  AD C0 20 42 4E 45 20 4C  |...".   .. BNE L|
00000F30: 4F 4F 50 20 20 20 92 20  20 20 20 20 20 20 20 20  |OOP   .         |
00000F40: 20 20 20 20 20 20 22 3A  8D 36 33 32 30 30 00 83  |      ":.63200..|
00000F50: 17 02 03 99 22 4E 4F 54  45 11 9D 9D 9D 9D B8 B8  |...."NOTE.......|
00000F60: B8 B8 91 3A 57 45 20 57  49 4C 4C 20 4E 45 56 45  |...:WE WILL NEVE|
00000F70: 52 20 12 53 54 41 92 20  49 4E 20 12 24 30 37 46  |R .STA. IN .$07F|
00000F80: 46 92 22 00 AF 17 0C 03  99 22 11 49 4E 20 54 48  |F."......".IN TH|
00000F90: 45 20 41 42 4F 56 45 20  50 52 4F 47 52 41 4D 2E  |E ABOVE PROGRAM.|
00000FA0: 2E 2E 53 4F 2E 2E 2E 22  3A 8D 36 33 30 31 30 00  |..SO...":.63010.|
00000FB0: D7 17 16 03 99 22 13 11  11 11 11 11 11 12 20 20  |....."........  |
00000FC0: 20 DD 20 20 43 50 58 20  23 24 34 30 30 20 20 22  | .  CPX #$400  "|
00000FD0: 3A 8D 36 33 32 30 30 00  04 18 20 03 99 22 41 4C  |:.63200... .."AL|
00000FE0: 53 4F 2C 20 57 45 20 43  41 4E 20 12 43 50 58 20  |SO, WE CAN .CPX |
00000FF0: 23 24 4E 92 20 4F 4E 4C  59 20 49 46 20 4E 20 4C  |#$N. ONLY IF N L|
00001000: 49 45 53 22 00 25 18 2A  03 99 22 11 49 4E 20 54  |IES".%.*..".IN T|
00001010: 48 45 20 52 41 4E 47 45  20 24 30 30 20 54 4F 20  |HE RANGE $00 TO |
00001020: 24 46 46 2E 22 00 4E 18  34 03 99 22 11 53 4F 20  |$FF.".N.4..".SO |
00001030: 57 45 20 43 48 41 4E 47  45 20 54 48 45 20 43 4F  |WE CHANGE THE CO|
00001040: 44 45 20 54 4F 3A 22 3A  8D 36 33 30 31 30 00 6C  |DE TO:":.63010.l|
00001050: 18 3E 03 99 22 93 11 11  12 42 45 47 49 4E 20 4C  |.>.."....BEGIN L|
00001060: 44 41 20 23 24 32 30 20  20 20 92 22 00 9C 18 48  |DA #$20   ."...H|
00001070: 03 99 22 12 20 20 20 20  20 20 4C 44 58 20 23 24  |..".      LDX #$|
00001080: 30 30 20 20 20 22 3A 99  22 12 4C 4F 4F 50 20 20  |00   ":.".LOOP  |
00001090: 53 54 41 20 24 30 34 30  30 2C 58 22 00 B6 18 52  |STA $0400,X"...R|
000010A0: 03 99 22 12 20 20 20 20  20 20 53 54 41 20 24 30  |..".      STA $0|
000010B0: 35 30 30 2C 58 22 00 D0  18 5C 03 99 22 12 20 20  |500,X"...\..".  |
000010C0: 20 20 20 20 53 54 41 20  24 30 36 30 30 2C 58 22  |    STA $0600,X"|
000010D0: 00 EA 18 66 03 99 22 12  20 20 20 20 20 20 53 54  |...f..".      ST|
000010E0: 41 20 24 30 37 30 30 2C  58 22 00 1B 19 70 03 99  |A $0700,X"...p..|
000010F0: 22 12 20 20 20 20 20 20  49 4E 58 20 20 20 20 20  |".      INX     |
00001100: 20 20 20 22 3A 99 22 12  20 20 20 20 20 20 43 50  |   ":.".      CP|
00001110: 58 20 23 24 46 46 20 20  20 92 22 00 3D 19 7A 03  |X #$FF   .".=.z.|
00001120: 99 22 12 20 20 20 20 20  20 42 4E 45 20 4C 4F 4F  |.".      BNE LOO|
00001130: 50 20 20 20 92 22 3A 8D  36 33 30 30 30 00 68 19  |P   .":.63000.h.|
00001140: 84 03 99 53 44 24 22 11  11 11 11 22 3B 3A 81 54  |...SD$"....";:.T|
00001150: B2 31 A4 31 30 3A 99 43  4C 24 3A 82 3A 99 53 44  |.1.10:.CL$:.:.SD|
00001160: 24 22 11 11 11 11 22 3B  00 94 19 8E 03 99 22 4F  |$"....";......"O|
00001170: 52 2C 20 57 45 20 43 41  4E 20 53 49 4D 50 4C 49  |R, WE CAN SIMPLI|
00001180: 46 59 20 54 48 49 53 20  41 20 4C 49 54 54 4C 45  |FY THIS A LITTLE|
00001190: 20 42 59 22 00 C5 19 98  03 99 22 11 43 4F 55 4E  | BY"......".COUN|
000011A0: 54 49 4E 47 20 12 44 4F  57 4E 92 20 46 52 4F 4D  |TING .DOWN. FROM|
000011B0: 20 58 3D 24 46 46 20 54  4F 20 24 30 30 22 3A 8D  | X=$FF TO $00":.|
000011C0: 36 33 30 31 30 00 E3 19  A2 03 99 22 13 11 11 12  |63010......"....|
000011D0: 42 45 47 49 4E 20 4C 44  41 20 23 24 32 30 20 20  |BEGIN LDA #$20  |
000011E0: 20 92 22 00 13 1A AC 03  99 22 12 20 20 20 20 20  | ."......".     |
000011F0: 20 4C 44 58 20 23 24 46  46 20 20 20 22 3A 99 22  | LDX #$FF   ":."|
00001200: 12 4C 4F 4F 50 20 20 53  54 41 20 24 30 34 30 30  |.LOOP  STA $0400|
00001210: 2C 58 22 00 2D 1A B6 03  99 22 12 20 20 20 20 20  |,X".-....".     |
00001220: 20 53 54 41 20 24 30 35  30 30 2C 58 22 00 47 1A  | STA $0500,X".G.|
00001230: C0 03 99 22 12 20 20 20  20 20 20 53 54 41 20 24  |...".      STA $|
00001240: 30 36 30 30 2C 58 22 00  61 1A CA 03 99 22 12 20  |0600,X".a....". |
00001250: 20 20 20 20 20 53 54 41  20 24 30 37 30 30 2C 58  |     STA $0700,X|
00001260: 22 00 7B 1A D4 03 99 22  12 20 20 20 20 20 20 44  |".{....".      D|
00001270: 45 58 20 20 20 20 20 20  20 20 22 00 B4 1A DE 03  |EX        ".....|
00001280: 99 22 12 20 20 20 20 20  20 42 4E 45 20 4C 4F 4F  |.".      BNE LOO|
00001290: 50 20 20 20 92 22 3A 99  22 20 20 20 20 20 20 20  |P   .":."       |
000012A0: 20 20 20 20 20 20 20 20  20 20 20 20 22 3A 8D 36  |            ":.6|
000012B0: 33 30 30 30 00 DF 1A DF  03 99 53 44 24 22 11 11  |3000......SD$"..|
000012C0: 11 11 22 3B 3A 81 54 B2  31 A4 31 30 3A 99 43 4C  |..";:.T.1.10:.CL|
000012D0: 24 3A 82 3A 99 53 44 24  22 11 11 11 11 22 3B 00  |$:.:.SD$"....";.|
000012E0: 0F 1B E3 03 99 22 11 11  11 48 4F 57 20 43 41 4E  |....."...HOW CAN|
000012F0: 20 57 45 20 12 42 4E 45  92 20 57 48 45 4E 20 57  | WE .BNE. WHEN W|
00001300: 45 20 44 4F 4E 27 54 20  44 4F 20 41 4E 59 22 00  |E DON'T DO ANY".|
00001310: 29 1B E4 03 99 22 11 12  43 4F 4D 50 41 52 45 92  |)...."..COMPARE.|
00001320: 3F 22 3A 8D 36 33 30 30  30 00 55 1B E8 03 99 22  |?":.63000.U...."|
00001330: 93 59 4F 55 20 53 45 45  2C 20 12 42 4E 45 92 20  |.YOU SEE, .BNE. |
00001340: 52 45 41 4C 4C 59 20 43  48 45 43 4B 53 20 54 4F  |REALLY CHECKS TO|
00001350: 20 53 45 45 22 00 83 1B  F2 03 99 22 11 49 46 20  | SEE"......".IF |
00001360: 27 30 27 20 49 53 20 54  48 45 20 52 45 53 55 4C  |'0' IS THE RESUL|
00001370: 54 20 4F 46 20 41 4E 20  41 52 49 54 48 4D 45 54  |T OF AN ARITHMET|
00001380: 49 43 22 00 AD 1B FC 03  99 22 11 4F 50 45 52 41  |IC"......".OPERA|
00001390: 54 49 4F 4E 2E 2E 49 4E  43 4C 55 44 49 4E 47 20  |TION..INCLUDING |
000013A0: 41 20 12 43 4F 4D 50 41  52 45 92 2E 22 00 D2 1B  |A .COMPARE.."...|
000013B0: 06 04 99 22 11 49 4E 20  54 48 45 20 50 41 49 52  |...".IN THE PAIR|
000013C0: 20 4F 46 20 49 4E 53 54  52 55 43 54 49 4F 4E 53  | OF INSTRUCTIONS|
000013D0: 3A 22 00 0F 1C 10 04 99  22 11 12 43 50 58 20 23  |:"......"..CPX #|
000013E0: 24 46 46 22 3A 99 22 12  42 4E 45 20 4C 4F 4F 50  |$FF":.".BNE LOOP|
000013F0: 22 3A 99 22 11 57 45 20  53 55 42 54 52 41 43 54  |":.".WE SUBTRACT|
00001400: 20 23 24 46 46 20 46 52  4F 4D 20 54 48 45 22 00  | #$FF FROM THE".|
00001410: 3A 1C 1A 04 99 22 11 56  41 4C 55 45 20 4F 46 20  |:....".VALUE OF |
00001420: 58 20 41 4E 44 20 12 42  52 41 4E 43 48 92 20 54  |X AND .BRANCH. T|
00001430: 4F 20 4C 4F 4F 50 20 49  46 22 00 61 1C 24 04 99  |O LOOP IF".a.$..|
00001440: 22 11 54 48 45 20 52 45  53 55 4C 54 20 49 53 20  |".THE RESULT IS |
00001450: 4E 4F 54 20 5A 45 52 4F  21 22 3A 8D 36 33 30 30  |NOT ZERO!":.6300|
00001460: 30 00 80 1C 2E 04 99 22  93 12 49 4E 58 20 20 20  |0......"..INX   |
00001470: 20 20 22 3A 99 22 12 42  4E 45 20 4C 4F 4F 50 22  |  ":.".BNE LOOP"|
00001480: 00 AB 1C 38 04 99 22 11  57 45 20 42 52 41 4E 43  |...8..".WE BRANC|
00001490: 48 20 54 4F 20 4C 4F 4F  50 20 49 46 20 54 48 45  |H TO LOOP IF THE|
000014A0: 20 52 45 53 55 4C 54 20  4F 46 22 00 D8 1C 42 04  | RESULT OF"...B.|
000014B0: 99 22 11 49 4E 43 52 45  4D 45 4E 54 49 4E 47 20  |.".INCREMENTING |
000014C0: 58 20 49 53 20 12 4E 4F  54 92 20 5A 45 52 4F 2E  |X IS .NOT. ZERO.|
000014D0: 22 3A 99 22 B8 B8 B8 22  00 F9 1C 4C 04 99 22 11  |":."..."...L..".|
000014E0: 12 44 45 43 20 24 31 32  33 34 22 3A 99 22 12 42  |.DEC $1234":.".B|
000014F0: 4E 45 20 4C 4F 4F 50 20  22 00 1B 1D 56 04 99 22  |NE LOOP "...V.."|
00001500: 11 48 45 52 45 20 57 45  20 42 52 41 4E 43 48 20  |.HERE WE BRANCH |
00001510: 54 4F 20 4C 4F 4F 50 20  49 46 22 00 4A 1D 60 04  |TO LOOP IF".J.`.|
00001520: 99 22 11 44 45 43 52 45  4D 45 4E 54 49 4E 47 20  |.".DECREMENTING |
00001530: 24 31 32 33 34 20 49 53  20 4E 4F 54 20 5A 45 52  |$1234 IS NOT ZER|
00001540: 4F 2E 22 3A 99 22 B8 B8  B8 22 00 78 1D 6A 04 99  |O.":."...".x.j..|
00001550: 22 11 12 4E 4F 54 45 92  3A 20 12 43 50 58 92 20  |"..NOTE.: .CPX. |
00001560: 20 49 4E 56 4F 4C 56 45  53 20 41 20 53 55 42 54  | INVOLVES A SUBT|
00001570: 52 41 43 54 49 4F 4E 22  00 9B 1D 74 04 99 22 11  |RACTION"...t..".|
00001580: 28 54 4F 20 43 48 45 43  4B 20 46 4F 52 20 5A 45  |(TO CHECK FOR ZE|
00001590: 52 4F 20 52 45 53 55 4C  54 29 22 00 D8 1D 7E 04  |RO RESULT)"...~.|
000015A0: 99 22 11 42 55 54 20 49  54 20 44 4F 45 53 20 4E  |.".BUT IT DOES N|
000015B0: 4F 54 11 9D 9D 9D B8 B8  B8 91 20 43 48 41 4E 47  |OT........ CHANG|
000015C0: 45 20 41 4E 59 20 52 45  47 49 53 54 45 52 53 21  |E ANY REGISTERS!|
000015D0: 22 3A 8D 36 33 30 30 30  00 F8 1D 88 04 99 22 93  |":.63000......".|
000015E0: 4C 45 54 27 53 20 12 52  56 53 92 20 54 48 45 20  |LET'S .RVS. THE |
000015F0: 53 43 52 45 45 4E 2E 22  00 26 1E 92 04 99 22 11  |SCREEN.".&....".|
00001600: 54 48 49 53 20 52 45 51  55 49 52 45 53 20 4C 4F  |THIS REQUIRES LO|
00001610: 4F 4B 49 4E 47 20 41 54  20 45 56 45 52 59 20 53  |OKING AT EVERY S|
00001620: 43 52 45 45 4E 22 00 56  1E 9C 04 99 22 11 4D 45  |CREEN".V....".ME|
00001630: 4D 4F 52 59 20 4C 4F 43  41 54 49 4F 4E 20 41 4E  |MORY LOCATION AN|
00001640: 44 20 43 48 45 43 4B 49  4E 47 20 54 48 45 20 12  |D CHECKING THE .|
00001650: 4D 53 42 92 2E 22 00 81  1E A6 04 99 22 11 49 46  |MSB.."......".IF|
00001660: 20 49 54 27 53 20 12 31  92 20 54 48 45 4E 20 43  | IT'S .1. THEN C|
00001670: 48 41 4E 47 45 20 49 54  20 54 4F 20 12 30 92 2E  |HANGE IT TO .0..|
00001680: 22 00 AC 1E B0 04 99 22  11 49 46 20 49 54 27 53  |"......".IF IT'S|
00001690: 20 12 30 92 20 54 48 45  4E 20 43 48 41 4E 47 45  | .0. THEN CHANGE|
000016A0: 20 49 54 20 54 4F 20 12  31 92 2E 22 00 D9 1E 14  | IT TO .1.."....|
000016B0: 05 99 22 11 28 54 48 45  20 4D 53 42 20 44 45 54  |..".(THE MSB DET|
000016C0: 45 52 4D 49 4E 45 53 20  49 46 20 54 48 45 20 43  |ERMINES IF THE C|
000016D0: 48 41 52 41 43 54 45 52  22 00 F2 1E 1E 05 99 22  |HARACTER"......"|
000016E0: 49 53 20 49 4E 20 52 56  53 2D 46 49 45 4C 44 29  |IS IN RVS-FIELD)|
000016F0: 21 22 00 39 1F 28 05 99  22 11 57 45 27 4C 4C 3A  |!".9.(..".WE'LL:|
00001700: 22 3A 99 22 11 12 4C 44  41 20 24 30 34 30 30 2C  |":."..LDA $0400,|
00001710: 58 22 3A 99 22 12 45 4F  52 20 23 24 38 30 20 20  |X":.".EOR #$80  |
00001720: 20 92 20 5F 5F 3F 3F 3F  22 3A 99 22 12 53 54 41  | . __???":.".STA|
00001730: 20 24 30 34 30 30 2C 58  22 00 66 1F 32 05 99 22  | $0400,X".f.2.."|
00001740: 11 12 45 4F 52 92 20 49  53 20 41 4E 20 12 45 92  |..EOR. IS AN .E.|
00001750: 58 43 4C 55 53 49 56 45  20 12 4F 52 92 21 22 3A  |XCLUSIVE .OR.!":|
00001760: 8D 36 33 30 30 30 00 97  1F 3C 05 99 22 93 49 46  |.63000...<..".IF|
00001770: 20 12 41 92 20 43 4F 4E  54 41 49 4E 53 20 12 31  | .A. CONTAINS .1|
00001780: 30 31 31 30 31 30 31 92  20 28 41 46 54 45 52 20  |0110101. (AFTER |
00001790: 12 4C 44 41 92 29 22 00  C4 1F 46 05 99 22 11 54  |.LDA.)"...F..".T|
000017A0: 48 45 4E 20 12 45 4F 52  20 23 24 38 30 92 20 44  |HEN .EOR #$80. D|
000017B0: 4F 45 53 20 41 4E 20 45  58 43 4C 55 53 49 56 45  |OES AN EXCLUSIVE|
000017C0: 2D 4F 52 22 00 E9 1F 50  05 99 22 11 57 49 54 48  |-OR"...P..".WITH|
000017D0: 20 12 31 30 30 30 30 30  30 30 92 20 28 24 38 30  | .10000000. ($80|
000017E0: 20 49 4E 20 48 45 58 29  22 00 12 20 5A 05 99 22  | IN HEX)".. Z.."|
000017F0: 11 41 4E 44 20 47 49 56  45 53 20 12 30 30 31 31  |.AND GIVES .0011|
00001800: 30 31 30 31 92 2E 2E 56  45 52 59 20 4E 49 43 45  |0101...VERY NICE|
00001810: 21 22 00 30 20 64 05 99  22 11 4F 55 52 20 50 52  |!".0 d..".OUR PR|
00001820: 4F 47 52 41 4D 20 4D 49  47 48 54 20 47 4F 3A 22  |OGRAM MIGHT GO:"|
00001830: 00 61 20 6E 05 99 22 11  12 42 45 47 49 4E 20 4C  |.a n.."..BEGIN L|
00001840: 44 58 20 23 24 46 46 20  20 20 22 3A 99 22 12 4C  |DX #$FF   ":.".L|
00001850: 4F 4F 50 20 20 4C 44 41  20 24 30 34 30 30 2C 58  |OOP  LDA $0400,X|
00001860: 22 00 91 20 78 05 99 22  12 20 20 20 20 20 20 45  |".. x..".      E|
00001870: 4F 52 20 23 24 38 30 20  20 20 22 3A 99 22 12 20  |OR #$80   ":.". |
00001880: 20 20 20 20 20 53 54 41  20 24 30 34 30 30 2C 58  |     STA $0400,X|
00001890: 22 00 C1 20 82 05 99 22  12 20 20 20 20 20 20 4C  |".. ...".      L|
000018A0: 44 41 20 24 30 35 30 30  2C 58 22 3A 99 22 12 20  |DA $0500,X":.". |
000018B0: 20 20 20 20 20 45 4F 52  20 23 24 38 30 20 20 20  |     EOR #$80   |
000018C0: 22 00 F2 20 8C 05 99 22  12 20 20 20 20 20 20 53  |".. ...".      S|
000018D0: 54 41 20 24 30 35 30 30  2C 58 22 3A 99 22 12 45  |TA $0500,X":.".E|
000018E0: 54 43 2E 20 45 54 43 2E  2E 55 4E 54 49 4C 2E 2E  |TC. ETC..UNTIL..|
000018F0: 92 22 00 0C 21 96 05 99  22 12 20 20 20 20 20 20  |."..!...".      |
00001900: 53 54 41 20 24 30 37 30  30 2C 58 22 00 43 21 A0  |STA $0700,X".C!.|
00001910: 05 99 22 12 20 20 20 20  20 20 44 45 58 20 20 20  |..".      DEX   |
00001920: 20 20 20 20 20 22 3A 99  22 12 20 20 20 20 20 20  |     ":.".      |
00001930: 42 4E 45 20 4C 4F 4F 50  20 20 20 22 3A 8D 36 33  |BNE LOOP   ":.63|
00001940: 30 30 30 00 6F 21 AA 05  99 22 93 49 54 27 53 20  |000.o!...".IT'S |
00001950: 43 4C 45 41 52 20 54 48  41 54 20 54 48 49 53 20  |CLEAR THAT THIS |
00001960: 57 49 4C 4C 20 4E 4F 54  20 44 4F 20 49 46 22 00  |WILL NOT DO IF".|
00001970: 9C 21 B4 05 99 22 11 57  45 20 57 41 4E 54 20 54  |.!...".WE WANT T|
00001980: 4F 20 47 4F 20 46 52 4F  4D 20 24 30 34 30 30 20  |O GO FROM $0400 |
00001990: 54 4F 20 24 30 35 30 30  20 54 4F 22 00 C9 21 BE  |TO $0500 TO"..!.|
000019A0: 05 99 22 11 2E 2E 54 4F  20 24 30 4E 30 30 2C 49  |.."...TO $0N00,I|
000019B0: 4E 53 54 45 41 44 20 4F  46 20 4A 55 53 54 20 54  |NSTEAD OF JUST T|
000019C0: 4F 20 24 30 37 30 30 2E  22 00 EE 21 C8 05 99 22  |O $0700."..!..."|
000019D0: 11 57 45 20 4E 45 45 44  20 41 20 4C 4F 4F 50 2D  |.WE NEED A LOOP-|
000019E0: 57 49 54 48 49 4E 2D 41  2D 4C 4F 4F 50 22 00 17  |WITHIN-A-LOOP"..|
000019F0: 22 D2 05 99 22 11 46 4F  52 20 4C 41 52 47 45 20  |"...".FOR LARGE |
00001A00: 4E 2E 2E 2E 53 4F 4D 45  54 48 49 4E 47 20 4C 49  |N...SOMETHING LI|
00001A10: 4B 45 3A 11 11 11 22 00  4D 22 DC 05 99 22 11 20  |KE:...".M"...". |
00001A20: 20 20 20 20 4D 3D 24 30  34 30 30 22 3A 99 22 20  |    M=$0400":." |
00001A30: 20 20 20 20 58 3D 4E 20  20 20 20 20 5F 12 4E 20  |    X=N     _.N |
00001A40: 49 4E 53 54 45 41 44 20  4F 46 20 33 22 00 81 22  |INSTEAD OF 3".."|
00001A50: E6 05 99 22 4C 50 31 20  20 59 3D 23 24 46 46 22  |..."LP1  Y=#$FF"|
00001A60: 3A 99 22 4C 50 32 20 20  4C 44 41 20 4D 2B 59 22  |:."LP2  LDA M+Y"|
00001A70: 3A 99 22 20 20 20 20 20  45 4F 52 20 23 24 38 30  |:."     EOR #$80|
00001A80: 22 00 A3 22 E7 05 99 22  20 20 20 20 20 53 54 41  |".."..."     STA|
00001A90: 20 4D 2B 59 22 3A 99 22  20 20 20 20 20 59 3D 59  | M+Y":."     Y=Y|
00001AA0: 2D 31 22 00 E0 22 E8 05  99 22 20 20 20 20 20 49  |-1".."..."     I|
00001AB0: 46 20 59 3C 3E 30 20 47  4F 54 4F 20 4C 50 32 20  |F Y<>0 GOTO LP2 |
00001AC0: 22 3A 99 22 20 20 20 20  20 4D 3D 4D 2B 24 31 30  |":."     M=M+$10|
00001AD0: 30 22 3A 99 22 20 20 20  20 20 58 3D 58 2D 31 22  |0":."     X=X-1"|
00001AE0: 00 04 23 E9 05 99 22 20  20 20 20 20 49 46 58 3C  |..#..."     IFX<|
00001AF0: 3E 30 20 47 4F 54 4F 20  4C 50 31 20 22 3A 8D 36  |>0 GOTO LP1 ":.6|
00001B00: 33 30 30 30 00 37 23 EA  05 99 22 13 11 11 11 11  |3000.7#...".....|
00001B10: 11 11 11 11 11 11 11 11  11 11 11 11 11 11 11 11  |................|
00001B20: 22 A3 32 33 29 22 5F 12  57 4F 4E 27 54 20 44 4F  |".23)"_.WON'T DO|
00001B30: 20 59 3D 30 92 21 22 00  60 23 EB 05 99 22 11 11  | Y=0.!".`#..."..|
00001B40: 22 A3 32 33 29 22 5F 12  57 4F 4E 27 54 20 44 4F  |".23)"_.WON'T DO|
00001B50: 20 58 3D 30 92 21 21 13  22 3A 8D 36 33 30 30 30  | X=0.!!.":.63000|
00001B60: 00 93 23 EC 05 99 22 13  22 3B 3A 81 49 B2 31 A4  |..#...".";:.I.1.|
00001B70: 31 30 3A 99 43 4C 24 3A  82 3A 99 22 13 57 45 27  |10:.CL$:.:.".WE'|
00001B80: 4C 4C 20 12 43 48 41 4E  47 45 92 20 49 54 20 54  |LL .CHANGE. IT T|
00001B90: 4F 3A 22 00 D1 23 ED 05  8D 36 33 30 31 30 3A 99  |O:"..#...63010:.|
00001BA0: 22 13 11 20 20 20 20 20  4D 3D 24 30 34 30 30 22  |"..     M=$0400"|
00001BB0: 3A 99 22 20 20 20 20 20  58 3D 4E 22 20 20 20 20  |:."     X=N"    |
00001BC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001BD0: 22 00 10 24 EE 05 99 22  12 4C 50 31 20 20 59 3D  |"..$...".LP1  Y=|
00001BE0: 23 24 30 30 20 20 20 20  20 20 20 20 20 20 22 3A  |#$00          ":|
00001BF0: 99 22 4C 50 32 20 20 4C  44 41 20 4D 2B 59 22 3A  |."LP2  LDA M+Y":|
00001C00: 99 22 20 20 20 20 20 45  4F 52 20 23 24 38 30 22  |."     EOR #$80"|
00001C10: 00 32 24 EF 05 99 22 20  20 20 20 20 53 54 41 20  |.2$..."     STA |
00001C20: 4D 2B 59 22 3A 99 22 20  20 20 20 20 59 3D 59 2D  |M+Y":."     Y=Y-|
00001C30: 31 22 00 6F 24 F0 05 99  22 20 20 20 20 20 49 46  |1".o$..."     IF|
00001C40: 20 59 3C 3E 30 20 47 4F  54 4F 20 4C 50 32 20 22  | Y<>0 GOTO LP2 "|
00001C50: 3A 99 22 20 20 20 20 20  4D 3D 4D 2B 24 31 30 30  |:."     M=M+$100|
00001C60: 22 3A 99 22 20 20 20 20  20 58 3D 58 2D 31 22 00  |":."     X=X-1".|
00001C70: A7 24 F1 05 99 22 12 20  20 20 20 20 49 46 58 3E  |.$...".     IFX>|
00001C80: 3D 30 20 47 4F 54 4F 20  4C 50 31 20 92 22 3A 8D  |=0 GOTO LP1 .":.|
00001C90: 36 33 30 30 30 3A 99 22  13 11 11 11 11 11 11 11  |63000:."........|
00001CA0: 11 11 11 11 11 22 3B 00  D1 24 F2 05 99 22 57 45  |.....";..$..."WE|
00001CB0: 20 57 4F 52 4B 20 4F 4E  20 4D 2B 30 30 20 46 49  | WORK ON M+00 FI|
00001CC0: 52 53 54 2C 54 48 45 4E  20 12 59 3D 59 2D 31 92  |RST,THEN .Y=Y-1.|
00001CD0: 22 00 FE 24 F3 05 99 22  57 49 4C 4C 20 43 48 41  |"..$..."WILL CHA|
00001CE0: 4E 47 45 20 59 3D 30 30  20 54 4F 20 59 3D 46 46  |NGE Y=00 TO Y=FF|
00001CF0: 28 21 29 20 41 4E 44 20  57 45 27 4C 4C 22 00 2B  |(!) AND WE'LL".+|
00001D00: 25 F4 05 99 22 43 4F 4E  54 49 4E 55 45 20 57 49  |%..."CONTINUE WI|
00001D10: 54 48 20 4D 2B 46 46 20  54 48 45 4E 20 4D 2B 46  |TH M+FF THEN M+F|
00001D20: 45 2E 2E 54 4F 20 4D 2B  30 31 22 00 50 25 F5 05  |E..TO M+01".P%..|
00001D30: 99 22 41 4E 44 20 57 45  20 53 54 4F 50 20 54 48  |."AND WE STOP TH|
00001D40: 45 20 59 2D 4C 4F 4F 50  20 54 48 45 52 45 21 22  |E Y-LOOP THERE!"|
00001D50: 00 7B 25 F6 05 99 22 54  48 45 20 58 2D 4C 4F 4F  |.{%..."THE X-LOO|
00001D60: 50 20 53 54 41 52 54 53  20 57 49 54 48 20 58 3D  |P STARTS WITH X=|
00001D70: 4E 20 41 4E 44 20 45 41  43 48 22 00 AE 25 F7 05  |N AND EACH"..%..|
00001D80: 99 22 12 58 3D 58 2D 31  92 20 43 48 41 4E 47 45  |.".X=X-1. CHANGE|
00001D90: 53 20 58 20 54 4F 20 4E  2D 31 2C 4E 2D 32 2C 2E  |S X TO N-1,N-2,.|
00001DA0: 2E 32 2C 31 2C 30 20 12  54 48 45 4E 92 22 00 DF  |.2,1,0 .THEN."..|
00001DB0: 25 F8 05 99 22 4F 4E 45  20 4D 4F 52 45 20 12 58  |%..."ONE MORE .X|
00001DC0: 3D 58 2D 31 92 20 43 48  41 4E 47 45 53 20 58 20  |=X-1. CHANGES X |
00001DD0: 54 4F 20 46 46 28 21 29  20 57 48 49 43 48 22 00  |TO FF(!) WHICH".|
00001DE0: 0F 26 F9 05 99 22 49 53  20 12 4E 45 47 41 54 49  |.&..."IS .NEGATI|
00001DF0: 56 45 92 28 21 29 20 41  4E 44 20 57 45 20 53 54  |VE.(!) AND WE ST|
00001E00: 4F 50 20 54 48 45 20 58  2D 4C 4F 4F 50 21 22 00  |OP THE X-LOOP!".|
00001E10: 3E 26 FA 05 99 22 12 4E  4F 54 45 92 3A 54 48 45  |>&...".NOTE.:THE|
00001E20: 20 36 35 31 30 20 52 45  47 49 53 54 45 52 53 20  | 6510 REGISTERS |
00001E30: 43 41 4E 20 48 4F 4C 44  20 20 23 27 53 22 00 69  |CAN HOLD  #'S".i|
00001E40: 26 FB 05 99 22 46 52 4F  4D 20 24 30 30 20 54 4F  |&..."FROM $00 TO|
00001E50: 20 24 46 46 2E 49 46 20  57 45 20 48 41 56 45 20  | $FF.IF WE HAVE |
00001E60: 12 30 30 92 20 41 4E 44  22 00 A0 26 FC 05 99 22  |.00. AND"..&..."|
00001E70: 12 44 45 43 52 45 4D 45  4E 54 92 2C 49 54 20 43  |.DECREMENT.,IT C|
00001E80: 48 41 4E 47 45 53 20 54  4F 20 12 46 46 92 2E 2E  |HANGES TO .FF...|
00001E90: 41 4E 44 20 12 46 46 2B  31 92 3D 12 30 30 92 22  |AND .FF+1.=.00."|
00001EA0: 00 DB 26 FD 05 99 22 46  49 4E 41 4C 4C 59 2C 12  |..&..."FINALLY,.|
00001EB0: 4D 53 42 3D 31 92 20 53  49 47 4E 49 46 49 45 53  |MSB=1. SIGNIFIES|
00001EC0: 20 41 20 12 4E 45 47 41  54 49 56 45 20 4E 4F 2E  | A .NEGATIVE NO.|
00001ED0: 92 21 22 3B 3A 8D 36 33  30 30 30 00 FD 26 04 06  |.!";:.63000..&..|
00001EE0: 99 22 93 4C 45 54 27 53  20 54 52 59 20 53 4F 4D  |.".LET'S TRY SOM|
00001EF0: 45 54 48 49 4E 47 20 4C  49 4B 45 3A 22 00 2E 27  |ETHING LIKE:"..'|
00001F00: 0E 06 99 22 11 12 42 45  47 49 4E 20 4C 44 41 20  |..."..BEGIN LDA |
00001F10: 23 24 30 34 30 30 20 92  5F 3F 3F 2A 21 23 24 30  |#$0400 ._??*!#$0|
00001F20: 34 30 30 20 54 4F 4F 20  42 49 47 21 21 22 00 5C  |400 TOO BIG!!".\|
00001F30: 27 13 06 99 22 12 20 20  20 20 20 20 53 54 41 20  |'...".      STA |
00001F40: 24 42 30 20 20 20 20 92  5F 24 42 30 20 4E 4F 57  |$B0    ._$B0 NOW|
00001F50: 20 48 41 53 20 23 24 30  34 30 30 22 00 8C 27 18  | HAS #$0400"..'.|
00001F60: 06 99 22 12 20 20 20 20  20 20 4C 44 58 20 23 24  |..".      LDX #$|
00001F70: 30 33 20 20 20 22 3A 99  22 12 4C 50 31 20 20 20  |03   ":.".LP1   |
00001F80: 4C 44 59 20 23 24 30 30  20 20 20 22 00 D0 27 22  |LDY #$00   "..'"|
00001F90: 06 99 22 12 4C 50 32 20  20 20 4C 44 41 20 28 24  |..".LP2   LDA ($|
00001FA0: 42 30 29 2C 59 92 5F 20  49 4E 44 49 52 45 43 54  |B0),Y._ INDIRECT|
00001FB0: 20 49 4E 44 45 58 45 44  3F 22 3A 99 22 12 20 20  | INDEXED?":.".  |
00001FC0: 20 20 20 20 45 4F 52 20  23 24 38 30 20 20 20 22  |    EOR #$80   "|
00001FD0: 00 14 28 2C 06 99 22 12  20 20 20 20 20 20 53 54  |..(,..".      ST|
00001FE0: 41 20 28 24 42 30 29 2C  59 92 5F 20 49 4E 44 49  |A ($B0),Y._ INDI|
00001FF0: 52 45 43 54 20 49 4E 44  45 58 45 44 21 22 3A 99  |RECT INDEXED!":.|
00002000: 22 12 20 20 20 20 20 20  44 45 59 20 20 20 20 20  |".      DEY     |
00002010: 20 20 20 22 00 55 28 36  06 99 22 12 20 20 20 20  |   ".U(6..".    |
00002020: 20 20 42 4E 45 20 4C 50  32 20 20 20 20 22 3A 99  |  BNE LP2    ":.|
00002030: 22 12 20 20 20 20 20 20  49 4E 43 20 24 42 30 20  |".      INC $B0 |
00002040: 42 59 20 23 24 31 30 30  92 5F 3F 3F 2A 21 21 48  |BY #$100._??*!!H|
00002050: 4F 57 3F 3F 22 00 97 28  40 06 99 22 12 20 20 20  |OW??"..(@..".   |
00002060: 20 20 20 44 45 58 20 20  20 20 20 20 20 20 22 3A  |   DEX        ":|
00002070: 99 22 12 20 20 20 20 20  20 42 50 4C 20 4C 50 31  |.".      BPL LP1|
00002080: 20 20 20 20 92 5F 42 52  41 4E 43 48 20 4F 4E 20  |    ._BRANCH ON |
00002090: 50 4C 55 53 21 21 22 00  C3 28 4A 06 99 22 11 12  |PLUS!!"..(J.."..|
000020A0: 4C 44 41 20 28 24 42 30  29 2C 59 92 20 54 41 4B  |LDA ($B0),Y. TAK|
000020B0: 45 53 20 54 48 45 20 43  4F 4E 54 45 4E 54 53 20  |ES THE CONTENTS |
000020C0: 4F 46 22 00 F7 28 54 06  99 22 11 4D 45 4D 4F 52  |OF"..(T..".MEMOR|
000020D0: 59 20 4C 4F 43 27 4E 20  24 42 30 2C 20 41 44 44  |Y LOC'N $B0, ADD|
000020E0: 53 20 59 2C 20 41 4E 44  20 54 48 49 53 11 9D 9D  |S Y, AND THIS...|
000020F0: 9D 9D B8 B8 B8 B8 22 00  23 29 59 06 99 22 47 49  |......".#)Y.."GI|
00002100: 56 45 53 20 54 48 45 20  41 44 44 52 45 53 53 20  |VES THE ADDRESS |
00002110: 4F 46 20 54 48 45 20 42  59 54 45 20 57 48 49 43  |OF THE BYTE WHIC|
00002120: 48 20 22 00 49 29 5A 06  99 22 11 47 45 54 53 20  |H ".I)Z..".GETS |
00002130: 4C 4F 41 44 45 44 20 49  4E 54 4F 20 27 41 27 21  |LOADED INTO 'A'!|
00002140: 21 22 3A 8D 36 33 30 30  30 00 79 29 5E 06 99 22  |!":.63000.y)^.."|
00002150: 93 54 48 45 52 45 20 41  52 45 20 53 4F 4D 45 20  |.THERE ARE SOME |
00002160: 4E 45 57 20 49 44 45 41  53 2E 2E 41 4E 44 20 50  |NEW IDEAS..AND P|
00002170: 52 4F 42 4C 45 4D 53 21  22 00 A4 29 63 06 99 22  |ROBLEMS!"..)c.."|
00002180: 11 11 11 42 55 54 20 46  49 52 53 54 20 4C 45 54  |...BUT FIRST LET|
00002190: 27 53 20 41 47 52 45 45  20 54 48 41 54 20 57 45  |'S AGREE THAT WE|
000021A0: 27 4C 4C 22 00 D1 29 64  06 99 22 11 55 53 45 20  |'LL"..)d..".USE |
000021B0: 24 42 30 20 54 4F 20 52  45 46 45 52 20 54 4F 20  |$B0 TO REFER TO |
000021C0: 54 48 45 20 4D 45 4D 4F  52 59 20 4C 4F 43 27 4E  |THE MEMORY LOC'N|
000021D0: 22 00 FD 29 65 06 99 22  11 41 4E 44 20 28 24 42  |"..)e..".AND ($B|
000021E0: 30 29 20 54 4F 20 52 45  46 45 52 20 54 4F 20 54  |0) TO REFER TO T|
000021F0: 48 45 20 12 43 4F 4E 54  45 4E 54 53 22 00 1D 2A  |HE .CONTENTS"..*|
00002200: 66 06 99 22 11 4F 46 20  4D 45 4D 4F 52 59 20 4C  |f..".OF MEMORY L|
00002210: 4F 43 41 54 49 4F 4E 20  24 42 30 2E 22 00 50 2A  |OCATION $B0.".P*|
00002220: 68 06 99 22 11 11 11 12  4C 45 54 27 53 20 4C 4F  |h.."....LET'S LO|
00002230: 4F 4B 20 41 54 20 41 44  44 52 45 53 53 49 4E 47  |OK AT ADDRESSING|
00002240: 20 4D 4F 44 45 53 92 3A  22 3A 8D 36 33 30 30 30  | MODES.:":.63000|
00002250: 00 6D 2A 72 06 99 22 93  42 41 53 49 43 22 A3 32  |.m*r..".BASIC".2|
00002260: 30 29 22 41 53 53 45 4D  42 4C 45 52 22 00 89 2A  |0)"ASSEMBLER"..*|
00002270: 77 06 99 22 B8 B8 B8 B8  B8 22 A3 32 30 29 22 B8  |w..".....".20)".|
00002280: B8 B8 B8 B8 B8 B8 B8 B8  22 00 A6 2A 7C 06 99 22  |........"..*|.."|
00002290: 12 41 3D 35 92 22 A3 32  30 29 22 12 4C 44 41 20  |.A=5.".20)".LDA |
000022A0: 23 24 30 35 92 22 00 CF  2A 86 06 99 22 11 D1 49  |#$05."..*..."..I|
000022B0: 4D 4D 45 44 49 41 54 45  20 4D 4F 44 45 2E 20 54  |MMEDIATE MODE. T|
000022C0: 48 45 20 41 43 43 55 4D  55 4C 41 54 4F 52 22 00  |HE ACCUMULATOR".|
000022D0: EE 2A 90 06 99 22 49 53  20 4C 4F 41 44 45 44 20  |.*..."IS LOADED |
000022E0: 57 49 54 48 20 54 48 45  20 23 20 35 2E 22 00 0E  |WITH THE # 5."..|
000022F0: 2B 9A 06 99 22 11 12 41  3D 4D 28 35 29 92 22 A3  |+..."..A=M(5).".|
00002300: 32 30 29 22 12 4C 44 41  20 24 30 35 92 22 00 33  |20)".LDA $05.".3|
00002310: 2B A4 06 99 22 11 D1 41  42 53 4F 4C 55 54 45 20  |+..."..ABSOLUTE |
00002320: 41 44 44 52 45 53 53 49  4E 47 2E 20 27 41 27 20  |ADDRESSING. 'A' |
00002330: 49 53 22 00 56 2B AE 06  99 22 4C 4F 41 44 45 44  |IS".V+..."LOADED|
00002340: 20 57 49 54 48 20 54 48  45 20 43 4F 4E 54 45 4E  | WITH THE CONTEN|
00002350: 54 53 20 4F 46 22 00 70  2B B8 06 99 22 4D 45 4D  |TS OF".p+..."MEM|
00002360: 4F 52 59 20 4C 4F 43 41  54 49 4F 4E 20 35 2E 22  |ORY LOCATION 5."|
00002370: 00 95 2B C2 06 99 22 11  12 41 3D 4D 28 35 2B 58  |..+..."..A=M(5+X|
00002380: 29 92 22 A3 32 30 29 22  12 4C 44 41 20 24 30 30  |).".20)".LDA $00|
00002390: 30 35 2C 58 22 00 BF 2B  CC 06 99 22 11 D1 41 42  |05,X"..+..."..AB|
000023A0: 53 4F 4C 55 54 45 20 12  49 4E 44 45 58 45 44 92  |SOLUTE .INDEXED.|
000023B0: 2E 20 54 48 45 20 43 4F  4E 54 45 4E 54 53 22 00  |. THE CONTENTS".|
000023C0: EA 2B D6 06 99 22 4F 46  20 4C 4F 43 27 4E 20 28  |.+..."OF LOC'N (|
000023D0: 35 2B 58 29 20 41 52 45  20 4C 4F 41 44 45 44 20  |5+X) ARE LOADED |
000023E0: 49 4E 54 4F 20 27 41 27  2E 22 00 14 2C E0 06 99  |INTO 'A'."..,...|
000023F0: 22 11 12 41 3D 4D 28 4D  28 35 2B 58 29 29 92 22  |"..A=M(M(5+X))."|
00002400: A3 32 30 29 22 12 4C 44  41 20 28 24 30 30 30 35  |.20)".LDA ($0005|
00002410: 2C 58 29 22 00 3E 2C EA  06 99 22 11 D1 49 4E 44  |,X)".>,..."..IND|
00002420: 45 58 45 44 20 12 49 4E  44 49 52 45 43 54 92 2E  |EXED .INDIRECT..|
00002430: 20 54 48 45 20 43 4F 4E  54 45 4E 54 53 22 00 68  | THE CONTENTS".h|
00002440: 2C F4 06 99 22 4F 46 20  4C 4F 43 27 4E 20 28 35  |,..."OF LOC'N (5|
00002450: 2B 58 29 20 47 49 56 45  20 54 48 45 20 41 44 44  |+X) GIVE THE ADD|
00002460: 52 45 53 53 20 4F 46 22  00 96 2C FE 06 99 22 54  |RESS OF"..,..."T|
00002470: 48 45 20 42 59 54 45 20  54 4F 20 42 45 20 4C 4F  |HE BYTE TO BE LO|
00002480: 41 44 45 44 20 49 4E 54  4F 20 27 41 27 2E 22 3A  |ADED INTO 'A'.":|
00002490: 8D 36 33 30 30 30 00 B7  2C 08 07 99 22 93 54 48  |.63000..,...".TH|
000024A0: 45 4E 20 54 48 45 52 45  27 53 20 4F 55 52 20 46  |EN THERE'S OUR F|
000024B0: 52 49 45 4E 44 3A 22 00  E0 2C 12 07 99 22 11 12  |RIEND:"..,..."..|
000024C0: 41 3D 4D 28 4D 28 35 29  2B 59 29 92 22 A3 32 30  |A=M(M(5)+Y).".20|
000024D0: 29 22 12 4C 44 41 20 28  24 30 35 29 2C 59 92 22  |)".LDA ($05),Y."|
000024E0: 00 11 2D 1C 07 99 22 11  D1 12 49 4E 44 49 52 45  |..-..."...INDIRE|
000024F0: 43 54 20 49 4E 44 45 58  45 44 92 2E 20 46 49 52  |CT INDEXED.. FIR|
00002500: 53 54 2C 20 54 48 45 20  43 4F 4E 54 45 4E 54 53  |ST, THE CONTENTS|
00002510: 22 00 3B 2D 26 07 99 22  11 4F 46 20 4C 4F 43 27  |".;-&..".OF LOC'|
00002520: 4E 20 35 20 41 52 45 20  45 58 54 52 41 43 54 45  |N 5 ARE EXTRACTE|
00002530: 44 2E 54 48 45 4E 20 27  59 27 22 00 65 2D 30 07  |D.THEN 'Y'".e-0.|
00002540: 99 22 11 49 53 20 41 44  44 45 44 20 41 4E 44 20  |.".IS ADDED AND |
00002550: 54 48 45 20 52 45 53 55  4C 54 20 47 49 56 45 53  |THE RESULT GIVES|
00002560: 20 54 48 45 22 00 99 2D  3A 07 99 22 11 41 44 44  | THE"..-:..".ADD|
00002570: 52 45 53 53 20 4F 46 20  54 48 45 20 42 59 54 45  |RESS OF THE BYTE|
00002580: 20 4C 4F 41 44 45 44 20  49 4E 54 4F 20 27 41 27  | LOADED INTO 'A'|
00002590: 2E 22 3A 8D 36 33 30 30  30 00 CB 2D 44 07 99 22  |.":.63000..-D.."|
000025A0: 93 D1 12 49 4E 44 49 52  45 43 54 92 20 4D 45 41  |...INDIRECT. MEA|
000025B0: 4E 53 20 57 45 20 47 4F  20 54 4F 20 41 20 4D 45  |NS WE GO TO A ME|
000025C0: 4D 4F 52 59 20 4C 4F 43  27 4E 22 00 F8 2D 4E 07  |MORY LOC'N"..-N.|
000025D0: 99 22 11 54 4F 20 47 45  54 20 54 48 45 20 41 44  |.".TO GET THE AD|
000025E0: 44 52 45 53 53 20 4F 46  20 54 48 45 20 42 59 54  |DRESS OF THE BYT|
000025F0: 45 20 54 4F 20 42 45 22  00 1D 2E 58 07 99 22 11  |E TO BE"...X..".|
00002600: 4C 4F 41 44 45 44 20 49  4E 54 4F 20 54 48 45 20  |LOADED INTO THE |
00002610: 41 43 43 55 4D 55 4C 41  54 4F 52 2E 22 00 4A 2E  |ACCUMULATOR.".J.|
00002620: 62 07 99 22 11 D1 12 49  4E 44 45 58 45 44 92 20  |b.."...INDEXED. |
00002630: 4D 45 41 4E 53 20 57 45  20 41 44 44 20 54 48 45  |MEANS WE ADD THE|
00002640: 20 43 4F 4E 54 45 4E 54  53 22 00 76 2E 6C 07 99  | CONTENTS".v.l..|
00002650: 22 11 4F 46 20 41 20 12  36 35 31 30 92 20 52 45  |".OF A .6510. RE|
00002660: 47 49 53 54 45 52 20 54  4F 20 41 4E 20 41 44 44  |GISTER TO AN ADD|
00002670: 52 45 53 53 2E 22 00 A2  2E 76 07 99 22 11 D1 49  |RESS."...v.."..I|
00002680: 46 20 57 45 20 12 49 4E  44 45 58 92 20 54 48 45  |F WE .INDEX. THE|
00002690: 4E 20 12 49 4E 44 49 52  45 43 54 92 20 49 54 27  |N .INDIRECT. IT'|
000026A0: 53 22 00 D3 2E 80 07 99  22 11 12 49 4E 44 45 58  |S"......"..INDEX|
000026B0: 45 44 20 49 4E 44 49 52  45 43 54 92 2E 2E 41 53  |ED INDIRECT...AS|
000026C0: 20 49 4E 20 12 4C 44 41  20 28 24 30 34 30 30 2C  | IN .LDA ($0400,|
000026D0: 58 29 22 00 FF 2E 8A 07  99 22 11 D1 49 46 20 57  |X)"......"..IF W|
000026E0: 45 20 12 49 4E 44 49 52  45 43 54 92 20 54 48 45  |E .INDIRECT. THE|
000026F0: 4E 20 12 49 4E 44 45 58  92 20 49 54 27 53 22 00  |N .INDEX. IT'S".|
00002700: 35 2F 94 07 99 22 11 12  49 4E 44 49 52 45 43 54  |5/..."..INDIRECT|
00002710: 20 49 4E 44 45 58 45 44  92 2E 2E 41 53 20 49 4E  | INDEXED...AS IN|
00002720: 20 12 4C 44 41 20 28 24  42 30 29 2C 59 22 3A 8D  | .LDA ($B0),Y":.|
00002730: 36 33 30 30 30 00 58 2F  9E 07 4D 53 24 B2 22 43  |63000.X/..MS$."C|
00002740: 4C 45 41 52 3F 21 2A 24  26 22 3A 8D 36 33 31 30  |LEAR?!*$&":.6310|
00002750: 30 3A 8D 36 33 30 30 30  00 7E 2F A8 07 99 22 93  |0:.63000.~/...".|
00002760: 4C 45 54 27 53 20 45 58  50 4C 41 49 4E 20 41 42  |LET'S EXPLAIN AB|
00002770: 4F 55 54 20 12 4D 45 4D  4F 52 59 92 2E 22 00 AF  |OUT .MEMORY.."..|
00002780: 2F B2 07 99 22 11 12 36  35 31 30 92 20 49 4E 53  |/..."..6510. INS|
00002790: 54 52 55 43 54 49 4F 4E  53 20 41 52 45 20 53 54  |TRUCTIONS ARE ST|
000027A0: 4F 52 45 44 20 49 4E 20  4D 45 4D 4F 52 59 22 00  |ORED IN MEMORY".|
000027B0: D3 2F BC 07 99 22 41 53  20 31 2D 20 4F 52 20 32  |./..."AS 1- OR 2|
000027C0: 2D 20 4F 52 20 33 2D 20  48 45 58 20 42 59 54 45  |- OR 3- HEX BYTE|
000027D0: 53 2E 22 00 F6 2F C6 07  99 22 11 12 49 4E 58 92  |S."../..."..INX.|
000027E0: 3D 12 45 38 92 20 49 53  20 4F 4E 45 20 42 59 54  |=.E8. IS ONE BYT|
000027F0: 45 20 4C 4F 4E 47 00 1E  30 D0 07 99 22 11 12 4C  |E LONG..0..."..L|
00002800: 44 41 20 23 24 30 35 92  3D 12 41 44 20 30 35 92  |DA #$05.=.AD 05.|
00002810: 20 49 53 20 54 57 4F 20  42 59 54 45 53 22 00 4F  | IS TWO BYTES".O|
00002820: 30 DA 07 99 22 11 12 4C  44 41 20 24 31 32 33 34  |0..."..LDA $1234|
00002830: 2C 58 92 3D 12 42 44 20  33 34 20 31 32 92 20 49  |,X.=.BD 34 12. I|
00002840: 53 20 54 48 52 45 45 20  42 59 54 45 53 2E 22 00  |S THREE BYTES.".|
00002850: 6B 30 E4 07 99 22 20 20  20 20 20 20 20 20 20 20  |k0..."          |
00002860: 20 20 20 20 20 5E 5E 20  5E 5E 22 00 93 30 EE 07  |     ^^ ^^"..0..|
00002870: 99 22 49 4E 20 47 45 4E  45 52 41 4C 2C 20 32 2D  |."IN GENERAL, 2-|
00002880: 42 59 54 45 20 41 44 44  52 45 53 53 45 53 20 41  |BYTE ADDRESSES A|
00002890: 52 45 22 00 BD 30 F8 07  99 22 53 54 4F 52 45 44  |RE"..0..."STORED|
000028A0: 20 49 4E 20 4D 45 4D 4F  52 59 20 49 4E 20 52 45  | IN MEMORY IN RE|
000028B0: 56 45 52 53 45 20 4F 52  44 45 52 3A 22 00 DE 30  |VERSE ORDER:"..0|
000028C0: 02 08 99 22 12 4C 4F 2D  42 59 54 45 92 20 54 48  |...".LO-BYTE. TH|
000028D0: 45 4E 20 12 48 49 2D 42  59 54 45 92 2E 22 00 F6  |EN .HI-BYTE.."..|
000028E0: 30 0C 08 99 22 11 53 4F  20 49 46 20 59 4F 55 20  |0...".SO IF YOU |
000028F0: 48 41 56 45 3A 22 00 21  31 16 08 99 22 12 4C 44  |HAVE:".!1...".LD|
00002900: 41 20 28 24 42 30 29 2C  59 92 3D 12 42 31 20 43  |A ($B0),Y.=.B1 C|
00002910: 41 92 20 54 48 45 20 36  35 31 30 20 57 49 4C 4C  |A. THE 6510 WILL|
00002920: 22 00 4A 31 20 08 99 22  47 45 54 20 46 52 4F 4D  |".J1 .."GET FROM|
00002930: 20 24 42 30 20 54 48 45  20 12 4C 4F 2D 42 59 54  | $B0 THE .LO-BYT|
00002940: 45 92 20 4F 46 20 54 48  45 22 00 75 31 2A 08 99  |E. OF THE".u1*..|
00002950: 22 41 44 44 52 45 53 53  2C 41 4E 44 20 46 52 4F  |"ADDRESS,AND FRO|
00002960: 4D 20 24 42 31 20 54 48  45 20 12 48 49 2D 42 59  |M $B1 THE .HI-BY|
00002970: 54 45 92 21 22 00 A3 31  34 08 99 22 11 D1 42 45  |TE.!"..14.."..BE|
00002980: 20 53 55 52 45 20 54 4F  20 50 55 54 20 42 4F 54  | SURE TO PUT BOT|
00002990: 48 20 42 59 54 45 53 20  49 4E 20 24 42 30 2F 24  |H BYTES IN $B0/$|
000029A0: 42 31 22 00 C8 31 3E 08  99 22 42 45 46 4F 52 45  |B1"..1>.."BEFORE|
000029B0: 20 12 4C 44 41 20 28 24  42 30 29 2C 59 92 21 21  | .LDA ($B0),Y.!!|
000029C0: 22 3A 8D 36 33 30 30 30  00 E3 31 48 08 99 22 93  |":.63000..1H..".|
000029D0: 4C 45 54 27 53 20 47 45  54 20 42 41 43 4B 20 54  |LET'S GET BACK T|
000029E0: 4F 3A 22 00 14 32 52 08  99 22 11 12 42 45 47 49  |O:"..2R.."..BEGI|
000029F0: 4E 20 4C 44 41 20 23 24  30 34 30 30 20 92 5F 3F  |N LDA #$0400 ._?|
00002A00: 3F 2A 21 23 24 30 34 30  30 20 54 4F 4F 20 42 49  |?*!#$0400 TOO BI|
00002A10: 47 21 21 22 00 42 32 5C  08 99 22 12 20 20 20 20  |G!!".B2\..".    |
00002A20: 20 20 53 54 41 20 24 42  30 20 20 20 20 92 5F 24  |  STA $B0    ._$|
00002A30: 42 30 20 4E 4F 57 20 48  41 53 20 23 24 30 34 30  |B0 NOW HAS #$040|
00002A40: 30 22 00 72 32 66 08 99  22 12 20 20 20 20 20 20  |0".r2f..".      |
00002A50: 4C 44 58 20 23 24 30 33  20 20 20 22 3A 99 22 12  |LDX #$03   ":.".|
00002A60: 4C 50 31 20 20 20 4C 44  59 20 23 24 30 30 20 20  |LP1   LDY #$00  |
00002A70: 20 22 00 B6 32 70 08 99  22 12 4C 50 32 20 20 20  | "..2p..".LP2   |
00002A80: 4C 44 41 20 28 24 42 30  29 2C 59 92 5F 20 49 4E  |LDA ($B0),Y._ IN|
00002A90: 44 49 52 45 43 54 20 49  4E 44 45 58 45 44 3F 22  |DIRECT INDEXED?"|
00002AA0: 3A 99 22 12 20 20 20 20  20 20 45 4F 52 20 23 24  |:.".      EOR #$|
00002AB0: 38 30 20 20 20 22 00 FA  32 7A 08 99 22 12 20 20  |80   "..2z..".  |
00002AC0: 20 20 20 20 53 54 41 20  28 24 42 30 29 2C 59 92  |    STA ($B0),Y.|
00002AD0: 5F 20 49 4E 44 49 52 45  43 54 20 49 4E 44 45 58  |_ INDIRECT INDEX|
00002AE0: 45 44 21 22 3A 99 22 12  20 20 20 20 20 20 44 45  |ED!":.".      DE|
00002AF0: 59 20 20 20 20 20 20 20  20 22 00 3B 33 84 08 99  |Y        ".;3...|
00002B00: 22 12 20 20 20 20 20 20  42 4E 45 20 4C 50 32 20  |".      BNE LP2 |
00002B10: 20 20 20 22 3A 99 22 12  20 20 20 20 20 20 49 4E  |   ":.".      IN|
00002B20: 43 20 24 42 30 20 42 59  20 23 24 31 30 30 92 5F  |C $B0 BY #$100._|
00002B30: 3F 3F 2A 21 21 48 4F 57  3F 3F 22 00 7D 33 8E 08  |??*!!HOW??".}3..|
00002B40: 99 22 12 20 20 20 20 20  20 44 45 58 20 20 20 20  |.".      DEX    |
00002B50: 20 20 20 20 22 3A 99 22  12 20 20 20 20 20 20 42  |    ":.".      B|
00002B60: 50 4C 20 4C 50 31 20 20  20 20 92 5F 42 52 41 4E  |PL LP1    ._BRAN|
00002B70: 43 48 20 4F 4E 20 50 4C  55 53 21 21 22 00 A8 33  |CH ON PLUS!!"..3|
00002B80: 98 08 99 22 11 57 45 20  4E 4F 57 20 4D 55 53 54  |...".WE NOW MUST|
00002B90: 20 50 55 54 20 24 30 34  30 30 20 49 4E 54 4F 20  | PUT $0400 INTO |
00002BA0: 24 42 30 2F 24 42 31 22  00 DF 33 A2 08 99 22 57  |$B0/$B1"..3..."W|
00002BB0: 49 54 48 20 12 4C 44 41  20 23 24 30 30 92 20 12  |ITH .LDA #$00. .|
00002BC0: 53 54 41 20 24 42 30 92  20 12 4C 44 41 20 23 24  |STA $B0. .LDA #$|
00002BD0: 30 34 92 20 12 53 54 41  20 24 42 31 92 2E 22 00  |04. .STA $B1..".|
00002BE0: 0E 34 AC 08 99 22 11 41  4C 53 4F 20 12 49 4E 43  |.4...".ALSO .INC|
00002BF0: 20 24 42 30 20 42 59 20  23 24 31 30 30 92 20 49  | $B0 BY #$100. I|
00002C00: 53 20 43 48 41 4E 47 45  44 20 54 4F 3A 22 00 39  |S CHANGED TO:".9|
00002C10: 34 B6 08 99 22 12 49 4E  43 20 24 42 31 92 2E 2E  |4...".INC $B1...|
00002C20: 2E 20 57 45 20 4E 45 45  44 20 4F 4E 4C 59 20 12  |. WE NEED ONLY .|
00002C30: 49 4E 43 92 20 54 48 45  22 00 57 34 C0 08 99 22  |INC. THE".W4..."|
00002C40: 48 49 2D 42 59 54 45 20  42 59 20 27 31 27 21 22  |HI-BYTE BY '1'!"|
00002C50: 3A 8D 36 33 30 30 30 00  7C 34 CA 08 99 22 93 57  |:.63000.|4...".W|
00002C60: 45 27 4C 4C 20 43 48 41  4E 47 45 20 4F 55 52 20  |E'LL CHANGE OUR |
00002C70: 50 52 4F 47 52 41 4D 20  54 4F 3A 22 00 AE 34 D4  |PROGRAM TO:"..4.|
00002C80: 08 99 22 11 12 42 45 47  49 4E 20 4C 44 41 20 23  |.."..BEGIN LDA #|
00002C90: 24 30 30 20 20 20 92 22  3A 99 22 12 20 20 20 20  |$00   .":.".    |
00002CA0: 20 20 53 54 41 20 24 42  30 20 20 20 20 22 00 DE  |  STA $B0    "..|
00002CB0: 34 DE 08 99 22 12 20 20  20 20 20 20 4C 44 41 20  |4...".      LDA |
00002CC0: 23 24 30 34 20 20 20 22  3A 99 22 12 20 20 20 20  |#$04   ":.".    |
00002CD0: 20 20 53 54 41 20 24 42  31 20 20 20 20 22 00 0E  |  STA $B1    "..|
00002CE0: 35 E8 08 99 22 12 20 20  20 20 20 20 4C 44 58 20  |5...".      LDX |
00002CF0: 23 24 30 33 20 20 20 22  3A 99 22 12 4C 50 31 20  |#$03   ":.".LP1 |
00002D00: 20 20 4C 44 59 20 23 24  30 30 20 20 20 22 00 3F  |  LDY #$00   ".?|
00002D10: 35 F2 08 99 22 12 4C 50  32 20 20 20 4C 44 41 20  |5...".LP2   LDA |
00002D20: 28 24 42 30 29 2C 59 92  22 3A 99 22 12 20 20 20  |($B0),Y.":.".   |
00002D30: 20 20 20 45 4F 52 20 23  24 38 30 20 20 20 22 00  |   EOR #$80   ".|
00002D40: 70 35 FC 08 99 22 12 20  20 20 20 20 20 53 54 41  |p5...".      STA|
00002D50: 20 28 24 42 30 29 2C 59  92 22 3A 99 22 12 20 20  | ($B0),Y.":.".  |
00002D60: 20 20 20 20 44 45 59 20  20 20 20 20 20 20 20 22  |    DEY        "|
00002D70: 00 A0 35 06 09 99 22 12  20 20 20 20 20 20 42 4E  |..5...".      BN|
00002D80: 45 20 4C 50 32 20 20 20  20 22 3A 99 22 12 20 20  |E LP2    ":.".  |
00002D90: 20 20 20 20 49 4E 43 20  24 42 31 20 20 20 20 22  |    INC $B1    "|
00002DA0: 00 D8 35 10 09 99 22 12  20 20 20 20 20 20 44 45  |..5...".      DE|
00002DB0: 58 20 20 20 20 20 20 20  20 22 3A 99 22 12 20 20  |X        ":.".  |
00002DC0: 20 20 20 20 42 50 4C 20  4C 50 31 20 20 20 20 92  |    BPL LP1    .|
00002DD0: 22 3A 8D 36 33 30 30 30  00 0C 36 1A 09 99 22 13  |":.63000..6...".|
00002DE0: 11 11 11 11 11 11 11 11  11 11 11 11 11 11 11 11  |................|
00002DF0: 11 57 45 20 4E 45 45 44  4E 27 54 20 12 4C 44 59  |.WE NEEDN'T .LDY|
00002E00: 20 23 24 30 30 92 20 45  41 43 48 22 00 40 36 24  | #$00. EACH".@6$|
00002E10: 09 99 22 11 54 49 4D 45  20 57 45 20 12 42 50 4C  |..".TIME WE .BPL|
00002E20: 20 4C 50 31 22 3A 99 22  11 59 3D 30 20 41 4C 52  | LP1":.".Y=0 ALR|
00002E30: 45 41 44 59 20 53 4F 3A  22 3A 8D 36 33 30 31 30  |EADY SO:":.63010|
00002E40: 00 75 36 2E 09 99 22 13  11 11 11 11 11 11 11 12  |.u6...".........|
00002E50: 20 20 20 20 20 22 3A 99  22 12 4C 4F 4F 50 22 3A  |     ":.".LOOP":|
00002E60: 99 22 11 11 11 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 12  |."..............|
00002E70: 4C 4F 4F 50 22 00 95 36  33 09 99 22 11 11 1D 1D  |LOOP"..63.."....|
00002E80: 1D 1D 1D 1D 1D 1D 1D 1D  12 4C 4F 4F 50 22 3A 8D  |.........LOOP":.|
00002E90: 36 33 30 30 30 00 BC 36  38 09 99 22 13 11 11 11  |63000..68.."....|
00002EA0: 11 11 11 11 11 11 11 11  11 11 11 11 11 22 3A 81  |.............":.|
00002EB0: 49 B2 31 A4 36 3A 99 43  4C 24 3A 82 00 EE 36 42  |I.1.6:.CL$:...6B|
00002EC0: 09 99 22 13 11 11 11 11  11 11 11 11 11 11 11 11  |..".............|
00002ED0: 11 11 11 11 11 4E 4F 54  45 20 54 48 41 54 20 12  |.....NOTE THAT .|
00002EE0: 4C 44 58 20 23 24 30 33  92 20 43 41 4E 22 00 12  |LDX #$03. CAN"..|
00002EF0: 37 4C 09 99 22 11 42 45  20 43 48 41 4E 47 45 44  |7L..".BE CHANGED|
00002F00: 20 54 4F 20 41 4E 59 54  48 49 4E 47 20 46 52 4F  | TO ANYTHING FRO|
00002F10: 4D 22 00 3B 37 56 09 99  22 11 12 4C 44 58 20 23  |M".;7V.."..LDX #|
00002F20: 24 30 31 92 20 54 4F 20  12 4C 44 58 20 23 24 38  |$01. TO .LDX #$8|
00002F30: 30 92 2E 22 3A 8D 36 33  30 30 30 00 62 37 60 09  |0..":.63000.b7`.|
00002F40: 99 22 13 11 11 11 11 11  11 11 11 11 11 11 11 11  |."..............|
00002F50: 11 11 11 22 3A 81 49 B2  31 A4 36 3A 99 43 4C 24  |...":.I.1.6:.CL$|
00002F60: 3A 82 00 A4 37 6A 09 99  22 13 11 11 11 11 11 11  |:...7j..".......|
00002F70: 11 11 11 11 11 11 11 11  11 11 11 46 4F 52 20 12  |...........FOR .|
00002F80: 4C 44 58 20 23 24 30 30  92 20 57 45 27 4C 4C 20  |LDX #$00. WE'LL |
00002F90: 58 2D 4C 4F 4F 50 20 4F  4E 43 45 20 41 4E 59 57  |X-LOOP ONCE ANYW|
00002FA0: 41 59 21 22 00 CA 37 74  09 99 22 46 4F 52 20 12  |AY!"..7t.."FOR .|
00002FB0: 4C 44 58 20 23 24 38 31  92 2C 4F 52 20 48 49 47  |LDX #$81.,OR HIG|
00002FC0: 48 45 52 2C 12 44 45 58  92 22 00 F6 37 7E 09 99  |HER,.DEX."..7~..|
00002FD0: 22 57 49 4C 4C 20 4C 45  41 56 45 20 27 4D 53 42  |"WILL LEAVE 'MSB|
00002FE0: 27 3D 31 20 49 4E 20 54  48 45 20 58 2D 52 45 47  |'=1 IN THE X-REG|
00002FF0: 49 53 54 45 52 22 00 20  38 88 09 99 22 41 4E 44  |ISTER". 8..."AND|
00003000: 20 58 3C 30 20 57 49 4C  4C 20 52 45 53 55 4C 54  | X<0 WILL RESULT|
00003010: 20 41 4E 44 20 12 42 50  4C 92 20 57 49 4C 4C 22  | AND .BPL. WILL"|
00003020: 00 4C 38 92 09 99 22 12  4E 4F 54 92 20 54 41 4B  |.L8...".NOT. TAK|
00003030: 45 20 55 53 20 42 41 43  4B 20 54 4F 20 27 4C 4F  |E US BACK TO 'LO|
00003040: 4F 50 27 21 22 3A 8D 36  33 30 30 30 00 73 38 9C  |OP'!":.63000.s8.|
00003050: 09 99 22 13 11 11 11 11  11 11 11 11 11 11 11 11  |..".............|
00003060: 11 11 11 11 22 3A 81 49  B2 31 A4 36 3A 99 43 4C  |....":.I.1.6:.CL|
00003070: 24 3A 82 00 A5 38 A6 09  99 22 13 11 11 11 11 11  |$:...8..."......|
00003080: 11 11 11 11 11 11 11 11  11 11 11 11 4E 4F 54 45  |............NOTE|
00003090: 20 54 48 41 54 20 28 24  42 31 29 20 57 49 4C 4C  | THAT ($B1) WILL|
000030A0: 20 4E 4F 54 22 00 D3 38  B0 09 99 22 12 4F 56 45  | NOT"..8...".OVE|
000030B0: 52 46 4C 4F 57 92 20 41  46 54 45 52 20 41 20 4E  |RFLOW. AFTER A N|
000030C0: 55 4D 42 45 52 20 4F 46  20 12 49 4E 43 20 24 42  |UMBER OF .INC $B|
000030D0: 31 92 22 00 FF 38 BA 09  99 22 49 4E 53 54 52 27  |1."..8..."INSTR'|
000030E0: 4E 53 2E 20 41 46 54 45  52 20 41 4C 4C 2C 4D 45  |NS. AFTER ALL,ME|
000030F0: 4D 4F 52 59 20 4F 4E 4C  59 20 47 4F 45 53 22 00  |MORY ONLY GOES".|
00003100: 24 39 C4 09 99 22 54 4F  20 24 46 46 46 46 2C 20  |$9..."TO $FFFF, |
00003110: 53 4F 2C 20 55 4E 4C 45  53 53 20 59 4F 55 20 47  |SO, UNLESS YOU G|
00003120: 4F 4F 46 22 00 51 39 CE  09 99 22 28 24 42 31 29  |OOF".Q9..."($B1)|
00003130: 3C 3D 46 46 20 57 49 4C  4C 20 41 4C 57 41 59 53  |<=FF WILL ALWAYS|
00003140: 20 42 45 20 54 52 55 45  21 22 3A 8D 36 33 30 30  | BE TRUE!":.6300|
00003150: 30 00 7C 39 D8 09 99 22  93 4E 4F 54 45 20 54 48  |0.|9...".NOTE TH|
00003160: 41 54 20 49 4E 43 52 45  4D 45 4E 54 49 4E 47 20  |AT INCREMENTING |
00003170: 54 48 45 20 41 44 44 52  45 53 53 22 00 A5 39 E2  |THE ADDRESS"..9.|
00003180: 09 99 22 49 4E 20 24 42  30 2F 24 42 31 20 42 59  |.."IN $B0/$B1 BY|
00003190: 20 24 30 31 30 30 20 4F  4E 4C 59 20 52 45 51 55  | $0100 ONLY REQU|
000031A0: 49 52 45 53 22 00 D0 39  EC 09 99 22 12 49 4E 43  |IRES"..9...".INC|
000031B0: 20 24 42 31 92 2E 20 49  46 20 59 4F 55 20 57 41  | $B1.. IF YOU WA|
000031C0: 4E 54 20 54 4F 20 49 4E  43 52 45 4D 45 4E 54 22  |NT TO INCREMENT"|
000031D0: 00 F8 39 F6 09 99 22 42  59 20 24 30 30 30 31 20  |..9..."BY $0001 |
000031E0: 59 4F 55 20 43 41 4E 20  44 4F 20 49 54 20 54 48  |YOU CAN DO IT TH|
000031F0: 49 53 20 57 41 59 3A 22  00 0F 3A 00 0A 99 22 11  |IS WAY:"..:...".|
00003200: 12 20 20 20 20 20 2D 2D  2D 2D 2D 2D 2D 20 22 00  |.     ------- ".|
00003210: 49 3A 0A 0A 99 22 12 20  20 20 20 20 49 4E 43 20  |I:...".     INC |
00003220: 24 42 30 20 22 3A 99 22  12 20 20 20 20 20 42 4E  |$B0 ":.".     BN|
00003230: 45 20 4E 45 58 54 22 3A  99 22 12 20 20 20 20 20  |E NEXT":.".     |
00003240: 49 4E 43 20 24 42 31 20  22 00 5F 3A 14 0A 99 22  |INC $B1 "._:..."|
00003250: 12 4E 45 58 54 20 2D 2D  2D 2D 2D 2D 2D 20 22 00  |.NEXT ------- ".|
00003260: 8C 3A 1E 0A 99 22 11 54  48 49 53 20 41 44 44 53  |.:...".THIS ADDS|
00003270: 20 27 31 27 20 54 4F 20  28 24 42 30 29 2E 49 46  | '1' TO ($B0).IF|
00003280: 20 49 54 20 44 4F 45 53  4E 27 54 22 00 B8 3A 28  | IT DOESN'T"..:(|
00003290: 0A 99 22 12 4F 56 45 52  46 4C 4F 57 92 20 46 52  |..".OVERFLOW. FR|
000032A0: 4F 4D 20 46 46 20 54 4F  20 30 30 20 57 45 20 43  |OM FF TO 00 WE C|
000032B0: 4F 4E 54 49 4E 55 45 22  00 DB 3A 32 0A 99 22 57  |ONTINUE"..:2.."W|
000032C0: 49 54 48 20 54 48 45 20  27 4E 45 58 54 27 20 49  |ITH THE 'NEXT' I|
000032D0: 4E 54 52 55 43 54 49 4F  4E 2E 22 00 FF 3A 3C 0A  |NTRUCTION."..:<.|
000032E0: 99 22 11 49 46 20 49 54  20 44 4F 45 53 20 4F 56  |.".IF IT DOES OV|
000032F0: 45 52 46 4C 4F 57 20 54  4F 20 12 30 30 92 22 00  |ERFLOW TO .00.".|
00003300: 29 3B 46 0A 99 22 54 48  45 20 12 42 4E 45 20 4E  |);F.."THE .BNE N|
00003310: 45 58 54 92 20 57 49 4C  4C 20 4E 4F 54 20 54 41  |EXT. WILL NOT TA|
00003320: 4B 45 20 55 53 20 54 4F  22 00 56 3B 50 0A 99 22  |KE US TO".V;P.."|
00003330: 27 4E 45 58 54 27 2C 20  41 4E 44 20 57 45 20 41  |'NEXT', AND WE A|
00003340: 44 44 20 27 31 27 20 54  4F 20 54 48 45 20 48 49  |DD '1' TO THE HI|
00003350: 2D 42 59 54 45 22 00 74  3B 5A 0A 99 22 57 49 54  |-BYTE".t;Z.."WIT|
00003360: 48 20 12 49 4E 43 20 24  42 31 92 2E 22 3A 8D 36  |H .INC $B1..":.6|
00003370: 33 30 30 30 00 A3 3B 64  0A 99 22 93 49 46 20 59  |3000..;d..".IF Y|
00003380: 4F 55 20 57 41 4E 54 20  54 4F 20 49 4E 43 52 45  |OU WANT TO INCRE|
00003390: 4D 45 4E 54 20 42 59 20  4F 54 48 45 52 20 54 48  |MENT BY OTHER TH|
000033A0: 41 4E 22 00 D3 3B 6E 0A  99 22 11 24 30 30 30 31  |AN"..;n..".$0001|
000033B0: 20 4F 52 20 24 30 31 30  30 20 28 12 49 4E 43 20  | OR $0100 (.INC |
000033C0: 24 42 30 92 20 4F 52 20  12 49 4E 43 20 24 42 31  |$B0. OR .INC $B1|
000033D0: 92 29 22 00 01 3C 78 0A  99 22 11 54 48 45 4E 20  |.)"..<x..".THEN |
000033E0: 59 4F 55 20 4E 45 45 44  20 54 4F 20 12 41 44 44  |YOU NEED TO .ADD|
000033F0: 92 20 54 48 45 20 49 4E  43 52 45 4D 45 4E 54 2E  |. THE INCREMENT.|
00003400: 22 00 25 3C 7D 0A 99 22  11 53 55 50 50 4F 53 45  |".%<}..".SUPPOSE|
00003410: 20 57 45 20 57 41 4E 54  20 54 4F 20 41 44 44 20  | WE WANT TO ADD |
00003420: 24 31 46 3A 22 00 44 3C  82 0A 99 22 11 12 4C 44  |$1F:".D<..."..LD|
00003430: 41 20 24 42 30 20 92 5F  47 45 54 20 4C 4F 2D 42  |A $B0 ._GET LO-B|
00003440: 59 54 45 22 00 6A 3C 8C  0A 99 22 12 41 44 43 20  |YTE".j<...".ADC |
00003450: 23 24 31 46 92 5F 41 44  44 20 23 24 31 46 20 54  |#$1F._ADD #$1F T|
00003460: 4F 20 4C 4F 2D 42 59 54  45 22 00 88 3C 96 0A 99  |O LO-BYTE"..<...|
00003470: 22 12 53 54 41 20 24 42  30 20 92 5F 50 55 54 20  |".STA $B0 ._PUT |
00003480: 49 54 20 42 41 43 4B 22  00 A6 3C A0 0A 99 22 12  |IT BACK"..<...".|
00003490: 4C 44 41 20 24 42 31 20  92 5F 47 45 54 20 48 49  |LDA $B1 ._GET HI|
000034A0: 2D 42 59 54 45 22 00 DF  3C AA 0A 99 22 12 41 44  |-BYTE"..<...".AD|
000034B0: 43 20 23 24 30 30 92 5F  41 44 44 20 5A 45 52 4F  |C #$00._ADD ZERO|
000034C0: 28 3F 21 29 22 3A 99 22  12 53 54 41 20 24 42 31  |(?!)":.".STA $B1|
000034D0: 20 92 5F 50 55 54 20 49  54 20 42 41 43 4B 22 00  | ._PUT IT BACK".|
000034E0: 0D 3D B4 0A 99 22 11 59  4F 55 20 53 45 45 2E 2E  |.=...".YOU SEE..|
000034F0: 41 44 44 49 4E 47 20 23  24 31 46 20 4D 49 47 48  |ADDING #$1F MIGH|
00003500: 54 20 4A 55 53 54 20 43  41 55 53 45 22 00 3C 3D  |T JUST CAUSE".<=|
00003510: BE 0A 99 22 54 48 45 20  43 4F 4E 54 45 4E 54 53  |..."THE CONTENTS|
00003520: 20 4F 46 20 24 42 30 20  54 4F 20 12 4F 56 45 52  | OF $B0 TO .OVER|
00003530: 46 4C 4F 57 92 20 57 48  49 43 48 22 00 69 3D C8  |FLOW. WHICH".i=.|
00003540: 0A 99 22 43 41 55 53 45  53 20 12 43 41 52 52 59  |.."CAUSES .CARRY|
00003550: 92 3D 31 2E 20 53 4F 20  57 45 20 41 44 44 20 54  |.=1. SO WE ADD T|
00003560: 48 45 20 43 41 52 52 59  22 00 94 3D D2 0A 99 22  |HE CARRY"..=..."|
00003570: 54 4F 20 28 24 42 31 29  20 57 49 54 48 20 12 4C  |TO ($B1) WITH .L|
00003580: 44 41 20 24 42 31 92 20  26 20 12 41 44 43 20 23  |DA $B1. & .ADC #|
00003590: 24 30 30 22 00 D2 3D DC  0A 99 22 11 4E 4F 54 45  |$00"..=...".NOTE|
000035A0: 11 9D 9D 9D 9D B8 B8 B8  B8 91 3A 12 41 44 43 92  |..........:.ADC.|
000035B0: 20 4D 45 41 4E 53 20 12  41 44 92 44 20 57 49 54  | MEANS .AD.D WIT|
000035C0: 48 20 12 43 92 41 52 52  59 2E 22 3A 8D 36 33 30  |H .C.ARRY.":.630|
000035D0: 30 30 00 0A 3E E6 0A 99  22 13 11 11 11 11 11 11  |00..>...".......|
000035E0: 11 11 11 11 11 11 11 11  22 3A 81 49 B2 31 A4 38  |........":.I.1.8|
000035F0: 3A 99 43 4C 24 3A 82 3A  99 22 13 11 11 11 11 11  |:.CL$:.:."......|
00003600: 11 11 11 11 11 11 11 11  11 22 00 37 3E F0 0A 99  |.........".7>...|
00003610: 22 4F 46 20 43 4F 55 52  53 45 20 54 48 45 20 12  |"OF COURSE THE .|
00003620: 43 41 52 52 59 92 20 4D  41 59 20 42 45 20 12 31  |CARRY. MAY BE .1|
00003630: 92 20 57 48 45 4E 22 00  62 3E FA 0A 99 22 11 54  |. WHEN".b>...".T|
00003640: 48 45 20 41 42 4F 56 45  20 50 49 45 43 45 20 4F  |HE ABOVE PIECE O|
00003650: 46 20 43 4F 44 45 20 53  54 41 52 54 53 2C 20 53  |F CODE STARTS, S|
00003660: 4F 22 00 A5 3E 04 0B 99  22 11 57 45 20 4D 55 53  |O"..>...".WE MUS|
00003670: 54 20 41 4C 57 41 59 53  11 9D 9D 9D 9D 9D 9D B8  |T ALWAYS........|
00003680: B8 B8 B8 B8 B8 91 20 12  43 4C 43 92 20 42 45 46  |...... .CLC. BEF|
00003690: 4F 52 45 20 41 4E 20 12  41 44 43 92 21 22 3A 8D  |ORE AN .ADC.!":.|
000036A0: 36 33 30 31 30 00 C5 3E  0E 0B 99 22 13 11 11 11  |63010..>..."....|
000036B0: 11 11 11 11 12 43 4C 43  20 20 20 20 20 22 3A 8D  |.....CLC     ":.|
000036C0: 36 33 30 30 30 00 F3 3E  18 0B 99 22 93 49 46 20  |63000..>...".IF |
000036D0: 59 4F 55 20 57 41 4E 54  20 54 4F 20 12 53 55 42  |YOU WANT TO .SUB|
000036E0: 54 52 41 43 54 92 20 12  23 24 31 46 92 20 59 4F  |TRACT. .#$1F. YO|
000036F0: 55 3A 22 00 2E 3F 22 0B  99 22 11 11 12 4C 44 41  |U:"..?".."...LDA|
00003700: 20 24 42 30 20 22 3A 99  22 12 53 42 43 20 23 24  | $B0 ":.".SBC #$|
00003710: 31 46 92 5F 53 55 42 54  52 41 43 54 20 24 31 46  |1F._SUBTRACT $1F|
00003720: 22 3A 99 22 12 53 54 41  20 24 42 30 20 22 00 69  |":.".STA $B0 ".i|
00003730: 3F 2C 0B 99 22 12 4C 44  41 20 24 42 31 20 22 3A  |?,..".LDA $B1 ":|
00003740: 99 22 12 53 42 43 20 23  24 30 30 92 5F 53 55 42  |.".SBC #$00._SUB|
00003750: 54 52 41 43 54 20 24 30  30 21 21 22 3A 99 22 12  |TRACT $00!!":.".|
00003760: 53 54 41 20 24 42 31 20  22 00 A7 3F 36 0B 99 22  |STA $B1 "..?6.."|
00003770: 11 4E 4F 54 45 11 9D 9D  9D 9D B8 B8 B8 B8 91 3A  |.NOTE..........:|
00003780: 12 53 42 43 92 20 4D 45  41 4E 53 20 12 53 92 55  |.SBC. MEANS .S.U|
00003790: 12 42 92 54 52 41 43 54  20 57 49 54 48 20 12 43  |.B.TRACT WITH .C|
000037A0: 92 41 52 52 59 2E 22 00  D1 3F 40 0B 99 22 11 48  |.ARRY."..?@..".H|
000037B0: 4F 57 45 56 45 52 2C 20  57 49 54 48 20 12 53 42  |OWEVER, WITH .SB|
000037C0: 43 92 20 59 4F 55 20 4D  55 53 54 20 48 41 56 45  |C. YOU MUST HAVE|
000037D0: 22 00 10 40 4A 0B 99 22  11 43 41 52 52 59 3D 31  |"..@J..".CARRY=1|
000037E0: 20 54 4F 20 53 54 41 52  54 20 57 49 54 48 21 21  | TO START WITH!!|
000037F0: 22 3A 4D 53 24 B2 22 2A  3F 55 47 48 21 2A 3F 21  |":MS$."*?UGH!*?!|
00003800: 21 22 3A 8D 36 33 30 30  30 3A 8D 36 33 31 30 30  |!":.63000:.63100|
00003810: 00 32 40 54 0B 8D 36 33  30 31 30 3A 99 22 13 11  |.2@T..63010:."..|
00003820: 11 12 53 45 43 20 20 20  20 20 22 3A 8D 36 33 30  |..SEC     ":.630|
00003830: 30 30 00 5E 40 B8 0B 99  22 93 22 3A 4D 53 24 B2  |00.^@...".":MS$.|
00003840: 22 12 41 55 20 52 45 56  4F 49 52 21 92 22 3A 8D  |".AU REVOIR!.":.|
00003850: 36 33 31 30 30 3A 99 22  13 11 11 22 3A 80 00 68  |63100:."...":..h|
00003860: 40 0F 27 89 39 39 39 39  00 92 40 A2 9C 97 41 28  |@.'.9999..@...A(|
00003870: 30 29 2C 33 32 3A 81 54  54 B2 31 A4 50 50 3A 82  |0),32:.TT.1.PP:.|
00003880: 3A 81 49 B2 30 A4 36 3A  97 41 28 49 AA 31 29 2C  |:.I.0.6:.A(I.1),|
00003890: 33 32 00 C6 40 A3 9C 97  41 28 49 29 2C C5 28 CA  |32..@...A(I),.(.|
000038A0: 28 4E 24 2C 49 AA 31 2C  31 29 29 AA 34 38 3A 81  |(N$,I.1,1)).48:.|
000038B0: 54 54 B2 31 A4 50 50 3A  82 3A 82 3A 97 41 28 37  |TT.1.PP:.:.:.A(7|
000038C0: 29 2C 34 38 3A 8E 00 E6  40 AE 9C 81 49 B2 30 A4  |),48:...@...I.0.|
000038D0: 37 3A 97 41 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.A(I),160:.TT.|
000038E0: 31 A4 50 50 3A 82 00 06  41 AF 9C 97 41 28 49 29  |1.PP:...A...A(I)|
000038F0: 2C C5 28 CA 28 4E 24 2C  49 AA 31 2C 31 29 29 AA  |,.(.(N$,I.1,1)).|
00003900: 34 38 3A 82 3A 8E 00 26  41 B8 9C 81 49 B2 30 A4  |48:.:..&A...I.0.|
00003910: 37 3A 97 50 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.P(I),160:.TT.|
00003920: 31 A4 50 50 3A 82 00 46  41 B9 9C 97 50 28 49 29  |1.PP:..FA...P(I)|
00003930: 2C C5 28 CA 28 4E 24 2C  49 AA 31 2C 31 29 29 AA  |,.(.(N$,I.1,1)).|
00003940: 34 38 3A 82 3A 8E 00 66  41 C2 9C 81 49 B2 30 A4  |48:.:..fA...I.0.|
00003950: 37 3A 97 58 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.X(I),160:.TT.|
00003960: 31 A4 50 50 3A 82 00 86  41 C3 9C 97 58 28 49 29  |1.PP:...A...X(I)|
00003970: 2C C5 28 CA 28 4E 24 2C  49 AA 31 2C 31 29 29 AA  |,.(.(N$,I.1,1)).|
00003980: 34 38 3A 82 3A 8E 00 A6  41 CC 9C 81 49 B2 30 A4  |48:.:...A...I.0.|
00003990: 37 3A 97 59 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.Y(I),160:.TT.|
000039A0: 31 A4 50 50 3A 82 00 C6  41 CD 9C 97 59 28 49 29  |1.PP:...A...Y(I)|
000039B0: 2C C5 28 CA 28 4E 24 2C  49 AA 31 2C 31 29 29 AA  |,.(.(N$,I.1,1)).|
000039C0: 34 38 3A 82 3A 8E 00 E6  41 E0 9C 81 49 B2 30 A4  |48:.:...A...I.0.|
000039D0: 37 3A 97 4D 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.M(I),160:.TT.|
000039E0: 31 A4 50 50 3A 82 00 06  42 E1 9C 97 4D 28 49 29  |1.PP:...B...M(I)|
000039F0: 2C C5 28 CA 28 4E 24 2C  49 AA 31 2C 31 29 29 AA  |,.(.(N$,I.1,1)).|
00003A00: 34 38 3A 82 3A 8E 00 26  42 A0 A0 81 49 B2 30 A4  |48:.:..&B...I.0.|
00003A10: 37 3A 97 50 28 49 29 2C  31 36 30 3A 81 54 54 B2  |7:.P(I),160:.TT.|
00003A20: 31 A4 50 50 3A 82 00 3C  42 A1 A0 97 50 28 49 29  |1.PP:..<B...P(I)|
00003A30: 2C C2 28 41 28 49 29 29  3A 82 3A 8E 00 5C 42 AA  |,.(A(I)):.:..\B.|
00003A40: A0 81 49 B2 30 A4 37 3A  97 58 28 49 29 2C 31 36  |..I.0.7:.X(I),16|
00003A50: 30 3A 81 54 54 B2 31 A4  50 50 3A 82 00 72 42 AB  |0:.TT.1.PP:..rB.|
00003A60: A0 97 58 28 49 29 2C C2  28 41 28 49 29 29 3A 82  |..X(I),.(A(I)):.|
00003A70: 3A 8E 00 92 42 B4 A0 81  49 B2 30 A4 37 3A 97 59  |:...B...I.0.7:.Y|
00003A80: 28 49 29 2C 31 36 30 3A  81 54 54 B2 31 A4 50 50  |(I),160:.TT.1.PP|
00003A90: 3A 82 00 A8 42 B5 A0 97  59 28 49 29 2C C2 28 41  |:...B...Y(I),.(A|
00003AA0: 28 49 29 29 3A 82 3A 8E  00 C8 42 C8 A0 81 49 B2  |(I)):.:...B...I.|
00003AB0: 30 A4 37 3A 97 4D 28 49  29 2C 31 36 30 3A 81 54  |0.7:.M(I),160:.T|
00003AC0: 54 B2 31 A4 50 50 3A 82  00 DE 42 C9 A0 97 4D 28  |T.1.PP:...B...M(|
00003AD0: 49 29 2C C2 28 41 28 49  29 29 3A 82 3A 8E 00 FE  |I),.(A(I)):.:...|
00003AE0: 42 7C A1 81 49 B2 30 A4  37 3A 97 41 28 49 29 2C  |B|..I.0.7:.A(I),|
00003AF0: 31 36 30 3A 81 54 54 B2  31 A4 50 50 3A 82 00 14  |160:.TT.1.PP:...|
00003B00: 43 7D A1 97 41 28 49 29  2C C2 28 58 28 49 29 29  |C}..A(I),.(X(I))|
00003B10: 3A 82 3A 8E 00 34 43 90  A1 81 49 B2 30 A4 37 3A  |:.:..4C...I.0.7:|
00003B20: 97 4D 28 49 29 2C 31 36  30 3A 81 54 54 B2 31 A4  |.M(I),160:.TT.1.|
00003B30: 50 50 3A 82 00 4A 43 91  A1 97 4D 28 49 29 2C C2  |PP:..JC...M(I),.|
00003B40: 28 58 28 49 29 29 3A 82  3A 8E 00 6A 43 C2 A1 81  |(X(I)):.:..jC...|
00003B50: 49 B2 30 A4 37 3A 97 41  28 49 29 2C 31 36 30 3A  |I.0.7:.A(I),160:|
00003B60: 81 54 54 B2 31 A4 50 50  3A 82 00 80 43 C3 A1 97  |.TT.1.PP:...C...|
00003B70: 41 28 49 29 2C C2 28 59  28 49 29 29 3A 82 3A 8E  |A(I),.(Y(I)):.:.|
00003B80: 00 A0 43 F4 A1 81 49 B2  30 A4 37 3A 97 4D 28 49  |..C...I.0.7:.M(I|
00003B90: 29 2C 31 36 30 3A 81 54  54 B2 31 A4 50 50 3A 82  |),160:.TT.1.PP:.|
00003BA0: 00 B6 43 F5 A1 97 4D 28  49 29 2C C2 28 59 28 49  |..C...M(I),.(Y(I|
00003BB0: 29 29 3A 82 3A 8E 00 F5  43 60 EA 52 24 B2 22 B0  |)):.:...C`.R$.".|
00003BC0: C0 B2 C0 B2 C0 B2 C0 B2  C0 B2 C0 B2 C0 B2 C0 AE  |................|
00003BD0: 11 9D 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |................|
00003BE0: 9D 9D DD A0 DD A0 DD A0  DD A0 DD A0 DD A0 DD A0  |................|
00003BF0: DD A0 DD 11 22 00 24 44  61 EA 52 24 B2 52 24 AA  |....".$Da.R$.R$.|
00003C00: 22 9D 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |"...............|
00003C10: 9D 9D AD C0 B1 C0 B1 C0  B1 C0 B1 C0 B1 C0 B1 C0  |................|
00003C20: B1 C0 BD 22 00 5B 44 62  EA 41 24 B2 22 13 11 20  |...".[Db.A$.".. |
00003C30: 12 41 92 91 22 AA 52 24  3A 50 24 B2 22 13 11 1D  |.A..".R$:P$."...|
00003C40: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003C50: 1D 1D 1D 12 50 92 91 22  AA 52 24 00 99 44 63 EA  |....P..".R$..Dc.|
00003C60: 58 24 B2 22 13 11 11 11  11 20 12 58 92 91 22 AA  |X$."..... .X..".|
00003C70: 52 24 3A 59 24 B2 22 13  11 11 11 11 1D 1D 1D 1D  |R$:Y$.".........|
00003C80: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003C90: 1D 12 59 92 91 22 AA 52  24 00 C7 44 64 EA 4D 24  |..Y..".R$..Dd.M$|
00003CA0: B2 22 13 11 11 11 11 11  11 11 1D 1D 1D 1D 1D 1D  |."..............|
00003CB0: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 12  |................|
00003CC0: 4D 92 91 22 AA 52 24 00  EA 44 65 EA 43 52 24 B2  |M..".R$..De.CR$.|
00003CD0: 22 13 11 11 11 11 11 11  B0 C0 AE 11 9D 9D 9D DD  |"...............|
00003CE0: 1D DD 11 9D 9D 9D AD C0  BD 22 00 2A 45 66 EA 43  |.........".*Ef.C|
00003CF0: 43 24 B2 22 13 11 20 12  41 92 DD 11 9D 9D 9D 20  |C$.".. .A...... |
00003D00: 11 9D 20 11 9D 20 11 9D  20 11 9D 20 20 20 11 9D  |.. .. .. ..   ..|
00003D10: 9D 9D 20 20 20 11 9D 9D  9D 20 20 20 91 20 20 20  |..   ....   .   |
00003D20: 20 20 20 20 20 20 20 20  20 22 00 45 45 67 EA 57  |         ".EEg.W|
00003D30: 44 B2 34 30 3A 43 52 54  B2 31 30 32 34 3A 99 C7  |D.40:CRT.1024:..|
00003D40: 28 31 34 32 29 00 8B 45  68 EA 81 49 B2 30 A4 37  |(142)..Eh..I.0.7|
00003D50: 3A 41 28 49 29 B2 43 52  54 AA 57 44 AA 33 AA 32  |:A(I).CRT.WD.3.2|
00003D60: AC 49 3A 50 28 49 29 B2  41 28 49 29 AA 32 30 3A  |.I:P(I).A(I).20:|
00003D70: 58 28 49 29 B2 41 28 49  29 AA 33 AC 57 44 3A 59  |X(I).A(I).3.WD:Y|
00003D80: 28 49 29 B2 58 28 49 29  AA 32 30 00 AD 45 69 EA  |(I).X(I).20..Ei.|
00003D90: 4D 28 49 29 B2 59 28 49  29 AA 33 AC 57 44 3A 82  |M(I).Y(I).3.WD:.|
00003DA0: 3A 43 B2 43 52 54 AA 37  AC 57 44 AA 31 00 E1 45  |:C.CRT.7.WD.1..E|
00003DB0: 6A EA 53 44 24 B2 22 13  11 11 11 11 11 11 11 11  |j.SD$.".........|
00003DC0: 11 22 3A 43 4C 24 B2 22  22 3A 81 49 B2 31 A4 57  |.":CL$."":.I.1.W|
00003DD0: 44 AB 32 3A 43 4C 24 B2  43 4C 24 AA 22 20 22 3A  |D.2:CL$.CL$." ":|
00003DE0: 82 00 03 46 6B EA 42 54  24 B2 22 13 22 3A 81 49  |...Fk.BT$.".":.I|
00003DF0: B2 31 A4 32 34 3A 42 54  24 B2 42 54 24 AA 22 11  |.1.24:BT$.BT$.".|
00003E00: 22 3A 82 00 36 46 6C EA  43 24 B2 43 52 24 AA 22  |":..6Fl.C$.CR$."|
00003E10: 13 11 B0 C0 B3 11 9D 9D  9D DD 11 9D DD 11 9D DD  |................|
00003E20: 11 9D DD 11 9D AB 11 1D  1D 1D 1D 5F 43 41 52 52  |..........._CARR|
00003E30: 59 20 42 49 54 22 00 66  46 73 EA 4D 4C 24 B2 22  |Y BIT".fFs.ML$."|
00003E40: 13 11 11 11 11 11 11 11  11 11 1D 1D 1D 1D 1D 1D  |................|
00003E50: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003E60: 1D 1D 1D 1D 1D 22 00 70  46 74 EA 50 50 B2 32 30  |.....".pFt.PP.20|
00003E70: 00 92 46 93 EA 42 54 24  B2 22 13 22 3A 81 49 B2  |..F..BT$.".":.I.|
00003E80: 31 A4 32 34 3A 42 54 24  B2 42 54 24 AA 22 11 22  |1.24:BT$.BT$."."|
00003E90: 3A 82 00 DC 46 94 EA 50  54 24 B2 22 1C B0 C0 C0  |:...F..PT$."....|
00003EA0: C0 C0 C0 C0 C0 C0 C0 C0  AE 11 9D 9D 9D 9D 9D 9D  |................|
00003EB0: 9D 9D 9D 9D 9D 9D DD 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003EC0: 1D DD 11 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D AD  |................|
00003ED0: B2 C0 C0 C0 C0 C0 C0 C0  C0 B2 BD 22 00 24 47 95  |...........".$G.|
00003EE0: EA 50 54 24 B2 50 54 24  AA 22 11 9D 9D 9D 9D 9D  |.PT$.PT$."......|
00003EF0: 9D 9D 9D 9D 9D 9D 9D 9D  CE A3 A3 A3 A3 A3 A3 A3  |................|
00003F00: A3 A3 A3 A3 A3 CD 11 9D  9D 9D 9D 9D 9D 9D 9D 9D  |................|
00003F10: 9D 9D 9D 9D 9D A5 3D 3D  3D 3D 3D 3D 3D 3D 3D 3D  |......==========|
00003F20: 3D 3D A7 22 00 60 47 96  EA 50 54 24 B2 50 54 24  |==.".`G..PT$.PT$|
00003F30: AA 22 11 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |."..............|
00003F40: 9D D0 CF A3 A3 A3 A3 A3  A3 A3 A3 A3 A3 D0 CF 91  |................|
00003F50: 91 91 91 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 22  |..............."|
00003F60: 00 97 47 97 EA 50 54 24  B2 42 54 24 AA 22 91 91  |..G..PT$.BT$."..|
00003F70: 91 91 91 91 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003F80: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 22 AA  |..............".|
00003F90: 50 54 24 AA 22 90 22 00  C7 47 98 EA 4D 4C 24 B2  |PT$."."..G..ML$.|
00003FA0: 22 13 11 11 11 11 11 11  11 11 11 1D 1D 1D 1D 1D  |"...............|
00003FB0: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003FC0: 1D 1D 1D 1D 1D 1D 22 00  E2 47 99 EA 57 44 B2 34  |......"..G..WD.4|
00003FD0: 30 3A 43 52 54 B2 31 30  32 34 3A 99 C7 28 31 34  |0:CRT.1024:..(14|
00003FE0: 32 29 00 06 48 9A EA 57  32 B2 57 44 AD 32 3A 57  |2)..H..W2.WD.2:W|
00003FF0: 33 B2 57 44 AB 31 3A 57  31 24 B2 CA 28 C4 28 57  |3.WD.1:W1$..(.(W|
00004000: 44 29 2C 32 29 3A 00 28  48 9B EA 57 32 24 B2 CA  |D),2):.(H..W2$..|
00004010: 28 C4 28 57 32 29 2C 32  29 3A 57 33 24 B2 CA 28  |(.(W2),2):W3$..(|
00004020: C4 28 57 33 29 2C 32 29  00 2E 48 C4 EA 8E 00 3B  |.(W3),2)..H....;|
00004030: 48 18 F6 99 42 54 24 43  4C 24 3B 00 5B 48 19 F6  |H...BT$CL$;.[H..|
00004040: 99 42 54 24 22 12 52 45  54 55 52 4E 92 20 54 4F  |.BT$".RETURN. TO|
00004050: 20 43 4F 4E 54 49 4E 55  45 22 3B 00 71 48 1A F6  | CONTINUE";.qH..|
00004060: A1 5A 24 3A 8B 5A 24 B3  B1 22 22 A7 36 33 30 30  |.Z$:.Z$.."".6300|
00004070: 32 00 86 48 1B F6 A1 5A  24 3A 8B 5A 24 B2 22 22  |2..H...Z$:.Z$.""|
00004080: A7 36 33 30 30 33 00 8C  48 1C F6 8E 00 99 48 22  |.63003..H.....H"|
00004090: F6 99 42 54 24 43 4C 24  3B 00 CE 48 23 F6 99 42  |..BT$CL$;..H#..B|
000040A0: 54 24 22 A6 A6 A6 A6 A6  A6 A6 A6 12 52 45 54 55  |T$".........RETU|
000040B0: 52 4E 20 54 4F 20 53 45  45 20 49 54 20 48 41 50  |RN TO SEE IT HAP|
000040C0: 50 45 4E 92 A6 A6 A6 A6  A6 A6 A6 A6 22 3B 00 E4  |PEN.........";..|
000040D0: 48 24 F6 A1 5A 24 3A 8B  5A 24 B3 B1 22 22 A7 36  |H$..Z$:.Z$.."".6|
000040E0: 33 30 31 32 00 F9 48 25  F6 A1 5A 24 3A 8B 5A 24  |3012..H%..Z$:.Z$|
000040F0: B2 22 22 A7 36 33 30 31  33 00 FF 48 26 F6 8E 00  |."".63013..H&...|
00004100: 13 49 7C F6 81 54 B2 31  A4 35 3A 99 50 54 24 4D  |.I|..T.1.5:.PT$M|
00004110: 53 24 3B 00 29 49 7D F6  99 50 54 24 22 20 20 20  |S$;.)I}..PT$"   |
00004120: 20 20 20 20 20 20 20 22  3B 00 38 49 7E F6 99 50  |       ";.8I~..P|
00004130: 54 24 4D 53 24 3B 3A 82  00 3E 49 7F F6 8E 00 49  |T$MS$;:..>I....I|
00004140: 49 E0 F6 8D 36 33 30 30  30 00 6A 49 E1 F6 99 53  |I...63000.jI...S|
00004150: 44 24 3B 3A 81 54 B2 31  A4 31 30 3A 99 43 4C 24  |D$;:.T.1.10:.CL$|
00004160: 3A 82 3A 99 53 44 24 3B  3A 8E 00 7E 49 44 F7 8D  |:.:.SD$;:..~ID..|
00004170: 36 33 31 30 30 3A 8D 36  33 30 31 30 3A 8E 00 94  |63100:.63010:...|
00004180: 49 FF F9 8D 36 30 30 30  30 3A 99 22 93 22 3A 89  |I...60000:.".":.|
00004190: 31 36 33 30 00 00 00                              |1630...         |
..!...."....... PONZO*83*WATERLOO......"
.......K....53281,15:.53280,12:.".".N...
.".              ..C64 TUTOR-5......"...
....................................."..
....". ..THE ADC'S OF 6510 MACHINE LANGU
AGE .. .":MS$." WELCOME! "......".......
..................................".,...
.60000:.63100:.63000.Z...."...THE .M.ICR
O.P.ROCESSOR .U.NIT (MPU)".|. ..".IN THE
 C64 IS THE .6510.."...!..".HE (SHE?) WI
LL OBEY YOUR COMMANDS".R."..".IF YOU CAN
 SPEAK THE RIGHT LANGUAGE"...#.."....AND
 THAT'S  .MACHINE LANGUAGE..".(.$..".WE'
LL LEARN SOME .MACHINE LANGUAGE".B.%..".
IN THIS TUTORIAL.".N.&..".BUT LET'S LET 
THE .6510. TELL IT...".Y.'..63000...(.."
..............THE 6510...............".N
.-..".QWE'VE GOT A NUMBER OF INTERNAL"..
.2..".'REGISTERS' WHICH HOLD 8-BIT BINAR
Y".+.<..".NUMBERS(BYTES) FROM $00 TO $FF
 (IN HEX).".V.A..".QWE CALL THEM 'A' AND
 'X' AND 'Y'."..B..".(WE HAVE A FEW MOR
E..BUT WAIT..)"...F..".QYOU MAY LOAD THE
M WITH NUMBERS".Q.P..".AND PERFORM ADDIT
ION,SUBTRACTION,"...Z..".TESTS FOR ZERO 
, > , < ETC.ETC.".(.D..".QLET'S GO THROU
GH SOME OF THESE .6510.".C.N..".COMMANDS
...":.63000.R.X.."."A$X$Y$.{....SD$"HERE
 ARE A FEW OF THE COMMANDS"......".IN MY
 REPERTOIRE:". ....63200... ..".LDA #$F3
"......"..L.OA.D. THE .A.CCUMULATOR WITH
  THE"......".NUMBER F3 IN HEX..#$F3".".
...".THIS IS AN .IMMEDIATE. LOAD.".Z.H.M
S$."  A=#$F3  ":.63300:N$."11110011":.40
110:.63200...R..".LDX #$AB":MS$."  X=#$A
B  ":.63300...W.N$."10101011":.40130:.63
200......".LDY #$DD":MS$."  Y=#$DD  ":.6
3300:N$."11011101":.40140......63200:.".
TAX":."..T.RANSFER CONTENTS OF .A. TO .X
..".E...MS$."   X=A    ":.63300:.41130:.
63200......".TYA":."..T.RANSFER CONTENTS
 OF .Y. TO .A..":MS$."   A=Y   "......63
300:.41410:.63200.G...."..AND THERE'S .T
XA. AND .TAY.."......"...HERE ARE SOME M
ORE.:":.63200.2....".INX.":."..IN.CREMEN
T THE .X.-REGISTER BY 1.":MS$."  X=X+1  
 ".Y."..63300:N$."10101100":.40130:.6320
0...,..".DEX.":."..DE.CREMENT THE .X.-RE
GISTER BY 1.":MS$."  X=X-1  ".D.6..63300
:N$."10101011":.40130:.63200...@.."AND T
HERE'S .INY. AND .DEY..":.63200.#.J..M$:
N$."10110101":PP.0:.40160:.ML$"$1234":PP
.20.`.T..SD$".INC $1234.":."..INC.REMENT
S MEMORY LOCATION $1234"...^.MS$."  M=M+
1  ":.63300:N$."10110110":.40160:.63200.
Q.H..".DEC $1234.":."..DEC.REMENTS MEMOR
Y LOCATION $1234"...R.MS$."   M=M-1  ":.
63300:N$."10110101":.40160:.63200.6.|.."
.ASL.":."..A.RITHMETIC .S.HIFT .L.EFT".`
....".ALL BITS OF THE .A.-REGISTER MOVE"
......".MOVE LEFT. A '0' COMES INTO THE 
'LSB'"......".AND THE 'MSB' DROPS INTO T
HE 'CARRY'."......".QLSB=LEAST SIGNIFICA
NT BIT"......".QMSB=MOST SIGNIFICANT BIT
".....MS$."  A=2*A   ":.63300.T....C$:.C
,49:N$."10111010":PP.500:.40098:.63200:P
P.20.C.B..CC$:.C,32...L..SD$"..SEC.":.".
.SE.T THE .C.ARRY BIT."...V..CR$:MS$."  
CARRY=1 ":.63300:.C,49:.63200......SD$".
.CLC.":."..CL.EAR .C.ARRY BIT.":MS$."  C
ARRY=0 "......63300:.CR$:.C,48:.63200:.C
C$.J....".STA $1234.":."..ST.ORE THE .A.
-REGISTER"......".IN MEMORY LOCATION $12
34":MS$."   M=A    ":.63300.....N$."1011
1010":.41160:.63000.S.X..".THAT'S ENOUGH
. LET'S CLEAR THE SCREEN.."...B.."LDA #$
20  _LOAD A WITH #$20='SPACE'."...L.."ST
A $0400 I":."STA $0401 ._FILLS SCREEN".S
.V.."STA $0402 ._MEMORY WITH #$20.".....
."--- ----- .----------------":."STA $07
FF K_HENCE CLEAR SCREEN".Q....".BUT WE C
LEARLY NEED SOMETHING LIKE:":.".LDA #$20
"......"FOR X=0 TO #$3FF":."STA $0400+X"
:."NEXT X":.63000.A....".OR.....":."BEGI
N LDA #$20 _NOTE STATEMENT LABEL"......"
      LDX #$00":."LOOP  STA $0400,X _.IN
DEXED ADDRESSING"......"   ^  INX":."   
.  ?CHECK FOR X=#$3FF?".O...."   .. IF N
OT,GOTO 'LOOP'"......"..WE HAVE .COMPARE
. & .BRANCH. INSTRUCTIONS!".?.F..".WHAT 
WE NEED ABOVE IS:":."..C.OM.P.ARE .X. TO
 #$3FF".U.P..".& .B.RANCH IF .N.OT .E.QU
AL..TO 'LOOP'":.63010...Z.."....BEGIN LD
A #$20   .                   ".V....".  
    LDX #$00   ":.".LOOP  STA $0400,X"..
....".   ^  INX        ":.".   .  CPX #$
3FF  .                      ".N....".   
.. BNE LOOP   .               ":.63200..
...."NOTE..........:WE WILL NEVER .STA. 
IN .$07FF."......".IN THE ABOVE PROGRAM.
..SO...":.63010.W...."........   .  CPX 
#$400  ":.63200... .."ALSO, WE CAN .CPX 
#$N. ONLY IF N LIES".%.*..".IN THE RANGE
 $00 TO $FF.".N.4..".SO WE CHANGE THE CO
DE TO:":.63010.L.>.."....BEGIN LDA #$20 
  ."...H..".      LDX #$00   ":.".LOOP  
STA $0400,X"...R..".      STA $0500,X".P
.\..".      STA $0600,X"...F..".      ST
A $0700,X"...P..".      INX        ":.".
      CPX #$FF   .".=.Z..".      BNE LOO
P   .":.63000.H....SD$"....";:.T.1.10:.C
L$:.:.SD$"....";......"OR, WE CAN SIMPLI
FY THIS A LITTLE BY".E....".COUNTING .DO
WN. FROM X=$FF TO $00":.63010......"....
BEGIN LDA #$20   ."......".      LDX #$F
F   ":.".LOOP  STA $0400,X".-....".     
 STA $0500,X".G....".      STA $0600,X".
A.J..".      STA $0700,X".{.T..".      D
EX        "......".      BNE LOOP   .":.
"                   ":.63000......SD$"..
..";:.T.1.10:.CL$:.:.SD$"....";......"..
.HOW CAN WE .BNE. WHEN WE DON'T DO ANY".
)...."..COMPARE.?":.63000.U....".YOU SEE
, .BNE. REALLY CHECKS TO SEE"......".IF 
'0' IS THE RESULT OF AN ARITHMETIC".....
.".OPERATION..INCLUDING A .COMPARE..".R.
...".IN THE PAIR OF INSTRUCTIONS:"......
"..CPX #$FF":.".BNE LOOP":.".WE SUBTRACT
 #$FF FROM THE".:....".VALUE OF X AND .B
RANCH. TO LOOP IF".A.$..".THE RESULT IS 
NOT ZERO!":.63000......"..INX     ":.".B
NE LOOP"...8..".WE BRANCH TO LOOP IF THE
 RESULT OF".X.B..".INCREMENTING X IS .NO
T. ZERO.":."..."...L.."..DEC $1234":.".B
NE LOOP "...V..".HERE WE BRANCH TO LOOP 
IF".J.`..".DECREMENTING $1234 IS NOT ZER
O.":."...".X.J.."..NOTE.: .CPX.  INVOLVE
S A SUBTRACTION"...T..".(TO CHECK FOR ZE
RO RESULT)".X.~..".BUT IT DOES NOT......
.. CHANGE ANY REGISTERS!":.63000......".
LET'S .RVS. THE SCREEN.".&....".THIS REQ
UIRES LOOKING AT EVERY SCREEN".V....".ME
MORY LOCATION AND CHECKING THE .MSB.."..
....".IF IT'S .1. THEN CHANGE IT TO .0..
"......".IF IT'S .0. THEN CHANGE IT TO .
1..".Y....".(THE MSB DETERMINES IF THE C
HARACTER"......"IS IN RVS-FIELD)!".9.(..
".WE'LL:":."..LDA $0400,X":.".EOR #$80  
 . __???":.".STA $0400,X".F.2.."..EOR. I
S AN .E.XCLUSIVE .OR.!":.63000...<..".IF
 .A. CONTAINS .10110101. (AFTER .LDA.)".
D.F..".THEN .EOR #$80. DOES AN EXCLUSIVE
-OR"...P..".WITH .10000000. ($80 IN HEX)
".. Z..".AND GIVES .00110101...VERY NICE
!".0 D..".OUR PROGRAM MIGHT GO:".A N..".
.BEGIN LDX #$FF   ":.".LOOP  LDA $0400,X
".. X..".      EOR #$80   ":.".      STA
 $0400,X".A ...".      LDA $0500,X":.". 
     EOR #$80   ".. ...".      STA $0500
,X":.".ETC. ETC..UNTIL..."..!...".      
STA $0700,X".C! ..".      DEX        ":.
".      BNE LOOP   ":.63000.O!...".IT'S 
CLEAR THAT THIS WILL NOT DO IF"..!...".W
E WANT TO GO FROM $0400 TO $0500 TO".I!.
.."...TO $0N00,INSTEAD OF JUST TO $0700.
"..!H..".WE NEED A LOOP-WITHIN-A-LOOP"..
"R..".FOR LARGE N...SOMETHING LIKE:...".
M"...".     M=$0400":."     X=N     _.N 
INSTEAD OF 3".."..."LP1  Y=#$FF":."LP2  
LDA M+Y":."     EOR #$80".."..."     STA
 M+Y":."     Y=Y-1".."..."     IF Y<>0 G
OTO LP2 ":."     M=M+$100":."     X=X-1"
..#..."     IFX<>0 GOTO LP1 ":.63000.7#.
..".....................".23)"_.WON'T DO
 Y=0.!".`#..."..".23)"_.WON'T DO X=0.!!.
":.63000..#...".";:.I.1.10:.CL$:.:.".WE'
LL .CHANGE. IT TO:".Q#...63010:."..     
M=$0400":."     X=N"                    
"..$...".LP1  Y=#$00          ":."LP2  L
DA M+Y":."     EOR #$80".2$..."     STA 
M+Y":."     Y=Y-1".O$..."     IF Y<>0 GO
TO LP2 ":."     M=M+$100":."     X=X-1".
.$...".     IFX>=0 GOTO LP1 .":.63000:."
.............";.Q$..."WE WORK ON M+00 FI
RST,THEN .Y=Y-1."..$..."WILL CHANGE Y=00
 TO Y=FF(!) AND WE'LL".+%..."CONTINUE WI
TH M+FF THEN M+FE..TO M+01".P%..."AND WE
 STOP THE Y-LOOP THERE!".{%..."THE X-LOO
P STARTS WITH X=N AND EACH"..%...".X=X-1
. CHANGES X TO N-1,N-2,..2,1,0 .THEN."..
%..."ONE MORE .X=X-1. CHANGES X TO FF(!)
 WHICH"..&..."IS .NEGATIVE.(!) AND WE ST
OP THE X-LOOP!".>&...".NOTE.:THE 6510 RE
GISTERS CAN HOLD  #'S".I&..."FROM $00 TO
 $FF.IF WE HAVE .00. AND". &...".DECREME
NT.,IT CHANGES TO .FF...AND .FF+1.=.00."
..&..."FINALLY,.MSB=1. SIGNIFIES A .NEGA
TIVE NO..!";:.63000..&...".LET'S TRY SOM
ETHING LIKE:"..'..."..BEGIN LDA #$0400 .
_??*!#$0400 TOO BIG!!".\'...".      STA 
$B0    ._$B0 NOW HAS #$0400"..'...".    
  LDX #$03   ":.".LP1   LDY #$00   ".P'"
..".LP2   LDA ($B0),Y._ INDIRECT INDEXED
?":.".      EOR #$80   "..(,..".      ST
A ($B0),Y._ INDIRECT INDEXED!":.".      
DEY        ".U(6..".      BNE LP2    ":.
".      INC $B0 BY #$100._??*!!HOW??"..(
@..".      DEX        ":.".      BPL LP1
    ._BRANCH ON PLUS!!".C(J.."..LDA ($B0
),Y. TAKES THE CONTENTS OF"..(T..".MEMOR
Y LOC'N $B0, ADDS Y, AND THIS.........".
#)Y.."GIVES THE ADDRESS OF THE BYTE WHIC
H ".I)Z..".GETS LOADED INTO 'A'!!":.6300
0.Y)^..".THERE ARE SOME NEW IDEAS..AND P
ROBLEMS!"..)C.."...BUT FIRST LET'S AGREE
 THAT WE'LL".Q)D..".USE $B0 TO REFER TO 
THE MEMORY LOC'N"..)E..".AND ($B0) TO RE
FER TO THE .CONTENTS"..*F..".OF MEMORY L
OCATION $B0.".P*H.."....LET'S LOOK AT AD
DRESSING MODES.:":.63000.M*R..".BASIC".2
0)"ASSEMBLER"..*W..".....".20)".........
"..*|..".A=5.".20)".LDA #$05.".O*...".QI
MMEDIATE MODE. THE ACCUMULATOR"..*..."IS
 LOADED WITH THE # 5."..+..."..A=M(5).".
20)".LDA $05.".3+...".QABSOLUTE ADDRESSI
NG. 'A' IS".V+..."LOADED WITH THE CONTEN
TS OF".P+..."MEMORY LOCATION 5."..+B..".
.A=M(5+X).".20)".LDA $0005,X"..+L..".QAB
SOLUTE .INDEXED.. THE CONTENTS"..+V.."OF
 LOC'N (5+X) ARE LOADED INTO 'A'."..,...
"..A=M(M(5+X)).".20)".LDA ($0005,X)".>,.
..".QINDEXED .INDIRECT.. THE CONTENTS".H
,..."OF LOC'N (5+X) GIVE THE ADDRESS OF"
..,..."THE BYTE TO BE LOADED INTO 'A'.":
.63000..,...".THEN THERE'S OUR FRIEND:".
.,..."..A=M(M(5)+Y).".20)".LDA ($05),Y."
..-...".Q.INDIRECT INDEXED.. FIRST, THE 
CONTENTS".;-&..".OF LOC'N 5 ARE EXTRACTE
D.THEN 'Y'".E-0..".IS ADDED AND THE RESU
LT GIVES THE"..-:..".ADDRESS OF THE BYTE
 LOADED INTO 'A'.":.63000.K-D..".Q.INDIR
ECT. MEANS WE GO TO A MEMORY LOC'N"..-N.
.".TO GET THE ADDRESS OF THE BYTE TO BE"
...X..".LOADED INTO THE ACCUMULATOR.".J.
B..".Q.INDEXED. MEANS WE ADD THE CONTENT
S".V.L..".OF A .6510. REGISTER TO AN ADD
RESS."...V..".QIF WE .INDEX. THEN .INDIR
ECT. IT'S".S...."..INDEXED INDIRECT...AS
 IN .LDA ($0400,X)"......".QIF WE .INDIR
ECT. THEN .INDEX. IT'S".5/..."..INDIRECT
 INDEXED...AS IN .LDA ($B0),Y":.63000.X/
..MS$."CLEAR?!*$&":.63100:.63000.~/...".
LET'S EXPLAIN ABOUT .MEMORY.."../..."..6
510. INSTRUCTIONS ARE STORED IN MEMORY".
S/..."AS 1- OR 2- OR 3- HEX BYTES."../F.
."..INX.=.E8. IS ONE BYTE LONG..0P.."..L
DA #$05.=.AD 05. IS TWO BYTES".O0Z.."..L
DA $1234,X.=.BD 34 12. IS THREE BYTES.".
K0..."               ^^ ^^"..0..."IN GEN
ERAL, 2-BYTE ADDRESSES ARE"..0..."STORED
 IN MEMORY IN REVERSE ORDER:"..0...".LO-
BYTE. THEN .HI-BYTE.."..0...".SO IF YOU 
HAVE:".!1...".LDA ($B0),Y.=.B1 CA. THE 6
510 WILL".J1 .."GET FROM $B0 THE .LO-BYT
E. OF THE".U1*.."ADDRESS,AND FROM $B1 TH
E .HI-BYTE.!"..14..".QBE SURE TO PUT BOT
H BYTES IN $B0/$B1".H1>.."BEFORE .LDA ($
B0),Y.!!":.63000..1H..".LET'S GET BACK T
O:"..2R.."..BEGIN LDA #$0400 ._??*!#$040
0 TOO BIG!!".B2\..".      STA $B0    ._$
B0 NOW HAS #$0400".R2F..".      LDX #$03
   ":.".LP1   LDY #$00   "..2P..".LP2   
LDA ($B0),Y._ INDIRECT INDEXED?":.".    
  EOR #$80   "..2Z..".      STA ($B0),Y.
_ INDIRECT INDEXED!":.".      DEY       
 ".;3...".      BNE LP2    ":.".      IN
C $B0 BY #$100._??*!!HOW??".}3...".     
 DEX        ":.".      BPL LP1    ._BRAN
CH ON PLUS!!"..3...".WE NOW MUST PUT $04
00 INTO $B0/$B1"..3..."WITH .LDA #$00. .
STA $B0. .LDA #$04. .STA $B1.."..4...".A
LSO .INC $B0 BY #$100. IS CHANGED TO:".9
4...".INC $B1.... WE NEED ONLY .INC. THE
".W4..."HI-BYTE BY '1'!":.63000.|4J..".W
E'LL CHANGE OUR PROGRAM TO:"..4T.."..BEG
IN LDA #$00   .":.".      STA $B0    "..
4...".      LDA #$04   ":.".      STA $B
1    "..5...".      LDX #$03   ":.".LP1 
  LDY #$00   ".?5...".LP2   LDA ($B0),Y.
":.".      EOR #$80   ".P5...".      STA
 ($B0),Y.":.".      DEY        ". 5...".
      BNE LP2    ":.".      INC $B1    "
.X5...".      DEX        ":.".      BPL 
LP1    .":.63000..6...".................
.WE NEEDN'T .LDY #$00. EACH".@6$..".TIME
 WE .BPL LP1":.".Y=0 ALREADY SO:":.63010
.U6...".........     ":.".LOOP":."......
........LOOP"..63..".............LOOP":.
63000..68..".................":.I.1.6:.C
L$:...6B.."..................NOTE THAT .
LDX #$03. CAN"..7L..".BE CHANGED TO ANYT
HING FROM".;7V.."..LDX #$01. TO .LDX #$8
0..":.63000.B7`..".................":.I.
1.6:.CL$:...7J.."..................FOR .
LDX #$00. WE'LL X-LOOP ONCE ANYWAY!".J7T
.."FOR .LDX #$81.,OR HIGHER,.DEX."..7~..
"WILL LEAVE 'MSB'=1 IN THE X-REGISTER". 
8..."AND X<0 WILL RESULT AND .BPL. WILL"
.L8...".NOT. TAKE US BACK TO 'LOOP'!":.6
3000.S8...".................":.I.1.6:.CL
$:...8..."..................NOTE THAT ($
B1) WILL NOT".S8...".OVERFLOW. AFTER A N
UMBER OF .INC $B1."..8..."INSTR'NS. AFTE
R ALL,MEMORY ONLY GOES".$9D.."TO $FFFF, 
SO, UNLESS YOU GOOF".Q9N.."($B1)<=FF WIL
L ALWAYS BE TRUE!":.63000.|9X..".NOTE TH
AT INCREMENTING THE ADDRESS"..9..."IN $B
0/$B1 BY $0100 ONLY REQUIRES".P9...".INC
 $B1.. IF YOU WANT TO INCREMENT"..9..."B
Y $0001 YOU CAN DO IT THIS WAY:"..:...".
.     ------- ".I:...".     INC $B0 ":."
.     BNE NEXT":.".     INC $B1 "._:..."
.NEXT ------- "..:...".THIS ADDS '1' TO 
($B0).IF IT DOESN'T"..:(..".OVERFLOW. FR
OM FF TO 00 WE CONTINUE"..:2.."WITH THE 
'NEXT' INTRUCTION."..:<..".IF IT DOES OV
ERFLOW TO .00.".);F.."THE .BNE NEXT. WIL
L NOT TAKE US TO".V;P.."'NEXT', AND WE A
DD '1' TO THE HI-BYTE".T;Z.."WITH .INC $
B1..":.63000..;D..".IF YOU WANT TO INCRE
MENT BY OTHER THAN".S;N..".$0001 OR $010
0 (.INC $B0. OR .INC $B1.)"..<X..".THEN 
YOU NEED TO .ADD. THE INCREMENT.".%<}.."
.SUPPOSE WE WANT TO ADD $1F:".D<..."..LD
A $B0 ._GET LO-BYTE".J<...".ADC #$1F._AD
D #$1F TO LO-BYTE"..<...".STA $B0 ._PUT 
IT BACK"..< ..".LDA $B1 ._GET HI-BYTE"..
<...".ADC #$00._ADD ZERO(?!)":.".STA $B1
 ._PUT IT BACK"..=...".YOU SEE..ADDING #
$1F MIGHT JUST CAUSE".<=..."THE CONTENTS
 OF $B0 TO .OVERFLOW. WHICH".I=H.."CAUSE
S .CARRY.=1. SO WE ADD THE CARRY"..=R.."
TO ($B1) WITH .LDA $B1. & .ADC #$00".R=.
..".NOTE..........:.ADC. MEANS .AD.D WIT
H .C.ARRY.":.63000..>..."...............
":.I.1.8:.CL$:.:."...............".7>...
"OF COURSE THE .CARRY. MAY BE .1. WHEN".
B>...".THE ABOVE PIECE OF CODE STARTS, S
O"..>...".WE MUST ALWAYS.............. .
CLC. BEFORE AN .ADC.!":.63010.E>..."....
.....CLC     ":.63000..>...".IF YOU WANT
 TO .SUBTRACT. .#$1F. YOU:"..?".."...LDA
 $B0 ":.".SBC #$1F._SUBTRACT $1F":.".STA
 $B0 ".I?,..".LDA $B1 ":.".SBC #$00._SUB
TRACT $00!!":.".STA $B1 "..?6..".NOTE...
.......:.SBC. MEANS .S.U.B.TRACT WITH .C
.ARRY.".Q?@..".HOWEVER, WITH .SBC. YOU M
UST HAVE"..@J..".CARRY=1 TO START WITH!!
":MS$."*?UGH!*?!!":.63000:.63100.2@T..63
010:."....SEC     ":.63000.^@...".":MS$.
".AU REVOIR!.":.63100:."...":..H@.'.9999
..@...A(0),32:.TT.1.PP:.:.I.0.6:.A(I.1),
32.F@...A(I),E(J(N$,I.1,1)).48:.TT.1.PP:
.:.:.A(7),48:...@...I.0.7:.A(I),160:.TT.
1.PP:...A...A(I),E(J(N$,I.1,1)).48:.:..&
A...I.0.7:.P(I),160:.TT.1.PP:..FA...P(I)
,E(J(N$,I.1,1)).48:.:..FAB..I.0.7:.X(I),
160:.TT.1.PP:...AC..X(I),E(J(N$,I.1,1)).
48:.:...AL..I.0.7:.Y(I),160:.TT.1.PP:..F
AM..Y(I),E(J(N$,I.1,1)).48:.:...A...I.0.
7:.M(I),160:.TT.1.PP:...B...M(I),E(J(N$,
I.1,1)).48:.:..&B  .I.0.7:.P(I),160:.TT.
1.PP:..<B. .P(I),B(A(I)):.:..\B. .I.0.7:
.X(I),160:.TT.1.PP:..RB. .X(I),B(A(I)):.
:...B. .I.0.7:.Y(I),160:.TT.1.PP:...B. .
Y(I),B(A(I)):.:..HBH .I.0.7:.M(I),160:.T
T.1.PP:...BI .M(I),B(A(I)):.:...B|..I.0.
7:.A(I),160:.TT.1.PP:...C}..A(I),B(X(I))
:.:..4C...I.0.7:.M(I),160:.TT.1.PP:..JC.
..M(I),B(X(I)):.:..JCB..I.0.7:.A(I),160:
.TT.1.PP:...CC..A(I),B(Y(I)):.:.. C...I.
0.7:.M(I),160:.TT.1.PP:...C...M(I),B(Y(I
)):.:...C`.R$.".........................
........... . . . . . . . ..".$DA.R$.R$.
"..................................".[DB
.A$.".. .A..".R$:P$."...................
....P..".R$..DC.X$."..... .X..".R$:Y$.".
..........................Y..".R$.GDD.M$
."..............................M..".R$.
.DE.CR$."........................".*EF.C
C$.".. .A...... .. .. .. ..   ....   ...
.   .            ".EEG.WD.40:CRT.1024:.G
(142)..EH..I.0.7:A(I).CRT.WD.3.2.I:P(I).
A(I).20:X(I).A(I).3.WD:Y(I).X(I).20..EI.
M(I).Y(I).3.WD:.:C.CRT.7.WD.1..EJ.SD$.".
.........":CL$."":.I.1.WD.2:CL$.CL$." ":
...FK.BT$.".":.I.1.24:BT$.BT$.".":..6FL.
C$.CR$."..........................._CARR
Y BIT".FFS.ML$."........................
.............".PFT.PP.20..F..BT$.".":.I.
1.24:BT$.BT$.".":...F..PT$."............
........................................
...........".$G..PT$.PT$."..............
N............M................==========
==.".`G..PT$.PT$."...............PO.....
.....PO................"..G..PT$.BT$."..
..............................".PT$.".".
GG..ML$."...............................
......"..G..WD.40:CRT.1024:.G(142)..H..W
2.WD.2:W3.WD.1:W1$.J(D(WD),2):.(H..W2$.J
(D(W2),2):W3$.J(D(W3),2)..HD...;H...BT$C
L$;.[H...BT$".RETURN. TO CONTINUE";.QH..
.Z$:.Z$.."".63002..H...Z$:.Z$."".63003..
H.....H"..BT$CL$;.NH#..BT$".........RETU
RN TO SEE IT HAPPEN.........";..H$..Z$:.
Z$.."".63012..H%..Z$:.Z$."".63013..H&...
.I|..T.1.5:.PT$MS$;.)I}..PT$"          "
;.8I~..PT$MS$;:..>I...II...63000.JI...S
D$;:.T.1.10:.CL$:.:.SD$;:..~ID..63100:.6
3010:...I...60000:.".":.1630...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL