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