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

PONZO TUTOR-5.64

FILE INFORMATION

FILENAME(S): PONZO TUTOR-5.64

FILE TYPE(S): PRG

FILE SIZE: 16.4K

FIRST SEEN: 2025-11-30 21:07:08

APPEARS ON: 1 disk(s)

FILE HASH

47d11651a8dcf25bdebd8d0b857af66dc323ea67fa421ebda85bdb4c0c3a33ae

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TUTORIALS C PONZO TUTOR-5.64 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 66  11 86 01 99 22 11 41 4C  |L.EFT".f....".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 20  |.-REGISTER MOVE |
00000960: 4C 45 46 54 2E 22 00 8D  11 90 01 99 22 11 41 20  |LEFT."......".A |
00000970: 27 30 27 20 43 4F 4D 45  53 20 49 4E 54 4F 20 54  |'0' COMES INTO T|
00000980: 48 45 20 27 4C 53 42 27  20 41 4E 44 22 00 B7 11  |HE 'LSB' AND"...|
00000990: 9A 01 99 22 11 54 48 45  20 27 4D 53 42 27 20 44  |...".THE 'MSB' D|
000009A0: 52 4F 50 53 20 49 4E 54  4F 20 54 48 45 20 27 43  |ROPS INTO THE 'C|
000009B0: 41 52 52 59 27 2E 22 00  DA 11 A4 01 99 22 11 D1  |ARRY'."......"..|
000009C0: 4C 53 42 3D 4C 45 41 53  54 20 53 49 47 4E 49 46  |LSB=LEAST SIGNIF|
000009D0: 49 43 41 4E 54 20 42 49  54 22 00 FC 11 AE 01 99  |ICANT BIT"......|
000009E0: 22 11 D1 4D 53 42 3D 4D  4F 53 54 20 53 49 47 4E  |"..MSB=MOST SIGN|
000009F0: 49 46 49 43 41 4E 54 20  42 49 54 22 00 18 12 B3  |IFICANT BIT"....|
00000A00: 01 4D 53 24 B2 22 20 20  41 3D 32 2A 41 20 20 20  |.MS$."  A=2*A   |
00000A10: 22 3A 8D 36 33 33 30 30  00 4F 12 B8 01 99 43 24  |":.63300.O....C$|
00000A20: 3A 97 43 2C 34 39 3A 4E  24 B2 22 31 30 31 31 31  |:.C,49:N$."10111|
00000A30: 30 31 30 22 3A 50 50 B2  35 30 30 3A 8D 34 30 30  |010":PP.500:.400|
00000A40: 39 38 3A 8D 36 33 32 30  30 3A 50 50 B2 32 30 00  |98:.63200:PP.20.|
00000A50: 5E 12 C2 01 99 43 43 24  3A 97 43 2C 33 32 00 8A  |^....CC$:.C,32..|
00000A60: 12 CC 01 99 53 44 24 22  11 12 53 45 43 92 22 3A  |....SD$"..SEC.":|
00000A70: 99 22 11 12 53 45 92 54  20 54 48 45 20 12 43 92  |."..SE.T THE .C.|
00000A80: 41 52 52 59 20 42 49 54  2E 22 00 B8 12 D6 01 99  |ARRY BIT."......|
00000A90: 43 52 24 3A 4D 53 24 B2  22 20 20 43 41 52 52 59  |CR$:MS$."  CARRY|
00000AA0: 3D 31 20 22 3A 8D 36 33  33 30 30 3A 97 43 2C 34  |=1 ":.63300:.C,4|
00000AB0: 39 3A 8D 36 33 32 30 30  00 F3 12 E0 01 99 53 44  |9:.63200......SD|
00000AC0: 24 22 11 12 43 4C 43 92  22 3A 99 22 11 12 43 4C  |$"..CLC.":."..CL|
00000AD0: 92 45 41 52 20 12 43 92  41 52 52 59 20 42 49 54  |.EAR .C.ARRY BIT|
00000AE0: 2E 22 3A 4D 53 24 B2 22  20 20 43 41 52 52 59 3D  |.":MS$."  CARRY=|
00000AF0: 30 20 22 00 15 13 EA 01  8D 36 33 33 30 30 3A 99  |0 "......63300:.|
00000B00: 43 52 24 3A 97 43 2C 34  38 3A 8D 36 33 32 30 30  |CR$:.C,48:.63200|
00000B10: 3A 99 43 43 24 00 45 13  F4 01 99 22 12 53 54 41  |:.CC$.E....".STA|
00000B20: 20 24 31 32 33 34 92 22  3A 99 22 11 12 53 54 92  | $1234.":."..ST.|
00000B30: 4F 52 45 20 54 48 45 20  12 41 92 2D 52 45 47 49  |ORE THE .A.-REGI|
00000B40: 53 54 45 52 22 00 7E 13  FE 01 99 22 11 49 4E 20  |STER".~....".IN |
00000B50: 4D 45 4D 4F 52 59 20 4C  4F 43 41 54 49 4F 4E 20  |MEMORY LOCATION |
00000B60: 24 31 32 33 34 22 3A 4D  53 24 B2 22 20 20 20 4D  |$1234":MS$."   M|
00000B70: 3D 41 20 20 20 20 22 3A  8D 36 33 33 30 30 00 9E  |=A    ":.63300..|
00000B80: 13 08 02 4E 24 B2 22 31  30 31 31 31 30 31 30 22  |...N$."10111010"|
00000B90: 3A 8D 34 31 31 36 30 3A  8D 36 33 30 30 30 00 CE  |:.41160:.63000..|
00000BA0: 13 58 02 99 22 93 54 48  41 54 27 53 20 45 4E 4F  |.X..".THAT'S ENO|
00000BB0: 55 47 48 2E 20 4C 45 54  27 53 20 43 4C 45 41 52  |UGH. LET'S CLEAR|
00000BC0: 20 54 48 45 20 53 43 52  45 45 4E 2E 11 22 00 FA  | THE SCREEN.."..|
00000BD0: 13 62 02 99 22 4C 44 41  20 23 24 32 30 20 20 5F  |.b.."LDA #$20  _|
00000BE0: 4C 4F 41 44 20 41 20 57  49 54 48 20 23 24 32 30  |LOAD A WITH #$20|
00000BF0: 3D 27 53 50 41 43 45 27  2E 22 00 29 14 6C 02 99  |='SPACE'.".).l..|
00000C00: 22 53 54 41 20 24 30 34  30 30 20 C9 22 3A 99 22  |"STA $0400 .":."|
00000C10: 53 54 41 20 24 30 34 30  31 20 DD 5F 46 49 4C 4C  |STA $0401 ._FILL|
00000C20: 53 20 53 43 52 45 45 4E  22 00 4E 14 76 02 99 22  |S SCREEN".N.v.."|
00000C30: 53 54 41 20 24 30 34 30  32 20 DD 5F 4D 45 4D 4F  |STA $0402 ._MEMO|
00000C40: 52 59 20 57 49 54 48 20  23 24 32 30 2E 22 00 93  |RY WITH #$20."..|
00000C50: 14 80 02 99 22 2D 2D 2D  20 2D 2D 2D 2D 2D 20 2E  |...."--- ----- .|
00000C60: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000C70: 22 3A 99 22 53 54 41 20  24 30 37 46 46 20 CB 5F  |":."STA $07FF ._|
00000C80: 48 45 4E 43 45 20 43 4C  45 41 52 20 53 43 52 45  |HENCE CLEAR SCRE|
00000C90: 45 4E 22 00 CC 14 8A 02  99 22 11 42 55 54 20 57  |EN"......".BUT W|
00000CA0: 45 20 43 4C 45 41 52 4C  59 20 4E 45 45 44 20 53  |E CLEARLY NEED S|
00000CB0: 4F 4D 45 54 48 49 4E 47  20 4C 49 4B 45 3A 22 3A  |OMETHING LIKE:":|
00000CC0: 99 22 11 4C 44 41 20 23  24 32 30 22 00 04 15 94  |.".LDA #$20"....|
00000CD0: 02 99 22 46 4F 52 20 58  3D 30 20 54 4F 20 23 24  |.."FOR X=0 TO #$|
00000CE0: 33 46 46 22 3A 99 22 53  54 41 20 24 30 34 30 30  |3FF":."STA $0400|
00000CF0: 2B 58 22 3A 99 22 4E 45  58 54 20 58 22 3A 8D 36  |+X":."NEXT X":.6|
00000D00: 33 30 30 30 00 3C 15 9E  02 99 22 93 4F 52 11 9D  |3000.<....".OR..|
00000D10: 9D B8 B8 22 3A 99 22 42  45 47 49 4E 20 4C 44 41  |...":."BEGIN LDA|
00000D20: 20 23 24 32 30 20 5F 4E  4F 54 45 20 53 54 41 54  | #$20 _NOTE STAT|
00000D30: 45 4D 45 4E 54 20 4C 41  42 45 4C 22 00 7C 15 A8  |EMENT LABEL".|..|
00000D40: 02 99 22 20 20 20 20 20  20 4C 44 58 20 23 24 30  |.."      LDX #$0|
00000D50: 30 22 3A 99 22 4C 4F 4F  50 20 20 53 54 41 20 24  |0":."LOOP  STA $|
00000D60: 30 34 30 30 2C 58 20 5F  12 49 4E 44 45 58 45 44  |0400,X _.INDEXED|
00000D70: 20 41 44 44 52 45 53 53  49 4E 47 22 00 AA 15 B2  | ADDRESSING"....|
00000D80: 02 99 22 20 20 20 5E 20  20 49 4E 58 22 3A 99 22  |.."   ^  INX":."|
00000D90: 20 20 20 DD 20 20 3F 43  48 45 43 4B 20 46 4F 52  |   .  ?CHECK FOR|
00000DA0: 20 58 3D 23 24 33 46 46  3F 22 00 CA 15 B7 02 99  | X=#$3FF?"......|
00000DB0: 22 20 20 20 AD C0 20 49  46 20 4E 4F 54 2C 47 4F  |"   .. IF NOT,GO|
00000DC0: 54 4F 20 27 4C 4F 4F 50  27 22 00 FE 15 BC 02 99  |TO 'LOOP'"......|
00000DD0: 22 11 11 57 45 20 48 41  56 45 20 12 43 4F 4D 50  |"..WE HAVE .COMP|
00000DE0: 41 52 45 92 20 26 20 12  42 52 41 4E 43 48 92 20  |ARE. & .BRANCH. |
00000DF0: 49 4E 53 54 52 55 43 54  49 4F 4E 53 21 22 00 3A  |INSTRUCTIONS!".:|
00000E00: 16 C6 02 99 22 11 57 48  41 54 20 57 45 20 4E 45  |....".WHAT WE NE|
00000E10: 45 44 20 41 42 4F 56 45  20 49 53 3A 22 3A 99 22  |ED ABOVE IS:":."|
00000E20: 11 12 43 92 4F 4D 12 50  92 41 52 45 20 12 58 92  |..C.OM.P.ARE .X.|
00000E30: 20 54 4F 20 23 24 33 46  46 22 00 70 16 D0 02 99  | TO #$3FF".p....|
00000E40: 22 11 26 20 12 42 92 52  41 4E 43 48 20 49 46 20  |".& .B.RANCH IF |
00000E50: 12 4E 92 4F 54 20 12 45  92 51 55 41 4C 2E 2E 54  |.N.OT .E.QUAL..T|
00000E60: 4F 20 27 4C 4F 4F 50 27  22 3A 8D 36 33 30 31 30  |O 'LOOP'":.63010|
00000E70: 00 A1 16 DA 02 99 22 13  11 11 12 42 45 47 49 4E  |......"....BEGIN|
00000E80: 20 4C 44 41 20 23 24 32  30 20 20 20 92 20 20 20  | LDA #$20   .   |
00000E90: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000EA0: 22 00 D1 16 E4 02 99 22  12 20 20 20 20 20 20 4C  |"......".      L|
00000EB0: 44 58 20 23 24 30 30 20  20 20 22 3A 99 22 12 4C  |DX #$00   ":.".L|
00000EC0: 4F 4F 50 20 20 53 54 41  20 24 30 34 30 30 2C 58  |OOP  STA $0400,X|
00000ED0: 22 00 18 17 EE 02 99 22  12 20 20 20 5E 20 20 49  |"......".   ^  I|
00000EE0: 4E 58 20 20 20 20 20 20  20 20 22 3A 99 22 12 20  |NX        ":.". |
00000EF0: 20 20 DD 20 20 43 50 58  20 23 24 33 46 46 20 20  |  .  CPX #$3FF  |
00000F00: 92 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000F10: 20 20 20 20 20 20 20 22  00 49 17 F8 02 99 22 12  |       ".I....".|
00000F20: 20 20 20 AD C0 20 42 4E  45 20 4C 4F 4F 50 20 20  |   .. BNE LOOP  |
00000F30: 20 92 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | .              |
00000F40: 20 22 3A 8D 36 33 32 30  30 00 7E 17 02 03 99 22  | ":.63200.~...."|
00000F50: 4E 4F 54 45 11 9D 9D 9D  9D B8 B8 B8 B8 91 3A 57  |NOTE..........:W|
00000F60: 45 20 57 49 4C 4C 20 4E  45 56 45 52 20 12 53 54  |E WILL NEVER .ST|
00000F70: 41 92 20 49 4E 20 12 24  30 37 46 46 92 22 00 AA  |A. IN .$07FF."..|
00000F80: 17 0C 03 99 22 11 49 4E  20 54 48 45 20 41 42 4F  |....".IN THE ABO|
00000F90: 56 45 20 50 52 4F 47 52  41 4D 2E 2E 2E 53 4F 2E  |VE PROGRAM...SO.|
00000FA0: 2E 2E 22 3A 8D 36 33 30  31 30 00 D2 17 16 03 99  |..":.63010......|
00000FB0: 22 13 11 11 11 11 11 11  12 20 20 20 DD 20 20 43  |"........   .  C|
00000FC0: 50 58 20 23 24 34 30 30  20 20 22 3A 8D 36 33 32  |PX #$400  ":.632|
00000FD0: 30 30 00 FF 17 20 03 99  22 41 4C 53 4F 2C 20 57  |00... .."ALSO, W|
00000FE0: 45 20 43 41 4E 20 12 43  50 58 20 23 24 4E 92 20  |E CAN .CPX #$N. |
00000FF0: 4F 4E 4C 59 20 49 46 20  4E 20 4C 49 45 53 22 00  |ONLY IF N LIES".|
00001000: 20 18 2A 03 99 22 11 49  4E 20 54 48 45 20 52 41  | .*..".IN THE RA|
00001010: 4E 47 45 20 24 30 30 20  54 4F 20 24 46 46 2E 22  |NGE $00 TO $FF."|
00001020: 00 49 18 34 03 99 22 11  53 4F 20 57 45 20 43 48  |.I.4..".SO WE CH|
00001030: 41 4E 47 45 20 54 48 45  20 43 4F 44 45 20 54 4F  |ANGE THE CODE TO|
00001040: 3A 22 3A 8D 36 33 30 31  30 00 67 18 3E 03 99 22  |:":.63010.g.>.."|
00001050: 93 11 11 12 42 45 47 49  4E 20 4C 44 41 20 23 24  |....BEGIN LDA #$|
00001060: 32 30 20 20 20 92 22 00  97 18 48 03 99 22 12 20  |20   ."...H..". |
00001070: 20 20 20 20 20 4C 44 58  20 23 24 30 30 20 20 20  |     LDX #$00   |
00001080: 22 3A 99 22 12 4C 4F 4F  50 20 20 53 54 41 20 24  |":.".LOOP  STA $|
00001090: 30 34 30 30 2C 58 22 00  B1 18 52 03 99 22 12 20  |0400,X"...R..". |
000010A0: 20 20 20 20 20 53 54 41  20 24 30 35 30 30 2C 58  |     STA $0500,X|
000010B0: 22 00 CB 18 5C 03 99 22  12 20 20 20 20 20 20 53  |"...\..".      S|
000010C0: 54 41 20 24 30 36 30 30  2C 58 22 00 E5 18 66 03  |TA $0600,X"...f.|
000010D0: 99 22 12 20 20 20 20 20  20 53 54 41 20 24 30 37  |.".      STA $07|
000010E0: 30 30 2C 58 22 00 16 19  70 03 99 22 12 20 20 20  |00,X"...p..".   |
000010F0: 20 20 20 49 4E 58 20 20  20 20 20 20 20 20 22 3A  |   INX        ":|
00001100: 99 22 12 20 20 20 20 20  20 43 50 58 20 23 24 46  |.".      CPX #$F|
00001110: 46 20 20 20 92 22 00 38  19 7A 03 99 22 12 20 20  |F   .".8.z..".  |
00001120: 20 20 20 20 42 4E 45 20  4C 4F 4F 50 20 20 20 92  |    BNE LOOP   .|
00001130: 22 3A 8D 36 33 30 30 30  00 63 19 84 03 99 53 44  |":.63000.c....SD|
00001140: 24 22 11 11 11 11 22 3B  3A 81 54 B2 31 A4 31 30  |$"....";:.T.1.10|
00001150: 3A 99 43 4C 24 3A 82 3A  99 53 44 24 22 11 11 11  |:.CL$:.:.SD$"...|
00001160: 11 22 3B 00 8F 19 8E 03  99 22 4F 52 2C 20 57 45  |.";......"OR, WE|
00001170: 20 43 41 4E 20 53 49 4D  50 4C 49 46 59 20 54 48  | CAN SIMPLIFY TH|
00001180: 49 53 20 41 20 4C 49 54  54 4C 45 20 42 59 22 00  |IS A LITTLE BY".|
00001190: C0 19 98 03 99 22 11 43  4F 55 4E 54 49 4E 47 20  |.....".COUNTING |
000011A0: 12 44 4F 57 4E 92 20 46  52 4F 4D 20 58 3D 24 46  |.DOWN. FROM X=$F|
000011B0: 46 20 54 4F 20 24 30 30  22 3A 8D 36 33 30 31 30  |F TO $00":.63010|
000011C0: 00 DE 19 A2 03 99 22 13  11 11 12 42 45 47 49 4E  |......"....BEGIN|
000011D0: 20 4C 44 41 20 23 24 32  30 20 20 20 92 22 00 0E  | LDA #$20   ."..|
000011E0: 1A AC 03 99 22 12 20 20  20 20 20 20 4C 44 58 20  |....".      LDX |
000011F0: 23 24 46 46 20 20 20 22  3A 99 22 12 4C 4F 4F 50  |#$FF   ":.".LOOP|
00001200: 20 20 53 54 41 20 24 30  34 30 30 2C 58 22 00 28  |  STA $0400,X".(|
00001210: 1A B6 03 99 22 12 20 20  20 20 20 20 53 54 41 20  |....".      STA |
00001220: 24 30 35 30 30 2C 58 22  00 42 1A C0 03 99 22 12  |$0500,X".B....".|
00001230: 20 20 20 20 20 20 53 54  41 20 24 30 36 30 30 2C  |      STA $0600,|
00001240: 58 22 00 5C 1A CA 03 99  22 12 20 20 20 20 20 20  |X".\....".      |
00001250: 53 54 41 20 24 30 37 30  30 2C 58 22 00 76 1A D4  |STA $0700,X".v..|
00001260: 03 99 22 12 20 20 20 20  20 20 44 45 58 20 20 20  |..".      DEX   |
00001270: 20 20 20 20 20 22 00 AF  1A DE 03 99 22 12 20 20  |     "......".  |
00001280: 20 20 20 20 42 4E 45 20  4C 4F 4F 50 20 20 20 92  |    BNE LOOP   .|
00001290: 22 3A 99 22 20 20 20 20  20 20 20 20 20 20 20 20  |":."            |
000012A0: 20 20 20 20 20 20 20 22  3A 8D 36 33 30 30 30 00  |       ":.63000.|
000012B0: DA 1A DF 03 99 53 44 24  22 11 11 11 11 22 3B 3A  |.....SD$"....";:|
000012C0: 81 54 B2 31 A4 31 30 3A  99 43 4C 24 3A 82 3A 99  |.T.1.10:.CL$:.:.|
000012D0: 53 44 24 22 11 11 11 11  22 3B 00 0A 1B E3 03 99  |SD$"....";......|
000012E0: 22 11 11 11 48 4F 57 20  43 41 4E 20 57 45 20 12  |"...HOW CAN WE .|
000012F0: 42 4E 45 92 20 57 48 45  4E 20 57 45 20 44 4F 4E  |BNE. WHEN WE DON|
00001300: 27 54 20 44 4F 20 41 4E  59 22 00 24 1B E4 03 99  |'T DO ANY".$....|
00001310: 22 11 12 43 4F 4D 50 41  52 45 92 3F 22 3A 8D 36  |"..COMPARE.?":.6|
00001320: 33 30 30 30 00 50 1B E8  03 99 22 93 59 4F 55 20  |3000.P....".YOU |
00001330: 53 45 45 2C 20 12 42 4E  45 92 20 52 45 41 4C 4C  |SEE, .BNE. REALL|
00001340: 59 20 43 48 45 43 4B 53  20 54 4F 20 53 45 45 22  |Y CHECKS TO SEE"|
00001350: 00 7E 1B F2 03 99 22 11  49 46 20 27 30 27 20 49  |.~....".IF '0' I|
00001360: 53 20 54 48 45 20 52 45  53 55 4C 54 20 4F 46 20  |S THE RESULT OF |
00001370: 41 4E 20 41 52 49 54 48  4D 45 54 49 43 22 00 A8  |AN ARITHMETIC"..|
00001380: 1B FC 03 99 22 11 4F 50  45 52 41 54 49 4F 4E 2E  |....".OPERATION.|
00001390: 2E 49 4E 43 4C 55 44 49  4E 47 20 41 20 12 43 4F  |.INCLUDING A .CO|
000013A0: 4D 50 41 52 45 92 2E 22  00 CD 1B 06 04 99 22 11  |MPARE.."......".|
000013B0: 49 4E 20 54 48 45 20 50  41 49 52 20 4F 46 20 49  |IN THE PAIR OF I|
000013C0: 4E 53 54 52 55 43 54 49  4F 4E 53 3A 22 00 0A 1C  |NSTRUCTIONS:"...|
000013D0: 10 04 99 22 11 12 43 50  58 20 23 24 46 46 22 3A  |..."..CPX #$FF":|
000013E0: 99 22 12 42 4E 45 20 4C  4F 4F 50 22 3A 99 22 11  |.".BNE LOOP":.".|
000013F0: 57 45 20 53 55 42 54 52  41 43 54 20 23 24 46 46  |WE SUBTRACT #$FF|
00001400: 20 46 52 4F 4D 20 54 48  45 22 00 35 1C 1A 04 99  | FROM THE".5....|
00001410: 22 11 56 41 4C 55 45 20  4F 46 20 58 20 41 4E 44  |".VALUE OF X AND|
00001420: 20 12 42 52 41 4E 43 48  92 20 54 4F 20 4C 4F 4F  | .BRANCH. TO LOO|
00001430: 50 20 49 46 22 00 5C 1C  24 04 99 22 11 54 48 45  |P IF".\.$..".THE|
00001440: 20 52 45 53 55 4C 54 20  49 53 20 4E 4F 54 20 5A  | RESULT IS NOT Z|
00001450: 45 52 4F 21 22 3A 8D 36  33 30 30 30 00 7B 1C 2E  |ERO!":.63000.{..|
00001460: 04 99 22 93 12 49 4E 58  20 20 20 20 20 22 3A 99  |.."..INX     ":.|
00001470: 22 12 42 4E 45 20 4C 4F  4F 50 22 00 A6 1C 38 04  |".BNE LOOP"...8.|
00001480: 99 22 11 57 45 20 42 52  41 4E 43 48 20 54 4F 20  |.".WE BRANCH TO |
00001490: 4C 4F 4F 50 20 49 46 20  54 48 45 20 52 45 53 55  |LOOP IF THE RESU|
000014A0: 4C 54 20 4F 46 22 00 D3  1C 42 04 99 22 11 49 4E  |LT OF"...B..".IN|
000014B0: 43 52 45 4D 45 4E 54 49  4E 47 20 58 20 49 53 20  |CREMENTING X IS |
000014C0: 12 4E 4F 54 92 20 5A 45  52 4F 2E 22 3A 99 22 B8  |.NOT. ZERO.":.".|
000014D0: B8 B8 22 00 F4 1C 4C 04  99 22 11 12 44 45 43 20  |.."...L.."..DEC |
000014E0: 24 31 32 33 34 22 3A 99  22 12 42 4E 45 20 4C 4F  |$1234":.".BNE LO|
000014F0: 4F 50 20 22 00 16 1D 56  04 99 22 11 48 45 52 45  |OP "...V..".HERE|
00001500: 20 57 45 20 42 52 41 4E  43 48 20 54 4F 20 4C 4F  | WE BRANCH TO LO|
00001510: 4F 50 20 49 46 22 00 45  1D 60 04 99 22 11 44 45  |OP IF".E.`..".DE|
00001520: 43 52 45 4D 45 4E 54 49  4E 47 20 24 31 32 33 34  |CREMENTING $1234|
00001530: 20 49 53 20 4E 4F 54 20  5A 45 52 4F 2E 22 3A 99  | IS NOT ZERO.":.|
00001540: 22 B8 B8 B8 22 00 73 1D  6A 04 99 22 11 12 4E 4F  |"...".s.j.."..NO|
00001550: 54 45 92 3A 20 12 43 50  58 92 20 20 49 4E 56 4F  |TE.: .CPX.  INVO|
00001560: 4C 56 45 53 20 41 20 53  55 42 54 52 41 43 54 49  |LVES A SUBTRACTI|
00001570: 4F 4E 22 00 96 1D 74 04  99 22 11 28 54 4F 20 43  |ON"...t..".(TO C|
00001580: 48 45 43 4B 20 46 4F 52  20 5A 45 52 4F 20 52 45  |HECK FOR ZERO RE|
00001590: 53 55 4C 54 29 22 00 D3  1D 7E 04 99 22 11 42 55  |SULT)"...~..".BU|
000015A0: 54 20 49 54 20 44 4F 45  53 20 4E 4F 54 11 9D 9D  |T IT DOES NOT...|
000015B0: 9D B8 B8 B8 91 20 43 48  41 4E 47 45 20 41 4E 59  |..... CHANGE ANY|
000015C0: 20 52 45 47 49 53 54 45  52 53 21 22 3A 8D 36 33  | REGISTERS!":.63|
000015D0: 30 30 30 00 F3 1D 88 04  99 22 93 4C 45 54 27 53  |000......".LET'S|
000015E0: 20 12 52 56 53 92 20 54  48 45 20 53 43 52 45 45  | .RVS. THE SCREE|
000015F0: 4E 2E 22 00 21 1E 92 04  99 22 11 54 48 49 53 20  |N.".!....".THIS |
00001600: 52 45 51 55 49 52 45 53  20 4C 4F 4F 4B 49 4E 47  |REQUIRES LOOKING|
00001610: 20 41 54 20 45 56 45 52  59 20 53 43 52 45 45 4E  | AT EVERY SCREEN|
00001620: 22 00 51 1E 9C 04 99 22  11 4D 45 4D 4F 52 59 20  |".Q....".MEMORY |
00001630: 4C 4F 43 41 54 49 4F 4E  20 41 4E 44 20 43 48 45  |LOCATION AND CHE|
00001640: 43 4B 49 4E 47 20 54 48  45 20 12 4D 53 42 92 2E  |CKING THE .MSB..|
00001650: 22 00 7C 1E A6 04 99 22  11 49 46 20 49 54 27 53  |".|....".IF IT'S|
00001660: 20 12 31 92 20 54 48 45  4E 20 43 48 41 4E 47 45  | .1. THEN CHANGE|
00001670: 20 49 54 20 54 4F 20 12  30 92 2E 22 00 A7 1E B0  | IT TO .0.."....|
00001680: 04 99 22 11 49 46 20 49  54 27 53 20 12 30 92 20  |..".IF IT'S .0. |
00001690: 54 48 45 4E 20 43 48 41  4E 47 45 20 49 54 20 54  |THEN CHANGE IT T|
000016A0: 4F 20 12 31 92 2E 22 00  D4 1E 14 05 99 22 11 28  |O .1.."......".(|
000016B0: 54 48 45 20 4D 53 42 20  44 45 54 45 52 4D 49 4E  |THE MSB DETERMIN|
000016C0: 45 53 20 49 46 20 54 48  45 20 43 48 41 52 41 43  |ES IF THE CHARAC|
000016D0: 54 45 52 22 00 ED 1E 1E  05 99 22 49 53 20 49 4E  |TER"......"IS IN|
000016E0: 20 52 56 53 2D 46 49 45  4C 44 29 21 22 00 34 1F  | RVS-FIELD)!".4.|
000016F0: 28 05 99 22 11 57 45 27  4C 4C 3A 22 3A 99 22 11  |(..".WE'LL:":.".|
00001700: 12 4C 44 41 20 24 30 34  30 30 2C 58 22 3A 99 22  |.LDA $0400,X":."|
00001710: 12 45 4F 52 20 23 24 38  30 20 20 20 92 20 5F 5F  |.EOR #$80   . __|
00001720: 3F 3F 3F 22 3A 99 22 12  53 54 41 20 24 30 34 30  |???":.".STA $040|
00001730: 30 2C 58 22 00 61 1F 32  05 99 22 11 12 45 4F 52  |0,X".a.2.."..EOR|
00001740: 92 20 49 53 20 41 4E 20  12 45 92 58 43 4C 55 53  |. IS AN .E.XCLUS|
00001750: 49 56 45 20 12 4F 52 92  21 22 3A 8D 36 33 30 30  |IVE .OR.!":.6300|
00001760: 30 00 92 1F 3C 05 99 22  93 49 46 20 12 41 92 20  |0...<..".IF .A. |
00001770: 43 4F 4E 54 41 49 4E 53  20 12 31 30 31 31 30 31  |CONTAINS .101101|
00001780: 30 31 92 20 28 41 46 54  45 52 20 12 4C 44 41 92  |01. (AFTER .LDA.|
00001790: 29 22 00 BF 1F 46 05 99  22 11 54 48 45 4E 20 12  |)"...F..".THEN .|
000017A0: 45 4F 52 20 23 24 38 30  92 20 44 4F 45 53 20 41  |EOR #$80. DOES A|
000017B0: 4E 20 45 58 43 4C 55 53  49 56 45 2D 4F 52 22 00  |N EXCLUSIVE-OR".|
000017C0: E4 1F 50 05 99 22 11 57  49 54 48 20 12 31 30 30  |..P..".WITH .100|
000017D0: 30 30 30 30 30 92 20 28  24 38 30 20 49 4E 20 48  |00000. ($80 IN H|
000017E0: 45 58 29 22 00 0D 20 5A  05 99 22 11 41 4E 44 20  |EX)".. Z..".AND |
000017F0: 47 49 56 45 53 20 12 30  30 31 31 30 31 30 31 92  |GIVES .00110101.|
00001800: 2E 2E 56 45 52 59 20 4E  49 43 45 21 22 00 2B 20  |..VERY NICE!".+ |
00001810: 64 05 99 22 11 4F 55 52  20 50 52 4F 47 52 41 4D  |d..".OUR PROGRAM|
00001820: 20 4D 49 47 48 54 20 47  4F 3A 22 00 5C 20 6E 05  | MIGHT GO:".\ n.|
00001830: 99 22 11 12 42 45 47 49  4E 20 4C 44 58 20 23 24  |."..BEGIN LDX #$|
00001840: 46 46 20 20 20 22 3A 99  22 12 4C 4F 4F 50 20 20  |FF   ":.".LOOP  |
00001850: 4C 44 41 20 24 30 34 30  30 2C 58 22 00 8C 20 78  |LDA $0400,X".. x|
00001860: 05 99 22 12 20 20 20 20  20 20 45 4F 52 20 23 24  |..".      EOR #$|
00001870: 38 30 20 20 20 22 3A 99  22 12 20 20 20 20 20 20  |80   ":.".      |
00001880: 53 54 41 20 24 30 34 30  30 2C 58 22 00 BC 20 82  |STA $0400,X".. .|
00001890: 05 99 22 12 20 20 20 20  20 20 4C 44 41 20 24 30  |..".      LDA $0|
000018A0: 35 30 30 2C 58 22 3A 99  22 12 20 20 20 20 20 20  |500,X":.".      |
000018B0: 45 4F 52 20 23 24 38 30  20 20 20 22 00 ED 20 8C  |EOR #$80   ".. .|
000018C0: 05 99 22 12 20 20 20 20  20 20 53 54 41 20 24 30  |..".      STA $0|
000018D0: 35 30 30 2C 58 22 3A 99  22 12 45 54 43 2E 20 45  |500,X":.".ETC. E|
000018E0: 54 43 2E 2E 55 4E 54 49  4C 2E 2E 92 22 00 07 21  |TC..UNTIL..."..!|
000018F0: 96 05 99 22 12 20 20 20  20 20 20 53 54 41 20 24  |...".      STA $|
00001900: 30 37 30 30 2C 58 22 00  3E 21 A0 05 99 22 12 20  |0700,X".>!...". |
00001910: 20 20 20 20 20 44 45 58  20 20 20 20 20 20 20 20  |     DEX        |
00001920: 22 3A 99 22 12 20 20 20  20 20 20 42 4E 45 20 4C  |":.".      BNE L|
00001930: 4F 4F 50 20 20 20 22 3A  8D 36 33 30 30 30 00 6A  |OOP   ":.63000.j|
00001940: 21 AA 05 99 22 93 49 54  27 53 20 43 4C 45 41 52  |!...".IT'S CLEAR|
00001950: 20 54 48 41 54 20 54 48  49 53 20 57 49 4C 4C 20  | THAT THIS WILL |
00001960: 4E 4F 54 20 44 4F 20 49  46 22 00 97 21 B4 05 99  |NOT DO IF"..!...|
00001970: 22 11 57 45 20 57 41 4E  54 20 54 4F 20 47 4F 20  |".WE WANT TO GO |
00001980: 46 52 4F 4D 20 24 30 34  30 30 20 54 4F 20 24 30  |FROM $0400 TO $0|
00001990: 35 30 30 20 54 4F 22 00  C4 21 BE 05 99 22 11 2E  |500 TO"..!..."..|
000019A0: 2E 54 4F 20 24 30 4E 30  30 2C 49 4E 53 54 45 41  |.TO $0N00,INSTEA|
000019B0: 44 20 4F 46 20 4A 55 53  54 20 54 4F 20 24 30 37  |D OF JUST TO $07|
000019C0: 30 30 2E 22 00 E9 21 C8  05 99 22 11 57 45 20 4E  |00."..!...".WE N|
000019D0: 45 45 44 20 41 20 4C 4F  4F 50 2D 57 49 54 48 49  |EED A LOOP-WITHI|
000019E0: 4E 2D 41 2D 4C 4F 4F 50  22 00 12 22 D2 05 99 22  |N-A-LOOP".."..."|
000019F0: 11 46 4F 52 20 4C 41 52  47 45 20 4E 2E 2E 2E 53  |.FOR LARGE N...S|
00001A00: 4F 4D 45 54 48 49 4E 47  20 4C 49 4B 45 3A 11 11  |OMETHING LIKE:..|
00001A10: 11 22 00 48 22 DC 05 99  22 11 20 20 20 20 20 4D  |.".H"...".     M|
00001A20: 3D 24 30 34 30 30 22 3A  99 22 20 20 20 20 20 58  |=$0400":."     X|
00001A30: 3D 4E 20 20 20 20 20 5F  12 4E 20 49 4E 53 54 45  |=N     _.N INSTE|
00001A40: 41 44 20 4F 46 20 33 22  00 7C 22 E6 05 99 22 4C  |AD OF 3".|"..."L|
00001A50: 50 31 20 20 59 3D 23 24  46 46 22 3A 99 22 4C 50  |P1  Y=#$FF":."LP|
00001A60: 32 20 20 4C 44 41 20 4D  2B 59 22 3A 99 22 20 20  |2  LDA M+Y":."  |
00001A70: 20 20 20 45 4F 52 20 23  24 38 30 22 00 9E 22 E7  |   EOR #$80"..".|
00001A80: 05 99 22 20 20 20 20 20  53 54 41 20 4D 2B 59 22  |.."     STA M+Y"|
00001A90: 3A 99 22 20 20 20 20 20  59 3D 59 2D 31 22 00 DB  |:."     Y=Y-1"..|
00001AA0: 22 E8 05 99 22 20 20 20  20 20 49 46 20 59 3C 3E  |"..."     IF Y<>|
00001AB0: 30 20 47 4F 54 4F 20 4C  50 32 20 22 3A 99 22 20  |0 GOTO LP2 ":." |
00001AC0: 20 20 20 20 4D 3D 4D 2B  24 31 30 30 22 3A 99 22  |    M=M+$100":."|
00001AD0: 20 20 20 20 20 58 3D 58  2D 31 22 00 FF 22 E9 05  |     X=X-1".."..|
00001AE0: 99 22 20 20 20 20 20 49  46 58 3C 3E 30 20 47 4F  |."     IFX<>0 GO|
00001AF0: 54 4F 20 4C 50 31 20 22  3A 8D 36 33 30 30 30 00  |TO LP1 ":.63000.|
00001B00: 32 23 EA 05 99 22 13 11  11 11 11 11 11 11 11 11  |2#..."..........|
00001B10: 11 11 11 11 11 11 11 11  11 11 11 22 A3 32 33 29  |...........".23)|
00001B20: 22 5F 12 57 4F 4E 27 54  20 44 4F 20 59 3D 30 92  |"_.WON'T DO Y=0.|
00001B30: 21 22 00 5B 23 EB 05 99  22 11 11 22 A3 32 33 29  |!".[#..."..".23)|
00001B40: 22 5F 12 57 4F 4E 27 54  20 44 4F 20 58 3D 30 92  |"_.WON'T DO X=0.|
00001B50: 21 21 13 22 3A 8D 36 33  30 30 30 00 8E 23 EC 05  |!!.":.63000..#..|
00001B60: 99 22 13 22 3B 3A 81 49  B2 31 A4 31 30 3A 99 43  |.".";:.I.1.10:.C|
00001B70: 4C 24 3A 82 3A 99 22 13  57 45 27 4C 4C 20 12 43  |L$:.:.".WE'LL .C|
00001B80: 48 41 4E 47 45 92 20 49  54 20 54 4F 3A 22 00 CC  |HANGE. IT TO:"..|
00001B90: 23 ED 05 8D 36 33 30 31  30 3A 99 22 13 11 20 20  |#...63010:."..  |
00001BA0: 20 20 20 4D 3D 24 30 34  30 30 22 3A 99 22 20 20  |   M=$0400":."  |
00001BB0: 20 20 20 58 3D 4E 22 20  20 20 20 20 20 20 20 20  |   X=N"         |
00001BC0: 20 20 20 20 20 20 20 20  20 20 20 22 00 0B 24 EE  |           "..$.|
00001BD0: 05 99 22 12 4C 50 31 20  20 59 3D 23 24 30 30 20  |..".LP1  Y=#$00 |
00001BE0: 20 20 20 20 20 20 20 20  20 22 3A 99 22 4C 50 32  |         ":."LP2|
00001BF0: 20 20 4C 44 41 20 4D 2B  59 22 3A 99 22 20 20 20  |  LDA M+Y":."   |
00001C00: 20 20 45 4F 52 20 23 24  38 30 22 00 2D 24 EF 05  |  EOR #$80".-$..|
00001C10: 99 22 20 20 20 20 20 53  54 41 20 4D 2B 59 22 3A  |."     STA M+Y":|
00001C20: 99 22 20 20 20 20 20 59  3D 59 2D 31 22 00 6A 24  |."     Y=Y-1".j$|
00001C30: F0 05 99 22 20 20 20 20  20 49 46 20 59 3C 3E 30  |..."     IF Y<>0|
00001C40: 20 47 4F 54 4F 20 4C 50  32 20 22 3A 99 22 20 20  | GOTO LP2 ":."  |
00001C50: 20 20 20 4D 3D 4D 2B 24  31 30 30 22 3A 99 22 20  |   M=M+$100":." |
00001C60: 20 20 20 20 58 3D 58 2D  31 22 00 A2 24 F1 05 99  |    X=X-1"..$...|
00001C70: 22 12 20 20 20 20 20 49  46 58 3E 3D 30 20 47 4F  |".     IFX>=0 GO|
00001C80: 54 4F 20 4C 50 31 20 92  22 3A 8D 36 33 30 30 30  |TO LP1 .":.63000|
00001C90: 3A 99 22 13 11 11 11 11  11 11 11 11 11 11 11 11  |:.".............|
00001CA0: 22 3B 00 CC 24 F2 05 99  22 57 45 20 57 4F 52 4B  |";..$..."WE WORK|
00001CB0: 20 4F 4E 20 4D 2B 30 30  20 46 49 52 53 54 2C 54  | ON M+00 FIRST,T|
00001CC0: 48 45 4E 20 12 59 3D 59  2D 31 92 22 00 F9 24 F3  |HEN .Y=Y-1."..$.|
00001CD0: 05 99 22 57 49 4C 4C 20  43 48 41 4E 47 45 20 59  |.."WILL CHANGE Y|
00001CE0: 3D 30 30 20 54 4F 20 59  3D 46 46 28 21 29 20 41  |=00 TO Y=FF(!) A|
00001CF0: 4E 44 20 57 45 27 4C 4C  22 00 26 25 F4 05 99 22  |ND WE'LL".&%..."|
00001D00: 43 4F 4E 54 49 4E 55 45  20 57 49 54 48 20 4D 2B  |CONTINUE WITH M+|
00001D10: 46 46 20 54 48 45 4E 20  4D 2B 46 45 2E 2E 54 4F  |FF THEN M+FE..TO|
00001D20: 20 4D 2B 30 31 22 00 4B  25 F5 05 99 22 41 4E 44  | M+01".K%..."AND|
00001D30: 20 57 45 20 53 54 4F 50  20 54 48 45 20 59 2D 4C  | WE STOP THE Y-L|
00001D40: 4F 4F 50 20 54 48 45 52  45 21 22 00 76 25 F6 05  |OOP THERE!".v%..|
00001D50: 99 22 54 48 45 20 58 2D  4C 4F 4F 50 20 53 54 41  |."THE X-LOOP STA|
00001D60: 52 54 53 20 57 49 54 48  20 58 3D 4E 20 41 4E 44  |RTS WITH X=N AND|
00001D70: 20 45 41 43 48 22 00 A9  25 F7 05 99 22 12 58 3D  | EACH"..%...".X=|
00001D80: 58 2D 31 92 20 43 48 41  4E 47 45 53 20 58 20 54  |X-1. CHANGES X T|
00001D90: 4F 20 4E 2D 31 2C 4E 2D  32 2C 2E 2E 32 2C 31 2C  |O N-1,N-2,..2,1,|
00001DA0: 30 20 12 54 48 45 4E 92  22 00 DA 25 F8 05 99 22  |0 .THEN."..%..."|
00001DB0: 4F 4E 45 20 4D 4F 52 45  20 12 58 3D 58 2D 31 92  |ONE MORE .X=X-1.|
00001DC0: 20 43 48 41 4E 47 45 53  20 58 20 54 4F 20 46 46  | CHANGES X TO FF|
00001DD0: 28 21 29 20 57 48 49 43  48 22 00 0A 26 F9 05 99  |(!) WHICH"..&...|
00001DE0: 22 49 53 20 12 4E 45 47  41 54 49 56 45 92 28 21  |"IS .NEGATIVE.(!|
00001DF0: 29 20 41 4E 44 20 57 45  20 53 54 4F 50 20 54 48  |) AND WE STOP TH|
00001E00: 45 20 58 2D 4C 4F 4F 50  21 22 00 39 26 FA 05 99  |E X-LOOP!".9&...|
00001E10: 22 12 4E 4F 54 45 92 3A  54 48 45 20 36 35 31 30  |".NOTE.:THE 6510|
00001E20: 20 52 45 47 49 53 54 45  52 53 20 43 41 4E 20 48  | REGISTERS CAN H|
00001E30: 4F 4C 44 20 20 23 27 53  22 00 64 26 FB 05 99 22  |OLD  #'S".d&..."|
00001E40: 46 52 4F 4D 20 24 30 30  20 54 4F 20 24 46 46 2E  |FROM $00 TO $FF.|
00001E50: 49 46 20 57 45 20 48 41  56 45 20 12 30 30 92 20  |IF WE HAVE .00. |
00001E60: 41 4E 44 22 00 9B 26 FC  05 99 22 12 44 45 43 52  |AND"..&...".DECR|
00001E70: 45 4D 45 4E 54 92 2C 49  54 20 43 48 41 4E 47 45  |EMENT.,IT CHANGE|
00001E80: 53 20 54 4F 20 12 46 46  92 2E 2E 41 4E 44 20 12  |S TO .FF...AND .|
00001E90: 46 46 2B 31 92 3D 12 30  30 92 22 00 D6 26 FD 05  |FF+1.=.00."..&..|
00001EA0: 99 22 46 49 4E 41 4C 4C  59 2C 12 4D 53 42 3D 31  |."FINALLY,.MSB=1|
00001EB0: 92 20 53 49 47 4E 49 46  49 45 53 20 41 20 12 4E  |. SIGNIFIES A .N|
00001EC0: 45 47 41 54 49 56 45 20  4E 4F 2E 92 21 22 3B 3A  |EGATIVE NO..!";:|
00001ED0: 8D 36 33 30 30 30 00 F8  26 04 06 99 22 93 4C 45  |.63000..&...".LE|
00001EE0: 54 27 53 20 54 52 59 20  53 4F 4D 45 54 48 49 4E  |T'S TRY SOMETHIN|
00001EF0: 47 20 4C 49 4B 45 3A 22  00 29 27 0E 06 99 22 11  |G LIKE:".)'...".|
00001F00: 12 42 45 47 49 4E 20 4C  44 41 20 23 24 30 34 30  |.BEGIN LDA #$040|
00001F10: 30 20 92 5F 3F 3F 2A 21  23 24 30 34 30 30 20 54  |0 ._??*!#$0400 T|
00001F20: 4F 4F 20 42 49 47 21 21  22 00 57 27 13 06 99 22  |OO BIG!!".W'..."|
00001F30: 12 20 20 20 20 20 20 53  54 41 20 24 42 30 20 20  |.      STA $B0  |
00001F40: 20 20 92 5F 24 42 30 20  4E 4F 57 20 48 41 53 20  |  ._$B0 NOW HAS |
00001F50: 23 24 30 34 30 30 22 00  87 27 18 06 99 22 12 20  |#$0400"..'...". |
00001F60: 20 20 20 20 20 4C 44 58  20 23 24 30 33 20 20 20  |     LDX #$03   |
00001F70: 22 3A 99 22 12 4C 50 31  20 20 20 4C 44 59 20 23  |":.".LP1   LDY #|
00001F80: 24 30 30 20 20 20 22 00  CB 27 22 06 99 22 12 4C  |$00   "..'"..".L|
00001F90: 50 32 20 20 20 4C 44 41  20 28 24 42 30 29 2C 59  |P2   LDA ($B0),Y|
00001FA0: 92 5F 20 49 4E 44 49 52  45 43 54 20 49 4E 44 45  |._ INDIRECT INDE|
00001FB0: 58 45 44 3F 22 3A 99 22  12 20 20 20 20 20 20 45  |XED?":.".      E|
00001FC0: 4F 52 20 23 24 38 30 20  20 20 22 00 0F 28 2C 06  |OR #$80   "..(,.|
00001FD0: 99 22 12 20 20 20 20 20  20 53 54 41 20 28 24 42  |.".      STA ($B|
00001FE0: 30 29 2C 59 92 5F 20 49  4E 44 49 52 45 43 54 20  |0),Y._ INDIRECT |
00001FF0: 49 4E 44 45 58 45 44 21  22 3A 99 22 12 20 20 20  |INDEXED!":.".   |
00002000: 20 20 20 44 45 59 20 20  20 20 20 20 20 20 22 00  |   DEY        ".|
00002010: 50 28 36 06 99 22 12 20  20 20 20 20 20 42 4E 45  |P(6..".      BNE|
00002020: 20 4C 50 32 20 20 20 20  22 3A 99 22 12 20 20 20  | LP2    ":.".   |
00002030: 20 20 20 49 4E 43 20 24  42 30 20 42 59 20 23 24  |   INC $B0 BY #$|
00002040: 31 30 30 92 5F 3F 3F 2A  21 21 48 4F 57 3F 3F 22  |100._??*!!HOW??"|
00002050: 00 92 28 40 06 99 22 12  20 20 20 20 20 20 44 45  |..(@..".      DE|
00002060: 58 20 20 20 20 20 20 20  20 22 3A 99 22 12 20 20  |X        ":.".  |
00002070: 20 20 20 20 42 50 4C 20  4C 50 31 20 20 20 20 92  |    BPL LP1    .|
00002080: 5F 42 52 41 4E 43 48 20  4F 4E 20 50 4C 55 53 21  |_BRANCH ON PLUS!|
00002090: 21 22 00 BE 28 4A 06 99  22 11 12 4C 44 41 20 28  |!"..(J.."..LDA (|
000020A0: 24 42 30 29 2C 59 92 20  54 41 4B 45 53 20 54 48  |$B0),Y. TAKES TH|
000020B0: 45 20 43 4F 4E 54 45 4E  54 53 20 4F 46 22 00 F2  |E CONTENTS OF"..|
000020C0: 28 54 06 99 22 11 4D 45  4D 4F 52 59 20 4C 4F 43  |(T..".MEMORY LOC|
000020D0: 27 4E 20 24 42 30 2C 20  41 44 44 53 20 59 2C 20  |'N $B0, ADDS Y, |
000020E0: 41 4E 44 20 54 48 49 53  11 9D 9D 9D 9D B8 B8 B8  |AND THIS........|
000020F0: B8 22 00 1E 29 59 06 99  22 47 49 56 45 53 20 54  |."..)Y.."GIVES T|
00002100: 48 45 20 41 44 44 52 45  53 53 20 4F 46 20 54 48  |HE ADDRESS OF TH|
00002110: 45 20 42 59 54 45 20 57  48 49 43 48 20 22 00 44  |E BYTE WHICH ".D|
00002120: 29 5A 06 99 22 11 47 45  54 53 20 4C 4F 41 44 45  |)Z..".GETS LOADE|
00002130: 44 20 49 4E 54 4F 20 27  41 27 21 21 22 3A 8D 36  |D INTO 'A'!!":.6|
00002140: 33 30 30 30 00 74 29 5E  06 99 22 93 54 48 45 52  |3000.t)^..".THER|
00002150: 45 20 41 52 45 20 53 4F  4D 45 20 4E 45 57 20 49  |E ARE SOME NEW I|
00002160: 44 45 41 53 2E 2E 41 4E  44 20 50 52 4F 42 4C 45  |DEAS..AND PROBLE|
00002170: 4D 53 21 22 00 9F 29 63  06 99 22 11 11 11 42 55  |MS!"..)c.."...BU|
00002180: 54 20 46 49 52 53 54 20  4C 45 54 27 53 20 41 47  |T FIRST LET'S AG|
00002190: 52 45 45 20 54 48 41 54  20 57 45 27 4C 4C 22 00  |REE THAT WE'LL".|
000021A0: CC 29 64 06 99 22 11 55  53 45 20 24 42 30 20 54  |.)d..".USE $B0 T|
000021B0: 4F 20 52 45 46 45 52 20  54 4F 20 54 48 45 20 4D  |O REFER TO THE M|
000021C0: 45 4D 4F 52 59 20 4C 4F  43 27 4E 22 00 F8 29 65  |EMORY LOC'N"..)e|
000021D0: 06 99 22 11 41 4E 44 20  28 24 42 30 29 20 54 4F  |..".AND ($B0) TO|
000021E0: 20 52 45 46 45 52 20 54  4F 20 54 48 45 20 12 43  | REFER TO THE .C|
000021F0: 4F 4E 54 45 4E 54 53 22  00 18 2A 66 06 99 22 11  |ONTENTS"..*f..".|
00002200: 4F 46 20 4D 45 4D 4F 52  59 20 4C 4F 43 41 54 49  |OF MEMORY LOCATI|
00002210: 4F 4E 20 24 42 30 2E 22  00 4B 2A 68 06 99 22 11  |ON $B0.".K*h..".|
00002220: 11 11 12 4C 45 54 27 53  20 4C 4F 4F 4B 20 41 54  |...LET'S LOOK AT|
00002230: 20 41 44 44 52 45 53 53  49 4E 47 20 4D 4F 44 45  | ADDRESSING MODE|
00002240: 53 92 3A 22 3A 8D 36 33  30 30 30 00 68 2A 72 06  |S.:":.63000.h*r.|
00002250: 99 22 93 42 41 53 49 43  22 A3 32 30 29 22 41 53  |.".BASIC".20)"AS|
00002260: 53 45 4D 42 4C 45 52 22  00 84 2A 77 06 99 22 B8  |SEMBLER"..*w..".|
00002270: B8 B8 B8 B8 22 A3 32 30  29 22 B8 B8 B8 B8 B8 B8  |....".20)"......|
00002280: B8 B8 B8 22 00 A1 2A 7C  06 99 22 12 41 3D 35 92  |..."..*|..".A=5.|
00002290: 22 A3 32 30 29 22 12 4C  44 41 20 23 24 30 35 92  |".20)".LDA #$05.|
000022A0: 22 00 CA 2A 86 06 99 22  11 D1 49 4D 4D 45 44 49  |"..*..."..IMMEDI|
000022B0: 41 54 45 20 4D 4F 44 45  2E 20 54 48 45 20 41 43  |ATE MODE. THE AC|
000022C0: 43 55 4D 55 4C 41 54 4F  52 22 00 E9 2A 90 06 99  |CUMULATOR"..*...|
000022D0: 22 49 53 20 4C 4F 41 44  45 44 20 57 49 54 48 20  |"IS LOADED WITH |
000022E0: 54 48 45 20 23 20 35 2E  22 00 09 2B 9A 06 99 22  |THE # 5."..+..."|
000022F0: 11 12 41 3D 4D 28 35 29  92 22 A3 32 30 29 22 12  |..A=M(5).".20)".|
00002300: 4C 44 41 20 24 30 35 92  22 00 2E 2B A4 06 99 22  |LDA $05."..+..."|
00002310: 11 D1 41 42 53 4F 4C 55  54 45 20 41 44 44 52 45  |..ABSOLUTE ADDRE|
00002320: 53 53 49 4E 47 2E 20 27  41 27 20 49 53 22 00 51  |SSING. 'A' IS".Q|
00002330: 2B AE 06 99 22 4C 4F 41  44 45 44 20 57 49 54 48  |+..."LOADED WITH|
00002340: 20 54 48 45 20 43 4F 4E  54 45 4E 54 53 20 4F 46  | THE CONTENTS OF|
00002350: 22 00 6B 2B B8 06 99 22  4D 45 4D 4F 52 59 20 4C  |".k+..."MEMORY L|
00002360: 4F 43 41 54 49 4F 4E 20  35 2E 22 00 90 2B C2 06  |OCATION 5."..+..|
00002370: 99 22 11 12 41 3D 4D 28  35 2B 58 29 92 22 A3 32  |."..A=M(5+X).".2|
00002380: 30 29 22 12 4C 44 41 20  24 30 30 30 35 2C 58 22  |0)".LDA $0005,X"|
00002390: 00 BA 2B CC 06 99 22 11  D1 41 42 53 4F 4C 55 54  |..+..."..ABSOLUT|
000023A0: 45 20 12 49 4E 44 45 58  45 44 92 2E 20 54 48 45  |E .INDEXED.. THE|
000023B0: 20 43 4F 4E 54 45 4E 54  53 22 00 E5 2B D6 06 99  | CONTENTS"..+...|
000023C0: 22 4F 46 20 4C 4F 43 27  4E 20 28 35 2B 58 29 20  |"OF LOC'N (5+X) |
000023D0: 41 52 45 20 4C 4F 41 44  45 44 20 49 4E 54 4F 20  |ARE LOADED INTO |
000023E0: 27 41 27 2E 22 00 0F 2C  E0 06 99 22 11 12 41 3D  |'A'."..,..."..A=|
000023F0: 4D 28 4D 28 35 2B 58 29  29 92 22 A3 32 30 29 22  |M(M(5+X)).".20)"|
00002400: 12 4C 44 41 20 28 24 30  30 30 35 2C 58 29 22 00  |.LDA ($0005,X)".|
00002410: 39 2C EA 06 99 22 11 D1  49 4E 44 45 58 45 44 20  |9,..."..INDEXED |
00002420: 12 49 4E 44 49 52 45 43  54 92 2E 20 54 48 45 20  |.INDIRECT.. THE |
00002430: 43 4F 4E 54 45 4E 54 53  22 00 63 2C F4 06 99 22  |CONTENTS".c,..."|
00002440: 4F 46 20 4C 4F 43 27 4E  20 28 35 2B 58 29 20 47  |OF LOC'N (5+X) G|
00002450: 49 56 45 20 54 48 45 20  41 44 44 52 45 53 53 20  |IVE THE ADDRESS |
00002460: 4F 46 22 00 91 2C FE 06  99 22 54 48 45 20 42 59  |OF"..,..."THE BY|
00002470: 54 45 20 54 4F 20 42 45  20 4C 4F 41 44 45 44 20  |TE TO BE LOADED |
00002480: 49 4E 54 4F 20 27 41 27  2E 22 3A 8D 36 33 30 30  |INTO 'A'.":.6300|
00002490: 30 00 B2 2C 08 07 99 22  93 54 48 45 4E 20 54 48  |0..,...".THEN TH|
000024A0: 45 52 45 27 53 20 4F 55  52 20 46 52 49 45 4E 44  |ERE'S OUR FRIEND|
000024B0: 3A 22 00 DB 2C 12 07 99  22 11 12 41 3D 4D 28 4D  |:"..,..."..A=M(M|
000024C0: 28 35 29 2B 59 29 92 22  A3 32 30 29 22 12 4C 44  |(5)+Y).".20)".LD|
000024D0: 41 20 28 24 30 35 29 2C  59 92 22 00 0C 2D 1C 07  |A ($05),Y."..-..|
000024E0: 99 22 11 D1 12 49 4E 44  49 52 45 43 54 20 49 4E  |."...INDIRECT IN|
000024F0: 44 45 58 45 44 92 2E 20  46 49 52 53 54 2C 20 54  |DEXED.. FIRST, T|
00002500: 48 45 20 43 4F 4E 54 45  4E 54 53 22 00 36 2D 26  |HE CONTENTS".6-&|
00002510: 07 99 22 11 4F 46 20 4C  4F 43 27 4E 20 35 20 41  |..".OF LOC'N 5 A|
00002520: 52 45 20 45 58 54 52 41  43 54 45 44 2E 54 48 45  |RE EXTRACTED.THE|
00002530: 4E 20 27 59 27 22 00 60  2D 30 07 99 22 11 49 53  |N 'Y'".`-0..".IS|
00002540: 20 41 44 44 45 44 20 41  4E 44 20 54 48 45 20 52  | ADDED AND THE R|
00002550: 45 53 55 4C 54 20 47 49  56 45 53 20 54 48 45 22  |ESULT GIVES THE"|
00002560: 00 94 2D 3A 07 99 22 11  41 44 44 52 45 53 53 20  |..-:..".ADDRESS |
00002570: 4F 46 20 54 48 45 20 42  59 54 45 20 4C 4F 41 44  |OF THE BYTE LOAD|
00002580: 45 44 20 49 4E 54 4F 20  27 41 27 2E 22 3A 8D 36  |ED INTO 'A'.":.6|
00002590: 33 30 30 30 00 C6 2D 44  07 99 22 93 D1 12 49 4E  |3000..-D.."...IN|
000025A0: 44 49 52 45 43 54 92 20  4D 45 41 4E 53 20 57 45  |DIRECT. MEANS WE|
000025B0: 20 47 4F 20 54 4F 20 41  20 4D 45 4D 4F 52 59 20  | GO TO A MEMORY |
000025C0: 4C 4F 43 27 4E 22 00 F3  2D 4E 07 99 22 11 54 4F  |LOC'N"..-N..".TO|
000025D0: 20 47 45 54 20 54 48 45  20 41 44 44 52 45 53 53  | GET THE ADDRESS|
000025E0: 20 4F 46 20 54 48 45 20  42 59 54 45 20 54 4F 20  | OF THE BYTE TO |
000025F0: 42 45 22 00 18 2E 58 07  99 22 11 4C 4F 41 44 45  |BE"...X..".LOADE|
00002600: 44 20 49 4E 54 4F 20 54  48 45 20 41 43 43 55 4D  |D INTO THE ACCUM|
00002610: 55 4C 41 54 4F 52 2E 22  00 45 2E 62 07 99 22 11  |ULATOR.".E.b..".|
00002620: D1 12 49 4E 44 45 58 45  44 92 20 4D 45 41 4E 53  |..INDEXED. MEANS|
00002630: 20 57 45 20 41 44 44 20  54 48 45 20 43 4F 4E 54  | WE ADD THE CONT|
00002640: 45 4E 54 53 22 00 71 2E  6C 07 99 22 11 4F 46 20  |ENTS".q.l..".OF |
00002650: 41 20 12 36 35 31 30 92  20 52 45 47 49 53 54 45  |A .6510. REGISTE|
00002660: 52 20 54 4F 20 41 4E 20  41 44 44 52 45 53 53 2E  |R TO AN ADDRESS.|
00002670: 22 00 9D 2E 76 07 99 22  11 D1 49 46 20 57 45 20  |"...v.."..IF WE |
00002680: 12 49 4E 44 45 58 92 20  54 48 45 4E 20 12 49 4E  |.INDEX. THEN .IN|
00002690: 44 49 52 45 43 54 92 20  49 54 27 53 22 00 CE 2E  |DIRECT. IT'S"...|
000026A0: 80 07 99 22 11 12 49 4E  44 45 58 45 44 20 49 4E  |..."..INDEXED IN|
000026B0: 44 49 52 45 43 54 92 2E  2E 41 53 20 49 4E 20 12  |DIRECT...AS IN .|
000026C0: 4C 44 41 20 28 24 30 34  30 30 2C 58 29 22 00 FA  |LDA ($0400,X)"..|
000026D0: 2E 8A 07 99 22 11 D1 49  46 20 57 45 20 12 49 4E  |...."..IF WE .IN|
000026E0: 44 49 52 45 43 54 92 20  54 48 45 4E 20 12 49 4E  |DIRECT. THEN .IN|
000026F0: 44 45 58 92 20 49 54 27  53 22 00 30 2F 94 07 99  |DEX. IT'S".0/...|
00002700: 22 11 12 49 4E 44 49 52  45 43 54 20 49 4E 44 45  |"..INDIRECT INDE|
00002710: 58 45 44 92 2E 2E 41 53  20 49 4E 20 12 4C 44 41  |XED...AS IN .LDA|
00002720: 20 28 24 42 30 29 2C 59  22 3A 8D 36 33 30 30 30  | ($B0),Y":.63000|
00002730: 00 53 2F 9E 07 4D 53 24  B2 22 43 4C 45 41 52 3F  |.S/..MS$."CLEAR?|
00002740: 21 2A 24 26 22 3A 8D 36  33 31 30 30 3A 8D 36 33  |!*$&":.63100:.63|
00002750: 30 30 30 00 79 2F A8 07  99 22 93 4C 45 54 27 53  |000.y/...".LET'S|
00002760: 20 45 58 50 4C 41 49 4E  20 41 42 4F 55 54 20 12  | EXPLAIN ABOUT .|
00002770: 4D 45 4D 4F 52 59 92 2E  22 00 AA 2F B2 07 99 22  |MEMORY.."../..."|
00002780: 11 12 36 35 31 30 92 20  49 4E 53 54 52 55 43 54  |..6510. INSTRUCT|
00002790: 49 4F 4E 53 20 41 52 45  20 53 54 4F 52 45 44 20  |IONS ARE STORED |
000027A0: 49 4E 20 4D 45 4D 4F 52  59 22 00 CE 2F BC 07 99  |IN MEMORY"../...|
000027B0: 22 41 53 20 31 2D 20 4F  52 20 32 2D 20 4F 52 20  |"AS 1- OR 2- OR |
000027C0: 33 2D 20 48 45 58 20 42  59 54 45 53 2E 22 00 F1  |3- HEX BYTES."..|
000027D0: 2F C6 07 99 22 11 12 49  4E 58 92 3D 12 45 38 92  |/..."..INX.=.E8.|
000027E0: 20 49 53 20 4F 4E 45 20  42 59 54 45 20 4C 4F 4E  | IS ONE BYTE LON|
000027F0: 47 00 19 30 D0 07 99 22  11 12 4C 44 41 20 23 24  |G..0..."..LDA #$|
00002800: 30 35 92 3D 12 41 44 20  30 35 92 20 49 53 20 54  |05.=.AD 05. IS T|
00002810: 57 4F 20 42 59 54 45 53  22 00 4A 30 DA 07 99 22  |WO BYTES".J0..."|
00002820: 11 12 4C 44 41 20 24 31  32 33 34 2C 58 92 3D 12  |..LDA $1234,X.=.|
00002830: 42 44 20 33 34 20 31 32  92 20 49 53 20 54 48 52  |BD 34 12. IS THR|
00002840: 45 45 20 42 59 54 45 53  2E 22 00 66 30 E4 07 99  |EE BYTES.".f0...|
00002850: 22 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |"               |
00002860: 5E 5E 20 5E 5E 22 00 8E  30 EE 07 99 22 49 4E 20  |^^ ^^"..0..."IN |
00002870: 47 45 4E 45 52 41 4C 2C  20 32 2D 42 59 54 45 20  |GENERAL, 2-BYTE |
00002880: 41 44 44 52 45 53 53 45  53 20 41 52 45 22 00 B8  |ADDRESSES ARE"..|
00002890: 30 F8 07 99 22 53 54 4F  52 45 44 20 49 4E 20 4D  |0..."STORED IN M|
000028A0: 45 4D 4F 52 59 20 49 4E  20 52 45 56 45 52 53 45  |EMORY IN REVERSE|
000028B0: 20 4F 52 44 45 52 3A 22  00 D9 30 02 08 99 22 12  | ORDER:"..0...".|
000028C0: 4C 4F 2D 42 59 54 45 92  20 54 48 45 4E 20 12 48  |LO-BYTE. THEN .H|
000028D0: 49 2D 42 59 54 45 92 2E  22 00 F1 30 0C 08 99 22  |I-BYTE.."..0..."|
000028E0: 11 53 4F 20 49 46 20 59  4F 55 20 48 41 56 45 3A  |.SO IF YOU HAVE:|
000028F0: 22 00 1C 31 16 08 99 22  12 4C 44 41 20 28 24 42  |"..1...".LDA ($B|
00002900: 30 29 2C 59 92 3D 12 42  31 20 43 41 92 20 54 48  |0),Y.=.B1 CA. TH|
00002910: 45 20 36 35 31 30 20 57  49 4C 4C 22 00 45 31 20  |E 6510 WILL".E1 |
00002920: 08 99 22 47 45 54 20 46  52 4F 4D 20 24 42 30 20  |.."GET FROM $B0 |
00002930: 54 48 45 20 12 4C 4F 2D  42 59 54 45 92 20 4F 46  |THE .LO-BYTE. OF|
00002940: 20 54 48 45 22 00 70 31  2A 08 99 22 41 44 44 52  | THE".p1*.."ADDR|
00002950: 45 53 53 2C 41 4E 44 20  46 52 4F 4D 20 24 42 31  |ESS,AND FROM $B1|
00002960: 20 54 48 45 20 12 48 49  2D 42 59 54 45 92 21 22  | THE .HI-BYTE.!"|
00002970: 00 9E 31 34 08 99 22 11  D1 42 45 20 53 55 52 45  |..14.."..BE SURE|
00002980: 20 54 4F 20 50 55 54 20  42 4F 54 48 20 42 59 54  | TO PUT BOTH BYT|
00002990: 45 53 20 49 4E 20 24 42  30 2F 24 42 31 22 00 C3  |ES IN $B0/$B1"..|
000029A0: 31 3E 08 99 22 42 45 46  4F 52 45 20 12 4C 44 41  |1>.."BEFORE .LDA|
000029B0: 20 28 24 42 30 29 2C 59  92 21 21 22 3A 8D 36 33  | ($B0),Y.!!":.63|
000029C0: 30 30 30 00 DE 31 48 08  99 22 93 4C 45 54 27 53  |000..1H..".LET'S|
000029D0: 20 47 45 54 20 42 41 43  4B 20 54 4F 3A 22 00 0F  | GET BACK TO:"..|
000029E0: 32 52 08 99 22 11 12 42  45 47 49 4E 20 4C 44 41  |2R.."..BEGIN LDA|
000029F0: 20 23 24 30 34 30 30 20  92 5F 3F 3F 2A 21 23 24  | #$0400 ._??*!#$|
00002A00: 30 34 30 30 20 54 4F 4F  20 42 49 47 21 21 22 00  |0400 TOO BIG!!".|
00002A10: 3D 32 5C 08 99 22 12 20  20 20 20 20 20 53 54 41  |=2\..".      STA|
00002A20: 20 24 42 30 20 20 20 20  92 5F 24 42 30 20 4E 4F  | $B0    ._$B0 NO|
00002A30: 57 20 48 41 53 20 23 24  30 34 30 30 22 00 6D 32  |W HAS #$0400".m2|
00002A40: 66 08 99 22 12 20 20 20  20 20 20 4C 44 58 20 23  |f..".      LDX #|
00002A50: 24 30 33 20 20 20 22 3A  99 22 12 4C 50 31 20 20  |$03   ":.".LP1  |
00002A60: 20 4C 44 59 20 23 24 30  30 20 20 20 22 00 B1 32  | LDY #$00   "..2|
00002A70: 70 08 99 22 12 4C 50 32  20 20 20 4C 44 41 20 28  |p..".LP2   LDA (|
00002A80: 24 42 30 29 2C 59 92 5F  20 49 4E 44 49 52 45 43  |$B0),Y._ INDIREC|
00002A90: 54 20 49 4E 44 45 58 45  44 3F 22 3A 99 22 12 20  |T INDEXED?":.". |
00002AA0: 20 20 20 20 20 45 4F 52  20 23 24 38 30 20 20 20  |     EOR #$80   |
00002AB0: 22 00 F5 32 7A 08 99 22  12 20 20 20 20 20 20 53  |"..2z..".      S|
00002AC0: 54 41 20 28 24 42 30 29  2C 59 92 5F 20 49 4E 44  |TA ($B0),Y._ IND|
00002AD0: 49 52 45 43 54 20 49 4E  44 45 58 45 44 21 22 3A  |IRECT INDEXED!":|
00002AE0: 99 22 12 20 20 20 20 20  20 44 45 59 20 20 20 20  |.".      DEY    |
00002AF0: 20 20 20 20 22 00 36 33  84 08 99 22 12 20 20 20  |    ".63...".   |
00002B00: 20 20 20 42 4E 45 20 4C  50 32 20 20 20 20 22 3A  |   BNE LP2    ":|
00002B10: 99 22 12 20 20 20 20 20  20 49 4E 43 20 24 42 30  |.".      INC $B0|
00002B20: 20 42 59 20 23 24 31 30  30 92 5F 3F 3F 2A 21 21  | BY #$100._??*!!|
00002B30: 48 4F 57 3F 3F 22 00 78  33 8E 08 99 22 12 20 20  |HOW??".x3...".  |
00002B40: 20 20 20 20 44 45 58 20  20 20 20 20 20 20 20 22  |    DEX        "|
00002B50: 3A 99 22 12 20 20 20 20  20 20 42 50 4C 20 4C 50  |:.".      BPL LP|
00002B60: 31 20 20 20 20 92 5F 42  52 41 4E 43 48 20 4F 4E  |1    ._BRANCH ON|
00002B70: 20 50 4C 55 53 21 21 22  00 A3 33 98 08 99 22 11  | PLUS!!"..3...".|
00002B80: 57 45 20 4E 4F 57 20 4D  55 53 54 20 50 55 54 20  |WE NOW MUST PUT |
00002B90: 24 30 34 30 30 20 49 4E  54 4F 20 24 42 30 2F 24  |$0400 INTO $B0/$|
00002BA0: 42 31 22 00 DA 33 A2 08  99 22 57 49 54 48 20 12  |B1"..3..."WITH .|
00002BB0: 4C 44 41 20 23 24 30 30  92 20 12 53 54 41 20 24  |LDA #$00. .STA $|
00002BC0: 42 30 92 20 12 4C 44 41  20 23 24 30 34 92 20 12  |B0. .LDA #$04. .|
00002BD0: 53 54 41 20 24 42 31 92  2E 22 00 09 34 AC 08 99  |STA $B1.."..4...|
00002BE0: 22 11 41 4C 53 4F 20 12  49 4E 43 20 24 42 30 20  |".ALSO .INC $B0 |
00002BF0: 42 59 20 23 24 31 30 30  92 20 49 53 20 43 48 41  |BY #$100. IS CHA|
00002C00: 4E 47 45 44 20 54 4F 3A  22 00 34 34 B6 08 99 22  |NGED TO:".44..."|
00002C10: 12 49 4E 43 20 24 42 31  92 2E 2E 2E 20 57 45 20  |.INC $B1.... WE |
00002C20: 4E 45 45 44 20 4F 4E 4C  59 20 12 49 4E 43 92 20  |NEED ONLY .INC. |
00002C30: 54 48 45 22 00 52 34 C0  08 99 22 48 49 2D 42 59  |THE".R4..."HI-BY|
00002C40: 54 45 20 42 59 20 27 31  27 21 22 3A 8D 36 33 30  |TE BY '1'!":.630|
00002C50: 30 30 00 77 34 CA 08 99  22 93 57 45 27 4C 4C 20  |00.w4...".WE'LL |
00002C60: 43 48 41 4E 47 45 20 4F  55 52 20 50 52 4F 47 52  |CHANGE OUR PROGR|
00002C70: 41 4D 20 54 4F 3A 22 00  A9 34 D4 08 99 22 11 12  |AM TO:"..4..."..|
00002C80: 42 45 47 49 4E 20 4C 44  41 20 23 24 30 30 20 20  |BEGIN LDA #$00  |
00002C90: 20 92 22 3A 99 22 12 20  20 20 20 20 20 53 54 41  | .":.".      STA|
00002CA0: 20 24 42 30 20 20 20 20  22 00 D9 34 DE 08 99 22  | $B0    "..4..."|
00002CB0: 12 20 20 20 20 20 20 4C  44 41 20 23 24 30 34 20  |.      LDA #$04 |
00002CC0: 20 20 22 3A 99 22 12 20  20 20 20 20 20 53 54 41  |  ":.".      STA|
00002CD0: 20 24 42 31 20 20 20 20  22 00 09 35 E8 08 99 22  | $B1    "..5..."|
00002CE0: 12 20 20 20 20 20 20 4C  44 58 20 23 24 30 33 20  |.      LDX #$03 |
00002CF0: 20 20 22 3A 99 22 12 4C  50 31 20 20 20 4C 44 59  |  ":.".LP1   LDY|
00002D00: 20 23 24 30 30 20 20 20  22 00 3A 35 F2 08 99 22  | #$00   ".:5..."|
00002D10: 12 4C 50 32 20 20 20 4C  44 41 20 28 24 42 30 29  |.LP2   LDA ($B0)|
00002D20: 2C 59 92 22 3A 99 22 12  20 20 20 20 20 20 45 4F  |,Y.":.".      EO|
00002D30: 52 20 23 24 38 30 20 20  20 22 00 6B 35 FC 08 99  |R #$80   ".k5...|
00002D40: 22 12 20 20 20 20 20 20  53 54 41 20 28 24 42 30  |".      STA ($B0|
00002D50: 29 2C 59 92 22 3A 99 22  12 20 20 20 20 20 20 44  |),Y.":.".      D|
00002D60: 45 59 20 20 20 20 20 20  20 20 22 00 9B 35 06 09  |EY        "..5..|
00002D70: 99 22 12 20 20 20 20 20  20 42 4E 45 20 4C 50 32  |.".      BNE LP2|
00002D80: 20 20 20 20 22 3A 99 22  12 20 20 20 20 20 20 49  |    ":.".      I|
00002D90: 4E 43 20 24 42 31 20 20  20 20 22 00 D3 35 10 09  |NC $B1    "..5..|
00002DA0: 99 22 12 20 20 20 20 20  20 44 45 58 20 20 20 20  |.".      DEX    |
00002DB0: 20 20 20 20 22 3A 99 22  12 20 20 20 20 20 20 42  |    ":.".      B|
00002DC0: 50 4C 20 4C 50 31 20 20  20 20 92 22 3A 8D 36 33  |PL LP1    .":.63|
00002DD0: 30 30 30 00 07 36 1A 09  99 22 13 11 11 11 11 11  |000..6..."......|
00002DE0: 11 11 11 11 11 11 11 11  11 11 11 11 57 45 20 4E  |............WE N|
00002DF0: 45 45 44 4E 27 54 20 12  4C 44 59 20 23 24 30 30  |EEDN'T .LDY #$00|
00002E00: 92 20 45 41 43 48 22 00  3B 36 24 09 99 22 11 54  |. EACH".;6$..".T|
00002E10: 49 4D 45 20 57 45 20 12  42 50 4C 20 4C 50 31 22  |IME WE .BPL LP1"|
00002E20: 3A 99 22 11 59 3D 30 20  41 4C 52 45 41 44 59 20  |:.".Y=0 ALREADY |
00002E30: 53 4F 3A 22 3A 8D 36 33  30 31 30 00 70 36 2E 09  |SO:":.63010.p6..|
00002E40: 99 22 13 11 11 11 11 11  11 11 12 20 20 20 20 20  |.".........     |
00002E50: 22 3A 99 22 12 4C 4F 4F  50 22 3A 99 22 11 11 11  |":.".LOOP":."...|
00002E60: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 12 4C 4F 4F 50 22  |...........LOOP"|
00002E70: 00 90 36 33 09 99 22 11  11 1D 1D 1D 1D 1D 1D 1D  |..63..".........|
00002E80: 1D 1D 1D 12 4C 4F 4F 50  22 3A 8D 36 33 30 30 30  |....LOOP":.63000|
00002E90: 00 B7 36 38 09 99 22 13  11 11 11 11 11 11 11 11  |..68..".........|
00002EA0: 11 11 11 11 11 11 11 11  22 3A 81 49 B2 31 A4 36  |........":.I.1.6|
00002EB0: 3A 99 43 4C 24 3A 82 00  E9 36 42 09 99 22 13 11  |:.CL$:...6B.."..|
00002EC0: 11 11 11 11 11 11 11 11  11 11 11 11 11 11 11 11  |................|
00002ED0: 4E 4F 54 45 20 54 48 41  54 20 12 4C 44 58 20 23  |NOTE THAT .LDX #|
00002EE0: 24 30 33 92 20 43 41 4E  22 00 0D 37 4C 09 99 22  |$03. CAN"..7L.."|
00002EF0: 11 42 45 20 43 48 41 4E  47 45 44 20 54 4F 20 41  |.BE CHANGED TO A|
00002F00: 4E 59 54 48 49 4E 47 20  46 52 4F 4D 22 00 36 37  |NYTHING FROM".67|
00002F10: 56 09 99 22 11 12 4C 44  58 20 23 24 30 31 92 20  |V.."..LDX #$01. |
00002F20: 54 4F 20 12 4C 44 58 20  23 24 38 30 92 2E 22 3A  |TO .LDX #$80..":|
00002F30: 8D 36 33 30 30 30 00 5D  37 60 09 99 22 13 11 11  |.63000.]7`.."...|
00002F40: 11 11 11 11 11 11 11 11  11 11 11 11 11 11 22 3A  |..............":|
00002F50: 81 49 B2 31 A4 36 3A 99  43 4C 24 3A 82 00 9F 37  |.I.1.6:.CL$:...7|
00002F60: 6A 09 99 22 13 11 11 11  11 11 11 11 11 11 11 11  |j.."............|
00002F70: 11 11 11 11 11 11 46 4F  52 20 12 4C 44 58 20 23  |......FOR .LDX #|
00002F80: 24 30 30 92 20 57 45 27  4C 4C 20 58 2D 4C 4F 4F  |$00. WE'LL X-LOO|
00002F90: 50 20 4F 4E 43 45 20 41  4E 59 57 41 59 21 22 00  |P ONCE ANYWAY!".|
00002FA0: C5 37 74 09 99 22 46 4F  52 20 12 4C 44 58 20 23  |.7t.."FOR .LDX #|
00002FB0: 24 38 31 92 2C 4F 52 20  48 49 47 48 45 52 2C 12  |$81.,OR HIGHER,.|
00002FC0: 44 45 58 92 22 00 F1 37  7E 09 99 22 57 49 4C 4C  |DEX."..7~.."WILL|
00002FD0: 20 4C 45 41 56 45 20 27  4D 53 42 27 3D 31 20 49  | LEAVE 'MSB'=1 I|
00002FE0: 4E 20 54 48 45 20 58 2D  52 45 47 49 53 54 45 52  |N THE X-REGISTER|
00002FF0: 22 00 1B 38 88 09 99 22  41 4E 44 20 58 3C 30 20  |"..8..."AND X<0 |
00003000: 57 49 4C 4C 20 52 45 53  55 4C 54 20 41 4E 44 20  |WILL RESULT AND |
00003010: 12 42 50 4C 92 20 57 49  4C 4C 22 00 47 38 92 09  |.BPL. WILL".G8..|
00003020: 99 22 12 4E 4F 54 92 20  54 41 4B 45 20 55 53 20  |.".NOT. TAKE US |
00003030: 42 41 43 4B 20 54 4F 20  27 4C 4F 4F 50 27 21 22  |BACK TO 'LOOP'!"|
00003040: 3A 8D 36 33 30 30 30 00  6E 38 9C 09 99 22 13 11  |:.63000.n8..."..|
00003050: 11 11 11 11 11 11 11 11  11 11 11 11 11 11 11 22  |..............."|
00003060: 3A 81 49 B2 31 A4 36 3A  99 43 4C 24 3A 82 00 A0  |:.I.1.6:.CL$:...|
00003070: 38 A6 09 99 22 13 11 11  11 11 11 11 11 11 11 11  |8..."...........|
00003080: 11 11 11 11 11 11 11 4E  4F 54 45 20 54 48 41 54  |.......NOTE THAT|
00003090: 20 28 24 42 31 29 20 57  49 4C 4C 20 4E 4F 54 22  | ($B1) WILL NOT"|
000030A0: 00 CE 38 B0 09 99 22 12  4F 56 45 52 46 4C 4F 57  |..8...".OVERFLOW|
000030B0: 92 20 41 46 54 45 52 20  41 20 4E 55 4D 42 45 52  |. AFTER A NUMBER|
000030C0: 20 4F 46 20 12 49 4E 43  20 24 42 31 92 22 00 FA  | OF .INC $B1."..|
000030D0: 38 BA 09 99 22 49 4E 53  54 52 27 4E 53 2E 20 41  |8..."INSTR'NS. A|
000030E0: 46 54 45 52 20 41 4C 4C  2C 4D 45 4D 4F 52 59 20  |FTER ALL,MEMORY |
000030F0: 4F 4E 4C 59 20 47 4F 45  53 22 00 1F 39 C4 09 99  |ONLY GOES"..9...|
00003100: 22 54 4F 20 24 46 46 46  46 2C 20 53 4F 2C 20 55  |"TO $FFFF, SO, U|
00003110: 4E 4C 45 53 53 20 59 4F  55 20 47 4F 4F 46 22 00  |NLESS YOU GOOF".|
00003120: 4C 39 CE 09 99 22 28 24  42 31 29 3C 3D 46 46 20  |L9..."($B1)<=FF |
00003130: 57 49 4C 4C 20 41 4C 57  41 59 53 20 42 45 20 54  |WILL ALWAYS BE T|
00003140: 52 55 45 21 22 3A 8D 36  33 30 30 30 00 77 39 D8  |RUE!":.63000.w9.|
00003150: 09 99 22 93 4E 4F 54 45  20 54 48 41 54 20 49 4E  |..".NOTE THAT IN|
00003160: 43 52 45 4D 45 4E 54 49  4E 47 20 54 48 45 20 41  |CREMENTING THE A|
00003170: 44 44 52 45 53 53 22 00  A0 39 E2 09 99 22 49 4E  |DDRESS"..9..."IN|
00003180: 20 24 42 30 2F 24 42 31  20 42 59 20 24 30 31 30  | $B0/$B1 BY $010|
00003190: 30 20 4F 4E 4C 59 20 52  45 51 55 49 52 45 53 22  |0 ONLY REQUIRES"|
000031A0: 00 CB 39 EC 09 99 22 12  49 4E 43 20 24 42 31 92  |..9...".INC $B1.|
000031B0: 2E 20 49 46 20 59 4F 55  20 57 41 4E 54 20 54 4F  |. IF YOU WANT TO|
000031C0: 20 49 4E 43 52 45 4D 45  4E 54 22 00 F3 39 F6 09  | INCREMENT"..9..|
000031D0: 99 22 42 59 20 24 30 30  30 31 20 59 4F 55 20 43  |."BY $0001 YOU C|
000031E0: 41 4E 20 44 4F 20 49 54  20 54 48 49 53 20 57 41  |AN DO IT THIS WA|
000031F0: 59 3A 22 00 0A 3A 00 0A  99 22 11 12 20 20 20 20  |Y:"..:..."..    |
00003200: 20 2D 2D 2D 2D 2D 2D 2D  20 22 00 44 3A 0A 0A 99  | ------- ".D:...|
00003210: 22 12 20 20 20 20 20 49  4E 43 20 24 42 30 20 22  |".     INC $B0 "|
00003220: 3A 99 22 12 20 20 20 20  20 42 4E 45 20 4E 45 58  |:.".     BNE NEX|
00003230: 54 22 3A 99 22 12 20 20  20 20 20 49 4E 43 20 24  |T":.".     INC $|
00003240: 42 31 20 22 00 5A 3A 14  0A 99 22 12 4E 45 58 54  |B1 ".Z:...".NEXT|
00003250: 20 2D 2D 2D 2D 2D 2D 2D  20 22 00 87 3A 1E 0A 99  | ------- "..:...|
00003260: 22 11 54 48 49 53 20 41  44 44 53 20 27 31 27 20  |".THIS ADDS '1' |
00003270: 54 4F 20 28 24 42 30 29  2E 49 46 20 49 54 20 44  |TO ($B0).IF IT D|
00003280: 4F 45 53 4E 27 54 22 00  B3 3A 28 0A 99 22 12 4F  |OESN'T"..:(..".O|
00003290: 56 45 52 46 4C 4F 57 92  20 46 52 4F 4D 20 46 46  |VERFLOW. FROM FF|
000032A0: 20 54 4F 20 30 30 20 57  45 20 43 4F 4E 54 49 4E  | TO 00 WE CONTIN|
000032B0: 55 45 22 00 D6 3A 32 0A  99 22 57 49 54 48 20 54  |UE"..:2.."WITH T|
000032C0: 48 45 20 27 4E 45 58 54  27 20 49 4E 54 52 55 43  |HE 'NEXT' INTRUC|
000032D0: 54 49 4F 4E 2E 22 00 FA  3A 3C 0A 99 22 11 49 46  |TION."..:<..".IF|
000032E0: 20 49 54 20 44 4F 45 53  20 4F 56 45 52 46 4C 4F  | IT DOES OVERFLO|
000032F0: 57 20 54 4F 20 12 30 30  92 22 00 24 3B 46 0A 99  |W TO .00.".$;F..|
00003300: 22 54 48 45 20 12 42 4E  45 20 4E 45 58 54 92 20  |"THE .BNE NEXT. |
00003310: 57 49 4C 4C 20 4E 4F 54  20 54 41 4B 45 20 55 53  |WILL NOT TAKE US|
00003320: 20 54 4F 22 00 51 3B 50  0A 99 22 27 4E 45 58 54  | TO".Q;P.."'NEXT|
00003330: 27 2C 20 41 4E 44 20 57  45 20 41 44 44 20 27 31  |', AND WE ADD '1|
00003340: 27 20 54 4F 20 54 48 45  20 48 49 2D 42 59 54 45  |' TO THE HI-BYTE|
00003350: 22 00 6F 3B 5A 0A 99 22  57 49 54 48 20 12 49 4E  |".o;Z.."WITH .IN|
00003360: 43 20 24 42 31 92 2E 22  3A 8D 36 33 30 30 30 00  |C $B1..":.63000.|
00003370: 9E 3B 64 0A 99 22 93 49  46 20 59 4F 55 20 57 41  |.;d..".IF YOU WA|
00003380: 4E 54 20 54 4F 20 49 4E  43 52 45 4D 45 4E 54 20  |NT TO INCREMENT |
00003390: 42 59 20 4F 54 48 45 52  20 54 48 41 4E 22 00 CE  |BY OTHER THAN"..|
000033A0: 3B 6E 0A 99 22 11 24 30  30 30 31 20 4F 52 20 24  |;n..".$0001 OR $|
000033B0: 30 31 30 30 20 28 12 49  4E 43 20 24 42 30 92 20  |0100 (.INC $B0. |
000033C0: 4F 52 20 12 49 4E 43 20  24 42 31 92 29 22 00 FC  |OR .INC $B1.)"..|
000033D0: 3B 78 0A 99 22 11 54 48  45 4E 20 59 4F 55 20 4E  |;x..".THEN YOU N|
000033E0: 45 45 44 20 54 4F 20 12  41 44 44 92 20 54 48 45  |EED TO .ADD. THE|
000033F0: 20 49 4E 43 52 45 4D 45  4E 54 2E 22 00 20 3C 7D  | INCREMENT.". <}|
00003400: 0A 99 22 11 53 55 50 50  4F 53 45 20 57 45 20 57  |..".SUPPOSE WE W|
00003410: 41 4E 54 20 54 4F 20 41  44 44 20 24 31 46 3A 22  |ANT TO ADD $1F:"|
00003420: 00 3F 3C 82 0A 99 22 11  12 4C 44 41 20 24 42 30  |.?<..."..LDA $B0|
00003430: 20 92 5F 47 45 54 20 4C  4F 2D 42 59 54 45 22 00  | ._GET LO-BYTE".|
00003440: 65 3C 8C 0A 99 22 12 41  44 43 20 23 24 31 46 92  |e<...".ADC #$1F.|
00003450: 5F 41 44 44 20 23 24 31  46 20 54 4F 20 4C 4F 2D  |_ADD #$1F TO LO-|
00003460: 42 59 54 45 22 00 83 3C  96 0A 99 22 12 53 54 41  |BYTE"..<...".STA|
00003470: 20 24 42 30 20 92 5F 50  55 54 20 49 54 20 42 41  | $B0 ._PUT IT BA|
00003480: 43 4B 22 00 A1 3C A0 0A  99 22 12 4C 44 41 20 24  |CK"..<...".LDA $|
00003490: 42 31 20 92 5F 47 45 54  20 48 49 2D 42 59 54 45  |B1 ._GET HI-BYTE|
000034A0: 22 00 DA 3C AA 0A 99 22  12 41 44 43 20 23 24 30  |"..<...".ADC #$0|
000034B0: 30 92 5F 41 44 44 20 5A  45 52 4F 28 3F 21 29 22  |0._ADD ZERO(?!)"|
000034C0: 3A 99 22 12 53 54 41 20  24 42 31 20 92 5F 50 55  |:.".STA $B1 ._PU|
000034D0: 54 20 49 54 20 42 41 43  4B 22 00 08 3D B4 0A 99  |T IT BACK"..=...|
000034E0: 22 11 59 4F 55 20 53 45  45 2E 2E 41 44 44 49 4E  |".YOU SEE..ADDIN|
000034F0: 47 20 23 24 31 46 20 4D  49 47 48 54 20 4A 55 53  |G #$1F MIGHT JUS|
00003500: 54 20 43 41 55 53 45 22  00 37 3D BE 0A 99 22 54  |T CAUSE".7=..."T|
00003510: 48 45 20 43 4F 4E 54 45  4E 54 53 20 4F 46 20 24  |HE CONTENTS OF $|
00003520: 42 30 20 54 4F 20 12 4F  56 45 52 46 4C 4F 57 92  |B0 TO .OVERFLOW.|
00003530: 20 57 48 49 43 48 22 00  64 3D C8 0A 99 22 43 41  | WHICH".d=..."CA|
00003540: 55 53 45 53 20 12 43 41  52 52 59 92 3D 31 2E 20  |USES .CARRY.=1. |
00003550: 53 4F 20 57 45 20 41 44  44 20 54 48 45 20 43 41  |SO WE ADD THE CA|
00003560: 52 52 59 22 00 8F 3D D2  0A 99 22 54 4F 20 28 24  |RRY"..=..."TO ($|
00003570: 42 31 29 20 57 49 54 48  20 12 4C 44 41 20 24 42  |B1) WITH .LDA $B|
00003580: 31 92 20 26 20 12 41 44  43 20 23 24 30 30 22 00  |1. & .ADC #$00".|
00003590: CD 3D DC 0A 99 22 11 4E  4F 54 45 11 9D 9D 9D 9D  |.=...".NOTE.....|
000035A0: B8 B8 B8 B8 91 3A 12 41  44 43 92 20 4D 45 41 4E  |.....:.ADC. MEAN|
000035B0: 53 20 12 41 44 92 44 20  57 49 54 48 20 12 43 92  |S .AD.D WITH .C.|
000035C0: 41 52 52 59 2E 22 3A 8D  36 33 30 30 30 00 05 3E  |ARRY.":.63000..>|
000035D0: E6 0A 99 22 13 11 11 11  11 11 11 11 11 11 11 11  |..."............|
000035E0: 11 11 11 22 3A 81 49 B2  31 A4 38 3A 99 43 4C 24  |...":.I.1.8:.CL$|
000035F0: 3A 82 3A 99 22 13 11 11  11 11 11 11 11 11 11 11  |:.:."...........|
00003600: 11 11 11 11 22 00 32 3E  F0 0A 99 22 4F 46 20 43  |....".2>..."OF C|
00003610: 4F 55 52 53 45 20 54 48  45 20 12 43 41 52 52 59  |OURSE THE .CARRY|
00003620: 92 20 4D 41 59 20 42 45  20 12 31 92 20 57 48 45  |. MAY BE .1. WHE|
00003630: 4E 22 00 5D 3E FA 0A 99  22 11 54 48 45 20 41 42  |N".]>...".THE AB|
00003640: 4F 56 45 20 50 49 45 43  45 20 4F 46 20 43 4F 44  |OVE PIECE OF COD|
00003650: 45 20 53 54 41 52 54 53  2C 20 53 4F 22 00 A0 3E  |E STARTS, SO"..>|
00003660: 04 0B 99 22 11 57 45 20  4D 55 53 54 20 41 4C 57  |...".WE MUST ALW|
00003670: 41 59 53 11 9D 9D 9D 9D  9D 9D B8 B8 B8 B8 B8 B8  |AYS.............|
00003680: 91 20 12 43 4C 43 92 20  42 45 46 4F 52 45 20 41  |. .CLC. BEFORE A|
00003690: 4E 20 12 41 44 43 92 21  22 3A 8D 36 33 30 31 30  |N .ADC.!":.63010|
000036A0: 00 C0 3E 0E 0B 99 22 13  11 11 11 11 11 11 11 12  |..>...".........|
000036B0: 43 4C 43 20 20 20 20 20  22 3A 8D 36 33 30 30 30  |CLC     ":.63000|
000036C0: 00 EE 3E 18 0B 99 22 93  49 46 20 59 4F 55 20 57  |..>...".IF YOU W|
000036D0: 41 4E 54 20 54 4F 20 12  53 55 42 54 52 41 43 54  |ANT TO .SUBTRACT|
000036E0: 92 20 12 23 24 31 46 92  20 59 4F 55 3A 22 00 29  |. .#$1F. YOU:".)|
000036F0: 3F 22 0B 99 22 11 11 12  4C 44 41 20 24 42 30 20  |?".."...LDA $B0 |
00003700: 22 3A 99 22 12 53 42 43  20 23 24 31 46 92 5F 53  |":.".SBC #$1F._S|
00003710: 55 42 54 52 41 43 54 20  24 31 46 22 3A 99 22 12  |UBTRACT $1F":.".|
00003720: 53 54 41 20 24 42 30 20  22 00 64 3F 2C 0B 99 22  |STA $B0 ".d?,.."|
00003730: 12 4C 44 41 20 24 42 31  20 22 3A 99 22 12 53 42  |.LDA $B1 ":.".SB|
00003740: 43 20 23 24 30 30 92 5F  53 55 42 54 52 41 43 54  |C #$00._SUBTRACT|
00003750: 20 24 30 30 21 21 22 3A  99 22 12 53 54 41 20 24  | $00!!":.".STA $|
00003760: 42 31 20 22 00 A2 3F 36  0B 99 22 11 4E 4F 54 45  |B1 "..?6..".NOTE|
00003770: 11 9D 9D 9D 9D B8 B8 B8  B8 91 3A 12 53 42 43 92  |..........:.SBC.|
00003780: 20 4D 45 41 4E 53 20 12  53 92 55 12 42 92 54 52  | MEANS .S.U.B.TR|
00003790: 41 43 54 20 57 49 54 48  20 12 43 92 41 52 52 59  |ACT WITH .C.ARRY|
000037A0: 2E 22 00 CC 3F 40 0B 99  22 11 48 4F 57 45 56 45  |."..?@..".HOWEVE|
000037B0: 52 2C 20 57 49 54 48 20  12 53 42 43 92 20 59 4F  |R, WITH .SBC. YO|
000037C0: 55 20 4D 55 53 54 20 48  41 56 45 22 00 0B 40 4A  |U MUST HAVE"..@J|
000037D0: 0B 99 22 11 43 41 52 52  59 3D 31 20 54 4F 20 53  |..".CARRY=1 TO S|
000037E0: 54 41 52 54 20 57 49 54  48 21 21 22 3A 4D 53 24  |TART WITH!!":MS$|
000037F0: B2 22 2A 3F 55 47 48 21  2A 3F 21 21 22 3A 8D 36  |."*?UGH!*?!!":.6|
00003800: 33 30 30 30 3A 8D 36 33  31 30 30 00 2D 40 54 0B  |3000:.63100.-@T.|
00003810: 8D 36 33 30 31 30 3A 99  22 13 11 11 12 53 45 43  |.63010:."....SEC|
00003820: 20 20 20 20 20 22 3A 8D  36 33 30 30 30 00 59 40  |     ":.63000.Y@|
00003830: B8 0B 99 22 93 22 3A 4D  53 24 B2 22 12 41 55 20  |...".":MS$.".AU |
00003840: 52 45 56 4F 49 52 21 92  22 3A 8D 36 33 31 30 30  |REVOIR!.":.63100|
00003850: 3A 99 22 13 11 11 22 3A  80 00 63 40 0F 27 89 39  |:."...":..c@.'.9|
00003860: 39 39 39 00 8D 40 A2 9C  97 41 28 30 29 2C 33 32  |999..@...A(0),32|
00003870: 3A 81 54 54 B2 31 A4 50  50 3A 82 3A 81 49 B2 30  |:.TT.1.PP:.:.I.0|
00003880: A4 36 3A 97 41 28 49 AA  31 29 2C 33 32 00 C1 40  |.6:.A(I.1),32..@|
00003890: A3 9C 97 41 28 49 29 2C  C5 28 CA 28 4E 24 2C 49  |...A(I),.(.(N$,I|
000038A0: AA 31 2C 31 29 29 AA 34  38 3A 81 54 54 B2 31 A4  |.1,1)).48:.TT.1.|
000038B0: 50 50 3A 82 3A 82 3A 97  41 28 37 29 2C 34 38 3A  |PP:.:.:.A(7),48:|
000038C0: 8E 00 E1 40 AE 9C 81 49  B2 30 A4 37 3A 97 41 28  |...@...I.0.7:.A(|
000038D0: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
000038E0: 82 00 01 41 AF 9C 97 41  28 49 29 2C C5 28 CA 28  |...A...A(I),.(.(|
000038F0: 4E 24 2C 49 AA 31 2C 31  29 29 AA 34 38 3A 82 3A  |N$,I.1,1)).48:.:|
00003900: 8E 00 21 41 B8 9C 81 49  B2 30 A4 37 3A 97 50 28  |..!A...I.0.7:.P(|
00003910: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
00003920: 82 00 41 41 B9 9C 97 50  28 49 29 2C C5 28 CA 28  |..AA...P(I),.(.(|
00003930: 4E 24 2C 49 AA 31 2C 31  29 29 AA 34 38 3A 82 3A  |N$,I.1,1)).48:.:|
00003940: 8E 00 61 41 C2 9C 81 49  B2 30 A4 37 3A 97 58 28  |..aA...I.0.7:.X(|
00003950: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
00003960: 82 00 81 41 C3 9C 97 58  28 49 29 2C C5 28 CA 28  |...A...X(I),.(.(|
00003970: 4E 24 2C 49 AA 31 2C 31  29 29 AA 34 38 3A 82 3A  |N$,I.1,1)).48:.:|
00003980: 8E 00 A1 41 CC 9C 81 49  B2 30 A4 37 3A 97 59 28  |...A...I.0.7:.Y(|
00003990: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
000039A0: 82 00 C1 41 CD 9C 97 59  28 49 29 2C C5 28 CA 28  |...A...Y(I),.(.(|
000039B0: 4E 24 2C 49 AA 31 2C 31  29 29 AA 34 38 3A 82 3A  |N$,I.1,1)).48:.:|
000039C0: 8E 00 E1 41 E0 9C 81 49  B2 30 A4 37 3A 97 4D 28  |...A...I.0.7:.M(|
000039D0: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
000039E0: 82 00 01 42 E1 9C 97 4D  28 49 29 2C C5 28 CA 28  |...B...M(I),.(.(|
000039F0: 4E 24 2C 49 AA 31 2C 31  29 29 AA 34 38 3A 82 3A  |N$,I.1,1)).48:.:|
00003A00: 8E 00 21 42 A0 A0 81 49  B2 30 A4 37 3A 97 50 28  |..!B...I.0.7:.P(|
00003A10: 49 29 2C 31 36 30 3A 81  54 54 B2 31 A4 50 50 3A  |I),160:.TT.1.PP:|
00003A20: 82 00 37 42 A1 A0 97 50  28 49 29 2C C2 28 41 28  |..7B...P(I),.(A(|
00003A30: 49 29 29 3A 82 3A 8E 00  57 42 AA A0 81 49 B2 30  |I)):.:..WB...I.0|
00003A40: A4 37 3A 97 58 28 49 29  2C 31 36 30 3A 81 54 54  |.7:.X(I),160:.TT|
00003A50: B2 31 A4 50 50 3A 82 00  6D 42 AB A0 97 58 28 49  |.1.PP:..mB...X(I|
00003A60: 29 2C C2 28 41 28 49 29  29 3A 82 3A 8E 00 8D 42  |),.(A(I)):.:...B|
00003A70: B4 A0 81 49 B2 30 A4 37  3A 97 59 28 49 29 2C 31  |...I.0.7:.Y(I),1|
00003A80: 36 30 3A 81 54 54 B2 31  A4 50 50 3A 82 00 A3 42  |60:.TT.1.PP:...B|
00003A90: B5 A0 97 59 28 49 29 2C  C2 28 41 28 49 29 29 3A  |...Y(I),.(A(I)):|
00003AA0: 82 3A 8E 00 C3 42 C8 A0  81 49 B2 30 A4 37 3A 97  |.:...B...I.0.7:.|
00003AB0: 4D 28 49 29 2C 31 36 30  3A 81 54 54 B2 31 A4 50  |M(I),160:.TT.1.P|
00003AC0: 50 3A 82 00 D9 42 C9 A0  97 4D 28 49 29 2C C2 28  |P:...B...M(I),.(|
00003AD0: 41 28 49 29 29 3A 82 3A  8E 00 F9 42 7C A1 81 49  |A(I)):.:...B|..I|
00003AE0: B2 30 A4 37 3A 97 41 28  49 29 2C 31 36 30 3A 81  |.0.7:.A(I),160:.|
00003AF0: 54 54 B2 31 A4 50 50 3A  82 00 0F 43 7D A1 97 41  |TT.1.PP:...C}..A|
00003B00: 28 49 29 2C C2 28 58 28  49 29 29 3A 82 3A 8E 00  |(I),.(X(I)):.:..|
00003B10: 2F 43 90 A1 81 49 B2 30  A4 37 3A 97 4D 28 49 29  |/C...I.0.7:.M(I)|
00003B20: 2C 31 36 30 3A 81 54 54  B2 31 A4 50 50 3A 82 00  |,160:.TT.1.PP:..|
00003B30: 45 43 91 A1 97 4D 28 49  29 2C C2 28 58 28 49 29  |EC...M(I),.(X(I)|
00003B40: 29 3A 82 3A 8E 00 65 43  C2 A1 81 49 B2 30 A4 37  |):.:..eC...I.0.7|
00003B50: 3A 97 41 28 49 29 2C 31  36 30 3A 81 54 54 B2 31  |:.A(I),160:.TT.1|
00003B60: A4 50 50 3A 82 00 7B 43  C3 A1 97 41 28 49 29 2C  |.PP:..{C...A(I),|
00003B70: C2 28 59 28 49 29 29 3A  82 3A 8E 00 9B 43 F4 A1  |.(Y(I)):.:...C..|
00003B80: 81 49 B2 30 A4 37 3A 97  4D 28 49 29 2C 31 36 30  |.I.0.7:.M(I),160|
00003B90: 3A 81 54 54 B2 31 A4 50  50 3A 82 00 B1 43 F5 A1  |:.TT.1.PP:...C..|
00003BA0: 97 4D 28 49 29 2C C2 28  59 28 49 29 29 3A 82 3A  |.M(I),.(Y(I)):.:|
00003BB0: 8E 00 F0 43 60 EA 52 24  B2 22 B0 C0 B2 C0 B2 C0  |...C`.R$."......|
00003BC0: B2 C0 B2 C0 B2 C0 B2 C0  B2 C0 AE 11 9D 9D 9D 9D  |................|
00003BD0: 9D 9D 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D DD A0 DD  |................|
00003BE0: A0 DD A0 DD A0 DD A0 DD  A0 DD A0 DD A0 DD 11 22  |..............."|
00003BF0: 00 1F 44 61 EA 52 24 B2  52 24 AA 22 9D 9D 9D 9D  |..Da.R$.R$."....|
00003C00: 9D 9D 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D AD C0 B1  |................|
00003C10: C0 B1 C0 B1 C0 B1 C0 B1  C0 B1 C0 B1 C0 BD 22 00  |..............".|
00003C20: 56 44 62 EA 41 24 B2 22  13 11 20 12 41 92 91 22  |VDb.A$.".. .A.."|
00003C30: AA 52 24 3A 50 24 B2 22  13 11 1D 1D 1D 1D 1D 1D  |.R$:P$."........|
00003C40: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 12 50  |...............P|
00003C50: 92 91 22 AA 52 24 00 94  44 63 EA 58 24 B2 22 13  |..".R$..Dc.X$.".|
00003C60: 11 11 11 11 20 12 58 92  91 22 AA 52 24 3A 59 24  |.... .X..".R$:Y$|
00003C70: B2 22 13 11 11 11 11 1D  1D 1D 1D 1D 1D 1D 1D 1D  |."..............|
00003C80: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 12 59 92 91  |.............Y..|
00003C90: 22 AA 52 24 00 C2 44 64  EA 4D 24 B2 22 13 11 11  |".R$..Dd.M$."...|
00003CA0: 11 11 11 11 11 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003CB0: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 12 4D 92 91 22 AA  |...........M..".|
00003CC0: 52 24 00 E5 44 65 EA 43  52 24 B2 22 13 11 11 11  |R$..De.CR$."....|
00003CD0: 11 11 11 B0 C0 AE 11 9D  9D 9D DD 1D DD 11 9D 9D  |................|
00003CE0: 9D AD C0 BD 22 00 25 45  66 EA 43 43 24 B2 22 13  |....".%Ef.CC$.".|
00003CF0: 11 20 12 41 92 DD 11 9D  9D 9D 20 11 9D 20 11 9D  |. .A...... .. ..|
00003D00: 20 11 9D 20 11 9D 20 20  20 11 9D 9D 9D 20 20 20  | .. ..   ....   |
00003D10: 11 9D 9D 9D 20 20 20 91  20 20 20 20 20 20 20 20  |....   .        |
00003D20: 20 20 20 20 22 00 40 45  67 EA 57 44 B2 34 30 3A  |    ".@Eg.WD.40:|
00003D30: 43 52 54 B2 31 30 32 34  3A 99 C7 28 31 34 32 29  |CRT.1024:..(142)|
00003D40: 00 86 45 68 EA 81 49 B2  30 A4 37 3A 41 28 49 29  |..Eh..I.0.7:A(I)|
00003D50: B2 43 52 54 AA 57 44 AA  33 AA 32 AC 49 3A 50 28  |.CRT.WD.3.2.I:P(|
00003D60: 49 29 B2 41 28 49 29 AA  32 30 3A 58 28 49 29 B2  |I).A(I).20:X(I).|
00003D70: 41 28 49 29 AA 33 AC 57  44 3A 59 28 49 29 B2 58  |A(I).3.WD:Y(I).X|
00003D80: 28 49 29 AA 32 30 00 A8  45 69 EA 4D 28 49 29 B2  |(I).20..Ei.M(I).|
00003D90: 59 28 49 29 AA 33 AC 57  44 3A 82 3A 43 B2 43 52  |Y(I).3.WD:.:C.CR|
00003DA0: 54 AA 37 AC 57 44 AA 31  00 DC 45 6A EA 53 44 24  |T.7.WD.1..Ej.SD$|
00003DB0: B2 22 13 11 11 11 11 11  11 11 11 11 22 3A 43 4C  |."..........":CL|
00003DC0: 24 B2 22 22 3A 81 49 B2  31 A4 57 44 AB 32 3A 43  |$."":.I.1.WD.2:C|
00003DD0: 4C 24 B2 43 4C 24 AA 22  20 22 3A 82 00 FE 45 6B  |L$.CL$." ":...Ek|
00003DE0: EA 42 54 24 B2 22 13 22  3A 81 49 B2 31 A4 32 34  |.BT$.".":.I.1.24|
00003DF0: 3A 42 54 24 B2 42 54 24  AA 22 11 22 3A 82 00 31  |:BT$.BT$.".":..1|
00003E00: 46 6C EA 43 24 B2 43 52  24 AA 22 13 11 B0 C0 B3  |Fl.C$.CR$.".....|
00003E10: 11 9D 9D 9D DD 11 9D DD  11 9D DD 11 9D DD 11 9D  |................|
00003E20: AB 11 1D 1D 1D 1D 5F 43  41 52 52 59 20 42 49 54  |......_CARRY BIT|
00003E30: 22 00 61 46 73 EA 4D 4C  24 B2 22 13 11 11 11 11  |".aFs.ML$.".....|
00003E40: 11 11 11 11 11 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003E50: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003E60: 22 00 6B 46 74 EA 50 50  B2 32 30 00 8D 46 93 EA  |".kFt.PP.20..F..|
00003E70: 42 54 24 B2 22 13 22 3A  81 49 B2 31 A4 32 34 3A  |BT$.".":.I.1.24:|
00003E80: 42 54 24 B2 42 54 24 AA  22 11 22 3A 82 00 D7 46  |BT$.BT$.".":...F|
00003E90: 94 EA 50 54 24 B2 22 1C  B0 C0 C0 C0 C0 C0 C0 C0  |..PT$.".........|
00003EA0: C0 C0 C0 AE 11 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |................|
00003EB0: 9D DD 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D DD 11 9D 9D  |................|
00003EC0: 9D 9D 9D 9D 9D 9D 9D 9D  9D 9D AD B2 C0 C0 C0 C0  |................|
00003ED0: C0 C0 C0 C0 B2 BD 22 00  1F 47 95 EA 50 54 24 B2  |......"..G..PT$.|
00003EE0: 50 54 24 AA 22 11 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |PT$."...........|
00003EF0: 9D 9D 9D CE A3 A3 A3 A3  A3 A3 A3 A3 A3 A3 A3 A3  |................|
00003F00: CD 11 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D 9D 9D 9D 9D  |................|
00003F10: A5 3D 3D 3D 3D 3D 3D 3D  3D 3D 3D 3D 3D A7 22 00  |.============.".|
00003F20: 5B 47 96 EA 50 54 24 B2  50 54 24 AA 22 11 9D 9D  |[G..PT$.PT$."...|
00003F30: 9D 9D 9D 9D 9D 9D 9D 9D  9D 9D 9D 9D D0 CF A3 A3  |................|
00003F40: A3 A3 A3 A3 A3 A3 A3 A3  D0 CF 91 91 91 91 9D 9D  |................|
00003F50: 9D 9D 9D 9D 9D 9D 9D 9D  9D 9D 22 00 92 47 97 EA  |.........."..G..|
00003F60: 50 54 24 B2 42 54 24 AA  22 91 91 91 91 91 91 1D  |PT$.BT$.".......|
00003F70: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003F80: 1D 1D 1D 1D 1D 1D 1D 1D  1D 22 AA 50 54 24 AA 22  |.........".PT$."|
00003F90: 90 22 00 C2 47 98 EA 4D  4C 24 B2 22 13 11 11 11  |."..G..ML$."....|
00003FA0: 11 11 11 11 11 11 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003FB0: 1D 1D 1D 1D 1D 1D 1D 1D  1D 1D 1D 1D 1D 1D 1D 1D  |................|
00003FC0: 1D 22 00 DD 47 99 EA 57  44 B2 34 30 3A 43 52 54  |."..G..WD.40:CRT|
00003FD0: B2 31 30 32 34 3A 99 C7  28 31 34 32 29 00 01 48  |.1024:..(142)..H|
00003FE0: 9A EA 57 32 B2 57 44 AD  32 3A 57 33 B2 57 44 AB  |..W2.WD.2:W3.WD.|
00003FF0: 31 3A 57 31 24 B2 CA 28  C4 28 57 44 29 2C 32 29  |1:W1$..(.(WD),2)|
00004000: 3A 00 23 48 9B EA 57 32  24 B2 CA 28 C4 28 57 32  |:.#H..W2$..(.(W2|
00004010: 29 2C 32 29 3A 57 33 24  B2 CA 28 C4 28 57 33 29  |),2):W3$..(.(W3)|
00004020: 2C 32 29 00 29 48 C4 EA  8E 00 36 48 18 F6 99 42  |,2).)H....6H...B|
00004030: 54 24 43 4C 24 3B 00 56  48 19 F6 99 42 54 24 22  |T$CL$;.VH...BT$"|
00004040: 12 52 45 54 55 52 4E 92  20 54 4F 20 43 4F 4E 54  |.RETURN. TO CONT|
00004050: 49 4E 55 45 22 3B 00 6C  48 1A F6 A1 5A 24 3A 8B  |INUE";.lH...Z$:.|
00004060: 5A 24 B3 B1 22 22 A7 36  33 30 30 32 00 81 48 1B  |Z$.."".63002..H.|
00004070: F6 A1 5A 24 3A 8B 5A 24  B2 22 22 A7 36 33 30 30  |..Z$:.Z$."".6300|
00004080: 33 00 87 48 1C F6 8E 00  94 48 22 F6 99 42 54 24  |3..H.....H"..BT$|
00004090: 43 4C 24 3B 00 C9 48 23  F6 99 42 54 24 22 A6 A6  |CL$;..H#..BT$"..|
000040A0: A6 A6 A6 A6 A6 A6 12 52  45 54 55 52 4E 20 54 4F  |.......RETURN TO|
000040B0: 20 53 45 45 20 49 54 20  48 41 50 50 45 4E 92 A6  | SEE IT HAPPEN..|
000040C0: A6 A6 A6 A6 A6 A6 A6 22  3B 00 DF 48 24 F6 A1 5A  |.......";..H$..Z|
000040D0: 24 3A 8B 5A 24 B3 B1 22  22 A7 36 33 30 31 32 00  |$:.Z$.."".63012.|
000040E0: F4 48 25 F6 A1 5A 24 3A  8B 5A 24 B2 22 22 A7 36  |.H%..Z$:.Z$."".6|
000040F0: 33 30 31 33 00 FA 48 26  F6 8E 00 0E 49 7C F6 81  |3013..H&....I|..|
00004100: 54 B2 31 A4 35 3A 99 50  54 24 4D 53 24 3B 00 24  |T.1.5:.PT$MS$;.$|
00004110: 49 7D F6 99 50 54 24 22  20 20 20 20 20 20 20 20  |I}..PT$"        |
00004120: 20 20 22 3B 00 33 49 7E  F6 99 50 54 24 4D 53 24  |  ";.3I~..PT$MS$|
00004130: 3B 3A 82 00 39 49 7F F6  8E 00 44 49 E0 F6 8D 36  |;:..9I....DI...6|
00004140: 33 30 30 30 00 65 49 E1  F6 99 53 44 24 3B 3A 81  |3000.eI...SD$;:.|
00004150: 54 B2 31 A4 31 30 3A 99  43 4C 24 3A 82 3A 99 53  |T.1.10:.CL$:.:.S|
00004160: 44 24 3B 3A 8E 00 79 49  44 F7 8D 36 33 31 30 30  |D$;:..yID..63100|
00004170: 3A 8D 36 33 30 31 30 3A  8E 00 8F 49 FF F9 8D 36  |:.63010:...I...6|
00004180: 30 30 30 30 3A 99 22 93  22 3A 89 31 36 33 30 00  |0000:.".":.1630.|
00004190: 00 00                                             |..              |
..!...."....... 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".F
....".ALL BITS OF THE .A.-REGISTER MOVE 
LEFT."......".A '0' COMES INTO THE 'LSB'
 AND"......".THE 'MSB' DROPS INTO THE 'C
ARRY'.".Z....".QLSB=LEAST SIGNIFICANT BI
T"......".QMSB=MOST SIGNIFICANT BIT"....
.MS$."  A=2*A   ":.63300.O....C$:.C,49:N
$."10111010":PP.500:.40098:.63200:PP.20.
^.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$."  CARRY=
0 "......63300:.CR$:.C,48:.63200:.CC$.E.
...".STA $1234.":."..ST.ORE THE .A.-REGI
STER".~....".IN MEMORY LOCATION $1234":M
S$."   M=A    ":.63300.....N$."10111010"
:.41160:.63000.N.X..".THAT'S ENOUGH. LET
'S CLEAR THE SCREEN.."...B.."LDA #$20  _
LOAD A WITH #$20='SPACE'.".).L.."STA $04
00 I":."STA $0401 ._FILLS SCREEN".N.V.."
STA $0402 ._MEMORY WITH #$20."......"---
 ----- .----------------":."STA $07FF K_
HENCE CLEAR SCREEN".L....".BUT WE CLEARL
Y NEED SOMETHING LIKE:":.".LDA #$20"....
.."FOR X=0 TO #$3FF":."STA $0400+X":."NE
XT X":.63000.<....".OR.....":."BEGIN LDA
 #$20 _NOTE STATEMENT LABEL".|...."     
 LDX #$00":."LOOP  STA $0400,X _.INDEXED
 ADDRESSING"......"   ^  INX":."   .  ?C
HECK FOR X=#$3FF?".J...."   .. IF NOT,GO
TO 'LOOP'"......"..WE HAVE .COMPARE. & .
BRANCH. INSTRUCTIONS!".:.F..".WHAT WE NE
ED ABOVE IS:":."..C.OM.P.ARE .X. TO #$3F
F".P.P..".& .B.RANCH IF .N.OT .E.QUAL..T
O 'LOOP'":.63010...Z.."....BEGIN LDA #$2
0   .                   ".Q....".      L
DX #$00   ":.".LOOP  STA $0400,X"......"
.   ^  INX        ":.".   .  CPX #$3FF  
.                      ".I....".   .. BN
E LOOP   .               ":.63200.~...."
NOTE..........:WE WILL NEVER .STA. IN .$
07FF."......".IN THE ABOVE PROGRAM...SO.
..":.63010.R...."........   .  CPX #$400
  ":.63200... .."ALSO, WE CAN .CPX #$N. 
ONLY IF N LIES". .*..".IN THE RANGE $00 
TO $FF.".I.4..".SO WE CHANGE THE CODE TO
:":.63010.G.>.."....BEGIN LDA #$20   .".
..H..".      LDX #$00   ":.".LOOP  STA $
0400,X"...R..".      STA $0500,X".K.\.."
.      STA $0600,X"...F..".      STA $07
00,X"...P..".      INX        ":.".     
 CPX #$FF   .".8.Z..".      BNE LOOP   .
":.63000.C....SD$"....";:.T.1.10:.CL$:.:
.SD$"....";......"OR, WE CAN SIMPLIFY TH
IS A LITTLE BY"......".COUNTING .DOWN. F
ROM X=$FF TO $00":.63010......"....BEGIN
 LDA #$20   ."......".      LDX #$FF   "
:.".LOOP  STA $0400,X".(....".      STA 
$0500,X".B....".      STA $0600,X".\.J..
".      STA $0700,X".V.T..".      DEX   
     "......".      BNE LOOP   .":."    
               ":.63000.Z....SD$"....";:
.T.1.10:.CL$:.:.SD$"....";......"...HOW 
CAN WE .BNE. WHEN WE DON'T DO ANY".$....
"..COMPARE.?":.63000.P....".YOU SEE, .BN
E. REALLY CHECKS TO SEE".~....".IF '0' I
S THE RESULT OF AN ARITHMETIC"......".OP
ERATION..INCLUDING A .COMPARE..".M....".
IN THE PAIR OF INSTRUCTIONS:"......"..CP
X #$FF":.".BNE LOOP":.".WE SUBTRACT #$FF
 FROM THE".5....".VALUE OF X AND .BRANCH
. TO LOOP IF".\.$..".THE RESULT IS NOT Z
ERO!":.63000.{...."..INX     ":.".BNE LO
OP"...8..".WE BRANCH TO LOOP IF THE RESU
LT OF".S.B..".INCREMENTING X IS .NOT. ZE
RO.":."..."...L.."..DEC $1234":.".BNE LO
OP "...V..".HERE WE BRANCH TO LOOP IF".E
.`..".DECREMENTING $1234 IS NOT ZERO.":.
"...".S.J.."..NOTE.: .CPX.  INVOLVES A S
UBTRACTION"...T..".(TO CHECK FOR ZERO RE
SULT)".S.~..".BUT IT DOES NOT........ CH
ANGE ANY REGISTERS!":.63000......".LET'S
 .RVS. THE SCREEN.".!....".THIS REQUIRES
 LOOKING AT EVERY SCREEN".Q....".MEMORY 
LOCATION AND CHECKING THE .MSB..".|...."
.IF IT'S .1. THEN CHANGE IT TO .0.."....
..".IF IT'S .0. THEN CHANGE IT TO .1..".
T....".(THE MSB DETERMINES IF THE CHARAC
TER"......"IS IN RVS-FIELD)!".4.(..".WE'
LL:":."..LDA $0400,X":.".EOR #$80   . __
???":.".STA $0400,X".A.2.."..EOR. IS AN 
.E.XCLUSIVE .OR.!":.63000...<..".IF .A. 
CONTAINS .10110101. (AFTER .LDA.)"...F..
".THEN .EOR #$80. DOES AN EXCLUSIVE-OR".
..P..".WITH .10000000. ($80 IN HEX)".. Z
..".AND GIVES .00110101...VERY NICE!".+ 
D..".OUR PROGRAM MIGHT GO:".\ N.."..BEGI
N LDX #$FF   ":.".LOOP  LDA $0400,X".. X
..".      EOR #$80   ":.".      STA $040
0,X".. ...".      LDA $0500,X":.".      
EOR #$80   ".. ...".      STA $0500,X":.
".ETC. ETC..UNTIL..."..!...".      STA $
0700,X".>! ..".      DEX        ":.".   
   BNE LOOP   ":.63000.J!...".IT'S CLEAR
 THAT THIS WILL NOT DO IF"..!...".WE WAN
T TO GO FROM $0400 TO $0500 TO".D!..."..
.TO $0N00,INSTEAD OF JUST TO $0700."..!H
..".WE NEED A LOOP-WITHIN-A-LOOP".."R.."
.FOR LARGE N...SOMETHING LIKE:...".H"...
".     M=$0400":."     X=N     _.N INSTE
AD OF 3".|"..."LP1  Y=#$FF":."LP2  LDA M
+Y":."     EOR #$80".."..."     STA M+Y"
:."     Y=Y-1".."..."     IF Y<>0 GOTO L
P2 ":."     M=M+$100":."     X=X-1".."..
."     IFX<>0 GOTO LP1 ":.63000.2#..."..
...................".23)"_.WON'T DO Y=0.
!".[#..."..".23)"_.WON'T DO X=0.!!.":.63
000..#...".";:.I.1.10:.CL$:.:.".WE'LL .C
HANGE. IT TO:".L#...63010:."..     M=$04
00":."     X=N"                    "..$.
..".LP1  Y=#$00          ":."LP2  LDA M+
Y":."     EOR #$80".-$..."     STA M+Y":
."     Y=Y-1".J$..."     IF Y<>0 GOTO LP
2 ":."     M=M+$100":."     X=X-1"..$...
".     IFX>=0 GOTO LP1 .":.63000:.".....
........";.L$..."WE WORK ON M+00 FIRST,T
HEN .Y=Y-1."..$..."WILL CHANGE Y=00 TO Y
=FF(!) AND WE'LL".&%..."CONTINUE WITH M+
FF THEN M+FE..TO M+01".K%..."AND WE STOP
 THE Y-LOOP THERE!".V%..."THE X-LOOP STA
RTS WITH X=N AND EACH"..%...".X=X-1. CHA
NGES X TO N-1,N-2,..2,1,0 .THEN.".Z%..."
ONE MORE .X=X-1. CHANGES X TO FF(!) WHIC
H"..&..."IS .NEGATIVE.(!) AND WE STOP TH
E X-LOOP!".9&...".NOTE.:THE 6510 REGISTE
RS CAN HOLD  #'S".D&..."FROM $00 TO $FF.
IF WE HAVE .00. AND"..&...".DECREMENT.,I
T CHANGES TO .FF...AND .FF+1.=.00.".V&..
."FINALLY,.MSB=1. SIGNIFIES A .NEGATIVE 
NO..!";:.63000..&...".LET'S TRY SOMETHIN
G LIKE:".)'..."..BEGIN LDA #$0400 ._??*!
#$0400 TOO BIG!!".W'...".      STA $B0  
  ._$B0 NOW HAS #$0400"..'...".      LDX
 #$03   ":.".LP1   LDY #$00   ".K'"..".L
P2   LDA ($B0),Y._ INDIRECT INDEXED?":."
.      EOR #$80   "..(,..".      STA ($B
0),Y._ INDIRECT INDEXED!":.".      DEY  
      ".P(6..".      BNE LP2    ":.".   
   INC $B0 BY #$100._??*!!HOW??"..(@..".
      DEX        ":.".      BPL LP1    .
_BRANCH ON PLUS!!"..(J.."..LDA ($B0),Y. 
TAKES THE CONTENTS OF"..(T..".MEMORY LOC
'N $B0, ADDS Y, AND THIS........."..)Y..
"GIVES THE ADDRESS OF THE BYTE WHICH ".D
)Z..".GETS LOADED INTO 'A'!!":.63000.T)^
..".THERE ARE SOME NEW IDEAS..AND PROBLE
MS!"..)C.."...BUT FIRST LET'S AGREE THAT
 WE'LL".L)D..".USE $B0 TO REFER TO THE M
EMORY LOC'N"..)E..".AND ($B0) TO REFER T
O THE .CONTENTS"..*F..".OF MEMORY LOCATI
ON $B0.".K*H.."....LET'S LOOK AT ADDRESS
ING MODES.:":.63000.H*R..".BASIC".20)"AS
SEMBLER"..*W..".....".20)"........."..*|
..".A=5.".20)".LDA #$05.".J*...".QIMMEDI
ATE MODE. THE ACCUMULATOR"..*..."IS LOAD
ED WITH THE # 5."..+..."..A=M(5).".20)".
LDA $05."..+...".QABSOLUTE ADDRESSING. '
A' IS".Q+..."LOADED WITH THE CONTENTS OF
".K+..."MEMORY LOCATION 5."..+B.."..A=M(
5+X).".20)".LDA $0005,X"..+L..".QABSOLUT
E .INDEXED.. THE CONTENTS"..+V.."OF LOC'
N (5+X) ARE LOADED INTO 'A'."..,..."..A=
M(M(5+X)).".20)".LDA ($0005,X)".9,...".Q
INDEXED .INDIRECT.. THE CONTENTS".C,..."
OF LOC'N (5+X) GIVE THE ADDRESS OF"..,..
."THE BYTE TO BE LOADED INTO 'A'.":.6300
0..,...".THEN THERE'S OUR FRIEND:"..,...
"..A=M(M(5)+Y).".20)".LDA ($05),Y."..-..
.".Q.INDIRECT INDEXED.. FIRST, THE CONTE
NTS".6-&..".OF LOC'N 5 ARE EXTRACTED.THE
N 'Y'".`-0..".IS ADDED AND THE RESULT GI
VES THE"..-:..".ADDRESS OF THE BYTE LOAD
ED INTO 'A'.":.63000.F-D..".Q.INDIRECT. 
MEANS WE GO TO A MEMORY LOC'N"..-N..".TO
 GET THE ADDRESS OF THE BYTE TO BE"...X.
.".LOADED INTO THE ACCUMULATOR.".E.B..".
Q.INDEXED. MEANS WE ADD THE CONTENTS".Q.
L..".OF A .6510. REGISTER TO AN ADDRESS.
"...V..".QIF WE .INDEX. THEN .INDIRECT. 
IT'S".N...."..INDEXED INDIRECT...AS IN .
LDA ($0400,X)"......".QIF WE .INDIRECT. 
THEN .INDEX. IT'S".0/..."..INDIRECT INDE
XED...AS IN .LDA ($B0),Y":.63000.S/..MS$
."CLEAR?!*$&":.63100:.63000.Y/...".LET'S
 EXPLAIN ABOUT .MEMORY.."../..."..6510. 
INSTRUCTIONS ARE STORED IN MEMORY".N/...
"AS 1- OR 2- OR 3- HEX BYTES."../F.."..I
NX.=.E8. IS ONE BYTE LONG..0P.."..LDA #$
05.=.AD 05. IS TWO BYTES".J0Z.."..LDA $1
234,X.=.BD 34 12. IS THREE BYTES.".F0...
"               ^^ ^^"..0..."IN GENERAL,
 2-BYTE ADDRESSES ARE"..0..."STORED IN M
EMORY IN REVERSE ORDER:".Y0...".LO-BYTE.
 THEN .HI-BYTE.."..0...".SO IF YOU HAVE:
"..1...".LDA ($B0),Y.=.B1 CA. THE 6510 W
ILL".E1 .."GET FROM $B0 THE .LO-BYTE. OF
 THE".P1*.."ADDRESS,AND FROM $B1 THE .HI
-BYTE.!"..14..".QBE SURE TO PUT BOTH BYT
ES IN $B0/$B1".C1>.."BEFORE .LDA ($B0),Y
.!!":.63000..1H..".LET'S GET BACK TO:"..
2R.."..BEGIN LDA #$0400 ._??*!#$0400 TOO
 BIG!!".=2\..".      STA $B0    ._$B0 NO
W HAS #$0400".M2F..".      LDX #$03   ":
.".LP1   LDY #$00   "..2P..".LP2   LDA (
$B0),Y._ INDIRECT INDEXED?":.".      EOR
 #$80   "..2Z..".      STA ($B0),Y._ IND
IRECT INDEXED!":.".      DEY        ".63
...".      BNE LP2    ":.".      INC $B0
 BY #$100._??*!!HOW??".X3...".      DEX 
       ":.".      BPL LP1    ._BRANCH ON
 PLUS!!"..3...".WE NOW MUST PUT $0400 IN
TO $B0/$B1".Z3..."WITH .LDA #$00. .STA $
B0. .LDA #$04. .STA $B1.."..4...".ALSO .
INC $B0 BY #$100. IS CHANGED TO:".44..."
.INC $B1.... WE NEED ONLY .INC. THE".R4.
.."HI-BYTE BY '1'!":.63000.W4J..".WE'LL 
CHANGE OUR PROGRAM TO:"..4T.."..BEGIN LD
A #$00   .":.".      STA $B0    ".Y4..."
.      LDA #$04   ":.".      STA $B1    
"..5...".      LDX #$03   ":.".LP1   LDY
 #$00   ".:5...".LP2   LDA ($B0),Y.":.".
      EOR #$80   ".K5...".      STA ($B0
),Y.":.".      DEY        "..5...".     
 BNE LP2    ":.".      INC $B1    ".S5..
.".      DEX        ":.".      BPL LP1  
  .":.63000..6..."..................WE N
EEDN'T .LDY #$00. EACH".;6$..".TIME WE .
BPL LP1":.".Y=0 ALREADY SO:":.63010.P6..
.".........     ":.".LOOP":."...........
...LOOP"..63..".............LOOP":.63000
..68..".................":.I.1.6:.CL$:..
.6B.."..................NOTE THAT .LDX #
$03. CAN"..7L..".BE CHANGED TO ANYTHING 
FROM".67V.."..LDX #$01. TO .LDX #$80..":
.63000.]7`..".................":.I.1.6:.
CL$:...7J.."..................FOR .LDX #
$00. WE'LL X-LOOP ONCE ANYWAY!".E7T.."FO
R .LDX #$81.,OR HIGHER,.DEX."..7~.."WILL
 LEAVE 'MSB'=1 IN THE X-REGISTER"..8..."
AND X<0 WILL RESULT AND .BPL. WILL".G8..
.".NOT. TAKE US BACK TO 'LOOP'!":.63000.
N8...".................":.I.1.6:.CL$:.. 
8..."..................NOTE THAT ($B1) W
ILL NOT".N8...".OVERFLOW. AFTER A NUMBER
 OF .INC $B1."..8..."INSTR'NS. AFTER ALL
,MEMORY ONLY GOES"..9D.."TO $FFFF, SO, U
NLESS YOU GOOF".L9N.."($B1)<=FF WILL ALW
AYS BE TRUE!":.63000.W9X..".NOTE THAT IN
CREMENTING THE ADDRESS". 9..."IN $B0/$B1
 BY $0100 ONLY REQUIRES".K9...".INC $B1.
. IF YOU WANT TO INCREMENT"..9..."BY $00
01 YOU CAN DO IT THIS WAY:"..:..."..    
 ------- ".D:...".     INC $B0 ":.".    
 BNE NEXT":.".     INC $B1 ".Z:...".NEXT
 ------- "..:...".THIS ADDS '1' TO ($B0)
.IF IT DOESN'T"..:(..".OVERFLOW. FROM FF
 TO 00 WE CONTINUE".V:2.."WITH THE 'NEXT
' INTRUCTION."..:<..".IF IT DOES OVERFLO
W TO .00.".$;F.."THE .BNE NEXT. WILL NOT
 TAKE US TO".Q;P.."'NEXT', AND WE ADD '1
' TO THE HI-BYTE".O;Z.."WITH .INC $B1.."
:.63000..;D..".IF YOU WANT TO INCREMENT 
BY OTHER THAN".N;N..".$0001 OR $0100 (.I
NC $B0. OR .INC $B1.)"..;X..".THEN YOU N
EED TO .ADD. THE INCREMENT.". <}..".SUPP
OSE WE WANT TO ADD $1F:".?<..."..LDA $B0
 ._GET LO-BYTE".E<...".ADC #$1F._ADD #$1
F TO LO-BYTE"..<...".STA $B0 ._PUT IT BA
CK"..< ..".LDA $B1 ._GET HI-BYTE".Z<..."
.ADC #$00._ADD ZERO(?!)":.".STA $B1 ._PU
T IT BACK"..=...".YOU SEE..ADDING #$1F M
IGHT JUST CAUSE".7=..."THE CONTENTS OF $
B0 TO .OVERFLOW. WHICH".D=H.."CAUSES .CA
RRY.=1. SO WE ADD THE CARRY"..=R.."TO ($
B1) WITH .LDA $B1. & .ADC #$00".M=...".N
OTE..........:.ADC. MEANS .AD.D WITH .C.
ARRY.":.63000..>..."...............":.I.
1.8:.CL$:.:."...............".2>..."OF C
OURSE THE .CARRY. MAY BE .1. WHEN".]>...
".THE ABOVE PIECE OF CODE STARTS, SO". >
...".WE MUST ALWAYS.............. .CLC. 
BEFORE AN .ADC.!":.63010..>...".........
CLC     ":.63000..>...".IF YOU WANT TO .
SUBTRACT. .#$1F. YOU:".)?".."...LDA $B0 
":.".SBC #$1F._SUBTRACT $1F":.".STA $B0 
".D?,..".LDA $B1 ":.".SBC #$00._SUBTRACT
 $00!!":.".STA $B1 "..?6..".NOTE........
..:.SBC. MEANS .S.U.B.TRACT WITH .C.ARRY
.".L?@..".HOWEVER, WITH .SBC. YOU MUST H
AVE"..@J..".CARRY=1 TO START WITH!!":MS$
."*?UGH!*?!!":.63000:.63100.-@T..63010:.
"....SEC     ":.63000.Y@...".":MS$.".AU 
REVOIR!.":.63100:."...":..C@.'.9999..@..
.A(0),32:.TT.1.PP:.:.I.0.6:.A(I.1),32.A@
...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:..AA...P(I),E(J(
N$,I.1,1)).48:.:..AAB..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:..AAM..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:
..7B. .P(I),B(A(I)):.:..WB. .I.0.7:.X(I)
,160:.TT.1.PP:..MB. .X(I),B(A(I)):.:...B
. .I.0.7:.Y(I),160:.TT.1.PP:...B. .Y(I),
B(A(I)):.:..CBH .I.0.7:.M(I),160:.TT.1.P
P:..YBI .M(I),B(A(I)):.:...B|..I.0.7:.A(
I),160:.TT.1.PP:...C}..A(I),B(X(I)):.:..
/C...I.0.7:.M(I),160:.TT.1.PP:..EC...M(I
),B(X(I)):.:..ECB..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$."....
..............................".VDB.A$."
.. .A..".R$:P$.".......................P
..".R$..DC.X$."..... .X..".R$:Y$."......
.....................Y..".R$.BDD.M$."...
...........................M..".R$..DE.C
R$."........................".%EF.CC$.".
. .A...... .. .. .. ..   ....   ....   .
            ".@EG.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$." ":...EK
.BT$.".":.I.1.24:BT$.BT$.".":..1FL.C$.CR
$."..........................._CARRY BIT
".AFS.ML$.".............................
........".KFT.PP.20..F..BT$.".":.I.1.24:
BT$.BT$.".":..WF..PT$.".................
........................................
......"..G..PT$.PT$."..............N....
........M................============.".
[G..PT$.PT$."...............PO..........
PO................"..G..PT$.BT$.".......
.........................".PT$.".".BG..M
L$."....................................
."..G..WD.40:CRT.1024:.G(142)..H..W2.WD.
2:W3.WD.1:W1$.J(D(WD),2):.#H..W2$.J(D(W2
),2):W3$.J(D(W3),2).)HD...6H...BT$CL$;.V
H...BT$".RETURN. TO CONTINUE";.LH...Z$:.
Z$.."".63002..H...Z$:.Z$."".63003..H....
.H"..BT$CL$;.IH#..BT$".........RETURN TO
 SEE IT HAPPEN.........";..H$..Z$:.Z$.."
".63012..H%..Z$:.Z$."".63013..H&....I|..
T.1.5:.PT$MS$;.$I}..PT$"          ";.3I~
..PT$MS$;:..9I...DI...63000.EI...SD$;:.
T.1.10:.CL$:.:.SD$;:..YID..63100:.63010:
...I...60000:.".":.1630...
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL