M.C.TUTOR 3
FILE INFORMATION
FILENAME(S): M.C.TUTOR 3
FILE TYPE(S): PRG
FILE SIZE: 26.6K
FIRST SEEN: 2025-11-30 21:08:22
APPEARS ON: 2 disk(s)
FILE HASH
e0857d7bab893d5c2996ac1579f8f03553b07de6cabecc092c12aed0f290a943
FOUND ON DISKS (2 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| TAPE PRG SNELL | M.C.TUTOR 3 | PRG | DuncanTwain | 5 | 3 | DOWNLOAD FILE |
| CCD 3001 | M.C.TUTOR 3 | PRG | DuncanTwain | 5 | 3 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)
00000000: 01 08 25 08 CF 07 9E 32 30 38 38 20 4A 42 4D 20 |..%....2088 JBM |
00000010: 41 4E 44 20 41 42 43 20 47 52 45 45 54 20 52 53 |AND ABC GREET RS|
00000020: 2E 20 20 20 20 20 00 00 00 78 A9 34 85 01 A0 00 |. ...x.4....|
00000030: C6 AF CE 38 08 B1 AE 99 00 00 C8 D0 F8 A5 AF C9 |...8............|
00000040: 08 D0 ED A0 07 B9 57 08 99 AA 00 88 D0 F7 B9 5F |......W........_|
00000050: 08 91 AC C8 D0 F8 A2 FF 9A 4C 00 01 00 0C BD 96 |.........L......|
00000060: E6 01 EA EA EA C6 01 B1 B0 2A 2A 2A 2A 29 07 AA |.........****)..|
00000070: BD 2E 01 85 AC B1 B0 29 1F AA 20 36 01 20 AB 00 |.......).. 6. ..|
00000080: A5 B0 05 B1 D0 DA A9 37 85 01 58 4C 00 0C 64 AC |.......7..XL..d.|
00000090: 5C 9D 72 75 4F 51 E6 B0 D0 02 E6 B1 60 E6 AE D0 |\.ruOQ......`...|
000000A0: 02 E6 AF 60 B1 B0 F0 01 E8 86 02 AA 4C 36 01 98 |...`........L6..|
000000B0: 3C A9 FF 91 AE 20 3D 01 CA D0 F8 60 B1 B0 20 36 |<.... =....`.. 6|
000000C0: 01 4C 53 01 B1 B0 91 AE 20 3D 01 20 36 01 CA D0 |.LS..... =. 6...|
000000D0: F3 60 A9 04 FC A9 08 85 02 B1 B0 91 AE C8 C4 02 |.`..............|
000000E0: D0 F7 18 98 65 AE 85 AE 90 02 E6 AF A0 00 CA D0 |....e...........|
000000F0: E8 18 A5 02 65 B0 85 B0 90 02 E6 B1 60 20 44 01 |....e.......` D.|
00000100: B1 B0 20 53 01 C6 02 D0 F9 4C 36 01 20 44 01 20 |.. S.....L6. D. |
00000110: 64 01 C6 02 D0 F9 60 23 AB D8 78 A2 FF 9A A5 00 |d.....`#..x.....|
00000120: 29 FE 85 00 AD 02 DD 09 03 8D 02 DD AD 00 DD 29 |)..............)|
00000130: FC 09 01 8D 00 DD AD 11 D0 09 20 8D 11 D0 A9 00 |.......... .....|
00000140: 8D 20 D0 AD 18 D0 29 F0 09 0C 29 0F 09 30 8D 18 |. ....)...)..0..|
00000150: D0 20 66 0C A9 00 8D 65 C0 8D 64 C0 A9 0C 20 A6 |. f....e..d... .|
00000160: 31 20 7A 0E 4C 1B 10 A9 14 8D 01 C0 A9 01 8D 00 |1 z.L...........|
00000170: C0 A9 40 8D 0E D4 20 06 35 20 66 0C 4C 87 0C A2 |..@... .5 f.L...|
00000180: 14 A9 14 9D 34 C0 BD 80 0E 9D 00 80 CA 10 F2 A9 |....4...........|
00000190: EC 85 16 A9 1C 85 17 A9 02 8D 0A C0 8D 12 C0 60 |...............`|
000001A0: A9 1F 20 A6 31 A9 00 20 A6 31 20 A6 31 4C 9D 0C |.. .1.. .1 .1L..|
000001B0: A9 00 8D F0 02 60 A9 1F 85 1A A9 1E 85 1B A0 00 |.....`..........|
000001C0: B1 1A C9 FF F0 0A 20 A6 31 C8 D0 F4 E6 1B D0 F0 |...... .1.......|
000001D0: A9 01 8D 03 C0 20 97 0C A9 1F 20 A6 31 AD 01 C0 |..... .... .1...|
000001E0: 20 A6 31 AD 00 C0 20 A6 31 20 25 34 8D 02 C0 AD | .1... .1 %4....|
000001F0: 69 C0 F0 03 4C 28 12 AD 03 C0 F0 24 AD 02 C0 C9 |i...L(.....$....|
00000200: 20 D0 27 A9 1F 20 A6 31 A9 1A 20 A6 31 AD 00 C0 | .'.. .1.. .1...|
00000210: 20 A6 31 A9 1B 8D 01 C0 A9 00 8D 03 C0 4C BF 0C | .1..........L..|
00000220: AD 02 C0 C9 20 D0 03 4C 31 0D AD 01 C0 C9 1A B0 |.... ..L1.......|
00000230: 05 A9 01 8D 03 C0 AD 02 C0 C9 41 B0 03 4C 44 0D |..........A..LD.|
00000240: C9 5B 90 03 4C 44 0D 4C 31 0D AD 01 C0 C9 27 F0 |.[..LD.L1.....'.|
00000250: 09 AD 02 C0 20 10 34 EE 01 C0 4C BF 0C AD 02 C0 |.... .4...L.....|
00000260: C9 30 B0 03 4C 55 0D C9 3A B0 03 4C 31 0D AD 02 |.0..LU..:..L1...|
00000270: C0 C9 14 D0 12 AD 01 C0 C9 14 F0 0B CE 01 C0 A9 |................|
00000280: 14 20 A6 31 4C BF 0C AD 02 C0 C9 0D D0 14 AD 00 |. .1L...........|
00000290: C0 C9 10 F0 0D A9 01 8D 03 C0 A9 14 8D 01 C0 EE |................|
000002A0: 00 C0 A2 04 BD E7 1C CD 02 C0 F0 06 CA 10 F5 4C |...............L|
000002B0: 9C 0D 4C 31 0D AD 02 C0 C9 9D D0 10 AD 01 C0 C9 |..L1............|
000002C0: 14 D0 03 4C BF 0C CE 01 C0 4C BF 0C C9 1D D0 15 |...L.....L......|
000002D0: AD 01 C0 C9 27 D0 03 4C BF 0C EE 01 C0 A9 00 8D |....'..L........|
000002E0: 03 C0 4C BF 0C C9 91 D0 10 AD 00 C0 C9 01 D0 03 |..L.............|
000002F0: 4C BF 0C CE 00 C0 4C BF 0C C9 11 D0 10 AD 00 C0 |L.....L.........|
00000300: C9 10 D0 03 4C BF 0C EE 00 C0 4C BF 0C AD 67 C0 |....L.....L...g.|
00000310: F0 15 20 7A 0E A9 0C 20 10 34 A9 01 8D 00 C0 A9 |.. z... .4......|
00000320: 14 8D 01 C0 4C 4E 0C AD 68 C0 F0 03 4C 19 0E 4C |....LN..h...L..L|
00000330: BF 0C A9 00 AA 9D 00 7B 9D 00 09 9D 00 0A 9D 00 |.......{........|
00000340: 0B 9D 00 08 9D 00 C1 E8 F0 04 10 E9 D0 EA A9 01 |................|
00000350: 8D 09 C0 A9 00 8D 04 C0 8D 05 C0 8D 07 C0 A9 02 |................|
00000360: 8D 06 C0 A9 FF 8D 0F C0 20 7A 0E 20 06 35 4C D2 |........ z. .5L.|
00000370: 13 A5 17 8D 02 C0 A0 00 B1 16 C9 FF F0 0A 20 A6 |.............. .|
00000380: 31 C8 D0 F4 E6 17 D0 F0 AD 02 C0 85 17 20 A7 18 |1............ ..|
00000390: 4C 89 0E A9 01 8D F0 02 60 00 0C 00 0C C3 C2 CD |L.......`.......|
000003A0: 38 30 20 47 1A D8 20 E2 22 D8 78 20 25 34 8D 02 |80 G.. .".x %4..|
000003B0: C0 C9 5F D0 03 4C 4E 0C AD 69 C0 D0 28 AD 02 C0 |.._..LN..i..(...|
000003C0: C9 88 F0 18 C9 0D D0 E1 20 7A 23 D8 20 A7 18 EE |........ z#. ...|
000003D0: 09 C0 AD 09 C0 C9 11 D0 C9 4C 63 35 20 BD 17 20 |.........Lc5 .. |
000003E0: A7 18 4C 90 0E AD 0A C0 C9 01 D0 0E A9 02 8D 0A |..L.............|
000003F0: C0 20 2D 1A 20 47 1A 4C 58 0E A2 00 A9 1F 20 A6 |. -. G.LX..... .|
00000400: 31 A9 00 20 A6 31 20 A6 31 A0 11 A9 20 20 A6 31 |1.. .1 .1... .1|
00000410: 88 D0 F8 A9 0D 20 10 34 E8 E0 14 D0 EC A9 1C 85 |..... .4........|
00000420: 70 A9 1F 85 71 A9 1F 20 A6 31 A9 00 20 A6 31 A9 |p...q.. .1.. .1.|
00000430: 15 20 A6 31 A0 00 B1 70 C9 FF F0 0A 20 A6 31 C8 |. .1...p.... .1.|
00000440: D0 F4 E6 71 D0 F0 A9 01 8D 0A C0 20 A7 18 20 26 |...q....... .. &|
00000450: 13 20 47 1A 4C 8C 0E A9 00 8D 2A C0 8D 32 C0 A2 |. G.L.....*..2..|
00000460: 03 20 4E 0F 4C 7A 0F AD 2E C0 C9 30 90 0D C9 47 |. N.Lz.....0...G|
00000470: B0 09 C9 3A 90 04 C9 41 90 01 60 A0 02 B9 2B C0 |...:...A..`...+.|
00000480: C8 99 2B C0 88 88 C0 FF D0 F3 A9 30 8D 2B C0 CA |..+........0.+..|
00000490: D0 D5 60 A9 3A CD 2E C0 90 10 AD 2E C0 38 E9 30 |..`.:........8.0|
000004A0: 18 6D 2A C0 8D 2A C0 4C 9E 0F AD 2E C0 38 E9 37 |.m*..*.L.....8.7|
000004B0: 18 6D 2A C0 8D 2A C0 A9 3A CD 2D C0 90 14 AD 2D |.m*..*..:.-....-|
000004C0: C0 38 E9 30 44 0A 10 18 6D 2A C0 8D 2A C0 4C CA |.8.0D...m*..*.L.|
000004D0: 0F AD 2D C0 38 E9 37 44 0A 20 38 18 6D 2A C0 8D |..-.8.7D. 8.m*..|
000004E0: 2A C0 A9 3A CD 2C C0 90 10 AD 2C C0 38 E9 30 18 |*..:.,....,.8.0.|
000004F0: 6D 32 C0 8D 32 C0 4C EE 0F AD 2C C0 38 E9 37 18 |m2..2.L...,.8.7.|
00000500: 6D 32 C0 8D 32 C0 A9 3A CD 2B C0 90 14 AD 2B C0 |m2..2..:.+....+.|
00000510: 38 E9 30 44 0A 10 18 6D 32 C0 8D 32 C0 4C 1A 10 |8.0D...m2..2.L..|
00000520: AD 2B C0 38 E9 37 44 0A 20 92 18 6D 32 C0 8D 32 |.+.8.7D. ..m2..2|
00000530: C0 60 A9 07 8D 62 C0 20 7A 0E A9 77 85 1C A9 3C |.`...b. z..w...<|
00000540: 85 1D A9 74 85 12 A9 10 85 13 20 57 10 A0 00 B1 |...t...... W....|
00000550: 1C 8D 60 C0 C8 B1 1C 18 69 01 85 12 C8 B1 1C 69 |..`.....i......i|
00000560: 00 85 13 20 57 10 CE 60 C0 D0 E9 4C 5F 11 8C 02 |... W..`...L_...|
00000570: C0 A0 00 B1 12 C9 FF F0 0E C9 FE F0 0D 20 A6 31 |............. .1|
00000580: C8 D0 F0 E6 13 D0 EC AC 02 C0 60 0C 1F 01 01 8D |..........`.....|
00000590: 84 9D 87 54 48 45 20 43 4F 4D 50 4C 45 54 45 20 |...THE COMPLETE |
000005A0: 4D 41 43 48 49 4E 45 20 43 4F 44 45 20 54 55 54 |MACHINE CODE TUT|
000005B0: 4F 52 20 20 9C 1F 01 02 8D 84 9D 87 5F 2A 09 20 |OR ........_*. |
000005C0: 20 9C 1F 00 16 81 9D 87 4C 20 27 8F 42 59 20 50 | .......L '.BY P|
000005D0: 41 55 4C 20 42 55 4E 4E 0D 0A 81 9D 87 20 20 28 |AUL BUNN..... (|
000005E0: 43 29 20 31 39 38 34 20 4E 45 57 20 47 45 4E 45 |C) 1984 NEW GENE|
000005F0: 52 41 54 49 4F 4E 20 53 4F 46 54 57 41 52 45 1F |RATION SOFTWARE.|
00000600: 00 04 43 68 6F 6F 73 65 20 73 65 6C 65 63 74 69 |..Choose selecti|
00000610: 6F 6E 20 62 79 20 70 72 65 73 73 69 6E 67 20 52 |on by pressing R|
00000620: 45 54 55 52 4E 2E 0D 0A 57 68 65 6E 20 63 68 6F |ETURN...When cho|
00000630: 69 63 65 20 69 73 20 6D 61 64 65 20 70 72 65 73 |ice is made pres|
00000640: 73 20 74 68 65 20 53 50 41 43 45 20 42 41 52 2E |s the SPACE BAR.|
00000650: 0A FF A0 00 B1 1C 8D 60 C0 A9 07 8D 02 C0 A9 1F |.......`........|
00000660: 20 A6 31 A9 00 20 A6 31 AD 02 C0 20 A6 31 A9 9C | .1.. .1... .1..|
00000670: 20 A6 31 EE 02 C0 AD 02 C0 C9 16 D0 E1 A9 1F 20 | .1............ |
00000680: A6 31 A9 00 20 A6 31 AD 62 C0 20 A6 31 A9 82 20 |.1.. .1.b. .1.. |
00000690: A6 31 A9 9D 20 A6 31 A9 87 20 A6 31 20 25 34 C9 |.1.. .1.. .1 %4.|
000006A0: 0D D0 16 EE 62 C0 18 AD 60 C0 69 07 CD 62 C0 D0 |....b...`.i..b..|
000006B0: A8 A9 07 8D 62 C0 4C 66 11 C9 20 F0 03 4C A9 11 |....b.Lf.. ..L..|
000006C0: AD 62 C0 38 E9 07 0A 18 69 01 A8 B1 1C 85 1A C8 |.b.8....i.......|
000006D0: B1 1C 85 1B A0 00 B1 1A 8D 61 C0 B1 1A C9 FF F0 |.........a......|
000006E0: 03 C8 D0 F7 C8 B1 1A 85 12 C8 B1 1A 85 13 A9 0C |................|
000006F0: 20 A6 31 AD 61 C0 C9 02 F0 37 20 57 10 8D 14 C0 | .1.a....7 W....|
00000700: 8C 0B C0 20 73 12 AD 14 C0 C9 FF F0 0E A9 0C 20 |... s.......... |
00000710: A6 31 AC 0B C0 20 69 10 4C 0A 12 EE 62 C0 AD 60 |.1... i.L...b..`|
00000720: C0 18 69 07 CD 62 C0 D0 05 A9 07 8D 62 C0 4C 20 |..i..b......b.L |
00000730: 10 A9 01 8D 02 C0 A0 00 A9 1F 20 A6 31 A9 14 20 |.......... .1.. |
00000740: A6 31 AD 02 C0 20 A6 31 B1 12 C9 0D F0 0E C9 FF |.1... .1........|
00000750: F0 11 20 A6 31 C8 D0 F0 E6 13 D0 EC EE 02 C0 C8 |.. .1...........|
00000760: 4C 45 12 4C 19 0E A5 12 85 1A A5 13 85 1B A9 96 |LE.L............|
00000770: 85 12 A9 12 85 13 20 57 10 20 25 34 C9 20 D0 F9 |...... W. %4. ..|
00000780: A5 1A 85 12 A5 1B 85 13 60 1F 05 17 83 50 52 45 |........`....PRE|
00000790: 53 53 20 53 50 41 43 45 20 42 41 52 20 54 4F 20 |SS SPACE BAR TO |
000007A0: 43 4F 4E 54 49 4E 55 45 FF A9 00 8D 2A C0 8D 32 |CONTINUE....*..2|
000007B0: C0 20 4E 0F AD 2B C0 C9 30 F0 17 18 A9 E8 6D 2A |. N..+..0.....m*|
000007C0: C0 8D 2A C0 AD 32 C0 69 03 8D 32 C0 CE 2B C0 4C |..*..2.i..2..+.L|
000007D0: C1 12 AD 2C C0 C9 30 F0 0B A9 64 20 16 13 CE 2C |...,..0...d ...,|
000007E0: C0 4C DF 12 AD 2D C0 C9 30 F0 0B A9 0A 20 16 13 |.L...-..0.... ..|
000007F0: CE 2D C0 4C F1 12 AD 2E C0 C9 30 F0 0B A9 01 20 |.-.L......0.... |
00000800: 16 13 CE 2E C0 4C 03 13 60 18 6D 2A C0 8D 2A C0 |.....L..`.m*..*.|
00000810: AD 32 C0 69 00 8D 32 C0 60 A9 00 85 76 A9 7B 85 |.2.i..2.`...v.{.|
00000820: 77 A2 01 A9 00 85 78 A4 78 B9 00 C1 D0 09 C8 B9 |w.....x.x.......|
00000830: 00 C1 C9 FF F0 01 60 A9 1F 20 A6 31 A9 05 20 A6 |......`.. .1.. .|
00000840: 31 8A 20 A6 31 A5 77 20 BB 19 AD 10 C0 20 A6 31 |1. .1.w ..... .1|
00000850: AD 11 C0 20 A6 31 A5 76 20 BB 19 AD 10 C0 20 A6 |... .1.v ..... .|
00000860: 31 AD 11 C0 20 A6 31 A9 20 20 A6 31 20 A6 31 A9 |1... .1. .1 .1.|
00000870: 00 85 79 A4 78 B9 00 C1 C9 FF F0 1A 4C 8D 13 0D |..y.x.......L...|
00000880: 20 BB 19 AD 10 C0 20 A6 31 AD 11 C0 20 A6 31 E6 | ..... .1... .1.|
00000890: 78 E6 79 4C 80 13 C8 B9 00 C1 C9 FF F0 08 A4 78 |x.yL...........x|
000008A0: B9 00 C1 4C 8D 13 C8 B9 00 C1 C9 FF D0 08 A4 78 |...L...........x|
000008B0: B9 00 C1 4C 8D 13 18 A5 76 65 79 85 76 E8 E6 78 |...L....vey.v..x|
000008C0: E6 78 4C 34 13 A9 01 8D 50 C0 A9 00 8D 13 C0 8D |.xL4....P.......|
000008D0: 33 C0 A9 34 85 0E A9 C0 85 0F A9 01 8D 28 C0 8D |3..4.........(..|
000008E0: 5A C0 20 FA 34 A9 5F 85 76 A9 20 85 77 A9 0C 8D |Z. .4._.v. .w...|
000008F0: 02 C0 A9 1F 20 A6 31 AD 02 C0 18 69 1B 20 A6 31 |.... .1....i. .1|
00000900: AD 28 C0 20 A6 31 A9 87 20 9E 34 8A AE 02 C0 9D |.(. .1.. .4.....|
00000910: 15 C0 CE 02 C0 E0 00 D0 D9 BD 15 C0 C9 20 D0 18 |............. ..|
00000920: E8 E0 0C D0 F4 EE 50 C0 AD 50 C0 C9 03 F0 03 4C |......P..P.....L|
00000930: D7 13 20 24 39 4C 58 0E 20 18 3A A2 04 BD 15 C0 |.. $9LX. .:.....|
00000940: C9 20 F0 03 4C CE 14 E8 E0 0C D0 F1 A0 00 B1 76 |. ..L..........v|
00000950: C9 FF F0 3C D9 15 C0 D0 23 C8 C0 03 D0 F0 B1 76 |...<....#......v|
00000960: AE 13 C0 9D 00 7B AE 33 C0 9D 00 C1 A9 FF 9D 01 |.....{.3........|
00000970: C1 9D 02 C1 A9 01 8D 29 C0 4C 80 17 20 8F 14 4C |.......).L.. ..L|
00000980: 59 14 A5 76 18 69 04 85 76 A5 77 69 00 85 77 60 |Y..v.i..v.wi..w`|
00000990: A9 1F 20 A6 31 A9 00 20 A6 31 A9 12 20 A6 31 A2 |.. .1.. .1.. .1.|
000009A0: 00 BD BA 1F 20 10 34 C9 0D F0 03 E8 D0 F3 A2 00 |.... .4.........|
000009B0: BD 15 C0 20 A6 31 E8 E0 0C D0 F5 20 25 34 4C 4E |... .1..... %4LN|
000009C0: 0C A9 C0 85 76 A9 20 85 77 A2 04 BD 15 C0 C9 41 |....v. .w......A|
000009D0: F0 03 4C 24 15 E8 BD 15 C0 C9 20 D0 F5 E0 0C D0 |..L$...... .....|
000009E0: F4 A0 00 B1 76 C9 FF F0 E9 D9 15 C0 D0 23 C8 C0 |....v........#..|
000009F0: 03 D0 F0 B1 76 AE 13 C0 9D 00 7B AE 33 C0 9D 00 |....v.....{.3...|
00000A00: C1 A9 FF 9D 01 C1 9D 02 C1 A9 01 8D 29 C0 4C 80 |............).L.|
00000A10: 17 20 8F 14 4C EE 14 A9 D1 85 76 A9 20 85 77 A2 |. ..L.....v. .w.|
00000A20: 04 BD 15 C0 C9 23 F0 06 4C C2 15 4C 9D 14 A0 00 |.....#..L..L....|
00000A30: B1 76 C9 FF F0 F5 D9 15 C0 D0 3F C8 C0 03 D0 F0 |.v........?.....|
00000A40: B1 76 AE 13 C0 9D 00 7B AE 33 C0 9D 00 C1 A9 02 |.v.....{.3......|
00000A50: 8D 29 C0 A2 05 BD 15 C0 C9 24 F0 24 A0 05 A2 00 |.).......$.$....|
00000A60: B9 15 C0 9D 2B C0 E8 C8 C0 09 D0 F4 20 B6 12 AD |....+....... ...|
00000A70: 32 C0 F0 03 4C 9C 17 4C A8 15 20 8F 14 4C 3B 15 |2...L..L.. ..L;.|
00000A80: A0 06 A2 00 B9 15 C0 9D 2B C0 E8 C8 E0 04 D0 F4 |........+.......|
00000A90: 20 3E 0F AD 32 C0 F0 03 4C 9C 17 AD 2A C0 AE 13 | >..2...L...*...|
00000AA0: C0 9D 01 7B AE 33 C0 9D 01 C1 A9 FF 9D 02 C1 9D |...{.3..........|
00000AB0: 03 C1 4C 80 17 A2 03 A9 20 9D 2B C0 CA D0 FA A0 |..L..... .+.....|
00000AC0: 04 B9 15 C0 C9 2C F0 13 C9 47 B0 09 C9 28 F0 08 |.....,...G...(..|
00000AD0: C8 C0 0C D0 EC 4C AC 16 4C D0 1A C8 B9 15 C0 C9 |.....L..L.......|
00000AE0: 58 F0 50 C9 59 F0 03 4C 9D 14 A0 04 B9 15 C0 C9 |X.P.Y..L........|
00000AF0: 24 D0 2C A2 00 C8 B9 15 C0 9D 2B C0 E8 C0 07 D0 |$.,.......+.....|
00000B00: F4 20 3E 0F AD 32 C0 D0 03 4C 86 16 A9 E5 85 76 |. >..2...L.....v|
00000B10: A9 21 85 77 A9 03 8D 29 C0 20 08 17 4C 7D 17 A2 |.!.w...). ..L}..|
00000B20: 00 B9 15 C0 9D 2B C0 C8 E8 C0 08 D0 F4 20 B6 12 |.....+....... ..|
00000B30: 4C 11 16 A0 04 B9 15 C0 C9 24 D0 29 A2 00 C8 B9 |L........$.)....|
00000B40: 15 C0 9D 2B C0 E8 C0 07 D0 F4 20 3E 0F AD 32 C0 |...+...... >..2.|
00000B50: F0 3A A9 A8 85 76 A9 21 85 77 A9 03 8D 29 C0 20 |.:...v.!.w...). |
00000B60: 08 17 4C 7D 17 A2 00 B9 15 C0 9D 2B C0 E8 C8 C0 |..L}.......+....|
00000B70: 08 D0 F4 20 B6 12 4C 5A 16 A9 4B 85 76 A9 22 85 |... ..LZ..K.v.".|
00000B80: 77 A9 02 8D 29 C0 20 08 17 4C 19 16 A9 0A 85 76 |w...). ..L.....v|
00000B90: A9 22 85 77 A9 02 8D 29 C0 20 08 17 4C 5F 16 A0 |.".w...). ..L_..|
00000BA0: 04 B9 15 C0 A2 00 C9 24 F0 27 B9 15 C0 9D 2B C0 |.......$.'....+.|
00000BB0: E8 C8 C0 08 D0 F4 20 B6 12 AD 32 C0 F0 2A A9 53 |...... ...2..*.S|
00000BC0: 85 76 A9 21 85 77 A9 03 8D 29 C0 20 08 17 4C 7D |.v.!.w...). ..L}|
00000BD0: 17 C8 B9 15 C0 9D 2B C0 E8 C0 07 D0 F4 20 3E 0F |......+...... >.|
00000BE0: AD 32 C0 F0 03 4C CB 16 A9 FE 85 76 A9 20 85 77 |.2...L.....v. .w|
00000BF0: A9 02 8D 29 C0 20 08 17 4C CB 16 A0 00 B1 76 C9 |...). ..L.....v.|
00000C00: FF F0 50 D9 15 C0 D0 45 C8 C0 03 D0 F0 B1 76 AE |..P....E......v.|
00000C10: 13 C0 9D 00 7B AE 33 C0 9D 00 C1 AD 29 C0 C9 02 |....{.3.....)...|
00000C20: F0 32 AE 13 C0 AD 2A C0 9D 01 7B AE 33 C0 9D 01 |.2....*...{.3...|
00000C30: C1 AE 13 C0 AD 32 C0 9D 02 7B AE 33 C0 9D 02 C1 |.....2...{.3....|
00000C40: A9 FF 9D 03 C1 9D 04 C1 68 68 4C 80 17 20 8F 14 |........hhL.. ..|
00000C50: 4C 08 17 60 AE 13 C0 AD 2A C0 9D 01 7B AE 33 C0 |L..`....*...{.3.|
00000C60: 9D 01 C1 A9 FF 9D 02 C1 9D 03 C1 68 68 4C 80 17 |...........hhL..|
00000C70: 4C 73 1B AD 13 C0 18 6D 29 C0 8D 13 C0 EE 28 C0 |Ls.....m).....(.|
00000C80: 18 AD 33 C0 6D 29 C0 69 02 8D 33 C0 4C EF 13 A9 |..3.m).i..3.L...|
00000C90: 1F 20 A6 31 A9 00 20 A6 31 A9 12 20 A6 31 A2 00 |. .1.. .1.. .1..|
00000CA0: BD DF 1F 20 10 34 C9 0D F0 03 E8 D0 F3 4C BB 14 |... .4.......L..|
00000CB0: AD 12 C0 C9 01 F0 06 A9 01 8D 12 C0 60 A9 02 8D |............`...|
00000CC0: 12 C0 60 A9 20 20 A6 31 CA D0 FA 60 A9 1F 20 A6 |..`. .1...`.. .|
00000CD0: 31 A9 04 20 A6 31 A9 16 20 A6 31 AD 07 C0 20 EA |1.. .1.. .1... .|
00000CE0: 19 A9 02 8D 6B C0 20 BE 1A A9 1F 20 A6 31 A9 13 |....k. .... .1..|
00000CF0: 20 A6 31 A9 16 20 A6 31 AD 04 C0 20 EA 19 A9 06 | .1.. .1... ....|
00000D00: 8D 6B C0 20 BE 1A A9 1F 20 A6 31 A9 21 20 A6 31 |.k. .... .1.! .1|
00000D10: A9 16 20 A6 31 AD 05 C0 20 EA 19 A9 05 8D 6B C0 |.. .1... .....k.|
00000D20: 20 BE 1A A9 1F 20 A6 31 A9 09 20 A6 31 A9 18 20 | .... .1.. .1.. |
00000D30: A6 31 A9 04 8D 6B C0 AD 06 C0 2A A9 00 69 30 20 |.1...k....*..i0 |
00000D40: A6 31 A2 03 20 D0 17 AD 06 C0 6A 6A A9 00 69 30 |.1.. .....jj..i0|
00000D50: 20 A6 31 A2 04 20 D0 17 AD 06 C0 44 6A 20 30 A9 | .1.. .....Dj 0.|
00000D60: 30 69 00 20 A6 31 A2 03 20 D0 17 AD 06 C0 2A 2A |0i. .1.. .....**|
00000D70: A9 00 69 30 20 A6 31 A2 04 20 D0 17 AD 06 C0 6A |..i0 .1.. .....j|
00000D80: A9 00 69 30 20 A6 31 A2 08 20 D0 17 AD 06 C0 43 |..i0 .1.. .....C|
00000D90: 6A 20 A9 A9 00 69 30 20 A6 31 60 AD 0A C0 C9 02 |j ...i0 .1`.....|
00000DA0: F0 03 4C D9 17 A9 1F 20 A6 31 A9 0E 20 A6 31 A9 |..L.... .1.. .1.|
00000DB0: 01 20 A6 31 AD 07 C0 20 EA 19 20 BE 1A A9 1F 20 |. .1... .. .... |
00000DC0: A6 31 A9 0E 20 A6 31 A9 03 20 A6 31 AD 04 C0 20 |.1.. .1.. .1... |
00000DD0: EA 19 20 BE 1A A9 1F 20 A6 31 A9 0E 20 A6 31 A9 |.. .... .1.. .1.|
00000DE0: 05 20 A6 31 AD 05 C0 20 EA 19 20 BE 1A A9 1F 20 |. .1... .. .... |
00000DF0: A6 31 A9 0E 20 A6 31 A9 07 20 A6 31 AD 06 C0 29 |.1.. .1.. .1...)|
00000E00: 01 18 69 30 20 A6 31 A9 1F 20 A6 31 A9 0E 20 A6 |..i0 .1.. .1.. .|
00000E10: 31 A9 08 20 A6 31 A9 08 2C 06 C0 F0 08 A9 31 20 |1.. .1..,.....1 |
00000E20: A6 31 4C 36 19 A9 30 20 A6 31 A9 1F 20 A6 31 A9 |.1L6..0 .1.. .1.|
00000E30: 0E 20 A6 31 A9 09 20 A6 31 AD 06 C0 43 6A 20 73 |. .1.. .1...Cj s|
00000E40: A9 00 69 30 20 A6 31 A9 1F 20 A6 31 A9 0E 20 A6 |..i0 .1.. .1.. .|
00000E50: 31 A9 0A 20 A6 31 AD 06 C0 6A 6A A9 00 69 30 20 |1.. .1...jj..i0 |
00000E60: A6 31 A9 1F 20 A6 31 A9 0E 20 A6 31 A9 0B 20 A6 |.1.. .1.. .1.. .|
00000E70: 31 AD 06 C0 2A A9 00 69 30 20 A6 31 A9 1F 20 A6 |1...*..i0 .1.. .|
00000E80: 31 A9 0E 20 A6 31 A9 0C 20 A6 31 AD 06 C0 2A 2A |1.. .1.. .1...**|
00000E90: A9 00 69 30 20 A6 31 60 AD 0B C0 20 BB 19 A9 24 |..i0 .1`... ...$|
00000EA0: 8D 0C C0 AD 10 C0 8D 0D C0 AD 11 C0 8D 0E C0 60 |...............`|
00000EB0: 8D 0B C0 44 4A 23 1E C9 0A 90 09 18 69 37 8D 10 |...DJ#......i7..|
00000EC0: C0 4C D4 19 69 30 8D 10 C0 AD 0B C0 29 0F C9 0A |.L..i0......)...|
00000ED0: 90 07 18 69 37 8D 11 C0 60 69 30 8D 11 C0 60 8D |...i7...`i0...`.|
00000EE0: 0B C0 AD 12 C0 C9 02 F0 03 4C A3 19 A9 30 8D 0C |.........L...0..|
00000EF0: C0 8D 0D C0 8D 0E C0 AD 0B C0 38 E9 64 EE 0C C0 |..........8.d...|
00000F00: B0 F8 CE 0C C0 18 69 64 38 E9 0A EE 0D C0 B0 F8 |......id8.......|
00000F10: CE 0D C0 18 69 0A 38 E9 01 EE 0E C0 B0 F8 CE 0E |....i.8.........|
00000F20: C0 60 A9 1F 20 A6 31 A9 00 20 A6 31 A9 15 20 A6 |.`.. .1.. .1.. .|
00000F30: 31 A2 A0 A9 20 20 A6 31 CA D0 FA 60 AD 0A C0 C9 |1... .1...`....|
00000F40: 01 F0 1D A2 01 A9 1F 20 A6 31 A9 11 20 A6 31 8A |....... .1.. .1.|
00000F50: 20 A6 31 A9 9C 20 A6 31 E8 E0 12 D0 E8 4C 88 1A | .1.. .1.....L..|
00000F60: A2 01 A9 1F 20 A6 31 A9 00 20 A6 31 8A 20 A6 31 |.... .1.. .1. .1|
00000F70: A9 9C 20 A6 31 E8 E0 12 D0 E8 4C A3 1A A9 1F 20 |.. .1.....L.... |
00000F80: A6 31 A9 11 20 A6 31 AD 09 C0 20 A6 31 A9 89 20 |.1.. .1... .1.. |
00000F90: A6 31 A9 9D 20 A6 31 60 A9 1F 20 A6 31 A9 00 20 |.1.. .1`.. .1.. |
00000FA0: A6 31 AD 09 C0 20 A6 31 A9 89 20 A6 31 A9 9D 20 |.1... .1.. .1.. |
00000FB0: A6 31 60 AD 0C C0 20 A6 31 AD 0D C0 20 A6 31 AD |.1`... .1... .1.|
00000FC0: 0E C0 4C A6 31 A2 04 BD 15 C0 C9 28 F0 03 4C 9D |..L.1......(..L.|
00000FD0: 14 E8 BD 15 C0 C9 24 F0 03 4C FB 1A A0 00 E8 BD |......$..L......|
00000FE0: 15 C0 99 2B C0 C8 C0 04 D0 F4 20 3E 0F 4C 0C 1B |...+...... >.L..|
00000FF0: A0 00 BD 15 C0 99 2B C0 C8 E8 C0 04 D0 F4 20 B6 |......+....... .|
00001000: 12 A2 06 BD 15 C0 C9 20 F0 0D C9 29 F0 3B C9 2C |....... ...).;.,|
00001010: F0 08 E8 E0 09 D0 EC 4C 9D 14 BD 16 C0 C9 58 F0 |.......L......X.|
00001020: 03 4C 9D 14 BD 17 C0 C9 29 F0 03 4C 9D 14 A9 54 |.L......)..L...T|
00001030: 85 76 A9 22 85 77 A9 02 8D 29 C0 AD 32 C0 D0 06 |.v.".w...)..2...|
00001040: 20 08 17 4C 9D 14 4C 9C 17 BD 16 C0 C9 2C F0 03 | ..L..L......,..|
00001050: 4C 9D 14 BD 17 C0 C9 59 F0 03 4C 9D 14 A9 75 85 |L......Y..L...u.|
00001060: 76 A9 22 85 77 4C 41 1B A9 9F 85 76 A9 22 85 77 |v.".wLA....v.".w|
00001070: A0 00 B1 76 C9 FF F0 30 D9 15 C0 D0 25 C8 C0 03 |...v...0....%...|
00001080: D0 F0 AE 13 C0 B1 76 9D 00 7B AE 33 C0 9D 00 C1 |......v..{.3....|
00001090: A9 02 8D 29 C0 AD 50 C0 C9 02 D0 0F 20 0F 1C 4C |...)..P..... ..L|
000010A0: 80 17 20 8F 14 4C 7B 1B 4C C1 1B A9 FF 9D 02 C1 |.. ..L{.L.......|
000010B0: 9D 03 C1 4C 80 17 A9 96 85 76 A9 22 85 77 A0 00 |...L.....v.".w..|
000010C0: B1 76 C9 FF F0 0D D9 15 C0 D0 0B C8 C0 03 D0 F0 |.v..............|
000010D0: 4C E7 1B 4C 9D 14 20 8F 14 4C C9 1B B1 76 AE 13 |L..L.. ..L...v..|
000010E0: C0 9D 00 7B AE 33 C0 9D 00 C1 A9 FF 9D 03 C1 9D |...{.3..........|
000010F0: 04 C1 A9 03 8D 29 C0 AD 50 C0 C9 02 D0 03 20 0F |.....)..P..... .|
00001100: 1C 4C 80 17 AD 29 C0 C9 02 F0 1E AE 13 C0 A9 7B |.L...).........{|
00001110: 9D 02 7B AE 33 C0 9D 02 C1 20 4B 1C AE 33 C0 9D |..{.3.... K..3..|
00001120: 01 C1 AE 13 C0 9D 01 7B 60 20 4B 1C 38 E9 02 38 |.......{` K.8..8|
00001130: ED 13 C0 AE 13 C0 9D 01 7B AE 33 C0 9D 01 C1 60 |........{.3....`|
00001140: A9 01 8D 02 C0 A2 14 A9 1F 20 A6 31 8A 20 A6 31 |......... .1. .1|
00001150: AD 02 C0 20 A6 31 A9 87 8E 0B C0 20 9E 34 8E 14 |... .1..... .4..|
00001160: C0 AD 0B C0 38 E9 14 AA AD 14 C0 9D 51 C0 AE 0B |....8.......Q...|
00001170: C0 EE 0B C0 E8 E0 1A D0 CE A9 1F 20 A6 31 A9 1B |........... .1..|
00001180: 20 A6 31 AD 02 C0 20 A6 31 A9 87 20 9E 34 E0 20 | .1... .1.. .4. |
00001190: F0 25 A2 00 A0 04 BD 51 C0 D9 15 C0 D0 0C E8 C8 |.%.....Q........|
000011A0: E0 06 D0 F2 AC 02 C0 B1 0E 60 AD 02 C0 C9 10 F0 |.........`......|
000011B0: 06 EE 02 C0 4C 50 1C A2 00 A9 1F 20 A6 31 A9 00 |....LP..... .1..|
000011C0: 20 A6 31 A9 12 20 A6 31 BD FF 1F C9 0D F0 0A 20 | .1.. .1....... |
000011D0: 10 34 E8 D0 F3 44 68 19 4C BB 14 23 24 2C 28 29 |.4...Dh.L..#$,()|
000011E0: 1F 00 01 41 43 43 55 4D 55 4C 41 54 4F 52 20 20 |...ACCUMULATOR |
000011F0: 3A 43 30 02 0D 0A 51 20 10 0D 0A 58 20 2D 20 52 |:C0...Q ...X - R|
00001200: 45 47 49 53 54 45 52 20 3A 43 30 02 0D 0A 51 20 |EGISTER :C0...Q |
00001210: 10 0D 0A 59 20 2D 20 52 45 47 49 53 54 45 52 20 |...Y - REGISTER |
00001220: 3A 43 30 02 0D 0A 51 20 0C 0D 0A 43 41 52 52 59 |:C0...Q ...CARRY|
00001230: 20 46 4C 41 47 43 20 20 23 3A 30 20 20 0D 0A 44 | FLAGC #:0 ..D|
00001240: 45 43 49 4D 41 4C 20 4D 4F 44 45 20 3A 30 20 20 |ECIMAL MODE :0 |
00001250: 0D 0A 49 4E 54 45 52 52 55 50 54 53 43 20 0F 3A |..INTERRUPTSC .:|
00001260: 30 20 20 0D 0A 5A 45 52 4F 20 46 4C 41 47 44 20 |0 ..ZERO FLAGD |
00001270: 20 2C 3A 30 20 20 0D 0A 4E 45 47 41 54 49 56 45 | ,:0 ..NEGATIVE|
00001280: 20 46 4C 41 47 3A 30 20 20 0D 0A 4F 56 45 52 46 | FLAG:0 ..OVERF|
00001290: 4C 4F 57 20 46 4C 41 47 3A 30 20 20 0D 0A 51 20 |LOW FLAG:0 ..Q |
000012A0: 20 34 0D 0A 81 66 33 2F 66 37 20 46 4F 52 20 4D | 4...f3/f7 FOR M|
000012B0: 4F 44 45 53 0D 0A 84 27 52 45 54 55 52 4E 27 20 |ODES...'RETURN' |
000012C0: 54 4F 20 52 55 4E 20 20 0D 0A 82 27 5F 27 20 54 |TO RUN ...'_' T|
000012D0: 4F 20 45 44 49 54 44 20 20 37 0D 0A FF 1F 11 00 |O EDITD 7......|
000012E0: 82 9D 87 4C 41 42 45 4C 53 20 49 4E 53 54 52 55 |...LABELS INSTRU|
000012F0: 43 54 49 4F 4E 53 0D 0A 9C 0D 0A 50 52 45 53 53 |CTIONS.....PRESS|
00001300: 20 4B 45 59 53 3A 9C 0D 0A 9C 0A 81 9D 87 20 66 | KEYS:........ f|
00001310: 31 43 20 1F 9C 0D 0A 61 73 73 65 6D 62 6C 65 73 |1C ....assembles|
00001320: 20 70 72 6F 67 72 61 6D 9C 0D 0A 9C 0A 81 9D 87 | program........|
00001330: 20 66 33 43 20 1B 9C 0D 0A 66 6F 72 20 6D 61 69 | f3C ....for mai|
00001340: 6E 20 6D 65 6E 75 9C 0D 0A 9C 0A 81 9D 87 20 66 |n menu........ f|
00001350: 35 43 20 15 9C 0D 0A 74 6F 20 65 72 61 73 65 20 |5C ....to erase |
00001360: 70 72 6F 67 72 61 6D 9C 0D 82 0A 9C 0A 9C 1C 0A |program.........|
00001370: 9C 1F 00 12 20 84 9D 87 45 44 49 54 20 4D 4F 44 |.... ...EDIT MOD|
00001380: 45 20 20 9C 8C 0D 0A 20 84 9D 87 49 2A 20 4F 20 |E .... ...I* O |
00001390: 20 9C 8C 0D 0A 0A 54 79 70 65 20 69 6E 20 70 72 | .....Type in pr|
000013A0: 6F 67 72 61 6D 2C 20 75 73 69 6E 67 20 74 68 65 |ogram, using the|
000013B0: 20 63 75 72 73 6F 72 20 6B 65 79 73 0D 0A 74 6F | cursor keys..to|
000013C0: 20 65 64 69 74 20 70 72 6F 67 72 61 6D 2E 9C 0D | edit program...|
000013D0: 0A 9C FF 41 43 43 55 4D 55 4C 41 54 4F 52 44 20 |...ACCUMULATORD |
000013E0: 0A 58 2D 52 45 47 49 53 54 45 52 44 20 0F 59 2D |.X-REGISTERD .Y-|
000013F0: 52 45 47 49 53 54 45 52 20 20 81 9D 87 43 30 04 |REGISTER ...C0.|
00001400: 20 20 87 9C 45 20 03 84 9D 87 43 30 04 20 20 87 | ..E ....C0. .|
00001410: 9C 44 20 03 82 9D 87 43 30 04 20 20 87 9C 48 20 |.D ....C0. ..H |
00001420: 20 29 4E 45 47 20 5A 45 52 4F 20 44 45 43 20 4F | )NEG ZERO DEC O|
00001430: 2F 46 20 43 41 52 52 59 20 49 2F 44 49 53 41 42 |/F CARRY I/DISAB|
00001440: 4C 45 46 4C 41 47 53 3A 85 9D 87 82 30 20 20 20 |LEFLAGS:....0 |
00001450: 82 20 30 20 20 03 20 20 30 48 20 28 EC 30 FF 45 |. 0 . 0H (.0.E|
00001460: 52 52 4F 52 20 2D 20 49 4E 53 54 52 55 43 54 49 |RROR - INSTRUCTI|
00001470: 4F 4E 20 4E 4F 54 20 52 45 43 4F 47 4E 49 53 45 |ON NOT RECOGNISE|
00001480: 44 20 3A 0D 45 52 52 4F 52 20 2D 20 4E 55 4D 42 |D :.ERROR - NUMB|
00001490: 45 52 20 42 49 47 47 45 52 20 54 48 41 4E 20 32 |ER BIGGER THAN 2|
000014A0: 35 35 3A 0D 45 52 52 4F 52 20 2D 20 4C 41 42 45 |55:.ERROR - LABE|
000014B0: 4C 20 4E 4F 54 20 46 4F 55 4E 44 20 3A 20 0D 45 |L NOT FOUND : .E|
000014C0: 52 52 4F 52 20 2D 20 52 45 53 55 4C 54 49 4E 47 |RROR - RESULTING|
000014D0: 20 41 44 44 52 45 53 53 20 47 52 45 41 54 45 52 | ADDRESS GREATER|
000014E0: 20 54 48 41 4E 0D 0A 31 30 32 34 20 28 44 45 43 | THAN..1024 (DEC|
000014F0: 49 4D 41 4C 29 20 4F 52 20 24 34 30 30 20 28 48 |IMAL) OR $400 (H|
00001500: 45 58 29 FF 42 52 4B 00 43 4C 43 18 43 4C 44 D8 |EX).BRK.CLC.CLD.|
00001510: 43 4C 49 58 43 4C 56 B8 44 45 58 CA 44 45 59 88 |CLIXCLV.DEX.DEY.|
00001520: 49 4E 58 E8 49 4E 59 C8 4E 4F 50 EA 50 48 41 48 |INX.INY.NOP.PHAH|
00001530: 50 48 50 08 50 4C 41 68 50 4C 50 28 52 54 53 60 |PHP.PLAhPLP(RTS`|
00001540: 53 45 43 38 53 45 44 F8 53 45 49 78 54 41 58 AA |SEC8SED.SEIxTAX.|
00001550: 54 41 59 A8 54 53 58 BA 54 58 41 8A 54 58 53 9A |TAY.TSX.TXA.TXS.|
00001560: 54 59 41 98 FF 41 53 4C 0A 4C 53 52 4A 52 4F 4C |TYA..ASL.LSRJROL|
00001570: 2A 52 4F 52 6A FF 41 44 43 69 41 4E 44 29 43 4D |*RORj.ADCiAND)CM|
00001580: 50 C9 43 50 58 E0 43 50 59 C0 45 4F 52 49 4C 44 |P.CPX.CPY.EORILD|
00001590: 41 A9 4C 44 58 A2 4C 44 59 A0 4F 52 41 09 53 42 |A.LDX.LDY.ORA.SB|
000015A0: 43 E9 FF 41 44 43 65 41 4E 44 25 41 53 4C 06 42 |C..ADCeAND%ASL.B|
000015B0: 49 54 24 43 4D 50 C5 43 50 58 E4 43 50 59 C4 44 |IT$CMP.CPX.CPY.D|
000015C0: 45 43 C6 45 4F 52 45 49 4E 43 E6 4C 44 41 A5 4C |EC.EOREINC.LDA.L|
000015D0: 44 58 A6 4C 44 59 A4 4C 53 52 46 4F 52 41 05 52 |DX.LDY.LSRFORA.R|
000015E0: 4F 4C 26 52 4F 52 66 53 42 43 E5 53 54 41 85 53 |OL&RORfSBC.STA.S|
000015F0: 54 58 86 53 54 59 84 FF 41 44 43 6D 41 4E 44 2D |TX.STY..ADCmAND-|
00001600: 41 53 4C 0E 42 49 54 2C 43 4D 50 CD 43 50 58 EC |ASL.BIT,CMP.CPX.|
00001610: 43 50 59 CC 45 4F 52 4D 49 4E 43 EE 4C 44 41 AD |CPY.EORMINC.LDA.|
00001620: 4C 44 58 AE 4C 44 59 AC 4C 53 52 4E 4F 52 41 0D |LDX.LDY.LSRNORA.|
00001630: 52 4F 4C 2E 52 4F 52 6E 53 42 43 ED 53 54 41 8D |ROL.RORnSBC.STA.|
00001640: 53 54 58 8E 53 54 59 8C 44 45 43 CE FF 41 44 43 |STX.STY.DEC..ADC|
00001650: 7D 41 4E 44 3D 41 53 4C 1E 43 4D 50 DD 44 45 43 |}AND=ASL.CMP.DEC|
00001660: DE 45 4F 52 5D 49 4E 43 FE 4C 44 41 BD 4C 44 59 |.EOR]INC.LDA.LDY|
00001670: BC 4C 53 52 5E 4F 52 41 1D 52 4F 4C 3E 52 4F 52 |.LSR^ORA.ROL>ROR|
00001680: 7E 53 42 43 FD 53 54 41 9D FF 41 44 43 79 41 4E |~SBC.STA..ADCyAN|
00001690: 44 39 43 4D 50 D9 45 4F 52 59 4C 44 41 B9 4C 44 |D9CMP.EORYLDA.LD|
000016A0: 58 BE 4F 52 41 19 53 42 43 F9 53 54 41 99 FF 41 |X.ORA.SBC.STA..A|
000016B0: 44 43 75 41 4E 44 35 41 53 4C 16 43 4D 50 D5 44 |DCuAND5ASL.CMP.D|
000016C0: 45 43 D6 45 4F 52 55 49 4E 43 F6 4C 44 41 B5 4C |EC.EORUINC.LDA.L|
000016D0: 44 59 B4 4C 53 52 56 4F 52 41 15 52 4F 4C 36 52 |DY.LSRVORA.ROL6R|
000016E0: 4F 52 76 53 42 43 F5 53 54 41 95 53 54 59 94 FF |ORvSBC.STA.STY..|
000016F0: 4C 44 58 B6 53 54 58 96 FF 41 44 43 61 41 4E 44 |LDX.STX..ADCaAND|
00001700: 21 43 4D 50 C1 45 4F 52 41 4C 44 41 A1 4F 52 41 |!CMP.EORALDA.ORA|
00001710: 01 53 42 43 E1 53 54 41 81 FF 41 44 43 71 41 4E |.SBC.STA..ADCqAN|
00001720: 44 31 43 4D 50 D1 45 4F 52 51 4C 44 41 B1 4F 52 |D1CMP.EORQLDA.OR|
00001730: 41 11 53 42 43 F1 53 54 41 91 FF 4A 4D 50 4C 4A |A.SBC.STA..JMPLJ|
00001740: 53 52 20 FF 42 43 43 90 42 43 53 B0 42 45 51 F0 |SR .BCC.BCS.BEQ.|
00001750: 42 4D 49 30 42 4E 45 D0 42 50 4C 10 42 56 43 50 |BMI0BNE.BPL.BVCP|
00001760: 42 56 53 70 FF A9 1F 20 A6 31 A9 00 20 A6 31 A9 |BVSp... .1.. .1.|
00001770: 12 20 A6 31 A9 50 8D 02 C0 A9 20 20 A6 31 CE 02 |. .1.P.... .1..|
00001780: C0 AD 02 C0 D0 F3 60 A9 A6 85 14 A9 28 85 15 20 |......`.....(.. |
00001790: C0 22 A9 1F 20 A6 31 A9 00 20 A6 31 A9 12 20 A6 |.".. .1.. .1.. .|
000017A0: 31 AC 09 C0 B1 0E AA 8D 5D C0 BD 00 7B 8D 5C C0 |1.......]...{.\.|
000017B0: AA E0 00 F0 11 18 A5 14 69 09 85 14 A5 15 69 00 |........i.....i.|
000017C0: 85 15 CA 4C 0C 23 A0 00 B1 14 85 10 C8 B1 14 85 |...L.#..........|
000017D0: 11 C8 B1 14 85 12 C8 B1 14 85 13 20 7D 23 C8 B1 |........... }#..|
000017E0: 14 85 12 C8 B1 14 85 13 20 7D 23 C8 B1 14 85 12 |........ }#.....|
000017F0: C8 B1 14 85 13 20 7D 23 C8 B1 14 8D 5B C0 20 A7 |..... }#....[. .|
00001800: 23 A2 00 BD 07 27 C9 FF F0 08 CD 5B C0 F0 0F E8 |#....'.....[....|
00001810: D0 F1 A5 19 C9 0C 90 03 4C E1 26 20 57 28 60 6C |........L.& W(`l|
00001820: 10 00 8C 02 C0 A0 00 B1 12 C9 FF F0 06 20 10 34 |............. .4|
00001830: C8 D0 F4 AC 02 C0 60 20 C0 22 68 68 4C 4E 0C A0 |......` ."hhLN..|
00001840: 00 AD 07 C0 11 18 8D 07 C0 4C B5 26 C9 01 D0 01 |.........L.&....|
00001850: 60 C9 02 D0 09 A9 07 85 18 A9 C0 85 19 60 C9 03 |`............`..|
00001860: D0 11 AE 5D C0 BD 01 7B 85 18 BD 02 7B 18 69 08 |...]...{....{.i.|
00001870: 85 19 60 C9 04 D0 0D AE 5D C0 A9 08 85 19 BD 01 |..`.....].......|
00001880: 7B 85 18 60 C9 05 D0 12 A9 5E 85 18 A9 C0 85 19 |{..`.....^......|
00001890: AE 5D C0 BD 01 7B 8D 5E C0 60 C9 06 D0 12 20 BD |.]...{.^.`.... .|
000018A0: 23 18 A5 18 6D 04 C0 85 18 A5 19 69 00 85 19 60 |#...m......i...`|
000018B0: C9 07 D0 0E 20 BD 23 18 A5 18 6D 05 C0 85 18 4C |.... .#...m....L|
000018C0: 04 24 C9 08 D0 2B A9 08 85 19 AE 5D C0 BD 01 7B |.$...+.....]...{|
000018D0: 85 18 A0 00 B1 18 8D 0B C0 C8 B1 18 18 69 08 85 |.............i..|
000018E0: 19 AD 0B C0 18 6D 05 C0 85 18 A5 19 69 00 85 19 |.....m......i...|
000018F0: 60 C9 09 D0 25 A9 08 85 19 AE 5D C0 BD 01 7B 18 |`...%.....]...{.|
00001900: 6D 04 C0 85 18 A0 00 B1 18 8D 0B C0 C8 B1 18 18 |m...............|
00001910: 69 08 85 19 AD 0B C0 85 18 60 C9 0A D0 13 AE 5D |i........`.....]|
00001920: C0 BD 01 7B 18 6D 04 C0 85 18 A9 08 69 00 85 19 |...{.m......i...|
00001930: 60 C9 0B D0 0D AE 5D C0 BD 01 7B 18 6D 05 C0 4C |`.....]...{.m..L|
00001940: 83 24 C9 0C D0 1D AE 5D C0 BD 01 7B 8D 02 C0 A0 |.$.....]...{....|
00001950: 01 B1 0E CD 02 C0 F0 08 C8 C0 11 D0 F4 4C 20 28 |.............L (|
00001960: 84 18 60 C9 0D D0 1D AE 5D C0 BD 01 7B 8D 02 C0 |..`.....]...{...|
00001970: 18 69 02 8D 02 C0 18 AC 09 C0 71 0E 8D 02 C0 A0 |.i........q.....|
00001980: 01 4C AC 24 60 A0 00 AD 06 C0 29 6C 8D 06 C0 A0 |.L.$`.....)l....|
00001990: 00 B1 18 8D 5E C0 0E 5E C0 08 AD 5E C0 91 18 68 |....^..^...^...h|
000019A0: 29 83 0D 06 C0 8D 06 C0 60 AD 06 C0 AE 0F C0 9D |).......`.......|
000019B0: 00 09 CE 0F C0 60 EE 0F C0 AE 0F C0 BD 00 09 8D |.....`..........|
000019C0: 06 C0 60 AD 07 C0 AE 0F C0 9D 00 09 CE 0F C0 60 |..`............`|
000019D0: EE 0F C0 AE 0F C0 BD 00 09 8D 07 C0 4C B5 26 20 |............L.& |
000019E0: 25 34 68 68 4C 4E 0C A0 00 B1 18 8D 07 C0 4C B5 |%4hhLN........L.|
000019F0: 26 AD 07 C0 A0 00 91 18 60 A0 00 B1 18 8D 04 C0 |&.......`.......|
00001A00: 4C B5 26 A0 00 AD 04 C0 91 18 60 A0 00 B1 18 8D |L.&.......`.....|
00001A10: 05 C0 4C B5 26 A0 00 AD 05 C0 91 18 60 AE 5D C0 |..L.&.......`.].|
00001A20: A0 00 B1 18 2D 07 C0 8D 07 C0 4C B5 26 AD 06 C0 |....-.....L.&...|
00001A30: 29 FE 8D 06 C0 60 AD 06 C0 09 01 8D 06 C0 60 A0 |)....`........`.|
00001A40: 00 B1 18 4A 91 18 08 AD 06 C0 29 4C 8D 06 C0 68 |...J......)L...h|
00001A50: 29 03 0D 06 C0 8D 06 C0 60 A0 00 B1 18 4D 07 C0 |).......`....M..|
00001A60: 8D 07 C0 4C B5 26 A0 00 AD 06 C0 29 01 48 28 B1 |...L.&.....).H(.|
00001A70: 18 2A 91 18 08 AD 06 C0 29 4C 8D 06 C0 68 29 83 |.*......)L...h).|
00001A80: 0D 06 C0 8D 06 C0 60 A0 00 B1 18 8D 5E C0 AD 07 |......`.....^...|
00001A90: C0 2C 5E C0 08 AD 06 C0 29 0D 8D 06 C0 68 29 C2 |.,^.....)....h).|
00001AA0: 0D 06 C0 8D 06 C0 60 A5 18 38 E9 01 8D 09 C0 60 |......`..8.....`|
00001AB0: EE 0F C0 AE 0F C0 BD 00 09 18 69 01 8D 02 C0 EE |..........i.....|
00001AC0: 0F C0 E8 BD 00 09 C9 7B F0 03 4C 20 28 A0 01 B1 |.......{..L (...|
00001AD0: 0E CD 02 C0 F0 08 C8 C0 11 D0 F4 4C 20 28 84 18 |...........L (..|
00001AE0: 4C 02 26 A9 7B AE 0F C0 9D 00 09 CE 0F C0 AD 5D |L.&.{..........]|
00001AF0: C0 18 69 02 AE 0F C0 9D 00 09 CE 0F C0 4C 02 26 |..i..........L.&|
00001B00: AD 06 C0 29 FB 8D 06 C0 60 AD 06 C0 29 09 48 28 |...)....`...).H(|
00001B10: A0 00 AD 06 C0 29 0C 8D 06 C0 AD 07 C0 71 18 8D |.....).......q..|
00001B20: 07 C0 08 68 29 C3 0D 06 C0 8D 06 C0 60 AD 06 C0 |...h).......`...|
00001B30: 29 01 48 28 A0 00 AD 06 C0 29 0C 8D 06 C0 B1 18 |).H(.....)......|
00001B40: 6A 91 18 08 68 29 C3 0D 06 C0 8D 06 C0 60 CE 05 |j...h).......`..|
00001B50: C0 4C B5 26 AD 04 C0 8D 07 C0 08 AD 06 C0 29 4D |.L.&..........)M|
00001B60: 8D 06 C0 68 29 82 0D 06 C0 8D 06 C0 60 AD 05 C0 |...h).......`...|
00001B70: 8D 07 C0 4C B5 26 AD 04 C0 8D 0F C0 60 AD 06 C0 |...L.&......`...|
00001B80: 09 04 8D 06 C0 60 A2 00 A9 1F 20 A6 31 A9 00 20 |.....`.... .1.. |
00001B90: A6 31 A9 12 20 A6 31 BD 1A 20 C9 FF F0 06 20 A6 |.1.. .1.. .... .|
00001BA0: 31 E8 D0 F3 20 25 34 68 68 4C 4E 0C 01 02 05 0C |1... %4hhLN.....|
00001BB0: 0D FF 60 AD 06 C0 09 08 8D 06 C0 60 EE 05 C0 4C |..`........`...L|
00001BC0: B5 26 CE 04 C0 4C B5 26 A0 00 B1 18 8D 5E C0 CE |.&...L.&.....^..|
00001BD0: 5E C0 AD 5E C0 91 18 4C B5 26 EE 04 C0 4C B5 26 |^..^...L.&...L.&|
00001BE0: AD 06 C0 29 09 48 28 AD 06 C0 29 0C 8D 06 C0 AD |...).H(...).....|
00001BF0: 07 C0 A0 00 F1 18 8D 07 C0 08 68 29 C3 0D 06 C0 |..........h)....|
00001C00: 8D 06 C0 60 AD 06 C0 29 0C 8D 06 C0 AD 04 C0 A0 |...`...)........|
00001C10: 00 38 F1 18 08 68 29 C3 0D 06 C0 8D 06 C0 60 AD |.8...h).......`.|
00001C20: 06 C0 29 0C 8D 06 C0 AD 05 C0 4C 6A 27 AD 06 C0 |..).......Lj'...|
00001C30: 29 0C 8D 06 C0 AD 07 C0 4C 6A 27 AD 07 C0 8D 05 |).......Lj'.....|
00001C40: C0 4C B5 26 AD 07 C0 8D 04 C0 4C B5 26 AD 0F C0 |.L.&......L.&...|
00001C50: 8D 04 C0 4C B5 26 AD 06 C0 29 F7 8D 06 C0 60 A0 |...L.&...)....`.|
00001C60: 00 B1 18 8D 5E C0 EE 5E C0 AD 5E C0 91 18 4C B5 |....^..^..^...L.|
00001C70: 26 AD 06 C0 29 BF 8D 06 C0 60 AD 06 C0 29 02 F0 |&...)....`...)..|
00001C80: 03 4C E7 27 60 AD 06 C0 29 02 D0 F8 A5 18 8D 09 |.L.'`...).......|
00001C90: C0 CE 09 C0 60 AD 06 C0 29 40 F0 F0 60 AD 06 C0 |....`...)@..`...|
00001CA0: 29 01 D0 E8 60 AD 06 C0 29 80 D0 E0 60 AD 06 C0 |)...`...)...`...|
00001CB0: 29 80 F0 D8 60 AD 06 C0 29 01 F0 D0 60 AD 06 C0 |)...`...)...`...|
00001CC0: 29 40 D0 C8 60 A2 00 BD 38 28 C9 FF F0 07 20 A6 |)@..`...8(.... .|
00001CD0: 31 E8 4C 22 28 20 25 34 68 68 4C 4E 0C 1F 00 12 |1.L"( %4hhLN....|
00001CE0: 45 52 52 4F 52 20 2D 20 41 44 44 52 45 53 53 20 |ERROR - ADDRESS |
00001CF0: 4E 4F 54 20 46 4F 55 4E 44 0D 0A FF A2 00 AD 12 |NOT FOUND.......|
00001D00: C0 C9 01 F0 01 60 BD 8E 28 C9 FF F0 06 20 A6 31 |.....`..(.... .1|
00001D10: E8 D0 F3 38 A5 19 E9 08 20 BB 19 AD 11 C0 20 A6 |...8.... ..... .|
00001D20: 31 A5 18 20 BB 19 AD 10 C0 20 A6 31 AD 11 C0 20 |1.. ..... .1... |
00001D30: A6 31 60 1F 0F 13 52 45 53 55 4C 54 49 4E 47 20 |.1`...RESULTING |
00001D40: 41 44 44 52 45 53 53 20 24 E2 29 F9 92 23 3F 36 |ADDRESS $.)..#?6|
00001D50: 7B 36 A5 28 01 9A 23 BC 35 97 35 30 37 09 3A 25 |{6.(..#.5.507.:%|
00001D60: 5B 36 7B 36 A5 28 00 3A 25 5B 36 7B 36 A5 28 00 |[6{6.(.:%[6{6.(.|
00001D70: 3A 25 5B 36 7B 36 A5 28 00 9A 23 BC 35 97 35 30 |:%[6{6.(..#.5.50|
00001D80: 37 04 E0 24 EA 35 2E 36 A5 28 04 3A 25 5B 36 7B |7..$.5.6.(.:%[6{|
00001D90: 36 A5 28 00 04 25 01 36 07 36 22 36 01 9A 23 BC |6.(..%.6.6"6..#.|
00001DA0: 35 97 35 C8 35 05 E0 24 EA 35 97 35 A5 28 02 3A |5.5.5..$.5.5.(.:|
00001DB0: 25 5B 36 7B 36 A5 28 00 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00001DC0: 00 9A 23 BC 35 97 35 30 37 03 E0 24 EA 35 2E 36 |..#.5.507..$.5.6|
00001DD0: A5 28 03 3A 25 5B 36 7B 36 A5 28 00 08 28 90 38 |.(.:%[6{6.(..(.8|
00001DE0: 9B 38 A5 28 0D 9A 23 BC 35 97 35 30 37 08 3A 25 |.8.(..#.5.507.:%|
00001DF0: 5B 36 7B 36 A5 28 00 3A 25 5B 36 7B 36 A5 28 00 |[6{6.(.:%[6{6.(.|
00001E00: 3A 25 5B 36 7B 36 A5 28 00 9A 23 BC 35 97 35 30 |:%[6{6.(..#.5.50|
00001E10: 37 0A E0 24 EA 35 2E 36 A5 28 0A 3A 25 5B 36 7B |7..$.5.6.(.:%[6{|
00001E20: 36 A5 28 00 88 25 99 36 A0 36 A7 36 01 9A 23 BC |6.(..%.6.6.6..#.|
00001E30: 35 97 35 30 37 07 3A 25 5B 36 7B 36 A5 28 00 3A |5.507.:%[6{6.(.:|
00001E40: 25 5B 36 7B 36 A5 28 00 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00001E50: 00 9A 23 BC 35 97 35 30 37 06 E0 24 EA 35 2E 36 |..#.5.507..$.5.6|
00001E60: A5 28 06 3A 25 5B 36 7B 36 A5 28 00 3E 26 A6 37 |.(.:%[6{6.(.>&.7|
00001E70: A5 28 A5 28 0C 78 25 C2 36 30 37 A5 28 09 3A 25 |.(.(.x%.607.(.:%|
00001E80: 5B 36 7B 36 A5 28 00 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00001E90: E2 25 DB 36 2E 36 A5 28 04 78 25 C2 36 30 37 A5 |.%.6.6.(.x%.607.|
00001EA0: 28 04 C1 25 BA 36 B4 36 2E 36 04 3A 25 5B 36 7B |(..%.6.6.6.:%[6{|
00001EB0: 36 A5 28 01 11 25 08 37 07 36 FD 36 01 78 25 C2 |6.(..%.7.6.6.x%.|
00001EC0: 36 C8 35 A5 28 05 C1 25 BA 36 B4 36 97 35 02 3A |6.5.(..%.6.6.5.:|
00001ED0: 25 5B 36 7B 36 A5 28 01 E2 25 DB 36 2E 36 A5 28 |%[6{6.(..%.6.6.(|
00001EE0: 03 78 25 C2 36 30 37 A5 28 03 C1 25 BA 36 B4 36 |.x%.607.(..%.6.6|
00001EF0: 2E 36 03 3A 25 5B 36 7B 36 A5 28 01 00 28 90 38 |.6.:%[6{6.(..(.8|
00001F00: AA 38 A5 28 0D 78 25 C2 36 30 37 A5 28 08 3A 25 |.8.(.x%.607.(.:%|
00001F10: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00001F20: 3A 25 5B 36 7B 36 A5 28 01 78 25 C2 36 30 37 A5 |:%[6{6.(.x%.607.|
00001F30: 28 0A C1 25 BA 36 B4 36 2E 36 0A 3A 25 5B 36 7B |(..%.6.6.6.:%[6{|
00001F40: 36 A5 28 01 91 25 2B 37 A0 36 A7 36 01 78 25 C2 |6.(..%+7.6.6.x%.|
00001F50: 36 30 37 A5 28 07 3A 25 5B 36 7B 36 A5 28 01 3A |607.(.:%[6{6.(.:|
00001F60: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00001F70: 01 78 25 C2 36 30 37 A5 28 06 C1 25 BA 36 B4 36 |.x%.607.(..%.6.6|
00001F80: 2E 36 06 3A 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 |.6.:%[6{6.(.:%[6|
00001F90: 7B 36 A5 28 01 B4 25 1D 37 97 35 30 37 09 3A 25 |{6.(..%.7.507.:%|
00001FA0: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00001FB0: 3A 25 5B 36 7B 36 A5 28 01 B4 25 1D 37 97 35 30 |:%[6{6.(..%.7.50|
00001FC0: 37 04 9A 25 0E 37 AD 36 2E 36 04 3A 25 5B 36 7B |7..%.7.6.6.:%[6{|
00001FD0: 36 A5 28 01 1E 25 01 36 97 35 22 36 01 B4 25 1D |6.(..%.6.5"6..%.|
00001FE0: 37 97 35 C8 35 05 9A 25 0E 37 AD 36 97 35 02 3A |7.5.5..%.7.6.5.:|
00001FF0: 25 5B 36 7B 36 A5 28 01 02 26 B9 37 A5 28 A5 28 |%[6{6.(..&.7.(.(|
00002000: 0C B4 25 1D 37 97 35 30 37 03 9A 25 0E 37 AD 36 |..%.7.507..%.7.6|
00002010: 2E 36 03 3A 25 5B 36 7B 36 A5 28 01 F0 27 90 38 |.6.:%[6{6.(..'.8|
00002020: F1 38 A5 28 0D B4 25 1D 37 97 35 30 37 08 3A 25 |.8.(..%.7.507.:%|
00002030: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00002040: 3A 25 5B 36 7B 36 A5 28 01 B4 25 1D 37 97 35 30 |:%[6{6.(..%.7.50|
00002050: 37 0A 9A 25 0E 37 AD 36 2E 36 0A 3A 25 5B 36 7B |7..%.7.6.6.:%[6{|
00002060: 36 A5 28 01 5B 26 99 36 4F 37 A7 36 01 B4 25 1D |6.(.[&.6O7.6..%.|
00002070: 37 97 35 30 37 07 3A 25 5B 36 7B 36 A5 28 01 3A |7.507.:%[6{6.(.:|
00002080: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00002090: 01 B4 25 1D 37 97 35 30 37 06 9A 25 0E 37 AD 36 |..%.7.507..%.7.6|
000020A0: 2E 36 06 3A 25 5B 36 7B 36 A5 28 01 0B 26 B6 38 |.6.:%[6{6.(..&.8|
000020B0: A5 28 A5 28 01 64 26 45 37 A0 36 2E 36 09 3A 25 |.(.(.d&E7.6.6.:%|
000020C0: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
000020D0: 3A 25 5B 36 7B 36 A5 28 01 64 26 45 37 A0 36 2E |:%[6{6.(.d&E7.6.|
000020E0: 36 04 88 26 BA 36 AD 36 2E 36 04 3A 25 5B 36 7B |6..&.6.6.6.:%[6{|
000020F0: 36 A5 28 01 2B 25 08 37 97 35 FD 36 01 64 26 45 |6.(.+%.7.5.6.d&E|
00002100: 37 A0 36 44 38 05 88 26 BA 36 AD 36 97 35 02 3A |7.6D8..&.6.6.5.:|
00002110: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00002120: 01 64 26 45 37 A0 36 2E 36 03 88 26 BA 36 AD 36 |.d&E7.6.6..&.6.6|
00002130: 2E 36 03 3A 25 5B 36 7B 36 A5 28 01 18 28 90 38 |.6.:%[6{6.(..(.8|
00002140: 0B 39 A5 28 0D 64 26 45 37 A0 36 2E 36 08 3A 25 |.9.(.d&E7.6.6.:%|
00002150: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00002160: 3A 25 5B 36 7B 36 A5 28 01 64 26 45 37 A0 36 2E |:%[6{6.(.d&E7.6.|
00002170: 36 0A 88 26 BA 36 AD 36 2E 36 0A 3A 25 5B 36 7B |6..&.6.6.6.:%[6{|
00002180: 36 A5 28 01 D8 26 2B 37 4F 37 A7 36 01 64 26 45 |6.(..&+7O7.6.d&E|
00002190: 37 A0 36 2E 36 07 3A 25 5B 36 7B 36 A5 28 01 3A |7.6.6.:%[6{6.(.:|
000021A0: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
000021B0: 01 64 26 45 37 A0 36 2E 36 06 88 26 BA 36 AD 36 |.d&E7.6.6..&.6.6|
000021C0: 2E 36 06 3A 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 |.6.:%[6{6.(.:%[6|
000021D0: 7B 36 A5 28 01 4C 25 6C 37 97 35 73 37 09 3A 25 |{6.(.L%l7.5s7.:%|
000021E0: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
000021F0: 70 25 6C 37 B0 35 73 37 04 4C 25 6C 37 97 35 73 |p%l7.5s7.L%l7.5s|
00002200: 37 04 5E 25 6C 37 A4 35 73 37 04 3A 25 5B 36 7B |7.^%l7.5s7.:%[6{|
00002210: 36 A5 28 01 A9 26 E6 37 B0 35 A5 28 01 3A 25 5B |6.(..&.7.5.(.:%[|
00002220: 36 7B 36 A5 28 01 AF 26 62 37 A4 35 97 37 01 3A |6{6.(..&b7.5.7.:|
00002230: 25 5B 36 7B 36 A5 28 01 70 25 6C 37 B0 35 73 37 |%[6{6.(.p%l7.5s7|
00002240: 03 4C 25 6C 37 97 35 73 37 03 5E 25 6C 37 A4 35 |.L%l7.5s7.^%l7.5|
00002250: 73 37 03 3A 25 5B 36 7B 36 A5 28 01 10 28 90 38 |s7.:%[6{6.(..(.8|
00002260: A0 36 E5 38 0D 4C 25 6C 37 97 35 73 37 08 3A 25 |.6.8.L%l7.5s7.:%|
00002270: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00002280: 70 25 6C 37 B0 35 73 37 0A 4C 25 6C 37 97 35 73 |p%l7.5s7.L%l7.5s|
00002290: 37 0A 5E 25 6C 37 A4 35 73 37 0B 3A 25 5B 36 7B |7.^%l7.5s7.:%[6{|
000022A0: 36 A5 28 01 C8 26 62 37 B0 35 97 37 01 4C 25 6C |6.(..&b7.5.7.L%l|
000022B0: 37 97 35 73 37 07 D1 26 62 37 A4 35 86 37 01 3A |7.5s7..&b7.5.7.:|
000022C0: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
000022D0: 01 4C 25 6C 37 97 35 73 37 06 3A 25 5B 36 7B 36 |.L%l7.5s7.:%[6{6|
000022E0: A5 28 01 3A 25 5B 36 7B 36 A5 28 01 66 25 F1 37 |.(.:%[6{6.(.f%.7|
000022F0: B0 35 C8 35 05 42 25 F1 37 97 35 D5 35 09 54 25 |.5.5.B%.7.5.5.T%|
00002300: F1 37 A4 35 C8 35 05 3A 25 5B 36 7B 36 A5 28 01 |.7.5.5.:%[6{6.(.|
00002310: 66 25 F1 37 B0 35 D5 35 04 42 25 F1 37 97 35 D5 |f%.7.5.5.B%.7.5.|
00002320: 35 04 54 25 F1 37 A4 35 D5 35 04 3A 25 5B 36 7B |5.T%.7.5.5.:%[6{|
00002330: 36 A5 28 01 96 27 62 37 97 35 CD 38 01 42 25 F1 |6.(..'b7.5.8.B%.|
00002340: 37 97 35 C8 35 05 9F 27 62 37 97 35 06 38 01 3A |7.5.5..'b7.5.8.:|
00002350: 25 5B 36 7B 36 A5 28 01 66 25 F1 37 B0 35 D5 35 |%[6{6.(.f%.7.5.5|
00002360: 03 42 25 F1 37 97 35 D5 35 03 54 25 F1 37 A4 35 |.B%.7.5.5.T%.7.5|
00002370: D5 35 03 3A 25 5B 36 7B 36 A5 28 01 F8 27 90 38 |.5.:%[6{6.(..'.8|
00002380: A0 36 DB 38 0D 42 25 F1 37 97 35 D5 35 08 3A 25 |.6.8.B%.7.5.5.:%|
00002390: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
000023A0: 66 25 F1 37 B0 35 D5 35 0A 42 25 F1 37 97 35 D5 |f%.7.5.5.B%.7.5.|
000023B0: 35 0A 54 25 F1 37 A4 35 D5 35 0B 3A 25 5B 36 7B |5.T%.7.5.5.:%[6{|
000023C0: 36 A5 28 01 CC 27 99 36 14 38 A7 36 01 42 25 F1 |6.(..'.6.8.6.B%.|
000023D0: 37 97 35 D5 35 07 A8 27 62 37 F7 37 06 38 01 3A |7.5.5..'b7.7.8.:|
000023E0: 25 5B 36 7B 36 A5 28 01 66 25 F1 37 B0 35 D5 35 |%[6{6.(.f%.7.5.5|
000023F0: 06 42 25 F1 37 97 35 D5 35 06 54 25 F1 37 A4 35 |.B%.7.5.5.T%.7.5|
00002400: D5 35 07 3A 25 5B 36 7B 36 A5 28 01 7A 27 5B 38 |.5.:%[6{6.(.z'[8|
00002410: B0 35 C8 35 05 88 27 5B 38 97 35 D5 35 09 3A 25 |.5.5..'[8.5.5.:%|
00002420: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00002430: 7A 27 5B 38 B0 35 D5 35 04 88 27 5B 38 97 35 D5 |z'[8.5.5..'[8.5.|
00002440: 35 04 23 27 E6 37 2E 36 A5 28 04 3A 25 5B 36 7B |5.#'.7.6.(.:%[6{|
00002450: 36 A5 28 01 17 27 2B 38 B0 35 A5 28 01 88 27 5B |6.(..'+8.5.(..'[|
00002460: 38 97 35 C8 35 05 1D 27 E6 37 A4 35 A5 28 01 3A |8.5.5..'.7.5.(.:|
00002470: 25 5B 36 7B 36 A5 28 01 7A 27 5B 38 B0 35 D5 35 |%[6{6.(.z'[8.5.5|
00002480: 03 88 27 5B 38 97 35 D5 35 03 23 27 E6 37 2E 36 |..'[8.5.5.#'.7.6|
00002490: A5 28 03 3A 25 5B 36 7B 36 A5 28 01 E0 27 90 38 |.(.:%[6{6.(..'.8|
000024A0: 64 38 A5 28 0D 88 27 5B 38 97 35 D5 35 08 3A 25 |d8.(..'[8.5.5.:%|
000024B0: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
000024C0: 3A 25 5B 36 7B 36 A5 28 01 88 27 5B 38 97 35 D5 |:%[6{6.(..'[8.5.|
000024D0: 35 0A 23 27 E6 37 2E 36 A5 28 0A 3A 25 5B 36 7B |5.#'.7.6.(.:%[6{|
000024E0: 36 A5 28 01 B1 27 99 36 36 38 A7 36 01 88 27 5B |6.(..'.668.6..'[|
000024F0: 38 97 35 D5 35 07 3A 25 5B 36 7B 36 A5 28 01 3A |8.5.5.:%[6{6.(.:|
00002500: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00002510: 01 88 27 5B 38 97 35 D5 35 06 23 27 E6 37 2E 36 |..'[8.5.5.#'.7.6|
00002520: A5 28 06 3A 25 5B 36 7B 36 A5 28 01 5F 27 5B 38 |.(.:%[6{6.(._'[8|
00002530: A4 35 C8 35 05 3B 27 4C 38 A0 36 2E 36 09 3A 25 |.5.5.;'L8.6.6.:%|
00002540: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
00002550: 5F 27 5B 38 A4 35 D5 35 04 3B 27 4C 38 A0 36 2E |_'[8.5.5.;'L8.6.|
00002560: 36 04 BA 27 2B 38 2E 36 A5 28 04 3A 25 5B 36 7B |6..'+8.6.(.:%[6{|
00002570: 36 A5 28 01 35 27 2B 38 A4 35 A5 28 01 3B 27 4C |6.(.5'+8.5.(.;'L|
00002580: 38 A0 36 44 38 05 0D 27 1E 38 A5 28 A5 28 01 3A |8.6D8..'.8.(.(.:|
00002590: 25 5B 36 7B 36 A5 28 01 5F 27 5B 38 A4 35 D5 35 |%[6{6.(._'[8.5.5|
000025A0: 03 3B 27 4C 38 A0 36 2E 36 03 BA 27 2B 38 2E 36 |.;'L8.6.6..'+8.6|
000025B0: A5 28 03 3A 25 5B 36 7B 36 A5 28 01 D5 27 90 38 |.(.:%[6{6.(..'.8|
000025C0: 7C 38 A5 28 0D 3B 27 4C 38 A0 36 2E 36 08 3A 25 ||8.(.;'L8.6.6.:%|
000025D0: 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 01 |[6{6.(.:%[6{6.(.|
000025E0: 3A 25 5B 36 7B 36 A5 28 01 3B 27 4C 38 A0 36 2E |:%[6{6.(.;'L8.6.|
000025F0: 36 0A BA 27 2B 38 2E 36 A5 28 0A 3A 25 5B 36 7B |6..'+8.6.(.:%[6{|
00002600: 36 A5 28 01 0E 27 2B 37 36 38 A7 36 01 3B 27 4C |6.(..'+768.6.;'L|
00002610: 38 A0 36 2E 36 07 3A 25 5B 36 7B 36 A5 28 01 3A |8.6.6.:%[6{6.(.:|
00002620: 25 5B 36 7B 36 A5 28 01 3A 25 5B 36 7B 36 A5 28 |%[6{6.(.:%[6{6.(|
00002630: 01 3B 27 4C 38 A0 36 2E 36 06 BA 27 2B 38 2E 36 |.;'L8.6.6..'+8.6|
00002640: A5 28 06 3A 25 5B 36 7B 36 A5 28 01 8D 66 C0 48 |.(.:%[6{6.(..f.H|
00002650: 8A 48 98 48 A5 01 29 FB 85 01 78 AD 64 C0 F0 03 |.H.H..)...x.d...|
00002660: 4C 77 33 AD 66 C0 C9 9C D0 0D A9 00 8D 6B C0 A9 |Lw3.f........k..|
00002670: 01 8D 6A C0 4C 88 34 C9 9D D0 09 AD 6A C0 8D 6B |..j.L.4.....j..k|
00002680: C0 4C 88 34 C9 0C D0 03 4C 0F 33 C9 1F D0 08 A9 |.L.4....L.3.....|
00002690: 02 8D 64 C0 4C 03 33 C9 0D D0 18 A9 00 8D 65 C0 |..d.L.3.......e.|
000026A0: 8D 6B C0 A9 01 8D 6A C0 A5 24 85 29 A5 25 85 2A |.k....j..$.).%.*|
000026B0: 4C 03 33 C9 0A D0 03 4C AE 32 C9 14 D0 27 38 CE |L.3....L.2...'8.|
000026C0: 65 C0 A5 29 E9 08 85 29 A5 2A E9 00 85 2A A0 07 |e..)...).*...*..|
000026D0: A9 00 91 29 88 10 FB A9 20 AC 65 C0 91 22 A9 10 |...).... .e.."..|
000026E0: 91 20 4C 03 33 C9 7B 90 0F 38 E9 81 AA BD AC 34 |. L.3.{..8.....4|
000026F0: 8D 6A C0 A9 20 4C 61 32 C9 5F D0 05 A9 1F 4C 61 |.j.. La2._....La|
00002700: 32 C9 61 90 02 E9 60 8D 63 C0 AD 66 C0 AC 65 C0 |2.a...`.c..f..e.|
00002710: 91 22 A9 00 85 26 85 27 AE 63 C0 E0 00 F0 11 18 |."...&.'.c......|
00002720: A5 26 69 08 85 26 A5 27 69 00 85 27 CA 4C 75 32 |.&i..&.'i..'.Lu2|
00002730: A0 00 18 A5 27 69 D8 85 27 B1 26 91 29 C8 C0 08 |....'i..'.&.)...|
00002740: D0 F7 AD 6A C0 44 0A 29 EC 0D 6B C0 AC 65 C0 91 |...j.D.)..k..e..|
00002750: 20 4C E9 32 18 A5 24 69 40 85 29 85 24 A5 25 69 | L.2..$i@.).$.%i|
00002760: 01 85 2A 85 25 A9 00 8D 6B C0 8D 65 C0 A9 01 8D |..*.%...k..e....|
00002770: 6A C0 18 A5 20 69 28 85 20 A5 21 69 00 85 21 18 |j... i(. .!i..!.|
00002780: A5 22 69 28 85 22 A5 23 69 00 85 23 4C 03 33 EE |."i(.".#i..#L.3.|
00002790: 65 C0 18 A5 29 69 08 85 29 A5 2A 69 00 85 2A AD |e...)i..).*i..*.|
000027A0: 65 C0 C9 28 D0 03 4C AE 32 A5 01 09 04 85 01 68 |e..(..L.2......h|
000027B0: A8 68 AA 68 60 A0 00 A9 00 85 29 A9 A0 85 2A A9 |.h.h`.....)...*.|
000027C0: 00 91 29 C8 D0 F9 E6 2A A5 2A C9 C0 D0 F1 A9 00 |..)....*.*......|
000027D0: 85 20 A9 8C 85 21 A9 04 85 23 A0 00 84 22 A9 10 |. ...!...#..."..|
000027E0: 91 20 A9 20 91 22 C8 D0 F5 E6 21 E6 23 A5 21 C9 |. . ."....!.#.!.|
000027F0: 91 D0 EB A9 01 8D 6A C0 A9 00 8D 6B C0 A9 8C 85 |......j....k....|
00002800: 21 A9 00 8D 65 C0 A9 A0 85 2A A9 00 85 24 A9 A0 |!...e....*...$..|
00002810: 85 25 A9 00 85 22 A9 04 85 23 4C 03 33 C9 01 F0 |.%..."...#L.3...|
00002820: 40 AE 66 C0 A0 00 A9 00 85 29 85 24 A9 A0 85 2A |@.f......).$...*|
00002830: 85 25 A9 00 85 22 A9 04 85 23 A9 00 85 20 A9 8C |.%..."...#... ..|
00002840: 85 21 E0 00 F0 12 18 A5 29 69 08 85 29 A5 2A 69 |.!......)i..).*i|
00002850: 00 85 2A C8 CA 4C 9C 33 8C 65 C0 CE 64 C0 4C 03 |..*..L.3.e..d.L.|
00002860: 33 AD 66 C0 F0 38 CE 66 C0 18 A5 29 69 40 85 29 |3.f..8.f...)i@.)|
00002870: A5 2A 69 01 85 2A A5 20 69 28 85 20 A5 21 69 00 |.*i..*. i(. .!i.|
00002880: 85 21 18 A5 22 69 28 85 22 A5 23 69 00 85 23 A5 |.!.."i(.".#i..#.|
00002890: 24 69 40 85 24 A5 25 69 01 85 25 4C BB 33 CE 64 |$i@.$.%i..%L.3.d|
000028A0: C0 A9 00 8D 6B C0 A9 01 8D 6A C0 AD F0 02 D0 03 |....k....j......|
000028B0: 20 BB 34 4C 03 33 8D 66 C0 48 8A 48 98 48 AD 66 | .4L.3.f.H.H.H.f|
000028C0: C0 C9 0D F0 03 4C AE 31 4C AE 32 8A 48 98 48 20 |.....L.1L.2.H.H |
000028D0: 9F FF 20 E4 FF 78 F0 F7 20 5D 34 8D 66 C0 AD 68 |.. ..x.. ]4.f..h|
000028E0: C0 0D 67 C0 0D 69 C0 F0 05 A9 00 8D 66 C0 A0 3C |..g..i......f..<|
000028F0: 88 F0 08 A2 FF CA D0 FD 4C 4A 34 68 A8 68 AA AD |........LJ4h.h..|
00002900: 66 C0 60 48 A9 00 8D 68 C0 8D 67 C0 8D 69 C0 68 |f.`H...h..g..i.h|
00002910: C9 85 D0 06 A9 01 8D 68 C0 60 C9 86 D0 06 A9 01 |.......h.`......|
00002920: 8D 69 C0 60 C9 87 D0 05 A9 01 8D 67 C0 60 AC 65 |.i.`.......g.`.e|
00002930: C0 B1 20 29 F0 0D 6B C0 91 20 C8 C0 28 D0 F2 A9 |.. )..k.. ..(...|
00002940: 20 4C 61 32 C9 87 F0 01 60 AC 65 C0 B1 22 AA A9 | La2....`.e.."..|
00002950: 87 60 02 05 07 06 04 03 01 08 09 0A 0B 0C 0D 0E |.`..............|
00002960: 0F A9 00 85 76 A9 8C 85 77 A2 12 A0 14 B1 76 29 |....v...w.....v)|
00002970: 0F C9 04 F0 18 C8 C0 28 D0 F3 18 A5 76 69 28 85 |.......(....vi(.|
00002980: 76 A5 77 69 00 85 77 CA D0 E3 4C EE 34 A9 10 91 |v.wi..w...L.4...|
00002990: 76 4C CF 34 AC 65 C0 B1 20 29 F0 09 04 91 20 60 |vL.4.e.. ).... `|
000029A0: AC 5A C0 AD 13 C0 91 0E EE 5A C0 60 A9 1F 20 A6 |.Z.......Z.`.. .|
000029B0: 31 A9 00 20 A6 31 20 A6 31 A2 28 A9 20 20 A6 31 |1.. .1 .1.(. .1|
000029C0: CA 10 F8 A9 01 8D 02 C0 A9 1F 20 A6 31 A9 00 20 |.......... .1.. |
000029D0: A6 31 AD 02 C0 20 A6 31 A2 13 A9 20 20 A6 31 CA |.1... .1... .1.|
000029E0: 10 F8 EE 02 C0 AD 02 C0 C9 12 D0 DC A9 1F 20 A6 |.............. .|
000029F0: 31 A9 00 20 A6 31 A9 11 20 A6 31 A2 C8 A9 20 20 |1.. .1.. .1... |
00002A00: A6 31 CA D0 F8 20 2D 1A 60 A9 77 85 12 A9 35 85 |.1... -.`.w...5.|
00002A10: 13 20 C0 22 20 57 10 20 25 34 4C 4E 0C 1F 00 12 |. ." W. %4LN....|
00002A20: 45 4E 44 20 4F 46 20 50 52 4F 47 52 41 4D 20 2D |END OF PROGRAM -|
00002A30: 20 50 52 45 53 53 20 41 20 4B 45 59 FF 61 63 63 | PRESS A KEY.acc|
00002A40: 75 6D 75 6C 61 74 6F 72 20 FF 58 20 72 65 67 69 |umulator .X regi|
00002A50: 73 74 65 72 20 FF 59 20 72 65 67 69 73 74 65 72 |ster .Y register|
00002A60: 20 FF 4C 6F 67 69 63 61 6C 20 4F 52 20 FF 77 69 | .Logical OR .wi|
00002A70: 74 68 20 6E 75 6D 62 65 72 20 FF 77 69 74 68 20 |th number .with |
00002A80: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E FF |memory location.|
00002A90: 41 72 69 74 68 6D 65 74 69 63 20 73 68 69 66 74 |Arithmetic shift|
00002AA0: 20 6C 65 66 74 20 FF 50 75 73 68 20 FF 70 72 6F | left .Push .pro|
00002AB0: 63 65 73 73 6F 72 20 73 74 61 74 75 73 20 72 65 |cessor status re|
00002AC0: 67 69 73 74 65 72 0D FF 6F 6E 74 6F 20 73 74 61 |gister..onto sta|
00002AD0: 63 6B 20 FF 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 |ck .memory locat|
00002AE0: 69 6F 6E 20 FF 42 72 65 61 6B 20 2D 20 77 69 6C |ion .Break - wil|
00002AF0: 6C 20 73 74 6F 70 20 65 78 65 63 75 74 69 6F 6E |l stop execution|
00002B00: FF 4E 6F 74 20 61 20 76 61 6C 69 64 20 69 6E 73 |.Not a valid ins|
00002B10: 74 72 75 63 74 69 6F 6E 20 6F 70 2D 63 6F 64 65 |truction op-code|
00002B20: FF 0D 50 52 45 53 53 20 52 45 54 55 52 4E 20 4B |..PRESS RETURN K|
00002B30: 45 59 20 54 4F 20 43 4F 4E 54 49 4E 55 45 FF 63 |EY TO CONTINUE.c|
00002B40: 6C 65 61 72 20 FF 63 61 72 72 79 20 FF 66 6C 61 |lear .carry .fla|
00002B50: 67 20 FF 72 69 67 68 74 20 FF 6C 65 66 74 20 FF |g .right .left .|
00002B60: 52 6F 74 61 74 65 20 FF 4C 6F 67 69 63 61 6C 20 |Rotate .Logical |
00002B70: 41 4E 44 20 61 63 63 75 6D 75 6C 61 74 6F 72 20 |AND accumulator |
00002B80: FF 54 65 73 74 20 42 49 54 73 20 6F 66 20 61 63 |.Test BITs of ac|
00002B90: 63 75 6D 75 6C 61 74 6F 72 20 61 67 61 69 6E 73 |cumulator agains|
00002BA0: 74 20 FF 66 72 6F 6D 20 73 74 61 63 6B FF 50 75 |t .from stack.Pu|
00002BB0: 6C 6C 20 FF 4C 6F 67 69 63 61 6C 20 73 68 69 66 |ll .Logical shif|
00002BC0: 74 20 FF 45 78 63 6C 75 73 69 76 65 20 4F 52 20 |t .Exclusive OR |
00002BD0: FF 73 65 74 20 FF 77 69 74 68 20 6D 65 6D 6F 72 |.set .with memor|
00002BE0: 79 0D 6C 6F 63 61 74 69 6F 6E FF 41 64 64 20 77 |y.location.Add w|
00002BF0: 69 74 68 20 FF 69 6E 74 65 72 72 75 70 74 20 64 |ith .interrupt d|
00002C00: 69 73 61 62 6C 65 20 FF 54 72 61 6E 73 66 65 72 |isable .Transfer|
00002C10: 20 FF 53 74 6F 72 65 20 FF 61 74 20 6D 65 6D 6F | .Store .at memo|
00002C20: 72 79 20 6C 6F 63 61 74 69 6F 6E FF 74 6F 20 73 |ry location.to s|
00002C30: 74 61 63 6B 20 70 6F 69 6E 74 65 72 FF 74 6F 20 |tack pointer.to |
00002C40: 61 63 63 75 6D 75 6C 61 74 6F 72 FF 4A 75 6D 70 |accumulator.Jump|
00002C50: 20 74 6F 20 73 75 62 72 6F 75 74 69 6E 65 FF 4A | to subroutine.J|
00002C60: 75 6D 70 20 2D 20 4C 6F 61 64 20 70 72 6F 67 72 |ump - Load progr|
00002C70: 61 6D 20 63 6F 75 6E 74 65 72 20 77 69 74 68 20 |am counter with |
00002C80: 6E 65 77 0D 61 64 64 72 65 73 73 FF 44 65 63 72 |new.address.Decr|
00002C90: 65 6D 65 6E 74 20 FF 4C 6F 61 64 20 FF 73 74 61 |ement .Load .sta|
00002CA0: 63 6B 20 70 6F 69 6E 74 65 72 20 FF 74 6F 20 58 |ck pointer .to X|
00002CB0: 20 72 65 67 69 73 74 65 72 FF 6F 76 65 72 66 6C | register.overfl|
00002CC0: 6F 77 20 FF 4E 6F 20 6F 70 65 72 61 74 69 6F 6E |ow .No operation|
00002CD0: FF 49 6E 63 72 65 6D 65 6E 74 20 FF 64 65 63 69 |.Increment .deci|
00002CE0: 6D 61 6C 20 6D 6F 64 65 20 FF 6E 75 6D 62 65 72 |mal mode .number|
00002CF0: 20 FF 53 75 62 74 72 61 63 74 20 77 69 74 68 20 | .Subtract with |
00002D00: FF 43 6F 6D 70 61 72 65 20 FF 6E 6F 74 20 65 71 |.Compare .not eq|
00002D10: 75 61 6C 20 74 6F 20 7A 65 72 6F 20 28 5A 3D 30 |ual to zero (Z=0|
00002D20: 29 FF 65 71 75 61 6C 20 74 6F 20 7A 65 72 6F 20 |).equal to zero |
00002D30: 28 5A 3D 31 29 FF 42 72 61 6E 63 68 20 69 66 20 |(Z=1).Branch if |
00002D40: FF 70 6F 73 69 74 69 76 65 20 28 4E 3D 30 29 FF |.positive (N=0).|
00002D50: 6D 69 6E 75 73 20 28 4E 3D 31 29 FF 52 65 74 75 |minus (N=1).Retu|
00002D60: 72 6E 20 66 72 6F 6D 20 73 75 62 72 6F 75 74 69 |rn from subrouti|
00002D70: 6E 65 FF 74 6F 20 59 20 72 65 67 69 73 74 65 72 |ne.to Y register|
00002D80: FF 73 65 74 20 28 43 3D 31 29 FF 63 6C 65 61 72 |.set (C=1).clear|
00002D90: 20 28 43 3D 30 29 FF 6F 76 65 72 66 6C 6F 77 20 | (C=0).overflow |
00002DA0: 66 6C 61 67 20 63 6C 65 61 72 20 28 56 3D 30 29 |flag clear (V=0)|
00002DB0: FF 6F 76 65 72 66 6C 6F 77 20 66 6C 61 67 20 73 |.overflow flag s|
00002DC0: 65 74 20 28 56 3D 31 29 FF 00 A9 01 8D 02 C0 A9 |et (V=1)........|
00002DD0: 14 8D 0B C0 A9 00 8D 14 C0 4C 4E 39 A9 1F 20 A6 |.........LN9.. .|
00002DE0: 31 AD 0B C0 20 A6 31 AD 02 C0 20 A6 31 A9 87 20 |1... .1... .1.. |
00002DF0: 9E 34 8A 60 20 36 39 AE 14 C0 9D 51 C0 EE 14 C0 |.4.` 69....Q....|
00002E00: EE 0B C0 AD 14 C0 C9 06 D0 EA AD 51 C0 C9 20 D0 |...........Q.. .|
00002E10: 03 4C AA 39 A9 01 8D 63 C0 A9 14 8D 0B C0 A9 00 |.L.9...c........|
00002E20: 8D 14 C0 AD 63 C0 CD 02 C0 F0 1B 20 00 3A AE 14 |....c...... .:..|
00002E30: C0 DD 51 C0 D0 10 EE 14 C0 EE 0B C0 AD 14 C0 C9 |..Q.............|
00002E40: 06 D0 E8 4C B8 39 EE 63 C0 AD 63 C0 C9 11 D0 C9 |...L.9.c..c.....|
00002E50: EE 02 C0 AD 02 C0 C9 11 F0 03 4C 29 39 60 A9 DD |..........L)9`..|
00002E60: 85 12 A9 39 85 13 20 57 10 A2 00 BD 51 C0 20 A6 |...9.. W....Q. .|
00002E70: 31 E8 E0 06 D0 F5 A9 22 20 A6 31 20 25 34 68 68 |1......" .1 %4hh|
00002E80: 4C 4E 0C 1F 00 12 45 52 52 4F 52 20 2D 20 44 55 |LN....ERROR - DU|
00002E90: 50 4C 49 43 41 54 45 20 4C 41 42 45 4C 20 46 4F |PLICATE LABEL FO|
00002EA0: 55 4E 44 20 22 FF A9 1F 20 A6 31 AD 0B C0 20 A6 |UND "... .1... .|
00002EB0: 31 AD 63 C0 20 A6 31 A9 87 20 9E 34 8A 60 A9 1F |1.c. .1.. .4.`..|
00002EC0: 20 A6 31 A9 1A 20 A6 31 AD 28 C0 20 A6 31 A9 87 | .1.. .1.(. .1..|
00002ED0: 20 9E 34 E0 20 F0 03 4C CC 3B A2 03 BD 15 C0 C9 | .4. ..L.;......|
00002EE0: 20 F0 1B 4C 47 3B AD 15 C0 C9 42 F0 07 C9 4A F0 | ..LG;....B...J.|
00002EF0: 03 4C A6 3A E8 BD 15 C0 C9 20 D0 F8 F0 4E E8 BD |.L.:..... ...N..|
00002F00: 15 C0 E0 05 F0 08 C9 20 F0 42 C9 41 B0 D8 C9 24 |....... .B.A...$|
00002F10: F0 13 E0 05 F0 08 C9 28 F0 41 C9 23 F0 E0 C9 30 |.......(.A.#...0|
00002F20: B0 06 4C 1D 3B 4C 22 3B C9 3A B0 F6 E8 E0 0D F0 |..L.;L";.:......|
00002F30: F1 BD 15 C0 C9 20 F0 14 C9 2C F0 0F C9 30 B0 03 |..... ...,...0..|
00002F40: 4C 1D 3B C9 3A B0 DB 4C 86 3A 60 E8 E8 E0 0D F0 |L.;.:..L.:`.....|
00002F50: F9 BD 15 C0 C9 20 F0 F4 4C 1D 3B E8 BD 15 C0 C9 |..... ..L.;.....|
00002F60: 29 F0 0B C9 28 F0 BB E0 0C D0 F0 4C 1D 3B E8 BD |)...(......L.;..|
00002F70: 15 C0 C9 29 F0 AC C9 28 F0 A8 E0 0C D0 F0 A2 05 |...)...(........|
00002F80: BD 15 C0 C9 24 F0 1D BD 15 C0 C9 29 F0 0F C9 2C |....$......)...,|
00002F90: F0 0B C9 30 90 0B C9 3A B0 07 E8 D0 EA E8 4C A5 |...0...:......L.|
00002FA0: 3A 4C 1D 3B E8 BD 15 C0 C9 29 F0 F1 C9 2C F0 ED |:L.;.....)...,..|
00002FB0: C9 30 90 ED C9 47 B0 E9 C9 41 B0 E8 C9 3A B0 E1 |.0...G...A...:..|
00002FC0: 4C FE 3A 68 68 4C 9D 14 E8 BD 15 C0 C9 20 F0 17 |L.:hhL....... ..|
00002FD0: C9 2C F0 16 C9 30 90 C9 C9 3A 90 EC C9 41 90 C1 |.,...0...:...A..|
00002FE0: C9 47 B0 BD 4C 22 3B 4C A6 3A 4C A5 3A A9 55 85 |.G..L";L.:L.:.U.|
00002FF0: 12 A9 3B 85 13 20 57 10 4C D7 3B 1F 00 12 54 48 |..;.. W.L.;...TH|
00003000: 45 52 45 20 53 48 4F 55 4C 44 20 42 45 20 41 20 |ERE SHOULD BE A |
00003010: 53 50 41 43 45 20 42 45 54 57 45 45 4E 20 54 48 |SPACE BETWEEN TH|
00003020: 45 0D 0A 4D 4E 45 4D 4F 4E 49 43 20 41 4E 44 20 |E..MNEMONIC AND |
00003030: 4F 50 45 52 41 4E 44 2E 20 54 48 45 20 48 49 47 |OPERAND. THE HIG|
00003040: 48 4C 49 47 48 54 45 44 0D 0A 4C 49 4E 45 20 49 |HLIGHTED..LINE I|
00003050: 4E 44 49 43 41 54 45 53 20 57 48 49 43 48 20 4C |NDICATES WHICH L|
00003060: 49 4E 45 20 48 41 53 20 41 4E 20 45 52 52 4F 52 |INE HAS AN ERROR|
00003070: 2E FF A9 03 85 12 A9 3C 85 13 20 57 10 A9 1F 20 |.......<.. W... |
00003080: A6 31 A9 10 20 A6 31 AD 28 C0 20 A6 31 A9 88 20 |.1.. .1.(. .1.. |
00003090: A6 31 A9 81 20 A6 31 A9 9D 20 A6 31 A9 87 20 A6 |.1.. .1.. .1.. .|
000030A0: 31 20 25 34 68 68 4C 4E 0C 1F 00 12 41 20 4C 41 |1 %4hhLN....A LA|
000030B0: 42 45 4C 20 53 48 4F 55 4C 44 20 4F 4E 4C 59 20 |BEL SHOULD ONLY |
000030C0: 42 45 20 55 50 54 4F 20 53 49 58 20 4C 45 54 54 |BE UPTO SIX LETT|
000030D0: 45 52 53 20 4C 4F 4E 47 2E 20 54 48 45 20 48 49 |ERS LONG. THE HI|
000030E0: 47 48 4C 49 47 48 54 45 44 20 4C 49 4E 45 20 49 |GHLIGHTED LINE I|
000030F0: 4E 44 49 43 41 54 45 53 20 54 48 45 4C 49 4E 45 |NDICATES THELINE|
00003100: 20 57 48 49 43 48 20 48 41 53 20 41 20 4C 41 42 | WHICH HAS A LAB|
00003110: 45 4C 20 54 4F 4F 20 4C 4F 4E 47 2E FF 0B 8E 3C |EL TOO LONG....<|
00003120: AC 3C CF 3C F9 3C 1C 3D 3F 3D 65 3D 88 3D B0 3D |.<.<.<.=?=e=.=.=|
00003130: D3 3D F2 3D 01 43 20 1B 4C 65 73 73 6F 6E 20 31 |.=.=.C .Lesson 1|
00003140: 39 20 2D 20 54 68 65 20 73 74 61 63 6B 0D 0A FF |9 - The stack...|
00003150: 11 3E 02 45 20 1E 45 78 65 72 63 69 73 65 20 31 |.>.E .Exercise 1|
00003160: 20 66 6F 72 20 6C 65 73 73 6F 6E 20 31 39 0D 0A | for lesson 19..|
00003170: FF 70 4C 01 43 20 20 27 4C 65 73 73 6F 6E 20 32 |.pL.C 'Lesson 2|
00003180: 30 20 2D 20 4D 6F 72 65 20 61 64 64 72 65 73 73 |0 - More address|
00003190: 69 6E 67 20 6D 6F 64 65 73 0D 0A FF 29 4D 02 45 |ing modes...)M.E|
000031A0: 20 1E 45 78 65 72 63 69 73 65 20 31 20 66 6F 72 | .Exercise 1 for|
000031B0: 20 6C 65 73 73 6F 6E 20 32 30 0D 0A FF 55 5D 02 | lesson 20...U].|
000031C0: 45 20 1E 45 78 65 72 63 69 73 65 20 32 20 66 6F |E .Exercise 2 fo|
000031D0: 72 20 6C 65 73 73 6F 6E 20 32 30 0D 0A FF 28 5E |r lesson 20...(^|
000031E0: 01 43 20 20 23 4C 65 73 73 6F 6E 20 32 31 20 2D |.C #Lesson 21 -|
000031F0: 20 4D 6F 72 65 20 6F 6E 20 74 68 65 20 73 74 61 | More on the sta|
00003200: 63 6B 0D 0A FF 0D 5F 02 45 20 1E 45 78 65 72 63 |ck...._.E .Exerc|
00003210: 69 73 65 20 31 20 66 6F 72 20 6C 65 73 73 6F 6E |ise 1 for lesson|
00003220: 20 32 31 0D 0A FF 46 66 01 43 20 20 25 4C 65 73 | 21...Ff.C %Les|
00003230: 73 6F 6E 20 32 32 20 2D 20 54 68 65 20 42 49 54 |son 22 - The BIT|
00003240: 20 69 6E 73 74 72 75 63 74 69 6F 6E 0D 0A FF 0A | instruction....|
00003250: 67 02 45 20 1E 45 78 65 72 63 69 73 65 20 31 20 |g.E .Exercise 1 |
00003260: 66 6F 72 20 6C 65 73 73 6F 6E 20 32 32 0D 0A FF |for lesson 22...|
00003270: EA 69 01 43 20 1C 4C 65 73 73 6F 6E 20 32 33 20 |.i.C .Lesson 23 |
00003280: 2D 20 49 6E 74 65 72 72 75 70 74 73 0D 0A FF D1 |- Interrupts....|
00003290: 6A 01 43 20 2D B7 4C 65 73 73 6F 6E 20 32 34 20 |j.C -.Lesson 24 |
000032A0: 2D 20 57 68 61 74 20 6E 6F 77 20 3F 0D 0A FF 34 |- What now ?...4|
000032B0: 71 1F 0F 02 54 48 45 20 53 54 41 43 4B 0D 0A 0A |q...THE STACK...|
000032C0: 20 54 68 65 20 73 74 61 63 6B 20 69 73 20 6C 69 | The stack is li|
000032D0: 6B 65 20 61 20 70 69 6C 65 20 6F 66 20 70 6C 61 |ke a pile of pla|
000032E0: 74 65 73 0D 0A 73 74 61 63 6B 65 64 20 6F 6E 65 |tes..stacked one|
000032F0: 20 6F 6E 20 74 6F 70 20 6F 66 20 74 68 65 20 6F | on top of the o|
00003300: 74 68 65 72 20 74 68 61 74 0D 0A 63 61 6E 20 62 |ther that..can b|
00003310: 65 20 75 70 74 6F 20 32 35 36 20 70 6C 61 74 65 |e upto 256 plate|
00003320: 73 20 68 69 67 68 2E 20 59 6F 75 20 63 61 6E 0D |s high. You can.|
00003330: 0A 61 64 64 20 70 6C 61 74 65 73 20 74 6F 20 74 |.add plates to t|
00003340: 68 65 20 74 6F 70 20 6F 72 20 72 65 6D 6F 76 65 |he top or remove|
00003350: 20 70 6C 61 74 65 73 0D 0A 66 72 6F 6D 20 74 68 | plates..from th|
00003360: 65 20 74 6F 70 2E 20 49 66 20 79 6F 75 20 77 61 |e top. If you wa|
00003370: 6E 74 20 61 20 70 6C 61 74 65 20 6E 65 61 72 0D |nt a plate near.|
00003380: 0A 74 68 65 20 62 6F 74 74 6F 6D 2C 20 79 6F 75 |.the bottom, you|
00003390: 20 6D 75 73 74 20 73 74 61 72 74 20 66 72 6F 6D | must start from|
000033A0: 20 74 68 65 20 74 6F 70 0D 0A 74 61 6B 69 6E 67 | the top..taking|
000033B0: 20 6F 66 66 20 61 6C 6C 20 74 68 65 20 70 6C 61 | off all the pla|
000033C0: 74 65 73 2C 20 74 68 72 6F 77 69 6E 67 20 74 68 |tes, throwing th|
000033D0: 65 6D 61 77 61 79 20 75 6E 74 69 6C 20 79 6F 75 |emaway until you|
000033E0: 20 67 65 74 20 74 6F 20 74 68 65 20 70 6C 61 74 | get to the plat|
000033F0: 65 20 74 68 61 74 20 79 6F 75 77 61 6E 74 2E FE |e that youwant..|
00003400: 1F 0F 02 54 48 45 20 53 54 41 43 4B 0D 0A 0A 20 |...THE STACK... |
00003410: 54 68 65 20 73 74 61 63 6B 20 69 73 20 6F 6E 65 |The stack is one|
00003420: 20 70 61 67 65 20 6F 66 20 6D 65 6D 6F 72 79 20 | page of memory |
00003430: 74 68 61 74 0D 0A 72 65 73 69 64 65 73 20 61 74 |that..resides at|
00003440: 20 70 61 67 65 20 31 20 28 24 31 30 30 20 2D 20 | page 1 ($100 - |
00003450: 24 31 46 46 29 2E 20 54 68 65 72 65 0D 0A 69 73 |$1FF). There..is|
00003460: 20 61 20 53 54 41 43 4B 20 50 4F 49 4E 54 45 52 | a STACK POINTER|
00003470: 20 28 53 50 29 20 77 68 69 63 68 20 61 6C 77 61 | (SP) which alwa|
00003480: 79 73 0D 0A 70 6F 69 6E 74 73 20 74 6F 20 74 68 |ys..points to th|
00003490: 65 20 74 6F 70 20 6F 66 20 74 68 65 20 73 74 61 |e top of the sta|
000034A0: 63 6B 2E 20 49 74 20 69 73 0D 0A 61 20 6F 6E 65 |ck. It is..a one|
000034B0: 20 62 79 74 65 20 76 61 6C 75 65 20 61 6E 64 20 | byte value and |
000034C0: 69 73 20 75 73 65 64 20 69 6E 20 61 0D 0A 73 69 |is used in a..si|
000034D0: 6D 69 6C 61 72 20 77 61 79 20 74 6F 20 69 6E 64 |milar way to ind|
000034E0: 65 78 65 64 20 61 64 64 72 65 73 73 69 6E 67 20 |exed addressing |
000034F0: 77 68 65 72 65 0D 0A 74 68 65 20 73 74 61 63 6B |where..the stack|
00003500: 20 70 6F 69 6E 74 65 72 20 69 73 20 61 64 64 65 | pointer is adde|
00003510: 64 20 74 6F 20 24 31 30 30 20 74 6F 0D 0A 67 69 |d to $100 to..gi|
00003520: 76 65 20 61 6E 20 61 64 64 72 65 73 73 20 74 68 |ve an address th|
00003530: 61 74 20 70 6F 69 6E 74 73 20 74 6F 20 61 20 64 |at points to a d|
00003540: 61 74 61 0D 0A 69 74 65 6D 2E 20 45 61 63 68 20 |ata..item. Each |
00003550: 74 69 6D 65 20 79 6F 75 20 50 55 53 48 20 61 6E |time you PUSH an|
00003560: 20 69 74 65 6D 20 28 70 75 74 20 61 6E 69 74 65 | item (put anite|
00003570: 6D 20 6F 6E 20 74 68 65 20 73 74 61 63 6B 29 20 |m on the stack) |
00003580: 6F 72 20 50 55 4C 4C 20 61 6E 20 69 74 65 6D 0D |or PULL an item.|
00003590: 0A 28 72 65 6D 6F 76 65 20 61 20 64 61 74 61 20 |.(remove a data |
000035A0: 69 74 65 6D 20 66 72 6F 6D 20 74 68 65 20 73 74 |item from the st|
000035B0: 61 63 6B 29 2C 20 74 68 65 73 74 61 63 6B 20 70 |ack), thestack p|
000035C0: 6F 69 6E 74 65 72 20 69 73 20 75 70 64 61 74 65 |ointer is update|
000035D0: 64 2E 20 49 74 20 73 74 61 72 74 73 20 6F 66 66 |d. It starts off|
000035E0: 0D 0A 61 73 20 24 46 46 2C 20 70 6F 69 6E 74 69 |..as $FF, pointi|
000035F0: 6E 67 20 74 6F 20 24 31 46 46 2C 20 61 6E 64 20 |ng to $1FF, and |
00003600: 74 68 65 6E 20 77 68 65 6E 0D 0A 64 61 74 61 20 |then when..data |
00003610: 69 74 65 6D 73 20 61 72 65 20 61 64 64 65 64 2C |items are added,|
00003620: 20 69 74 20 64 65 63 72 65 61 73 65 73 2C 20 61 | it decreases, a|
00003630: 6E 64 20 77 68 65 6E 20 69 74 65 6D 73 20 61 72 |nd when items ar|
00003640: 65 20 70 75 6C 6C 65 64 20 66 72 6F 6D 20 74 68 |e pulled from th|
00003650: 65 20 73 74 61 63 6B 20 69 74 0D 0A 69 6E 63 72 |e stack it..incr|
00003660: 65 61 73 65 73 2E 20 4A 75 73 74 20 6C 69 6B 65 |eases. Just like|
00003670: 20 61 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 | a memory locati|
00003680: 6F 6E 0D 0A 74 68 65 20 73 74 61 63 6B 20 70 6F |on..the stack po|
00003690: 69 6E 74 65 72 20 77 69 6C 6C 20 77 72 61 70 20 |inter will wrap |
000036A0: 72 6F 75 6E 64 20 69 66 0D 0A 74 6F 6F 20 6D 61 |round if..too ma|
000036B0: 6E 79 20 69 74 65 6D 73 20 61 72 65 20 70 75 6C |ny items are pul|
000036C0: 6C 65 64 20 6F 72 20 70 75 73 68 65 64 2E FE 1F |led or pushed...|
000036D0: 0F 02 54 48 45 20 53 54 41 43 4B 0D 0A 0A 20 41 |..THE STACK... A|
000036E0: 6C 6C 20 70 72 6F 67 72 61 6D 73 20 75 73 65 64 |ll programs used|
000036F0: 20 77 69 74 68 20 74 68 69 73 20 73 69 6D 75 6C | with this simul|
00003700: 61 74 6F 72 0D 0A 61 72 65 20 73 74 6F 72 65 64 |ator..are stored|
00003710: 20 69 6E 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 | in memory locat|
00003720: 69 6F 6E 73 20 24 37 42 30 30 0D 0A 6F 6E 77 61 |ions $7B00..onwa|
00003730: 72 64 73 2E 20 49 74 20 74 61 6B 65 73 20 62 65 |rds. It takes be|
00003740: 74 77 65 65 6E 20 6F 6E 65 20 61 6E 64 20 74 68 |tween one and th|
00003750: 72 65 65 0D 0A 62 79 74 65 73 20 28 63 61 6C 6C |ree..bytes (call|
00003760: 65 64 20 6F 70 2D 63 6F 64 65 20 62 79 74 65 73 |ed op-code bytes|
00003770: 20 69 66 20 75 73 65 64 20 66 6F 72 0D 0A 65 78 | if used for..ex|
00003780: 65 63 75 74 69 6F 6E 20 6F 66 20 61 20 70 72 6F |ecution of a pro|
00003790: 67 72 61 6D 29 20 74 6F 20 6D 61 6B 65 20 75 70 |gram) to make up|
000037A0: 20 61 6E 0D 0A 69 6E 73 74 72 75 63 74 69 6F 6E | an..instruction|
000037B0: 2E 20 59 6F 75 20 63 61 6E 20 73 65 65 20 74 68 |. You can see th|
000037C0: 65 20 61 64 64 72 65 73 73 65 73 0D 0A 61 6E 64 |e addresses..and|
000037D0: 20 6F 70 2D 63 6F 64 65 20 62 79 74 65 73 20 66 | op-code bytes f|
000037E0: 6F 72 20 65 61 63 68 20 69 6E 73 74 72 75 63 74 |or each instruct|
000037F0: 69 6F 6E 0D 0A 64 69 73 70 6C 61 79 65 64 20 69 |ion..displayed i|
00003800: 66 20 79 6F 75 20 77 61 6E 74 2C 20 62 79 20 70 |f you want, by p|
00003810: 72 65 73 73 69 6E 67 20 74 68 65 0D 0A 66 75 6E |ressing the..fun|
00003820: 63 74 69 6F 6E 20 6B 65 79 20 6D 61 72 6B 65 64 |ction key marked|
00003830: 20 27 66 33 27 20 77 68 65 6E 20 74 68 65 0D 0A | 'f3' when the..|
00003840: 70 72 6F 67 72 61 6D 20 69 73 20 72 75 6E 6E 69 |program is runni|
00003850: 6E 67 2E 20 54 6F 20 72 65 76 65 72 74 20 74 6F |ng. To revert to|
00003860: 20 74 68 65 0D 0A 6E 6F 72 6D 61 6C 20 6D 6F 64 | the..normal mod|
00003870: 65 20 70 72 65 73 73 20 27 66 33 27 20 61 67 61 |e press 'f3' aga|
00003880: 69 6E 2E FE 1F 0F 02 54 48 45 20 53 54 41 43 4B |in.....THE STACK|
00003890: 0D 0A 0A 20 54 68 65 20 73 74 61 63 6B 20 69 73 |... The stack is|
000038A0: 20 70 61 72 74 69 63 75 6C 61 72 69 6C 79 20 75 | particularily u|
000038B0: 73 65 66 75 6C 20 69 6E 0D 0A 74 68 65 20 74 65 |seful in..the te|
000038C0: 6D 70 6F 72 61 72 79 20 73 74 6F 72 61 67 65 20 |mporary storage |
000038D0: 6F 66 20 64 61 74 61 2E 20 54 68 65 20 36 35 30 |of data. The 650|
000038E0: 32 0D 0A 75 73 65 73 20 69 74 20 69 74 73 65 6C |2..uses it itsel|
000038F0: 66 2E 20 48 6F 77 20 69 74 20 64 6F 65 73 20 73 |f. How it does s|
00003900: 6F 20 77 69 6C 6C 20 62 65 0D 0A 64 69 73 63 75 |o will be..discu|
00003910: 73 73 65 64 20 61 20 6C 69 74 74 6C 65 20 6C 61 |ssed a little la|
00003920: 74 65 72 20 6F 6E 2E 0D 0A 20 54 6F 20 6B 65 65 |ter on... To kee|
00003930: 70 20 74 72 61 63 6B 20 6F 66 20 77 68 69 63 68 |p track of which|
00003940: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 69 73 0D | instruction is.|
00003950: 0A 62 65 69 6E 67 20 65 78 65 63 75 74 65 64 20 |.being executed |
00003960: 61 20 50 52 4F 47 52 41 4D 20 43 4F 55 4E 54 45 |a PROGRAM COUNTE|
00003970: 52 20 28 50 43 29 20 69 73 75 73 65 64 2E 20 54 |R (PC) isused. T|
00003980: 68 69 73 20 6D 61 6B 65 73 20 73 75 72 65 20 74 |his makes sure t|
00003990: 68 61 74 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 |hat instructions|
000039A0: 0D 0A 61 72 65 20 65 78 65 63 75 74 65 64 20 69 |..are executed i|
000039B0: 6E 20 74 68 65 20 72 69 67 68 74 20 6F 72 64 65 |n the right orde|
000039C0: 72 20 61 6E 64 20 69 74 0D 0A 63 6F 70 65 73 20 |r and it..copes |
000039D0: 77 69 74 68 20 6A 75 6D 70 73 2C 20 62 72 61 6E |with jumps, bran|
000039E0: 63 68 65 73 20 61 6E 64 0D 0A 73 75 62 72 6F 75 |ches and..subrou|
000039F0: 74 69 6E 65 73 2E 20 49 74 20 69 73 20 61 20 31 |tines. It is a 1|
00003A00: 36 20 62 69 74 20 6E 75 6D 62 65 72 0D 0A 63 6F |6 bit number..co|
00003A10: 6E 74 61 69 6E 65 64 20 69 6E 73 69 64 65 20 74 |ntained inside t|
00003A20: 68 65 20 36 35 30 32 2E FE 1F 0F 02 54 48 45 20 |he 6502.....THE |
00003A30: 53 54 41 43 4B 0D 0A 0A 20 41 66 74 65 72 20 65 |STACK... After e|
00003A40: 61 63 68 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 |ach instruction |
00003A50: 74 68 65 20 70 72 6F 67 72 61 6D 0D 0A 63 6F 75 |the program..cou|
00003A60: 6E 74 65 72 20 69 73 20 75 70 64 61 74 65 64 20 |nter is updated |
00003A70: 74 6F 20 70 6F 69 6E 74 20 74 6F 20 74 68 65 0D |to point to the.|
00003A80: 0A 6E 65 78 74 20 69 6E 73 74 72 75 63 74 69 6F |.next instructio|
00003A90: 6E 20 74 6F 20 62 65 20 65 78 65 63 75 74 65 64 |n to be executed|
00003AA0: 2E 4E 6F 72 6D 61 6C 6C 79 20 74 68 69 73 20 6D |.Normally this m|
00003AB0: 65 61 6E 73 20 74 68 61 74 20 74 68 65 20 70 72 |eans that the pr|
00003AC0: 6F 67 72 61 6D 0D 0A 63 6F 75 6E 74 65 72 20 69 |ogram..counter i|
00003AD0: 73 20 69 6E 63 72 65 61 73 65 64 20 62 79 20 74 |s increased by t|
00003AE0: 68 65 20 6E 75 6D 62 65 72 20 6F 66 0D 0A 62 79 |he number of..by|
00003AF0: 74 65 73 20 69 6E 20 61 6E 20 69 6E 73 74 72 75 |tes in an instru|
00003B00: 63 74 69 6F 6E 2E 20 57 69 74 68 20 6A 75 6D 70 |ction. With jump|
00003B10: 73 20 69 74 0D 0A 69 73 20 6C 6F 61 64 65 64 20 |s it..is loaded |
00003B20: 77 69 74 68 20 61 20 63 6F 6D 70 6C 65 74 65 20 |with a complete |
00003B30: 6E 65 77 20 76 61 6C 75 65 2E 0D 0A 57 69 74 68 |new value...With|
00003B40: 20 62 72 61 6E 63 68 65 73 20 28 72 65 6C 61 74 | branches (relat|
00003B50: 69 76 65 20 6A 75 6D 70 73 29 20 74 68 65 72 65 |ive jumps) there|
00003B60: 0D 0A 69 73 20 61 6E 20 6F 66 66 73 65 74 20 62 |..is an offset b|
00003B70: 79 74 65 20 77 68 69 63 68 20 69 73 20 61 64 64 |yte which is add|
00003B80: 65 64 20 74 6F 20 74 68 65 0D 0A 70 72 6F 67 72 |ed to the..progr|
00003B90: 61 6D 20 63 6F 75 6E 74 65 72 2E 20 49 74 20 63 |am counter. It c|
00003BA0: 61 6E 20 61 6C 73 6F 20 62 65 20 61 0D 0A 6E 65 |an also be a..ne|
00003BB0: 67 61 74 69 76 65 20 6E 75 6D 62 65 72 20 69 66 |gative number if|
00003BC0: 20 62 69 74 20 37 20 69 73 20 73 65 74 20 28 75 | bit 7 is set (u|
00003BD0: 73 69 6E 67 0D 0A 74 77 6F 27 73 20 63 6F 6D 70 |sing..two's comp|
00003BE0: 6C 65 6D 65 6E 74 29 2E 20 54 68 65 72 65 66 6F |lement). Therefo|
00003BF0: 72 65 20 61 20 62 72 61 6E 63 68 0D 0A 63 61 6E |re a branch..can|
00003C00: 20 6F 6E 6C 79 20 63 68 61 6E 67 65 20 74 68 65 | only change the|
00003C10: 20 70 72 6F 67 72 61 6D 20 63 6F 75 6E 74 65 72 | program counter|
00003C20: 20 62 79 0D 0A 31 32 37 20 66 6F 72 77 61 72 64 | by..127 forward|
00003C30: 73 20 6F 72 20 31 32 38 20 62 61 63 6B 77 61 72 |s or 128 backwar|
00003C40: 64 73 2E 20 54 68 69 73 20 69 73 20 61 6C 69 6D |ds. This is alim|
00003C50: 69 74 61 74 69 6F 6E 20 77 68 65 6E 20 77 72 69 |itation when wri|
00003C60: 74 69 6E 67 20 61 20 6C 6F 6E 67 20 70 72 6F 67 |ting a long prog|
00003C70: 72 61 6D 0D 0A 62 75 74 20 73 68 6F 75 6C 64 20 |ram..but should |
00003C80: 6E 6F 74 20 61 66 66 65 63 74 20 79 6F 75 20 77 |not affect you w|
00003C90: 68 65 6E 20 77 72 69 74 69 6E 67 0D 0A 70 72 6F |hen writing..pro|
00003CA0: 67 72 61 6D 73 20 77 69 74 68 20 74 68 69 73 20 |grams with this |
00003CB0: 73 69 6D 75 6C 61 74 6F 72 2E FE 1F 0F 02 54 48 |simulator.....TH|
00003CC0: 45 20 53 54 41 43 4B 0D 0A 0A 20 4F 6E 65 20 6F |E STACK... One o|
00003CD0: 66 20 74 68 65 20 77 61 79 73 20 74 68 65 20 36 |f the ways the 6|
00003CE0: 35 30 32 20 75 73 65 73 20 74 68 65 20 73 74 61 |502 uses the sta|
00003CF0: 63 6B 69 73 20 74 6F 20 65 6E 73 75 72 65 20 74 |ckis to ensure t|
00003D00: 68 61 74 20 4A 53 52 20 69 6E 73 74 72 75 63 74 |hat JSR instruct|
00003D10: 69 6F 6E 73 20 77 6F 72 6B 0D 0A 70 72 6F 70 65 |ions work..prope|
00003D20: 72 6C 79 2C 20 61 6E 64 20 74 68 61 74 20 77 68 |rly, and that wh|
00003D30: 65 6E 20 61 6E 20 52 54 53 0D 0A 69 6E 73 74 72 |en an RTS..instr|
00003D40: 75 63 74 69 6F 6E 20 69 73 20 65 78 65 63 75 74 |uction is execut|
00003D50: 65 64 2C 20 63 6F 6E 74 72 6F 6C 20 69 73 0D 0A |ed, control is..|
00003D60: 70 61 73 73 65 64 20 74 6F 20 74 68 65 20 69 6E |passed to the in|
00003D70: 73 74 72 75 63 74 69 6F 6E 20 69 6D 6D 65 64 69 |struction immedi|
00003D80: 61 74 65 6C 79 0D 0A 66 6F 6C 6C 6F 77 69 6E 67 |ately..following|
00003D90: 20 74 68 65 20 4A 53 52 20 69 6E 73 74 72 75 63 | the JSR instruc|
00003DA0: 74 69 6F 6E 2E 20 54 68 69 73 20 69 73 0D 0A 64 |tion. This is..d|
00003DB0: 6F 6E 65 20 62 79 20 70 75 73 68 69 6E 67 20 74 |one by pushing t|
00003DC0: 68 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 74 |he contents of t|
00003DD0: 68 65 0D 0A 70 72 6F 67 72 61 6D 20 63 6F 75 6E |he..program coun|
00003DE0: 74 65 72 20 6F 6E 74 6F 20 74 68 65 20 73 74 61 |ter onto the sta|
00003DF0: 63 6B 2E 20 54 68 69 73 0D 0A 69 73 20 61 6C 77 |ck. This..is alw|
00003E00: 61 79 73 20 74 68 65 20 61 64 64 72 65 73 73 20 |ays the address |
00003E10: 6F 66 20 74 68 65 20 6D 65 6D 6F 72 79 0D 0A 6C |of the memory..l|
00003E20: 6F 63 61 74 69 6F 6E 20 77 68 65 72 65 20 74 68 |ocation where th|
00003E30: 65 20 6F 70 2D 63 6F 64 65 20 66 6F 72 20 74 68 |e op-code for th|
00003E40: 65 20 4A 53 52 0D 0A 69 6E 73 74 72 75 63 74 69 |e JSR..instructi|
00003E50: 6F 6E 20 69 73 2C 20 70 6C 75 73 20 74 77 6F 2E |on is, plus two.|
00003E60: 20 54 68 65 6E 2C 20 77 68 65 6E 0D 0A 74 68 65 | Then, when..the|
00003E70: 20 52 54 53 20 69 6E 73 74 72 75 63 74 69 6F 6E | RTS instruction|
00003E80: 20 69 73 20 65 78 65 63 75 74 65 64 2C 20 74 68 | is executed, th|
00003E90: 69 73 0D 0A 31 36 20 62 69 74 20 6E 75 6D 62 65 |is..16 bit numbe|
00003EA0: 72 20 69 73 20 74 68 65 6E 20 70 75 6C 6C 65 64 |r is then pulled|
00003EB0: 20 6F 66 66 20 66 72 6F 6D 0D 0A 74 68 65 20 73 | off from..the s|
00003EC0: 74 61 63 6B 20 61 6E 64 20 6F 6E 65 20 69 73 20 |tack and one is |
00003ED0: 61 64 64 65 64 20 74 6F 20 69 74 2C 20 61 6E 64 |added to it, and|
00003EE0: 0D 0A 74 68 69 73 20 76 61 6C 75 65 20 69 73 20 |..this value is |
00003EF0: 70 75 74 20 69 6E 74 6F 20 74 68 65 20 70 72 6F |put into the pro|
00003F00: 67 72 61 6D 0D 0A 63 6F 75 6E 74 65 72 2E 20 54 |gram..counter. T|
00003F10: 68 69 73 20 68 61 73 20 74 68 65 20 65 66 66 65 |his has the effe|
00003F20: 63 74 20 6F 66 20 74 68 65 20 6E 65 78 74 69 6E |ct of the nextin|
00003F30: 73 74 72 75 63 74 69 6F 6E 20 65 78 65 63 75 74 |struction execut|
00003F40: 65 64 20 62 65 69 6E 67 20 74 68 65 20 6F 6E 65 |ed being the one|
00003F50: 0D 0A 69 6D 6D 65 64 69 61 74 65 6C 79 20 61 66 |..immediately af|
00003F60: 74 65 72 20 74 68 65 20 6F 72 69 67 69 6E 61 74 |ter the originat|
00003F70: 69 6E 67 20 4A 53 52 0D 0A 69 6E 73 74 72 75 63 |ing JSR..instruc|
00003F80: 74 69 6F 6E 2E FE 1F 0F 02 54 48 45 20 53 54 41 |tion.....THE STA|
00003F90: 43 4B 0D 0A 0A 20 48 65 72 65 20 69 73 20 61 20 |CK... Here is a |
00003FA0: 6C 69 73 74 20 6F 66 20 69 6E 73 74 72 75 63 74 |list of instruct|
00003FB0: 69 6F 6E 73 20 74 68 61 74 0D 0A 61 72 65 20 61 |ions that..are a|
00003FC0: 73 73 6F 63 69 61 74 65 64 20 77 69 74 68 20 74 |ssociated with t|
00003FD0: 68 65 20 73 74 61 63 6B 0D 0A 0A 82 50 48 41 87 |he stack....PHA.|
00003FE0: 2D 20 50 55 53 48 20 41 43 43 55 4D 55 4C 41 54 |- PUSH ACCUMULAT|
00003FF0: 4F 52 20 4F 4E 54 4F 20 53 54 41 43 4B 0D 0A 0A |OR ONTO STACK...|
00004000: 86 50 4C 41 87 2D 20 50 55 4C 4C 20 41 43 43 55 |.PLA.- PULL ACCU|
00004010: 4D 55 4C 41 54 4F 52 20 46 52 4F 4D 20 53 54 41 |MULATOR FROM STA|
00004020: 43 4B 0D 0A 0A 83 54 53 58 87 2D 20 54 52 41 4E |CK....TSX.- TRAN|
00004030: 53 46 45 52 20 56 41 4C 55 45 20 4F 46 20 53 54 |SFER VALUE OF ST|
00004040: 41 43 4B 20 50 4F 49 4E 54 45 52 0D 0A 47 20 20 |ACK POINTER..G |
00004050: 35 54 4F 20 58 20 52 45 47 49 53 54 45 52 0D 0A |5TO X REGISTER..|
00004060: 0A 84 54 58 53 87 2D 20 54 52 41 4E 53 46 45 52 |..TXS.- TRANSFER|
00004070: 20 56 41 4C 55 45 20 4F 46 20 58 20 52 45 47 49 | VALUE OF X REGI|
00004080: 53 54 45 52 0D 0A 47 20 11 54 4F 20 53 54 41 43 |STER..G .TO STAC|
00004090: 4B 20 50 4F 49 4E 54 45 52 0D 43 0A 20 6C 41 20 |K POINTER.C. lA |
000040A0: 64 65 6D 6F 6E 73 74 72 61 74 69 6F 6E 20 70 72 |demonstration pr|
000040B0: 6F 67 72 61 6D 20 69 73 20 67 69 76 65 6E 20 74 |ogram is given t|
000040C0: 6F 20 73 68 6F 77 74 68 65 20 65 66 66 65 63 74 |o showthe effect|
000040D0: 20 6F 66 20 74 68 65 73 65 20 61 6E 64 20 74 68 | of these and th|
000040E0: 65 20 4A 53 52 20 61 6E 64 0D 0A 52 54 53 20 69 |e JSR and..RTS i|
000040F0: 6E 73 74 72 75 63 74 69 6F 6E 73 20 6F 6E 20 74 |nstructions on t|
00004100: 68 65 20 73 74 61 63 6B 2E FF 47 20 04 54 53 58 |he stack..G .TSX|
00004110: 0D 47 20 0D 4A 53 52 20 4E 4F 52 45 54 0D 52 45 |.G .JSR NORET.RE|
00004120: 54 44 20 09 4C 44 41 20 23 24 37 42 0D 47 20 04 |TD .LDA #$7B.G .|
00004130: 50 48 41 0D 47 20 09 4C 44 41 20 23 24 31 32 0D |PHA.G .LDA #$12.|
00004140: 47 20 04 50 48 41 0D 47 20 04 54 53 58 0D 47 20 |G .PHA.G .TSX.G |
00004150: 0F 52 54 53 0D 4E 4F 52 45 54 20 20 50 4C 41 0D |.RTS.NORET PLA.|
00004160: 47 20 04 54 53 58 0D 47 20 04 50 4C 41 0D 47 20 |G .TSX.G .PLA.G |
00004170: 04 54 53 58 0D 47 20 0B 4A 4D 50 20 52 45 54 0D |.TSX.G .JMP RET.|
00004180: 45 4E 44 44 20 04 54 53 58 0D 47 20 21 B7 42 52 |ENDD .TSX.G !.BR|
00004190: 4B FF 1F 0A 02 4D 4F 52 45 20 41 44 44 52 45 53 |K....MORE ADDRES|
000041A0: 53 49 4E 47 20 4D 4F 44 45 53 0D 0A 0A 53 6F 20 |SING MODES...So |
000041B0: 66 61 72 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E |far the followin|
000041C0: 67 20 61 64 64 72 65 73 73 69 6E 67 20 6D 6F 64 |g addressing mod|
000041D0: 65 73 0D 0A 68 61 76 65 20 62 65 65 6E 20 75 73 |es..have been us|
000041E0: 65 64 3A 0D 0A 0A 82 49 4D 50 4C 49 45 44 0D 0A |ed:....IMPLIED..|
000041F0: 54 68 65 73 65 20 69 6E 73 74 72 75 63 74 69 6F |These instructio|
00004200: 6E 73 20 61 72 65 20 6A 75 73 74 20 74 68 72 65 |ns are just thre|
00004210: 65 0D 0A 6C 65 74 74 65 72 73 20 6F 6E 20 74 68 |e..letters on th|
00004220: 65 69 72 20 6F 77 6E 2C 20 70 65 72 66 6F 72 6D |eir own, perform|
00004230: 69 6E 67 20 61 0D 0A 73 69 6D 70 6C 65 20 74 61 |ing a..simple ta|
00004240: 73 6B 2C 20 6C 69 6B 65 20 54 58 53 20 66 6F 72 |sk, like TXS for|
00004250: 20 65 78 61 6D 70 6C 65 2E 20 54 68 65 79 20 6F | example. They o|
00004260: 6E 6C 79 20 72 65 71 75 69 72 65 20 6F 6E 65 20 |nly require one |
00004270: 62 79 74 65 20 70 65 72 20 69 6E 73 74 72 75 63 |byte per instruc|
00004280: 74 69 6F 6E 2E 0D 0A 0A 86 41 42 53 4F 4C 55 54 |tion.....ABSOLUT|
00004290: 45 0D 0A 54 68 65 73 65 20 61 72 65 20 73 69 6D |E..These are sim|
000042A0: 70 6C 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 |ple instructions|
000042B0: 20 74 68 61 74 0D 0A 61 66 66 65 63 74 20 6D 65 | that..affect me|
000042C0: 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 73 20 77 |mory locations w|
000042D0: 68 6F 73 65 20 61 64 64 72 65 73 73 0D 0A 69 73 |hose address..is|
000042E0: 20 67 72 65 61 74 65 72 20 74 68 61 6E 20 32 35 | greater than 25|
000042F0: 35 20 28 70 61 67 65 20 31 20 6F 72 20 61 62 6F |5 (page 1 or abo|
00004300: 76 65 29 2E 0D 0A 54 68 72 65 65 20 62 79 74 65 |ve)...Three byte|
00004310: 73 20 61 72 65 20 75 73 65 64 20 70 65 72 20 69 |s are used per i|
00004320: 6E 73 74 72 75 63 74 69 6F 6E 2E FE 1F 0A 02 4D |nstruction.....M|
00004330: 4F 52 45 20 41 44 44 52 45 53 53 49 4E 47 20 4D |ORE ADDRESSING M|
00004340: 4F 44 45 53 0D 43 0A 2B 98 81 5A 45 52 4F 20 50 |ODES.C.+..ZERO P|
00004350: 41 47 45 0D 0A 54 68 69 73 20 6D 6F 64 65 20 69 |AGE..This mode i|
00004360: 73 20 65 78 61 63 74 6C 79 20 74 68 65 20 73 61 |s exactly the sa|
00004370: 6D 65 20 61 73 20 74 68 65 0D 0A 61 62 73 6F 6C |me as the..absol|
00004380: 75 74 65 20 6D 6F 64 65 2C 20 65 78 63 65 70 74 |ute mode, except|
00004390: 20 74 68 61 74 20 6F 6E 6C 79 20 74 77 6F 0D 0A | that only two..|
000043A0: 62 79 74 65 73 20 61 72 65 20 75 73 65 64 20 70 |bytes are used p|
000043B0: 65 72 20 69 6E 73 74 72 75 63 74 69 6F 6E 2E 20 |er instruction. |
000043C0: 54 68 69 73 0D 0A 69 73 20 62 65 63 61 75 73 65 |This..is because|
000043D0: 20 74 68 65 20 4D 53 42 20 69 73 20 61 73 73 75 | the MSB is assu|
000043E0: 6D 65 64 20 74 6F 20 62 65 20 30 0D 0A 61 73 20 |med to be 0..as |
000043F0: 61 6C 6C 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 |all memory locat|
00004400: 69 6F 6E 73 20 75 73 69 6E 67 20 74 68 69 73 20 |ions using this |
00004410: 66 6F 72 6D 0D 0A 6F 66 20 61 64 64 72 65 73 73 |form..of address|
00004420: 69 6E 67 20 61 72 65 20 6F 6E 20 70 61 67 65 20 |ing are on page |
00004430: 30 2E 0D 0A 0A 83 49 4D 4D 45 44 49 41 54 45 0D |0.....IMMEDIATE.|
00004440: 0A 54 68 69 73 20 6D 6F 64 65 20 61 6C 73 6F 20 |.This mode also |
00004450: 72 65 71 75 69 72 65 73 20 74 77 6F 20 62 79 74 |requires two byt|
00004460: 65 73 20 66 6F 72 0D 0A 65 61 63 68 20 69 6E 73 |es for..each ins|
00004470: 74 72 75 63 74 69 6F 6E 2E 20 49 6D 6D 65 64 69 |truction. Immedi|
00004480: 61 74 65 20 69 73 20 77 68 65 72 65 0D 0A 61 6E |ate is where..an|
00004490: 20 61 63 74 75 61 6C 20 6E 75 6D 62 65 72 20 69 | actual number i|
000044A0: 73 20 67 69 76 65 6E 20 69 6E 73 74 65 61 64 20 |s given instead |
000044B0: 6F 66 20 61 0D 0A 6D 65 6D 6F 72 79 20 6C 6F 63 |of a..memory loc|
000044C0: 61 74 69 6F 6E 20 61 64 64 72 65 73 73 2E 20 54 |ation address. T|
000044D0: 68 65 20 27 23 27 20 73 79 6D 62 6F 6C 0D 0A 69 |he '#' symbol..i|
000044E0: 73 20 75 73 65 64 20 74 6F 20 73 70 65 63 69 66 |s used to specif|
000044F0: 79 20 74 68 69 73 20 6D 6F 64 65 20 6F 66 0D 0A |y this mode of..|
00004500: 61 64 64 72 65 73 73 69 6E 67 20 77 69 74 68 20 |addressing with |
00004510: 61 73 73 65 6D 62 6C 65 72 73 20 28 69 6E 63 6C |assemblers (incl|
00004520: 75 64 69 6E 67 0D 0A 74 68 69 73 20 6F 6E 65 29 |uding..this one)|
00004530: 2E FE 1F 0A 02 4D 4F 52 45 20 41 44 44 52 45 53 |.....MORE ADDRES|
00004540: 53 49 4E 47 20 4D 4F 44 45 53 0D 0A 0A 81 41 42 |SING MODES....AB|
00004550: 53 4F 4C 55 54 45 2C 59 0D 0A 54 68 69 73 20 69 |SOLUTE,Y..This i|
00004560: 73 20 74 68 65 20 73 61 6D 65 20 61 73 20 61 62 |s the same as ab|
00004570: 73 6F 6C 75 74 65 20 61 64 64 72 65 73 73 69 6E |solute addressin|
00004580: 67 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 |g except that th|
00004590: 65 20 63 6F 6E 74 65 6E 74 73 20 6F 66 20 74 68 |e contents of th|
000045A0: 65 20 59 0D 0A 72 65 67 69 73 74 65 72 20 61 72 |e Y..register ar|
000045B0: 65 20 61 64 64 65 64 20 74 6F 20 74 68 65 20 73 |e added to the s|
000045C0: 70 65 63 69 66 69 65 64 0D 0A 61 64 64 72 65 73 |pecified..addres|
000045D0: 73 20 74 6F 20 67 69 76 65 20 61 20 72 65 73 75 |s to give a resu|
000045E0: 6C 74 69 6E 67 20 61 64 64 72 65 73 73 20 6F 66 |lting address of|
000045F0: 0D 0A 61 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 |..a memory locat|
00004600: 69 6F 6E 2E 0D 0A 0A 83 41 42 53 4F 4C 55 54 45 |ion.....ABSOLUTE|
00004610: 2C 58 0D 0A 54 68 69 73 20 69 73 20 74 68 65 20 |,X..This is the |
00004620: 73 61 6D 65 20 61 73 20 41 42 53 4F 4C 55 54 45 |same as ABSOLUTE|
00004630: 2C 59 0D 0A 61 64 64 72 65 73 73 69 6E 67 20 65 |,Y..addressing e|
00004640: 78 63 65 70 74 20 74 68 65 20 58 20 72 65 67 69 |xcept the X regi|
00004650: 73 74 65 72 20 69 73 0D 0A 61 64 64 65 64 20 69 |ster is..added i|
00004660: 6E 73 74 65 61 64 20 6F 66 20 74 68 65 20 59 20 |nstead of the Y |
00004670: 72 65 67 69 73 74 65 72 2E FE 1F 0A 02 4D 4F 52 |register.....MOR|
00004680: 45 20 41 44 44 52 45 53 53 49 4E 47 20 4D 4F 44 |E ADDRESSING MOD|
00004690: 45 53 0D 0A 0A 82 5A 45 52 4F 20 50 41 47 45 2C |ES....ZERO PAGE,|
000046A0: 59 0D 0A 54 68 69 73 20 69 73 20 74 68 65 20 73 |Y..This is the s|
000046B0: 61 6D 65 20 61 73 20 41 42 53 4F 4C 55 54 45 2C |ame as ABSOLUTE,|
000046C0: 59 0D 0A 65 78 63 65 70 74 20 74 68 61 74 20 61 |Y..except that a|
000046D0: 20 7A 65 72 6F 20 70 61 67 65 20 61 64 64 72 65 | zero page addre|
000046E0: 73 73 20 69 73 0D 0A 67 69 76 65 6E 20 61 6E 64 |ss is..given and|
000046F0: 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E | the instruction|
00004700: 20 6F 6E 6C 79 20 74 61 6B 65 73 0D 0A 74 77 6F | only takes..two|
00004710: 20 62 79 74 65 73 20 61 73 20 6F 70 70 6F 73 65 | bytes as oppose|
00004720: 64 20 74 6F 20 74 68 72 65 65 20 6E 65 65 64 65 |d to three neede|
00004730: 64 0D 0A 62 79 20 41 42 53 4F 4C 55 54 45 2C 59 |d..by ABSOLUTE,Y|
00004740: 20 61 64 64 72 65 73 73 69 6E 67 2E 0D 0A 0A 81 | addressing.....|
00004750: 5A 45 52 4F 20 50 41 47 45 2C 58 0D 0A 54 68 69 |ZERO PAGE,X..Thi|
00004760: 73 20 69 73 20 74 68 65 20 73 61 6D 65 20 61 73 |s is the same as|
00004770: 20 5A 45 52 4F 20 50 41 47 45 2C 59 20 66 6F 72 | ZERO PAGE,Y for|
00004780: 6D 0D 0A 6F 66 20 61 64 64 72 65 73 73 69 6E 67 |m..of addressing|
00004790: 20 65 78 63 65 70 74 20 74 68 65 20 58 20 72 65 | except the X re|
000047A0: 67 69 73 74 65 72 20 69 73 0D 0A 75 73 65 64 20 |gister is..used |
000047B0: 69 6E 73 74 65 61 64 20 6F 66 20 74 68 65 20 59 |instead of the Y|
000047C0: 20 72 65 67 69 73 74 65 72 2E 20 54 68 69 73 0D | register. This.|
000047D0: 0A 6D 6F 64 65 20 61 6C 73 6F 20 6F 6E 6C 79 20 |.mode also only |
000047E0: 72 65 71 75 69 72 65 73 20 74 77 6F 20 62 79 74 |requires two byt|
000047F0: 65 73 2E FE 1F 08 02 81 50 4F 53 54 20 49 4E 44 |es......POST IND|
00004800: 45 58 45 44 20 41 44 44 52 45 53 53 49 4E 47 0D |EXED ADDRESSING.|
00004810: 0A 0A 20 54 68 69 73 20 6D 6F 64 65 20 6F 66 20 |.. This mode of |
00004820: 61 64 64 72 65 73 73 69 6E 67 20 69 73 20 76 65 |addressing is ve|
00004830: 72 79 20 75 73 65 66 75 6C 20 69 6E 64 65 65 64 |ry useful indeed|
00004840: 2E 20 41 6E 20 65 78 61 6D 70 6C 65 20 6F 66 20 |. An example of |
00004850: 75 73 69 6E 67 20 74 68 69 73 20 6D 6F 64 65 0D |using this mode.|
00004860: 0A 6F 66 20 61 64 64 72 65 73 73 69 6E 67 20 69 |.of addressing i|
00004870: 73 20 53 54 41 20 28 37 38 29 2C 59 2E 20 57 68 |s STA (78),Y. Wh|
00004880: 65 6E 0D 0A 74 68 69 73 20 69 6E 73 74 72 75 63 |en..this instruc|
00004890: 74 69 6F 6E 20 69 73 20 65 78 65 63 75 74 65 64 |tion is executed|
000048A0: 2C 20 74 68 65 20 36 35 30 32 0D 0A 77 69 6C 6C |, the 6502..will|
000048B0: 20 6C 6F 6F 6B 20 75 70 20 6C 6F 63 61 74 69 6F | look up locatio|
000048C0: 6E 73 20 37 38 20 61 6E 64 20 37 39 20 69 6E 20 |ns 78 and 79 in |
000048D0: 7A 65 72 6F 70 61 67 65 2E 20 4C 6F 63 61 74 69 |zeropage. Locati|
000048E0: 6F 6E 20 37 38 20 77 69 6C 6C 20 66 6F 72 6D 20 |on 78 will form |
000048F0: 74 68 65 20 4C 53 42 20 6F 66 0D 0A 74 68 65 20 |the LSB of..the |
00004900: 61 64 64 72 65 73 73 20 61 6E 64 20 6C 6F 63 61 |address and loca|
00004910: 74 69 6F 6E 20 37 39 20 77 69 6C 6C 20 66 6F 72 |tion 79 will for|
00004920: 6D 0D 0A 74 68 65 20 4D 53 42 20 6F 66 20 74 68 |m..the MSB of th|
00004930: 65 20 61 64 64 72 65 73 73 2E 20 54 68 65 72 65 |e address. There|
00004940: 66 6F 72 65 20 69 66 0D 0A 6C 6F 63 61 74 69 6F |fore if..locatio|
00004950: 6E 20 37 38 20 77 65 72 65 20 74 6F 20 68 6F 6C |n 78 were to hol|
00004960: 64 20 68 65 78 20 31 33 20 61 6E 64 0D 0A 6C 6F |d hex 13 and..lo|
00004970: 63 61 74 69 6F 6E 20 37 39 20 77 65 72 65 20 74 |cation 79 were t|
00004980: 6F 20 68 6F 6C 64 20 68 65 78 20 32 46 20 77 68 |o hold hex 2F wh|
00004990: 65 6E 0D 0A 74 68 65 20 70 72 6F 67 72 61 6D 20 |en..the program |
000049A0: 77 61 73 20 72 75 6E 6E 69 6E 67 20 74 68 65 6E |was running then|
000049B0: 20 74 68 65 0D 0A 72 65 73 75 6C 74 69 6E 67 20 | the..resulting |
000049C0: 61 64 64 72 65 73 73 20 6F 66 20 74 68 65 20 6D |address of the m|
000049D0: 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 77 6F |emory locationwo|
000049E0: 75 6C 64 20 62 65 20 68 65 78 20 32 46 31 33 2E |uld be hex 2F13.|
000049F0: 20 41 66 74 65 72 20 74 68 69 73 20 61 64 64 72 | After this addr|
00004A00: 65 73 73 0D 0A 68 61 73 20 62 65 65 6E 20 63 61 |ess..has been ca|
00004A10: 6C 63 75 6C 61 74 65 64 20 74 68 65 20 59 20 72 |lculated the Y r|
00004A20: 65 67 69 73 74 65 72 20 69 73 0D 0A 61 64 64 65 |egister is..adde|
00004A30: 64 20 74 6F 20 69 74 20 74 6F 20 66 6F 72 6D 20 |d to it to form |
00004A40: 74 68 65 20 66 69 6E 61 6C 20 61 64 64 72 65 73 |the final addres|
00004A50: 73 2E 0D 0A 53 6F 20 69 66 20 74 68 65 20 59 20 |s...So if the Y |
00004A60: 72 65 67 69 73 74 65 72 20 68 65 6C 64 20 35 20 |register held 5 |
00004A70: 77 68 65 6E 20 74 68 65 0D 0A 36 35 30 32 20 74 |when the..6502 t|
00004A80: 72 69 65 64 20 74 6F 20 65 78 65 63 75 74 65 20 |ried to execute |
00004A90: 74 68 65 20 61 62 6F 76 65 0D 0A 69 6E 73 74 72 |the above..instr|
00004AA0: 75 63 74 69 6F 6E 2C 20 74 68 65 20 36 35 30 32 |uction, the 6502|
00004AB0: 20 77 6F 75 6C 64 20 73 74 6F 72 65 20 74 68 65 | would store the|
00004AC0: 0D 0A 61 63 63 75 6D 75 6C 61 74 6F 72 20 61 74 |..accumulator at|
00004AD0: 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E | memory location|
00004AE0: 20 68 65 78 20 32 46 31 38 2E FE 1F 03 02 82 50 | hex 2F18......P|
00004AF0: 52 45 2D 49 4E 44 45 58 45 44 20 49 4E 44 49 52 |RE-INDEXED INDIR|
00004B00: 45 43 54 20 41 44 44 52 45 53 53 49 4E 47 0D 0A |ECT ADDRESSING..|
00004B10: 54 68 69 73 20 69 73 20 61 20 76 65 72 79 20 72 |This is a very r|
00004B20: 61 72 65 6C 79 20 75 73 65 64 20 66 6F 72 6D 20 |arely used form |
00004B30: 6F 66 0D 0A 61 64 64 72 65 73 73 69 6E 67 2E 20 |of..addressing. |
00004B40: 49 74 20 77 69 6C 6C 20 62 65 20 64 65 73 63 72 |It will be descr|
00004B50: 69 62 65 64 20 68 65 72 65 0D 0A 66 6F 72 20 63 |ibed here..for c|
00004B60: 6F 6D 70 6C 65 74 65 6E 65 73 73 2E 20 54 68 65 |ompleteness. The|
00004B70: 20 69 6E 73 74 72 75 63 74 69 6F 6E 0D 0A 4C 44 | instruction..LD|
00004B80: 41 20 28 34 35 2C 58 29 20 77 69 6C 6C 20 62 65 |A (45,X) will be|
00004B90: 20 75 73 65 64 20 61 73 20 61 6E 20 65 78 61 6D | used as an exam|
00004BA0: 70 6C 65 0D 0A 74 6F 20 65 78 70 6C 61 69 6E 20 |ple..to explain |
00004BB0: 74 68 69 73 20 66 6F 72 6D 20 6F 66 20 61 64 64 |this form of add|
00004BC0: 72 65 73 73 69 6E 67 2E 0D 0A 57 68 61 74 65 76 |ressing...Whatev|
00004BD0: 65 72 20 69 73 20 63 6F 6E 74 61 69 6E 65 64 20 |er is contained |
00004BE0: 69 6E 20 74 68 65 20 58 20 72 65 67 69 73 74 65 |in the X registe|
00004BF0: 72 0D 0A 61 74 20 74 68 65 20 74 69 6D 65 20 6F |r..at the time o|
00004C00: 66 20 65 78 65 63 75 74 69 6F 6E 20 69 73 20 61 |f execution is a|
00004C10: 64 64 65 64 20 74 6F 20 74 68 65 7A 65 72 6F 20 |dded to thezero |
00004C20: 70 61 67 65 20 61 64 64 72 65 73 73 20 69 6E 20 |page address in |
00004C30: 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 2C |the instruction,|
00004C40: 20 69 6E 74 68 69 73 20 63 61 73 65 20 34 35 2E | inthis case 45.|
00004C50: 20 53 6F 20 69 66 20 58 20 63 6F 6E 74 61 69 6E | So if X contain|
00004C60: 65 64 20 32 30 0D 0A 77 68 65 6E 20 74 68 65 20 |ed 20..when the |
00004C70: 70 72 6F 67 72 61 6D 20 69 73 20 72 75 6E 6E 69 |program is runni|
00004C80: 6E 67 2C 20 74 68 65 20 66 69 6E 61 6C 0D 0A 7A |ng, the final..z|
00004C90: 65 72 6F 20 70 61 67 65 20 61 64 64 72 65 73 73 |ero page address|
00004CA0: 20 69 73 20 36 35 2E 20 54 68 69 73 20 6C 6F 63 | is 65. This loc|
00004CB0: 61 74 69 6F 6E 0D 0A 74 68 65 6E 20 66 6F 72 6D |ation..then form|
00004CC0: 73 20 74 68 65 20 4C 53 42 20 6F 66 20 74 68 65 |s the LSB of the|
00004CD0: 20 66 69 6E 61 6C 20 61 64 64 72 65 73 73 0D 0A | final address..|
00004CE0: 61 6E 64 20 6C 6F 63 61 74 69 6F 6E 20 36 36 20 |and location 66 |
00004CF0: 66 6F 72 6D 73 20 74 68 65 20 4D 53 42 20 6F 66 |forms the MSB of|
00004D00: 20 74 68 65 0D 0A 66 69 6E 61 6C 20 61 64 64 72 | the..final addr|
00004D10: 65 73 73 2E 20 54 68 65 72 65 66 6F 72 65 20 69 |ess. Therefore i|
00004D20: 66 20 58 20 63 6F 6E 74 61 69 6E 65 64 0D 0A 35 |f X contained..5|
00004D30: 20 77 68 65 6E 20 74 68 65 20 70 72 6F 67 72 61 | when the progra|
00004D40: 6D 20 77 61 73 20 72 75 6E 6E 69 6E 67 20 61 6E |m was running an|
00004D50: 64 0D 0A 6C 6F 63 61 74 69 6F 6E 20 36 35 20 63 |d..location 65 c|
00004D60: 6F 6E 74 61 69 6E 65 64 20 68 65 78 20 45 32 20 |ontained hex E2 |
00004D70: 61 6E 64 0D 0A 6C 6F 63 61 74 69 6F 6E 20 36 36 |and..location 66|
00004D80: 20 63 6F 6E 74 61 69 6E 65 64 20 68 65 78 20 41 | contained hex A|
00004D90: 31 20 74 68 65 6E 20 74 68 65 0D 0A 61 63 63 75 |1 then the..accu|
00004DA0: 6D 75 6C 61 74 6F 72 20 77 69 6C 6C 20 62 65 20 |mulator will be |
00004DB0: 6C 6F 61 64 65 64 20 77 69 74 68 20 74 68 65 0D |loaded with the.|
00004DC0: 0A 63 6F 6E 74 65 6E 74 73 20 6F 66 20 6D 65 6D |.contents of mem|
00004DD0: 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 41 31 45 |ory location A1E|
00004DE0: 32 20 69 6E 20 74 68 65 0D 0A 61 62 6F 76 65 20 |2 in the..above |
00004DF0: 65 78 61 6D 70 6C 65 2E FE 1F 0A 02 4D 4F 52 45 |example.....MORE|
00004E00: 20 41 44 44 52 45 53 53 49 4E 47 20 4D 4F 44 45 | ADDRESSING MODE|
00004E10: 53 0D 0A 82 49 4E 44 49 52 45 43 54 0D 0A 0A 20 |S...INDIRECT... |
00004E20: 54 68 69 73 20 66 6F 72 6D 20 6F 66 20 61 64 64 |This form of add|
00004E30: 72 65 73 73 69 6E 67 20 69 73 20 4E 4F 54 0D 0A |ressing is NOT..|
00004E40: 73 75 70 70 6F 72 74 65 64 20 62 79 20 74 68 65 |supported by the|
00004E50: 20 73 69 6D 75 6C 61 74 6F 72 2E 20 48 6F 77 65 | simulator. Howe|
00004E60: 76 65 72 2C 20 69 74 0D 0A 77 6F 75 6C 64 20 62 |ver, it..would b|
00004E70: 65 20 73 75 70 70 6F 72 74 65 64 20 62 79 20 61 |e supported by a|
00004E80: 20 6E 6F 72 6D 61 6C 0D 0A 61 73 73 65 6D 62 6C | normal..assembl|
00004E90: 65 72 2E 20 54 68 65 72 65 20 69 73 20 6F 6E 6C |er. There is onl|
00004EA0: 79 20 6F 6E 65 20 69 6E 73 74 72 75 63 74 69 6F |y one instructio|
00004EB0: 6E 74 68 61 74 20 75 73 65 73 20 69 6E 64 69 72 |nthat uses indir|
00004EC0: 65 63 74 20 61 64 64 72 65 73 73 69 6E 67 20 61 |ect addressing a|
00004ED0: 6E 64 20 74 68 61 74 0D 0A 69 73 20 4A 4D 50 20 |nd that..is JMP |
00004EE0: 28 44 78 20 33 29 2E 20 54 68 69 73 20 77 69 6C |(Dx 3). This wil|
00004EF0: 6C 20 74 61 6B 65 0D 0A 74 68 65 20 63 6F 6E 74 |l take..the cont|
00004F00: 65 6E 74 73 20 6F 66 20 6D 65 6D 6F 72 79 20 6C |ents of memory l|
00004F10: 6F 63 61 74 69 6F 6E 20 44 78 20 58 0D 0A 61 6E |ocation Dx X..an|
00004F20: 64 20 74 68 61 74 20 77 69 6C 6C 20 66 6F 72 6D |d that will form|
00004F30: 20 74 68 65 20 4C 53 42 20 6F 66 20 74 68 65 20 | the LSB of the |
00004F40: 4A 4D 50 0D 0A 61 64 64 72 65 73 73 2E 20 54 68 |JMP..address. Th|
00004F50: 65 6E 20 74 68 65 20 63 6F 6E 74 65 6E 74 73 20 |en the contents |
00004F60: 6F 66 20 6D 65 6D 6F 72 79 0D 0A 6C 6F 63 61 74 |of memory..locat|
00004F70: 69 6F 6E 20 44 78 20 C5 2B 31 20 66 6F 72 6D 73 |ion Dx .+1 forms|
00004F80: 20 74 68 65 20 4D 53 42 20 6F 66 20 74 68 65 0D | the MSB of the.|
00004F90: 0A 4A 4D 50 20 61 64 64 72 65 73 73 2E 20 54 68 |.JMP address. Th|
00004FA0: 65 20 70 72 6F 67 72 61 6D 20 63 6F 75 6E 74 65 |e program counte|
00004FB0: 72 20 69 73 20 74 68 65 6E 6C 6F 61 64 65 64 20 |r is thenloaded |
00004FC0: 77 69 74 68 20 74 68 65 20 4A 4D 50 20 61 64 64 |with the JMP add|
00004FD0: 72 65 73 73 20 63 61 75 73 69 6E 67 0D 0A 74 68 |ress causing..th|
00004FE0: 65 20 6E 65 78 74 20 69 6E 73 74 72 75 63 74 69 |e next instructi|
00004FF0: 6F 6E 20 74 6F 20 62 65 20 65 78 65 63 75 74 65 |on to be execute|
00005000: 64 2C 20 74 68 65 69 6E 73 74 72 75 63 74 69 6F |d, theinstructio|
00005010: 6E 20 68 65 6C 64 20 69 6E 20 74 68 65 20 6D 65 |n held in the me|
00005020: 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 0D 0A 70 |mory location..p|
00005030: 6F 69 6E 74 65 64 20 74 6F 20 62 79 20 44 78 21 |ointed to by Dx!|
00005040: 7E 2E FE 1F 0A 02 4D 4F 52 45 20 41 44 44 52 45 |~.....MORE ADDRE|
00005050: 53 53 49 4E 47 20 4D 4F 44 45 53 0D 0A 0A 43 6F |SSING MODES...Co|
00005060: 6E 73 69 64 65 72 20 74 68 65 20 66 6F 6C 6C 6F |nsider the follo|
00005070: 77 69 6E 67 20 70 72 6F 67 72 61 6D 3A 0D 0A 0A |wing program:...|
00005080: 4C 44 41 20 23 39 0D 0A 53 54 41 20 33 32 30 0D |LDA #9..STA 320.|
00005090: 0A 4C 44 41 20 23 32 0D 0A 53 54 41 20 33 32 31 |.LDA #2..STA 321|
000050A0: 0D 0A 4A 4D 50 20 28 33 32 30 29 0D 0A 0A 41 6C |..JMP (320)...Al|
000050B0: 74 68 6F 75 67 68 20 74 68 69 73 20 70 72 6F 67 |though this prog|
000050C0: 72 61 6D 20 77 69 6C 6C 20 6E 6F 74 20 77 6F 72 |ram will not wor|
000050D0: 6B 20 6F 6E 0D 0A 74 68 69 73 20 73 69 6D 75 6C |k on..this simul|
000050E0: 61 74 6F 72 2C 20 69 74 20 77 6F 75 6C 64 20 62 |ator, it would b|
000050F0: 65 20 61 73 73 65 6D 62 6C 65 64 0D 0A 61 6E 64 |e assembled..and|
00005100: 20 72 75 6E 20 6F 6E 20 61 20 6E 6F 72 6D 61 6C | run on a normal|
00005110: 20 61 73 73 65 6D 62 6C 65 72 20 61 6E 64 20 36 | assembler and 6|
00005120: 35 30 32 2E 0D 0A 54 68 69 73 20 70 72 6F 67 72 |502...This progr|
00005130: 61 6D 20 77 6F 75 6C 64 20 68 61 76 65 20 74 68 |am would have th|
00005140: 65 20 65 66 66 65 63 74 20 6F 66 0D 0A 6C 6F 61 |e effect of..loa|
00005150: 64 69 6E 67 20 74 68 65 20 70 72 6F 67 72 61 6D |ding the program|
00005160: 20 63 6F 75 6E 74 65 72 20 77 69 74 68 20 68 65 | counter with he|
00005170: 78 0D 0A 32 30 39 2E 20 54 68 65 20 6E 65 78 74 |x..209. The next|
00005180: 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 74 6F 20 | instruction to |
00005190: 62 65 0D 0A 65 78 65 63 75 74 65 64 20 77 6F 75 |be..executed wou|
000051A0: 6C 64 20 62 65 20 61 74 20 6D 65 6D 6F 72 79 20 |ld be at memory |
000051B0: 6C 6F 63 61 74 69 6F 6E 0D 0A 32 30 39 2E FF 47 |location..209..G|
000051C0: 20 07 4C 44 41 20 23 32 0D 47 20 07 53 54 41 20 | .LDA #2.G .STA |
000051D0: 33 32 0D 47 20 07 4C 44 41 20 23 32 0D 47 20 19 |32.G .LDA #2.G .|
000051E0: 53 54 41 20 33 33 0D 41 47 41 49 4E 20 20 4C 44 |STA 33.AGAIN LD|
000051F0: 59 20 23 31 0D 4C 4F 4F 50 43 20 16 54 59 41 0D |Y #1.LOOPC .TYA.|
00005200: 4C 4F 4F 50 32 20 20 53 54 41 20 28 33 32 29 2C |LOOP2 STA (32),|
00005210: 59 0D 47 20 04 49 4E 59 0D 47 20 08 43 50 59 20 |Y.G .INY.G .CPY |
00005220: 23 31 30 0D 47 20 09 42 4E 45 20 4C 4F 4F 50 0D |#10.G .BNE LOOP.|
00005230: 47 20 07 49 4E 43 20 33 33 0D 47 20 07 4C 44 41 |G .INC 33.G .LDA|
00005240: 20 33 33 0D 47 20 07 43 4D 50 20 23 33 0D 47 20 | 33.G .CMP #3.G |
00005250: 0A 42 45 51 20 41 47 41 49 4E 0D 47 20 04 42 52 |.BEQ AGAIN.G .BR|
00005260: 4B FF 47 20 09 4C 44 41 20 23 24 46 31 0D 47 20 |K.G .LDA #$F1.G |
00005270: 08 53 54 41 20 31 34 30 0D 47 20 07 4C 44 41 20 |.STA 140.G .LDA |
00005280: 23 33 0D 47 20 08 53 54 41 20 31 34 31 0D 47 20 |#3.G .STA 141.G |
00005290: 08 53 54 41 20 31 34 39 0D 47 20 08 53 54 41 20 |.STA 149.G .STA |
000052A0: 31 35 30 0D 47 20 08 4C 44 58 20 23 31 30 0D 47 |150.G .LDX #10.G|
000052B0: 20 04 54 58 41 0D 47 20 0C 53 54 41 20 28 31 33 | .TXA.G .STA (13|
000052C0: 30 2C 58 29 0D 47 20 08 4C 44 41 20 23 34 30 0D |0,X).G .LDA #40.|
000052D0: 47 20 08 4C 44 58 20 23 31 39 0D 47 20 0C 53 54 |G .LDX #19.G .ST|
000052E0: 41 20 28 31 33 30 2C 58 29 0D 47 20 08 4C 44 58 |A (130,X).G .LDX|
000052F0: 20 23 31 30 0D 47 20 0C 45 4F 52 20 28 31 33 30 | #10.G .EOR (130|
00005300: 2C 58 29 0D 47 20 20 8C 42 52 4B FF 1F 0D 02 4D |,X).G .BRK....M|
00005310: 4F 52 45 20 4F 4E 20 54 48 45 20 53 54 41 43 4B |ORE ON THE STACK|
00005320: 0D 0A 0A 20 54 68 65 20 66 6C 61 67 73 20 61 72 |... The flags ar|
00005330: 65 20 68 65 6C 64 20 69 6E 20 6F 6E 65 20 62 79 |e held in one by|
00005340: 74 65 20 69 6E 20 74 68 65 0D 0A 36 35 30 32 20 |te in the..6502 |
00005350: 61 6E 64 20 61 72 65 20 61 72 72 61 6E 67 65 64 |and are arranged|
00005360: 20 74 68 75 73 3A 0D 0A 0A 42 49 54 37 20 42 49 | thus:...BIT7 BI|
00005370: 54 36 20 42 49 54 35 20 42 49 54 34 20 42 49 54 |T6 BIT5 BIT4 BIT|
00005380: 33 20 42 49 54 32 20 42 49 54 31 20 42 49 54 30 |3 BIT2 BIT1 BIT0|
00005390: 20 0A 20 4E 44 20 01 56 44 20 01 2D 44 20 01 42 | . ND .VD .-D .B|
000053A0: 44 20 01 44 44 20 01 49 44 20 01 5A 44 20 26 8F |D .DD .ID .ZD &.|
000053B0: 43 0D 0A 0A 4E 20 2D 20 4E 45 47 41 54 49 56 45 |C...N - NEGATIVE|
000053C0: 20 46 4C 41 47 0D 0A 56 20 2D 20 4F 56 45 52 46 | FLAG..V - OVERF|
000053D0: 4C 4F 57 20 46 4C 41 47 0D 0A 2D 20 2D 20 4E 4F |LOW FLAG..- - NO|
000053E0: 54 20 55 53 45 44 20 28 45 58 50 41 4E 53 49 4F |T USED (EXPANSIO|
000053F0: 4E 20 42 49 54 29 0D 0A 42 20 2D 20 42 52 45 41 |N BIT)..B - BREA|
00005400: 4B 20 46 4C 41 47 20 28 4E 4F 54 20 55 53 45 44 |K FLAG (NOT USED|
00005410: 20 42 59 20 53 49 4D 55 4C 41 54 4F 52 29 0D 0A | BY SIMULATOR)..|
00005420: 44 20 2D 20 44 45 43 49 4D 41 4C 20 4D 4F 44 45 |D - DECIMAL MODE|
00005430: 20 46 4C 41 47 0D 0A 49 20 2D 20 49 4E 54 45 52 | FLAG..I - INTER|
00005440: 52 55 50 54 20 44 49 53 41 42 4C 45 20 46 4C 41 |RUPT DISABLE FLA|
00005450: 47 0D 0A 5A 20 2D 20 5A 45 52 4F 20 46 4C 41 47 |G..Z - ZERO FLAG|
00005460: 0D 0A 43 20 2D 20 43 41 52 52 59 20 46 4C 41 47 |..C - CARRY FLAG|
00005470: FE 1F 0D 02 4D 4F 52 45 20 4F 4E 20 54 48 45 20 |....MORE ON THE |
00005480: 53 54 41 43 4B 0D 0A 0A 54 68 65 72 65 66 6F 72 |STACK...Therefor|
00005490: 65 2C 20 69 66 20 79 6F 75 20 74 68 69 6E 6B 20 |e, if you think |
000054A0: 6F 66 20 61 6C 6C 20 74 68 65 20 66 6C 61 67 73 |of all the flags|
000054B0: 61 73 20 61 20 73 69 6E 67 6C 65 20 38 20 62 69 |as a single 8 bi|
000054C0: 74 20 62 69 6E 61 72 79 20 6E 75 6D 62 65 72 2C |t binary number,|
000054D0: 20 74 68 61 74 0D 0A 69 73 20 6F 6E 65 20 62 79 | that..is one by|
000054E0: 74 65 2C 20 65 61 63 68 20 62 69 74 20 72 65 70 |te, each bit rep|
000054F0: 72 65 73 65 6E 74 73 20 6F 6E 65 0D 0A 6E 75 6D |resents one..num|
00005500: 62 65 72 20 66 72 6F 6D 20 74 68 65 20 62 69 6E |ber from the bin|
00005510: 61 72 79 20 63 6F 6C 75 6D 6E 20 68 65 61 64 69 |ary column headi|
00005520: 6E 67 73 2E 20 46 6F 72 20 65 78 61 6D 70 6C 65 |ngs. For example|
00005530: 2C 20 74 68 65 20 6F 76 65 72 66 6C 6F 77 20 66 |, the overflow f|
00005540: 6C 61 67 20 67 69 76 65 73 0D 0A 74 68 65 20 6E |lag gives..the n|
00005550: 75 6D 62 65 72 20 36 34 2E FE 1F 0D 02 4D 4F 52 |umber 64.....MOR|
00005560: 45 20 4F 4E 20 54 48 45 20 53 54 41 43 4B 0D 0A |E ON THE STACK..|
00005570: 0A 20 54 68 65 20 66 6C 61 67 73 20 61 72 65 20 |. The flags are |
00005580: 73 74 6F 72 65 64 20 69 6E 20 74 68 69 73 20 77 |stored in this w|
00005590: 61 79 20 61 6E 64 0D 0A 61 72 65 20 6B 65 70 74 |ay and..are kept|
000055A0: 20 74 72 61 63 6B 20 6F 66 20 62 79 20 74 68 65 | track of by the|
000055B0: 20 36 35 30 32 20 70 72 6F 63 65 73 73 6F 72 0D | 6502 processor.|
000055C0: 0A 61 6E 64 20 73 74 6F 72 65 64 20 69 6E 20 77 |.and stored in w|
000055D0: 68 61 74 20 69 73 20 6B 6E 6F 77 6E 20 61 73 20 |hat is known as |
000055E0: 74 68 65 0D 0A 50 52 4F 43 45 53 53 4F 52 20 53 |the..PROCESSOR S|
000055F0: 54 41 54 55 53 20 52 45 47 49 53 54 45 52 20 28 |TATUS REGISTER (|
00005600: 50 53 52 29 2E 20 41 73 20 79 6F 75 0D 0A 6B 6E |PSR). As you..kn|
00005610: 6F 77 2C 20 6D 6F 73 74 20 69 6E 73 74 72 75 63 |ow, most instruc|
00005620: 74 69 6F 6E 73 20 61 66 66 65 63 74 20 66 6C 61 |tions affect fla|
00005630: 67 73 2C 0D 0A 62 75 74 20 6F 6E 6C 79 20 74 77 |gs,..but only tw|
00005640: 6F 20 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 61 |o instructions a|
00005650: 66 66 65 63 74 20 74 68 65 0D 0A 70 72 6F 63 65 |ffect the..proce|
00005660: 73 73 6F 72 20 73 74 61 74 75 73 20 72 65 67 69 |ssor status regi|
00005670: 73 74 65 72 20 61 73 20 61 20 77 68 6F 6C 65 2E |ster as a whole.|
00005680: 0D 0A 54 68 65 73 65 20 69 6E 73 74 72 75 63 74 |..These instruct|
00005690: 69 6F 6E 73 20 61 72 65 20 50 48 50 20 61 6E 64 |ions are PHP and|
000056A0: 20 50 4C 50 2C 0D 0A 77 68 69 63 68 20 77 69 6C | PLP,..which wil|
000056B0: 6C 20 50 55 53 48 20 61 6E 64 20 50 55 4C 4C 20 |l PUSH and PULL |
000056C0: 74 68 65 20 70 72 6F 63 65 73 73 6F 72 0D 0A 73 |the processor..s|
000056D0: 74 61 74 75 73 20 72 65 67 69 73 74 65 72 20 74 |tatus register t|
000056E0: 6F 20 61 6E 64 20 66 72 6F 6D 20 74 68 65 20 73 |o and from the s|
000056F0: 74 61 63 6B 2E 0D 0A 49 66 20 79 6F 75 20 77 61 |tack...If you wa|
00005700: 6E 74 65 64 20 74 6F 20 73 65 74 2C 20 73 61 79 |nted to set, say|
00005710: 20 74 68 72 65 65 20 66 6C 61 67 73 0D 0A 61 74 | three flags..at|
00005720: 20 6F 6E 63 65 2C 20 79 6F 75 20 63 6F 75 6C 64 | once, you could|
00005730: 20 75 73 65 20 50 48 50 20 61 6E 64 20 50 4C 50 | use PHP and PLP|
00005740: 20 74 6F 0D 0A 64 6F 20 73 6F 2E 20 48 6F 77 65 | to..do so. Howe|
00005750: 76 65 72 2C 20 74 68 65 72 65 20 61 72 65 20 6E |ver, there are n|
00005760: 6F 20 74 72 61 6E 73 66 65 72 0D 0A 69 6E 73 74 |o transfer..inst|
00005770: 72 75 63 74 69 6F 6E 73 20 74 6F 20 74 72 61 6E |ructions to tran|
00005780: 73 66 65 72 20 62 65 74 77 65 65 6E 20 74 68 65 |sfer between the|
00005790: 0D 0A 61 63 63 75 6D 75 6C 61 74 6F 72 20 61 6E |..accumulator an|
000057A0: 64 20 50 53 52 2C 20 73 6F 20 6F 74 68 65 72 0D |d PSR, so other.|
000057B0: 0A 69 6E 73 74 72 75 63 74 69 6F 6E 73 20 68 61 |.instructions ha|
000057C0: 76 65 20 74 6F 20 62 65 20 75 73 65 64 20 69 6E |ve to be used in|
000057D0: 0D 0A 63 6F 6E 6A 75 6E 63 74 69 6F 6E 20 77 69 |..conjunction wi|
000057E0: 74 68 20 74 68 65 73 65 20 69 6E 73 74 72 75 63 |th these instruc|
000057F0: 74 69 6F 6E 73 20 66 6F 72 0D 0A 74 68 65 6D 20 |tions for..them |
00005800: 74 6F 20 62 65 20 65 66 66 65 63 74 69 76 65 2E |to be effective.|
00005810: FE 1F 0D 02 4D 4F 52 45 20 4F 4E 20 54 48 45 20 |....MORE ON THE |
00005820: 53 54 41 43 4B 0D 0A 0A 20 41 6E 20 65 78 61 6D |STACK... An exam|
00005830: 70 6C 65 20 70 72 6F 67 72 61 6D 20 64 65 6D 6F |ple program demo|
00005840: 6E 73 74 72 61 74 69 6E 67 20 68 6F 77 0D 0A 74 |nstrating how..t|
00005850: 68 65 20 70 72 6F 63 65 73 73 6F 72 20 73 74 61 |he processor sta|
00005860: 74 75 73 20 72 65 67 69 73 74 65 72 20 69 73 20 |tus register is |
00005870: 75 73 65 64 0D 0A 69 6E 20 63 6F 6E 6A 75 6E 63 |used..in conjunc|
00005880: 74 69 6F 6E 20 77 69 74 68 20 74 68 65 20 73 74 |tion with the st|
00005890: 61 63 6B 20 69 73 20 67 69 76 65 6E 0D 0A 74 6F |ack is given..to|
000058A0: 20 68 65 6C 70 20 64 65 6D 6F 6E 73 74 72 61 74 | help demonstrat|
000058B0: 65 20 69 74 73 20 75 73 65 73 2E 0D 0A 20 4F 6E |e its uses... On|
000058C0: 65 20 6F 66 20 74 68 65 20 6F 74 68 65 72 20 75 |e of the other u|
000058D0: 73 65 73 20 66 6F 72 20 74 68 65 73 65 0D 0A 69 |ses for these..i|
000058E0: 6E 73 74 72 75 63 74 69 6F 6E 73 20 69 73 20 74 |nstructions is t|
000058F0: 68 65 20 74 65 6D 70 6F 72 61 72 79 20 73 61 76 |he temporary sav|
00005900: 69 6E 67 20 6F 66 0D 0A 74 68 65 20 66 6C 61 67 |ing of..the flag|
00005910: 73 2E 20 59 6F 75 20 63 61 6E 20 70 75 73 68 20 |s. You can push |
00005920: 74 68 65 20 76 61 6C 75 65 20 6F 66 20 74 68 65 |the value of the|
00005930: 50 53 52 20 6F 6E 74 6F 20 74 68 65 20 73 74 61 |PSR onto the sta|
00005940: 63 6B 20 62 79 20 75 73 69 6E 67 20 50 48 50 2C |ck by using PHP,|
00005950: 0D 0A 65 78 65 63 75 74 65 20 69 6E 73 74 72 75 |..execute instru|
00005960: 63 74 69 6F 6E 73 20 74 68 61 74 20 6E 6F 72 6D |ctions that norm|
00005970: 61 6C 6C 79 0D 0A 61 66 66 65 63 74 20 74 68 65 |ally..affect the|
00005980: 20 66 6C 61 67 73 2C 20 74 68 65 6E 20 62 79 20 | flags, then by |
00005990: 75 73 69 6E 67 20 50 4C 50 20 79 6F 75 0D 0A 63 |using PLP you..c|
000059A0: 61 6E 20 72 65 73 74 6F 72 65 20 74 68 65 20 66 |an restore the f|
000059B0: 6C 61 67 73 20 74 6F 20 74 68 65 69 72 20 6F 72 |lags to their or|
000059C0: 69 67 69 6E 61 6C 0D 0A 76 61 6C 75 65 73 2E 20 |iginal..values. |
000059D0: 52 65 6D 65 6D 62 65 72 20 74 6F 20 70 75 6C 6C |Remember to pull|
000059E0: 20 61 6E 64 20 70 75 73 68 20 74 68 65 0D 0A 72 | and push the..r|
000059F0: 69 67 68 74 20 6E 75 6D 62 65 72 20 6F 66 20 76 |ight number of v|
00005A00: 61 6C 75 65 73 2C 20 6F 74 68 65 72 77 69 73 65 |alues, otherwise|
00005A10: 20 74 68 65 0D 0A 73 74 61 63 6B 20 77 69 6C 6C | the..stack will|
00005A20: 20 62 65 63 6F 6D 65 20 66 69 6C 6C 65 64 20 75 | become filled u|
00005A30: 70 20 61 6E 64 20 27 64 69 72 74 79 27 2E FF 47 |p and 'dirty'..G|
00005A40: 20 04 53 45 43 0D 47 20 04 54 53 58 0D 47 20 04 | .SEC.G .TSX.G .|
00005A50: 50 48 50 0D 47 20 04 50 4C 41 0D 47 20 09 4F 52 |PHP.G .PLA.G .OR|
00005A60: 41 20 23 31 39 32 0D 47 20 04 50 48 41 0D 47 20 |A #192.G .PHA.G |
00005A70: 04 50 4C 50 0D 47 20 09 4C 44 41 20 23 24 46 46 |.PLP.G .LDA #$FF|
00005A80: 0D 47 20 04 50 48 41 0D 47 20 04 50 4C 50 0D 47 |.G .PHA.G .PLP.G|
00005A90: 20 0B 4C 44 41 20 23 31 0D 4C 4F 4F 50 43 20 04 | .LDA #1.LOOPC .|
00005AA0: 50 48 41 0D 47 20 04 50 4C 50 0D 47 20 06 41 53 |PHA.G .PLP.G .AS|
00005AB0: 4C 20 41 0D 47 20 09 42 43 43 20 4C 4F 4F 50 0D |L A.G .BCC LOOP.|
00005AC0: 47 20 21 67 42 52 4B FF 1F 0A 02 54 48 45 20 42 |G !gBRK....THE B|
00005AD0: 49 54 20 49 4E 53 54 52 55 43 54 49 4F 4E 0D 0A |IT INSTRUCTION..|
00005AE0: 0A 20 54 68 69 73 20 69 6E 73 74 72 75 63 74 69 |. This instructi|
00005AF0: 6F 6E 20 69 73 20 75 73 65 64 20 74 6F 20 63 68 |on is used to ch|
00005B00: 65 63 6B 20 74 68 61 74 0D 0A 6F 6E 65 20 6F 72 |eck that..one or|
00005B10: 20 6D 6F 72 65 20 42 49 54 73 20 6F 66 20 61 20 | more BITs of a |
00005B20: 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 0D |memory location.|
00005B30: 0A 61 72 65 20 73 65 74 2E 20 54 68 65 20 6D 65 |.are set. The me|
00005B40: 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 20 69 73 |mory location is|
00005B50: 20 65 69 74 68 65 72 0D 0A 69 6E 20 74 68 65 20 | either..in the |
00005B60: 61 64 64 72 65 73 73 69 6E 67 20 6D 6F 64 65 73 |addressing modes|
00005B70: 20 61 62 73 6F 6C 75 74 65 20 6F 72 20 7A 65 72 | absolute or zer|
00005B80: 6F 70 61 67 65 2E 20 54 68 65 20 62 69 74 73 20 |opage. The bits |
00005B90: 74 6F 20 62 65 20 74 65 73 74 65 64 20 61 72 65 |to be tested are|
00005BA0: 20 69 6E 20 74 68 65 0D 0A 61 63 63 75 6D 75 6C | in the..accumul|
00005BB0: 61 74 6F 72 2C 20 61 6E 64 20 74 68 65 20 6D 65 |ator, and the me|
00005BC0: 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 0D 0A 74 |mory location..t|
00005BD0: 6F 20 62 65 20 74 65 73 74 65 64 20 61 67 61 69 |o be tested agai|
00005BE0: 6E 73 74 20 74 68 65 20 61 63 63 75 6D 75 6C 61 |nst the accumula|
00005BF0: 74 6F 72 0D 0A 69 73 20 73 75 70 70 6C 69 65 64 |tor..is supplied|
00005C00: 20 77 69 74 68 20 74 68 65 20 42 49 54 20 69 6E | with the BIT in|
00005C10: 73 74 72 75 63 74 69 6F 6E 20 69 6E 0D 0A 74 68 |struction in..th|
00005C20: 65 20 66 6F 72 6D 20 42 49 54 20 44 78 07 20 77 |e form BIT Dx. w|
00005C30: 68 65 72 65 20 44 78 21 6E 20 69 73 20 61 20 73 |here Dx!n is a s|
00005C40: 69 6E 67 6C 65 6D 65 6D 6F 72 79 20 6C 6F 63 61 |inglememory loca|
00005C50: 74 69 6F 6E 2E 20 41 66 74 65 72 20 74 68 65 20 |tion. After the |
00005C60: 69 6E 73 74 72 75 63 74 69 6F 6E 0D 0A 74 68 65 |instruction..the|
00005C70: 20 7A 65 72 6F 20 66 6C 61 67 20 77 69 6C 6C 20 | zero flag will |
00005C80: 62 65 20 73 65 74 20 69 66 20 6E 6F 6E 65 20 6F |be set if none o|
00005C90: 66 20 74 68 65 62 69 74 73 20 73 70 65 63 69 66 |f thebits specif|
00005CA0: 69 65 64 20 62 79 20 74 68 65 20 61 63 63 75 6D |ied by the accum|
00005CB0: 75 6C 61 74 6F 72 20 61 72 65 0D 0A 73 65 74 2E |ulator are..set.|
00005CC0: 20 54 68 65 20 61 63 63 75 6D 75 6C 61 74 6F 72 | The accumulator|
00005CD0: 20 69 73 20 6C 65 66 74 20 75 6E 63 68 61 6E 67 | is left unchang|
00005CE0: 65 64 0D 0A 61 66 74 65 72 20 74 68 65 20 69 6E |ed..after the in|
00005CF0: 73 74 72 75 63 74 69 6F 6E 2E 20 54 68 65 20 63 |struction. The c|
00005D00: 6F 6E 74 65 6E 74 73 20 6F 66 0D 0A 62 69 74 20 |ontents of..bit |
00005D10: 36 20 6F 66 20 74 68 65 20 6D 65 6D 6F 72 79 20 |6 of the memory |
00005D20: 6C 6F 63 61 74 69 6F 6E 20 61 72 65 20 70 6C 61 |location are pla|
00005D30: 63 65 64 0D 0A 69 6E 20 74 68 65 20 6F 76 65 72 |ced..in the over|
00005D40: 66 6C 6F 77 20 66 6C 61 67 2C 20 61 6E 64 20 62 |flow flag, and b|
00005D50: 69 74 20 37 20 69 73 0D 0A 70 6C 61 63 65 64 20 |it 7 is..placed |
00005D60: 69 6E 20 74 68 65 20 6E 65 67 61 74 69 76 65 20 |in the negative |
00005D70: 66 6C 61 67 2E 20 41 6E 20 65 78 61 6D 70 6C 65 |flag. An example|
00005D80: 0D 0A 70 72 6F 67 72 61 6D 20 69 73 20 67 69 76 |..program is giv|
00005D90: 65 6E 20 74 6F 20 73 68 6F 77 20 42 49 54 20 69 |en to show BIT i|
00005DA0: 6E 20 75 73 65 2E FF 47 20 09 4C 44 41 20 23 24 |n use..G .LDA #$|
00005DB0: 33 30 0D 47 20 06 53 54 41 20 36 0D 47 20 07 4C |30.G .STA 6.G .L|
00005DC0: 44 41 20 23 30 0D 47 20 11 53 45 43 0D 52 4F 54 |DA #0.G .SEC.ROT|
00005DD0: 41 54 45 20 52 4F 4C 20 41 0D 47 20 06 42 49 54 |ATE ROL A.G .BIT|
00005DE0: 20 36 0D 47 20 0B 42 45 51 20 52 4F 54 41 54 45 | 6.G .BEQ ROTATE|
00005DF0: 0D 47 20 09 4C 44 41 20 23 24 43 30 0D 47 20 09 |.G .LDA #$C0.G .|
00005E00: 53 54 41 20 24 33 46 30 0D 47 20 07 4C 44 41 20 |STA $3F0.G .LDA |
00005E10: 23 30 0D 47 20 09 42 49 54 20 24 33 46 30 0D 47 |#0.G .BIT $3F0.G|
00005E20: 20 09 4C 44 41 20 23 24 38 30 0D 47 20 08 53 54 | .LDA #$80.G .ST|
00005E30: 41 20 35 36 30 0D 47 20 07 4C 44 41 20 23 30 0D |A 560.G .LDA #0.|
00005E40: 47 20 08 42 49 54 20 35 36 30 0D 47 20 2B 7A 42 |G .BIT 560.G +zB|
00005E50: 52 4B FF 1F 0F 02 49 4E 54 45 52 52 55 50 54 53 |RK....INTERRUPTS|
00005E60: 0D 0A 0A 20 41 6E 20 69 6E 74 65 72 72 75 70 74 |... An interrupt|
00005E70: 20 69 73 20 73 6F 6D 65 74 68 69 6E 67 20 74 68 | is something th|
00005E80: 61 74 20 6F 63 63 75 72 73 0D 0A 61 66 74 65 72 |at occurs..after|
00005E90: 20 61 20 66 69 78 65 64 20 61 6D 6F 75 6E 74 20 | a fixed amount |
00005EA0: 6F 66 20 74 69 6D 65 20 6F 72 20 61 66 74 65 72 |of time or after|
00005EB0: 0D 0A 61 20 63 65 72 74 61 69 6E 20 65 76 65 6E |..a certain even|
00005EC0: 74 2C 20 6C 69 6B 65 20 70 72 65 73 73 69 6E 67 |t, like pressing|
00005ED0: 20 52 55 4E 2D 53 54 4F 50 0D 0A 66 6F 72 20 65 | RUN-STOP..for e|
00005EE0: 78 61 6D 70 6C 65 2E 20 57 68 65 6E 20 61 6E 20 |xample. When an |
00005EF0: 69 6E 74 65 72 72 75 70 74 20 6F 63 63 75 72 73 |interrupt occurs|
00005F00: 0D 0A 74 68 65 20 36 35 30 32 20 6C 6F 6F 6B 73 |..the 6502 looks|
00005F10: 20 75 70 20 77 68 61 74 20 69 73 20 6B 6E 6F 77 | up what is know|
00005F20: 6E 20 61 73 20 61 6E 0D 0A 49 4E 54 45 52 52 55 |n as an..INTERRU|
00005F30: 50 54 20 56 45 43 54 4F 52 20 77 68 69 63 68 20 |PT VECTOR which |
00005F40: 69 73 20 61 6E 20 69 6E 64 69 72 65 63 74 0D 0A |is an indirect..|
00005F50: 6A 75 6D 70 20 74 6F 20 61 20 73 6D 61 6C 6C 20 |jump to a small |
00005F60: 70 72 6F 67 72 61 6D 20 74 68 61 74 20 68 61 6E |program that han|
00005F70: 64 6C 65 73 20 74 68 65 69 6E 74 65 72 72 75 70 |dles theinterrup|
00005F80: 74 2E 20 54 68 69 73 20 69 6E 74 65 72 72 75 70 |t. This interrup|
00005F90: 74 20 6D 69 67 68 74 20 62 65 20 74 6F 0D 0A 72 |t might be to..r|
00005FA0: 65 61 64 20 74 68 65 20 6B 65 79 62 6F 61 72 64 |ead the keyboard|
00005FB0: 20 66 6F 72 20 65 78 61 6D 70 6C 65 2E 20 57 68 | for example. Wh|
00005FC0: 65 6E 20 74 68 65 0D 0A 69 6E 74 65 72 72 75 70 |en the..interrup|
00005FD0: 74 20 68 61 73 20 66 69 6E 69 73 68 65 64 20 77 |t has finished w|
00005FE0: 68 61 74 20 69 74 20 69 73 20 64 6F 69 6E 67 0D |hat it is doing.|
00005FF0: 0A 74 68 65 20 70 72 6F 67 72 61 6D 20 77 69 6C |.the program wil|
00006000: 6C 20 72 65 73 75 6D 65 20 61 73 20 6E 6F 72 6D |l resume as norm|
00006010: 61 6C 20 74 6F 0D 0A 77 68 65 72 65 20 69 74 20 |al to..where it |
00006020: 6C 65 66 74 20 6F 66 66 20 62 65 66 6F 72 65 20 |left off before |
00006030: 74 68 65 0D 0A 69 6E 74 65 72 72 75 70 74 20 6F |the..interrupt o|
00006040: 63 63 75 72 72 65 64 2E FE 1F 0F 02 49 4E 54 45 |ccurred.....INTE|
00006050: 52 52 55 50 54 53 0D 0A 0A 20 57 69 74 68 20 74 |RRUPTS... With t|
00006060: 68 65 20 73 69 6D 75 6C 61 74 6F 72 2C 20 79 6F |he simulator, yo|
00006070: 75 20 63 61 6E 20 6E 6F 74 20 77 72 69 74 65 0D |u can not write.|
00006080: 0A 79 6F 75 72 20 6F 77 6E 20 69 6E 74 65 72 72 |.your own interr|
00006090: 75 70 74 20 72 6F 75 74 69 6E 65 73 2E 20 48 6F |upt routines. Ho|
000060A0: 77 65 76 65 72 2C 0D 0A 69 6E 74 65 72 72 75 70 |wever,..interrup|
000060B0: 74 73 20 61 72 65 20 6F 63 63 75 72 72 69 6E 67 |ts are occurring|
000060C0: 20 61 6C 6C 20 74 68 65 20 74 69 6D 65 2C 0D 0A | all the time,..|
000060D0: 74 6F 20 63 68 65 63 6B 20 69 66 20 79 6F 75 20 |to check if you |
000060E0: 70 72 65 73 73 69 6E 67 20 61 20 6B 65 79 2E 0D |pressing a key..|
000060F0: 0A 20 54 68 65 72 65 20 61 72 65 20 74 77 6F 20 |. There are two |
00006100: 74 79 70 65 73 20 6F 66 20 69 6E 74 65 72 72 75 |types of interru|
00006110: 70 74 73 0D 0A 74 68 65 73 65 20 61 72 65 3A 0D |pts..these are:.|
00006120: 0A 0A 82 4D 41 53 4B 41 42 4C 45 20 49 4E 54 45 |...MASKABLE INTE|
00006130: 52 52 55 50 54 53 0D 0A 20 54 68 65 73 65 20 61 |RRUPTS.. These a|
00006140: 72 65 20 69 6E 74 65 72 72 75 70 74 73 20 74 68 |re interrupts th|
00006150: 61 74 20 63 61 6E 20 62 65 0D 0A 63 68 61 6E 67 |at can be..chang|
00006160: 65 64 20 74 6F 20 70 6F 69 6E 74 20 74 6F 20 79 |ed to point to y|
00006170: 6F 75 72 20 6F 77 6E 20 72 6F 75 74 69 6E 65 2E |our own routine.|
00006180: 0D 0A 42 79 20 75 73 69 6E 67 20 74 68 65 20 69 |..By using the i|
00006190: 6E 73 74 72 75 63 74 69 6F 6E 20 53 45 49 20 28 |nstruction SEI (|
000061A0: 53 45 74 0D 0A 49 6E 74 65 72 72 75 70 74 20 64 |SEt..Interrupt d|
000061B0: 69 73 61 62 6C 65 20 66 6C 61 67 29 20 79 6F 75 |isable flag) you|
000061C0: 20 63 61 6E 20 6D 61 73 6B 0D 0A 6F 75 74 20 6D | can mask..out m|
000061D0: 61 73 6B 61 62 6C 65 20 69 6E 74 65 72 72 75 70 |askable interrup|
000061E0: 74 73 20 61 6C 74 6F 67 65 74 68 65 72 2C 20 73 |ts altogether, s|
000061F0: 6F 0D 0A 74 68 61 74 20 6D 61 73 6B 61 62 6C 65 |o..that maskable|
00006200: 20 69 6E 74 65 72 72 75 70 74 73 20 64 6F 20 6E | interrupts do n|
00006210: 6F 74 20 6F 63 63 75 72 0D 0A 75 6E 74 69 6C 20 |ot occur..until |
00006220: 61 20 43 4C 49 20 28 43 4C 65 61 72 20 49 6E 74 |a CLI (CLear Int|
00006230: 65 72 72 75 70 74 20 64 69 73 61 62 6C 65 0D 0A |errupt disable..|
00006240: 66 6C 61 67 29 20 69 6E 73 74 72 75 63 74 69 6F |flag) instructio|
00006250: 6E 20 69 73 20 65 78 65 63 75 74 65 64 2E FE 1F |n is executed...|
00006260: 08 02 86 4E 4F 4E 20 2D 20 4D 41 53 4B 41 42 4C |...NON - MASKABL|
00006270: 45 20 49 4E 54 45 52 52 55 50 54 53 0D 0A 0A 20 |E INTERRUPTS... |
00006280: 54 68 69 73 20 74 79 70 65 20 6F 66 20 69 6E 74 |This type of int|
00006290: 65 72 72 75 70 74 20 69 73 20 6E 6F 74 20 61 66 |errupt is not af|
000062A0: 66 65 63 74 65 64 0D 0A 62 79 20 74 68 65 20 53 |fected..by the S|
000062B0: 45 49 20 61 6E 64 20 43 4C 49 20 69 6E 73 74 72 |EI and CLI instr|
000062C0: 75 63 74 69 6F 6E 73 2E 0D 0A 44 65 70 65 6E 64 |uctions...Depend|
000062D0: 69 6E 67 20 6F 6E 20 74 68 65 20 63 6F 6D 70 75 |ing on the compu|
000062E0: 74 65 72 2C 20 74 68 65 73 65 0D 0A 69 6E 74 65 |ter, these..inte|
000062F0: 72 72 75 70 74 73 20 63 61 6E 20 73 74 69 6C 6C |rrupts can still|
00006300: 20 68 61 76 65 20 74 68 65 69 72 20 76 65 63 74 | have their vect|
00006310: 6F 72 73 0D 0A 63 68 61 6E 67 65 64 2E 0D 0A 0A |ors..changed....|
00006320: 20 41 6C 6C 20 69 6E 74 65 72 72 75 70 74 73 20 | All interrupts |
00006330: 65 6E 64 20 69 6E 20 61 6E 20 52 54 49 20 28 52 |end in an RTI (R|
00006340: 65 54 75 72 6E 0D 0A 66 72 6F 6D 20 49 6E 74 65 |eTurn..from Inte|
00006350: 72 72 75 70 74 29 20 69 6E 73 74 72 75 63 74 69 |rrupt) instructi|
00006360: 6F 6E 2E 20 55 73 75 61 6C 6C 79 0D 0A 61 6E 20 |on. Usually..an |
00006370: 69 6E 74 65 72 72 75 70 74 20 72 6F 75 74 69 6E |interrupt routin|
00006380: 65 20 68 61 73 20 74 6F 20 73 61 76 65 20 74 68 |e has to save th|
00006390: 65 0D 0A 72 65 67 69 73 74 65 72 73 20 69 74 20 |e..registers it |
000063A0: 75 73 65 73 2C 20 62 79 20 70 75 73 68 69 6E 67 |uses, by pushing|
000063B0: 20 74 68 65 6D 20 6F 6E 74 6F 0D 0A 74 68 65 20 | them onto..the |
000063C0: 73 74 61 63 6B 2E 20 57 68 65 6E 20 61 6E 20 69 |stack. When an i|
000063D0: 6E 74 65 72 72 75 70 74 20 6F 63 63 75 72 73 20 |nterrupt occurs |
000063E0: 74 68 65 0D 0A 70 72 6F 63 65 73 73 6F 72 20 73 |the..processor s|
000063F0: 74 61 74 75 73 20 72 65 67 69 73 74 65 72 20 61 |tatus register a|
00006400: 6E 64 20 74 68 65 20 72 65 74 75 72 6E 61 64 64 |nd the returnadd|
00006410: 72 65 73 73 20 61 72 65 20 70 75 73 68 65 64 20 |ress are pushed |
00006420: 6F 6E 74 6F 20 74 68 65 20 73 74 61 63 6B 2E 20 |onto the stack. |
00006430: 57 68 65 6E 0D 0A 61 6E 20 52 54 49 20 69 6E 73 |When..an RTI ins|
00006440: 74 72 75 63 74 69 6F 6E 20 69 73 20 65 78 65 63 |truction is exec|
00006450: 75 74 65 64 20 74 68 65 20 66 6C 61 67 73 61 6E |uted the flagsan|
00006460: 64 20 72 65 74 75 72 6E 20 61 64 64 72 65 73 73 |d return address|
00006470: 20 61 72 65 20 70 75 6C 6C 65 64 20 66 72 6F 6D | are pulled from|
00006480: 20 74 68 65 0D 0A 73 74 61 63 6B 20 61 6E 64 20 | the..stack and |
00006490: 74 68 65 20 70 72 6F 67 72 61 6D 20 77 69 6C 6C |the program will|
000064A0: 20 63 6F 6E 74 69 6E 75 65 20 61 73 0D 0A 6E 6F | continue as..no|
000064B0: 72 6D 61 6C 2E FF 1F 0F 02 57 48 41 54 20 4E 4F |rmal.....WHAT NO|
000064C0: 57 20 3F 0D 0A 0A 20 59 6F 75 20 68 61 76 65 20 |W ?... You have |
000064D0: 6E 6F 77 20 66 69 6E 69 73 68 65 64 20 74 68 65 |now finished the|
000064E0: 20 63 6F 75 72 73 65 20 6F 66 0D 0A 6C 65 73 73 | course of..less|
000064F0: 6F 6E 73 20 74 6F 20 74 65 61 63 68 20 79 6F 75 |ons to teach you|
00006500: 20 36 35 30 32 20 6D 61 63 68 69 6E 65 20 63 6F | 6502 machine co|
00006510: 64 65 2E 0D 0A 54 68 65 20 6C 65 73 73 6F 6E 73 |de...The lessons|
00006520: 20 68 61 76 65 20 62 65 65 6E 20 64 65 73 69 67 | have been desig|
00006530: 6E 65 64 20 74 6F 20 74 65 61 63 68 20 6D 61 63 |ned to teach mac|
00006540: 68 69 6E 65 20 63 6F 64 65 20 73 6F 20 74 68 61 |hine code so tha|
00006550: 74 20 69 74 20 77 69 6C 6C 20 62 65 20 74 68 65 |t it will be the|
00006560: 20 73 61 6D 65 66 6F 72 20 65 61 63 68 20 36 35 | samefor each 65|
00006570: 30 32 20 62 61 73 65 64 20 6D 61 63 68 69 6E 65 |02 based machine|
00006580: 2E 20 48 6F 77 65 76 65 72 2C 0D 0A 74 6F 20 6D |. However,..to m|
00006590: 61 6B 65 20 74 68 65 20 6D 6F 73 74 20 6F 66 20 |ake the most of |
000065A0: 74 68 65 20 6D 61 63 68 69 6E 65 2C 20 69 74 20 |the machine, it |
000065B0: 69 73 0D 0A 61 64 76 69 73 61 62 6C 65 20 74 6F |is..advisable to|
000065C0: 20 75 73 65 20 77 68 61 74 20 69 73 20 63 61 6C | use what is cal|
000065D0: 6C 65 64 20 61 6E 0D 0A 4F 50 45 52 41 54 49 4E |led an..OPERATIN|
000065E0: 47 20 53 59 53 54 45 4D 2E 20 54 68 69 73 20 69 |G SYSTEM. This i|
000065F0: 73 20 63 6F 6E 74 61 69 6E 65 64 20 69 6E 0D 0A |s contained in..|
00006600: 52 4F 4D 20 61 6E 64 20 67 69 76 65 6E 20 77 69 |ROM and given wi|
00006610: 74 68 20 74 68 65 20 63 6F 6D 70 75 74 65 72 20 |th the computer |
00006620: 66 69 74 74 65 64 0D 0A 61 73 20 73 74 61 6E 64 |fitted..as stand|
00006630: 61 72 64 2E 20 41 6E 20 6F 70 65 72 61 74 69 6E |ard. An operatin|
00006640: 67 20 73 79 73 74 65 6D 20 69 73 20 61 0D 0A 6D |g system is a..m|
00006650: 61 63 68 69 6E 65 20 63 6F 64 65 20 70 72 6F 67 |achine code prog|
00006660: 72 61 6D 20 74 68 61 74 20 6C 65 74 73 20 79 6F |ram that lets yo|
00006670: 75 20 75 73 65 0D 0A 61 64 76 61 6E 63 65 64 20 |u use..advanced |
00006680: 66 65 61 74 75 72 65 73 20 6F 66 20 61 20 6D 61 |features of a ma|
00006690: 63 68 69 6E 65 20 6C 69 6B 65 0D 0A 67 72 61 70 |chine like..grap|
000066A0: 68 69 63 73 20 61 6E 64 20 73 6F 75 6E 64 2E 20 |hics and sound. |
000066B0: 49 74 20 61 6C 73 6F 20 68 61 6E 64 6C 65 73 0D |It also handles.|
000066C0: 0A 72 6F 75 74 69 6E 65 73 20 66 6F 72 20 72 65 |.routines for re|
000066D0: 61 64 69 6E 67 20 74 68 65 20 6B 65 79 62 6F 61 |ading the keyboa|
000066E0: 72 64 20 61 6E 64 0D 0A 75 73 69 6E 67 20 63 61 |rd and..using ca|
000066F0: 73 73 65 74 74 65 73 20 61 6E 64 20 64 69 73 63 |ssettes and disc|
00006700: 20 64 72 69 76 65 73 2C 20 61 73 20 77 65 6C 6C | drives, as well|
00006710: 61 73 20 6D 61 6E 79 20 6F 74 68 65 72 20 66 75 |as many other fu|
00006720: 6E 63 74 69 6F 6E 73 2E FE 1F 0F 02 57 48 41 54 |nctions.....WHAT|
00006730: 20 4E 4F 57 20 3F 0D 0A 0A 20 41 73 20 74 68 69 | NOW ?... As thi|
00006740: 73 20 70 72 6F 67 72 61 6D 20 6F 6E 6C 79 20 73 |s program only s|
00006750: 69 6D 75 6C 61 74 65 73 20 74 68 65 0D 0A 72 75 |imulates the..ru|
00006760: 6E 6E 69 6E 67 20 6F 66 20 61 20 36 35 30 32 20 |nning of a 6502 |
00006770: 70 72 6F 67 72 61 6D 2C 20 79 6F 75 20 63 61 6E |program, you can|
00006780: 6E 6F 74 0D 0A 75 73 65 20 74 68 69 73 20 70 72 |not..use this pr|
00006790: 6F 67 72 61 6D 20 69 6E 20 63 6F 6E 6A 75 6E 63 |ogram in conjunc|
000067A0: 74 69 6F 6E 20 77 69 74 68 0D 0A 74 68 65 20 6F |tion with..the o|
000067B0: 70 65 72 61 74 69 6E 67 20 73 79 73 74 65 6D 2E |perating system.|
000067C0: 20 54 68 65 72 65 66 6F 72 65 2C 20 69 74 20 69 | Therefore, it i|
000067D0: 73 0D 0A 74 69 6D 65 20 74 6F 20 75 73 65 20 61 |s..time to use a|
000067E0: 20 6D 6F 72 65 20 70 6F 77 65 72 66 75 6C 20 62 | more powerful b|
000067F0: 75 74 20 6C 65 73 73 0D 0A 75 73 65 72 20 66 72 |ut less..user fr|
00006800: 69 65 6E 64 6C 79 20 61 73 73 65 6D 62 6C 65 72 |iendly assembler|
00006810: 2E 0D 0A 4E 6F 74 65 20 74 68 61 74 20 6D 61 63 |...Note that mac|
00006820: 68 69 6E 65 20 63 6F 64 65 20 70 72 6F 67 72 61 |hine code progra|
00006830: 6D 73 20 72 75 6E 20 76 65 72 79 71 75 69 63 6B |ms run veryquick|
00006840: 6C 79 20 61 6E 64 20 77 69 6C 6C 20 6E 6F 74 20 |ly and will not |
00006850: 77 61 69 74 20 66 6F 72 20 79 6F 75 20 74 6F 0D |wait for you to.|
00006860: 0A 70 72 65 73 73 20 74 68 65 20 72 65 74 75 72 |.press the retur|
00006870: 6E 20 6B 65 79 20 6C 69 6B 65 20 74 68 69 73 20 |n key like this |
00006880: 6F 6E 65 20 64 6F 65 73 21 57 69 74 68 20 61 20 |one does!With a |
00006890: 6D 61 63 68 69 6E 65 20 63 6F 64 65 20 70 72 6F |machine code pro|
000068A0: 67 72 61 6D 20 6E 6F 74 20 77 72 69 74 74 65 6E |gram not written|
000068B0: 0D 0A 77 69 74 68 20 74 68 69 73 20 61 73 73 65 |..with this asse|
000068C0: 6D 62 6C 65 72 20 74 68 65 72 65 20 69 73 20 61 |mbler there is a|
000068D0: 20 63 68 61 6E 63 65 0D 0A 74 68 61 74 20 74 68 | chance..that th|
000068E0: 65 20 70 72 6F 67 72 61 6D 20 63 6F 75 6C 64 20 |e program could |
000068F0: 27 63 72 61 73 68 27 2E 0D 0A 54 68 65 72 65 66 |'crash'...Theref|
00006900: 6F 72 65 20 69 74 20 69 73 20 75 70 20 74 6F 20 |ore it is up to |
00006910: 79 6F 75 20 74 6F 20 6D 61 6B 65 0D 0A 73 75 72 |you to make..sur|
00006920: 65 20 79 6F 75 20 75 73 65 20 27 73 61 66 65 27 |e you use 'safe'|
00006930: 20 61 72 65 61 73 20 6F 66 0D 0A 6D 65 6D 6F 72 | areas of..memor|
00006940: 79 2E 20 49 66 20 79 6F 75 20 61 72 65 20 65 76 |y. If you are ev|
00006950: 65 72 20 75 6E 73 75 72 65 20 6F 66 20 61 0D 0A |er unsure of a..|
00006960: 69 6E 73 74 72 75 63 74 69 6F 6E 20 79 6F 75 20 |instruction you |
00006970: 63 61 6E 20 61 6C 77 61 79 73 20 75 73 65 20 74 |can always use t|
00006980: 68 69 73 0D 0A 70 72 6F 67 72 61 6D 20 74 6F 20 |his..program to |
00006990: 63 68 65 63 6B 20 68 6F 77 20 69 74 20 77 6F 72 |check how it wor|
000069A0: 6B 73 20 62 65 66 6F 72 65 0D 0A 75 73 69 6E 67 |ks before..using|
000069B0: 20 69 74 20 69 6E 20 79 6F 75 72 20 6F 77 6E 20 | it in your own |
000069C0: 70 72 6F 67 72 61 6D 2E FF C7 06 09 09 0A 0A 08 |program.........|
000069D0: 00 46 07 03 0F 0F 04 C3 02 08 08 C9 07 0F 0F 0B |.F..............|
000069E0: 06 05 0F 0F C9 06 09 09 0A 0A 08 00 46 07 03 0D |............F...|
000069F0: 03 0E C3 02 08 08 C9 07 02 02 0B 06 05 02 02 C9 |................|
00006A00: 20 58 29 7F 85 B1 A2 00 A4 92 B1 80 9D 80 05 E8 | X).............|
00006A10: C8 E4 B1 90 F5 84 92 60 20 A8 B6 AD 80 05 C9 3F |.......` ......?|
00006A20: D0 08 AD F8 04 F0 03 8D 80 05 8A 18 69 06 85 9A |............i...|
00006A30: AE 80 05 E0 3F B0 04 A2 3F D0 06 E0 5B 90 02 A2 |....?...?...[...|
00006A40: 5A BC DD 04 C0 FF F0 38 BD C1 04 18 65 8C 85 93 |Z......8....e...|
00006A50: 98 65 8D 85 94 A2 00 A5 9A C1 |.e........ |
..%.O..2088 JBM AND ABC GREET RS. ..
.X.4.. .F.N8......HP...I.P. ..W.....P.._
...HP....L...........F...****).........)
.. 6. ......PZ.7..XL..D.\.RUOQ..P...`..P
...`........L6..<.... =.JP.`.. 6.LS.....
=. 6.JP.`...........HD.P...E....... .JP
....E.......` D... S.F.P.L6. D. D.F.P.`#
.XX.....)..............)........P. ..P..
. P..P)...)..0..P F....E..D... .1 Z.L...
..........@..T .5 F.L.......4.......J...
...............`.. .1.. .1 .1L.......`..
...... ...I... .1HP...P...... .... .1...
.1... .1 %4....I...L(.....$...I P'.. .1
.. .1... .1..........L.....I P.L1....I..
.........IA..LD.I[..LD.L1....I'..... .4.
..L.....I0..LU.I:..L1....I.P....I...N...
. .1L.....I.P....I.....................M
....J..L..L1....I.P....I.P.L..N..L..I.P.
...I'P.L..........L..I.P....I.P.L..N..L.
.I.P....I.P.L.....L...G... Z... .4......
....LN..H...L..L.......{..............A.
....P........................... Z. .5LR
...... ...I... .1HP...P...... ..L.......
`....CBM80 G.X ."XX %4...I_P.LN..I.P(...
I...I.P. Z#X ........I.PILC5 .. ..L.....
I.P...... -. G.LX..... .1.. .1 .1 .. .1
.P... .4...P....P...Q.. .1.. .1.. .1 ..P
I... .1HP..QP...... .. &. G.L.....*..2..
. N.LZ....I0..IG..I:..IA..` ..+.H.+.....
P..0.+.JPU`.:M.......8.0.M*..*.L.....8.7
.M*..*..:M-....-.8.0D...M*..*.LJ..-.8.7D
. 8.M*..*..:M,....,.8.0.M2..2.L...,.8.7.
M2..2..:M+....+.8.0D...M2..2.L...+.8.7D.
..M2..2.`...B. Z..W...<...T...... W. ..
..`.H...I...H..I... W.N`.P.L_.... ...I..
.I... .1HP...P....`........THE COMPLETE
MACHINE CODE TUTOR ........_*. .......
L '.BY PAUL BUNN..... (C) 1984 NEW GENE
RATION SOFTWARE...CHOOSE SELECTION BY PR
ESSING RETURN...WHEN CHOICE IS MADE PRES
S THE SPACE BAR... ....`........ .1.. .1
... .1.. .1......I.P... .1.. .1.B. .1..
.1.. .1.. .1 %4I.P..B...`.I.MB.P....B.LF
.I ..L...B.8....I......H.... ....A...I..
.HP.H....H...... .1.A.I..7 W....... S...
.I..... .1... I.L...B..`..I.MB.P....B.L
...... ... .1.. .1... .1..I...I... .1HP.
..P....HLE.L.................. W. %4I P.
........`....PRESS SPACE BAR TO CONTINUE
....*..2. N..+.I0.....M*..*..2.I..2.N+.L
A..,.I0...D ..N,.L...-.I0.... ..N-.L....
.I0.... ..N..L..`.M*..*..2.I..2.`...V.{.
W.....X.X..AP.H..AI...`.. .1.. .1. .1.W
..... .1... .1.V ..... .1... .1. .1 .1.
..Y.X..AI...L... ..... .1... .1.X.YL..H.
.AI....X..AL..H..AI.P..X..AL....VEY.V..X
.XL4....P.......3..4.........(..Z. .4._.
V. .W....... .1....I. .1.(. .1.. .4.....
..N....PY...I P....P..P..P.I...LW. $9LX.
.:.....I ..LN....P. ..VI..<Y..P#H..P..V
.....{.3...A....A..A...).L.. ..LY..V.I..
V.WI..W`.. .1.. .1.. .1..... .4I....P...
... .1...P. %4LN....V. .W.....IA..L$....
.I P...P. ..VI...Y..P#H..P..V.....{.3...
A....A..A...).L.. ..L...Q.V. .W.....I#..
LB.L.. ..VI...Y..P?H..P..V.....{.3...A..
.)......I$.$ .......+..H..P. ...2...L..L
.. ..L;. .......+..H..P. >..2...L...*...
...{.3...A....A..AL..... .+.JP. ....I,..
IG..I(..H..P.L..LP.H...IX.PIY..L.. ....I
$P,..H....+....P. >..2.P.L.....V.!.W...)
. ..L}.......+.H...P. ..L.. ....I$P)..H.
...+....P. >..2..:...V.!.W...). ..L}....
...+..H..P. ..LZ..K.V.".W...). ..L.....V
.".W...). ..L_. ......I$.'....+..H..P. .
..2..*.S.V.!.W...). ..L}.H....+....P. >.
.2...LK....V. .W...). ..LK. ..VI..PY..PE
H..P..V.....{.3...A.).I..2....*...{.3...
A....2...{.3...A....A..AHHL.. ..L..`....
*...{.3...A....A..AHHL..LS.....M).....(.
..3.M).I..3.L.... .1.. .1.. .1..... .4I.
...P.L.....I........`.....`. .1JP.`.. .
1.. .1.. .1... .....K. .... .1.. .1.. .1
... .....K. .... .1.! .1.. .1... .....K.
.... .1.. .1.. .1...K....*..I0 .1.. P..
..JJ..I0 .1.. P....DJ 0.0I. .1.. P....**
..I0 .1.. P....J..I0 .1.. P....CJ ...I0
.1`...I...LY... .1.. .1.. .1... .. ....
.1.. .1.. .1... .. .... .1.. .1.. .1...
.. .... .1.. .1.. .1...)..I0 .1.. .1.. .
1.. .1..,.....1 .1L6..0 .1.. .1.. .1.. .
1...CJ S..I0 .1.. .1.. .1.. .1...JJ..I0
.1.. .1.. .1.. .1...*..I0 .1.. .1.. .1..
.1...**..I0 .1`... ...$...............`
...DJ#.I....I7...LT.I0......).I....I7...
`I0...`......I...L...0............8.D...
..N...ID8.......N...I.8.......N..`.. .1.
. .1.. .1. . .1JP.`...I....... .1.. .1.
.1.. .1...P.L...... .1.. .1. .1.. .1...
P.L.... .1.. .1... .1.. .1.. .1`.. .1..
.1... .1.. .1.. .1`... .1... .1...L.1...
..I(..L......I$..L.. ......+.H..P. >.L..
.....+.H...P. .......I ..I).;I,.....P.L
.....IX..L.....I)..L...T.V.".W...)..2.P.
..L..L.....I,..L.....IY..L...U.V.".WLA.
...V.".W ..VI..0Y..P%H..P.....V..{.3...A
...)..P.I.P. ..L.. ..L{.LA.....A..AL....
.V.".W ..VI...Y..P.H..P.L..L.. ..LI..V..
...{.3...A....A..A...)..P.I.P. ..L...).I
.......{..{.3...A K..3...A.....{` K.8..8
........{.3...A`......... .1. .1... .1..
... .4......8.......Q..........PN.. .1..
.1... .1.. .4. .%.. ..Q.Y..P..H..P.....
.`...I......LP..... .1.. .1.. .1...I...
.4.P.DH.L..#$,()...ACCUMULATOR :C0...Q
...X - REGISTER :C0...Q ...Y - REGISTER
:C0...Q ...CARRY FLAGC #:0 ..DECIMAL M
ODE :0 ..INTERRUPTSC .:0 ..ZERO FLAGD
,:0 ..NEGATIVE FLAG:0 ..OVERFLOW FLAG
:0 ..Q 4...F3/F7 FOR MODES...'RETURN'
TO RUN ...'_' TO EDITD 7.........LABEL
S INSTRUCTIONS.....PRESS KEYS:........ F
1C ....ASSEMBLES PROGRAM........ F3C ...
.FOR MAIN MENU........ F5C ....TO ERASE
PROGRAM............. ...EDIT MODE ....
...I* O .....TYPE IN PROGRAM, USING THE
CURSOR KEYS..TO EDIT PROGRAM......ACCUM
ULATORD .X-REGISTERD .Y-REGISTER ...C0.
..E ....C0. ..D ....C0. ..H )NEG ZE
RO DEC O/F CARRY I/DISABLEFLAGS:....0
. 0 . 0H (.0.ERROR - INSTRUCTION NOT R
ECOGNISED :.ERROR - NUMBER BIGGER THAN 2
55:.ERROR - LABEL NOT FOUND : .ERROR - R
ESULTING ADDRESS GREATER THAN..1024 (DEC
IMAL) OR $400 (HEX).BRK.CLC.CLDXCLIXCLV.
DEXJDEY.INX.INYHNOP.PHAHPHP.PLAHPLP(RTS`
SEC8SED.SEIXTAX.TAY.TSX.TXA.TXS.TYA..ASL
.LSRJROL*RORJ.ADCIAND)CMPICPX.CPY.EORILD
A.LDX.LDY ORA.SBC..ADCEAND%ASL.BIT$CMPEC
PX.CPYDDECFEOREINC.LDA.LDX.LDY.LSRFORA.R
OL&RORFSBC.STA.STX.STY..ADCMAND-ASL.BIT,
CMPMCPX.CPYLEORMINC.LDA.LDX.LDY.LSRNORA.
ROL.RORNSBC.STA.STX.STY.DECN.ADC}AND=ASL
.CMP.DEC.EOR]INC.LDA.LDY.LSR^ORA.ROL>ROR
~SBC.STA..ADCYAND9CMPYEORYLDA.LDX.ORA.SB
C.STA..ADCUAND5ASL.CMPUDECVEORUINC.LDA.L
DY.LSRVORA.ROL6RORVSBC.STA.STY..LDX.STX.
.ADCAAND!CMPAEORALDA.ORA.SBC.STA..ADCQAN
D1CMPQEORQLDA.ORA.SBC.STA..JMPLJSR .BCC.
BCS.BEQ.BMI0BNEPBPL.BVCPBVSP... .1.. .1.
. .1.P.... .1N.....P.`.....(.. .".. .1.
. .1.. .1.......]...{.\.........I.....I.
..JL.# .....H....H....H.... }#H....H....
}#H....H.... }#H...[. .#....'I...M[....
P...I...L.& W(`L..... ...I... .4HP....`
."HHLN. .........L.&I.P.`I.P.........`I.
P..]...{....{.I...`I.P..].......{..`I.P.
.^.......]...{.^.`I.P. .#...M......I...`
I.P. .#...M....L.$I.P+.....]...{.. .....
.H...I.......M......I...`I.P%.....]...{.
M.... ......H...I........`I.P..]...{.M..
....I...`I.P..]...{.M..L.$I.P..]...{...
...M....H..P.L (..`I.P..]...{....I......
..Q.... .L.$` ....)L... ....^..^...^...H
).......`.........N..`............`.....
....N..`............L.& %4HHLN. ......L.
&... ...` ......L.& ......` ......L.& ..
....`.]. ...-.....L.&...)....`........`
...J......)L...H).......` ...M.....L.& .
...).H(..*......)L...H).......` ....^...
.,^.....)....H)B......`..8.....`........
..I...........I{..L ( ...M....H..P.L (..
L.&.{......N...]..I.......N..L.&...)....
`...).H( ....).......Q.....H)C......`...
).H( ....)......J...H)C......`N..L.&....
......)M...H).......`......L.&......`...
.....`.... .1.. .1.. .1.. I... .1.P. %4H
HLN.......`........`...L.&N..L.& ....^.N
^..^...L.&...L.&...).H(...)....... .....
..H)C......`...)....... .8...H)C......`.
..).......LJ'...).......LJ'......L.&....
..L.&......L.&...)....` ....^..^..^...L.
&...)....`...)...L.'`...).P......N..`...
)@..`...).P.`...).P.`...)..X`...)..P`...
)@PH`...8(I... .1.L"( %4HHLN....ERROR -
ADDRESS NOT FOUND........I...`..(I... .1
.P.8.... ..... .1.. ..... .1... .1`...RE
SULTING ADDRESS $.)..#?6{6.(..#.5.507.:%
[6{6.(.:%[6{6.(.:%[6{6.(..#.5.507..$.5.6
.(.:%[6{6.(..%.6.6"6..#.5.5H5..$.5.5.(.:
%[6{6.(.:%[6{6.(..#.5.507..$.5.6.(.:%[6{
6.(..(.8.8.(..#.5.507.:%[6{6.(.:%[6{6.(.
:%[6{6.(..#.5.507..$.5.6.(.:%[6{6.(..%.6
6.6..#.5.507.:%[6{6.(.:%[6{6.(.:%[6{6.(
..#.5.507..$.5.6.(.:%[6{6.(.>&.7.(.(.X%B
607.(.:%[6{6.(.:%[6{6.(..%.6.6.(.X%B607.
(.A%.6.6.6.:%[6{6.(..%.7.6.6.X%B6H5.(.A%
.6.6.5.:%[6{6.(..%.6.6.(.X%B607.(.A%.6.6
.6.:%[6{6.(..(.8.8.(.X%B607.(.:%[6{6.(.:
%[6{6.(.:%[6{6.(.X%B607.(.A%.6.6.6.:%[6{
6.(..%+7 6.6.X%B607.(.:%[6{6.(.:%[6{6.(.
:%[6{6.(.X%B607.(.A%.6.6.6.:%[6{6.(.:%[6
{6.(..%.7.507.:%[6{6.(.:%[6{6.(.:%[6{6.(
..%.7.507..%.7.6.6.:%[6{6.(..%.6.5"6..%.
7.5H5..%.7.6.5.:%[6{6.(..&.7.(.(..%.7.50
7..%.7.6.6.:%[6{6.(..'.8.8.(..%.7.507.:%
[6{6.(.:%[6{6.(.:%[6{6.(..%.7.507..%.7.6
.6.:%[6{6.(.[&.6O7.6..%.7.507.:%[6{6.(.:
%[6{6.(.:%[6{6.(..%.7.507..%.7.6.6.:%[6{
6.(..&.8.(.(.D&E7 6.6.:%[6{6.(.:%[6{6.(.
:%[6{6.(.D&E7 6.6..&.6.6.6.:%[6{6.(.+%.7
.5.6.D&E7 6D8..&.6.6.5.:%[6{6.(.:%[6{6.(
.D&E7 6.6..&.6.6.6.:%[6{6.(..(.8.9.(.D&E
7 6.6.:%[6{6.(.:%[6{6.(.:%[6{6.(.D&E7 6.
6..&.6.6.6.:%[6{6.(.X&+7O7.6.D&E7 6.6.:%
[6{6.(.:%[6{6.(.:%[6{6.(.D&E7 6.6..&.6.6
.6.:%[6{6.(.:%[6{6.(.L%L7.5S7.:%[6{6.(.:
%[6{6.(.P%L7.5S7.L%L7.5S7.^%L7.5S7.:%[6{
6.(..&.7.5.(.:%[6{6.(..&B7.5.7.:%[6{6.(.
P%L7.5S7.L%L7.5S7.^%L7.5S7.:%[6{6.(..(.8
6.8.L%L7.5S7.:%[6{6.(.:%[6{6.(.P%L7.5S7
.L%L7.5S7.^%L7.5S7.:%[6{6.(.H&B7.5.7.L%L
7.5S7.Q&B7.5.7.:%[6{6.(.:%[6{6.(.L%L7.5S
7.:%[6{6.(.:%[6{6.(.F%.7.5H5.B%.7.5U5.T%
.7.5H5.:%[6{6.(.F%.7.5U5.B%.7.5U5.T%.7.5
U5.:%[6{6.(..'B7.5M8.B%.7.5H5..'B7.5.8.:
%[6{6.(.F%.7.5U5.B%.7.5U5.T%.7.5U5.:%[6{
6.(..'.8 6.8.B%.7.5U5.:%[6{6.(.:%[6{6.(.
F%.7.5U5.B%.7.5U5.T%.7.5U5.:%[6{6.(.L'.6
.8.6.B%.7.5U5..'B7.7.8.:%[6{6.(.F%.7.5U5
.B%.7.5U5.T%.7.5U5.:%[6{6.(.Z'[8.5H5..'[
8.5U5.:%[6{6.(.:%[6{6.(.Z'[8.5U5..'[8.5U
5.#'.7.6.(.:%[6{6.(..'+8.5.(..'[8.5H5..'
.7.5.(.:%[6{6.(.Z'[8.5U5..'[8.5U5.#'.7.6
.(.:%[6{6.(..'.8D8.(..'[8.5U5.:%[6{6.(.:
%[6{6.(.:%[6{6.(..'[8.5U5.#'.7.6.(.:%[6{
6.(..'.668.6..'[8.5U5.:%[6{6.(.:%[6{6.(.
:%[6{6.(..'[8.5U5.#'.7.6.(.:%[6{6.(._'[8
.5H5.;'L8 6.6.:%[6{6.(.:%[6{6.(._'[8.5U5
.;'L8 6.6..'+8.6.(.:%[6{6.(.5'+8.5.(.;'L
8 6D8..'.8.(.(.:%[6{6.(._'[8.5U5.;'L8 6.
6..'+8.6.(.:%[6{6.(.U'.8|8.(.;'L8 6.6.:%
[6{6.(.:%[6{6.(.:%[6{6.(.;'L8 6.6..'+8.6
.(.:%[6{6.(..'+768.6.;'L8 6.6.:%[6{6.(.:
%[6{6.(.:%[6{6.(.;'L8 6.6..'+8.6.(.:%[6{
6.(..F.H.H.H..)...X.D...LW3.F.I.P....K..
..J.L.4I.P..J..K.L.4I.P.L.3I.P....D.L.3I
.P....E..K....J..$.).%.*L.3I.P.L.2I.P'8N
E..)...).*...* ....).... .E.."... L.3I{.
.8.....4.J.. LA2I_P...LA2IA...`.C..F..E.
."...&.'.C.......&I..&.'I..'JLU2 ...'IX.
'.&.)H..P..J.D.)..K..E.. L.2..$I@.).$.%I
..*.%...K..E....J... I(. .!I..!.."I(.".#
I..#L.3.E...)I..).*I..*.E.I(P.L.2......H
.H.H` ....). .*...)HP..*.*I.P.... ...!..
.# .."... . ."HP..!.#.!I.P....J....K....
!...E.. .*...$. .%..."...#L.3I..@.F. ...
.).$. .*.%..."...#... ...!......)I..).*I
..*HJL.3.E.ND.L.3.F..8NF...)I@.).*I..*.
I(. .!I..!.."I(.".#I..#.$I@.$.%I..%L.3ND
....K....J....P. .4L.3.F.H.H.H.F.I...L.1
L.2.H.H .. ..X.. ]4.F..H..G..I......F. <
.....JP.LJ4H.H..F.`H...H..G..I.HI.P....H
.`I.P....I.`I.P....G.`.E.. )..K.. H.(P..
LA2I...`.E.."...`..................V...
W.. ..V).I...H.(P...VI(.V.WI..WJP.L.4...
VLO4.E.. ).... `.Z.......Z.`.. .1.. .1 .
1.(. .1J......... .1.. .1... .1... .1J
........I.P... .1.. .1.. .1.H. .1JP. -.
`.W...5.. ." W. %4LN....END OF PROGRAM -
PRESS A KEY.ACCUMULATOR .X REGISTER .Y
REGISTER .LOGICAL OR .WITH NUMBER .WITH
MEMORY LOCATION.ARITHMETIC SHIFT LEFT .P
USH .PROCESSOR STATUS REGISTER..ONTO STA
CK .MEMORY LOCATION .BREAK - WILL STOP E
XECUTION.NOT A VALID INSTRUCTION OP-CODE
..PRESS RETURN KEY TO CONTINUE.CLEAR .CA
RRY .FLAG .RIGHT .LEFT .ROTATE .LOGICAL
AND ACCUMULATOR .TEST BITS OF ACCUMULATO
R AGAINST .FROM STACK.PULL .LOGICAL SHIF
T .EXCLUSIVE OR .SET .WITH MEMORY.LOCATI
ON.ADD WITH .INTERRUPT DISABLE .TRANSFER
.STORE .AT MEMORY LOCATION.TO STACK POI
NTER.TO ACCUMULATOR.JUMP TO SUBROUTINE.J
UMP - LOAD PROGRAM COUNTER WITH NEW.ADDR
ESS.DECREMENT .LOAD .STACK POINTER .TO X
REGISTER.OVERFLOW .NO OPERATION.INCREME
NT .DECIMAL MODE .NUMBER .SUBTRACT WITH
.COMPARE .NOT EQUAL TO ZERO (Z=0).EQUAL
TO ZERO (Z=1).BRANCH IF .POSITIVE (N=0).
MINUS (N=1).RETURN FROM SUBROUTINE.TO Y
REGISTER.SET (C=1).CLEAR (C=0).OVERFLOW
FLAG CLEAR (V=0).OVERFLOW FLAG SET (V=1)
.................LN9.. .1... .1... .1..
.4.` 69....Q..........I.P..Q.I P.L.9...C
............C.M.... .:....Q.P..........I
.P.L.9.C..C.I.PI......I...L)9`.....9.. W
....Q. .1...P.." .1 %4HHLN....ERROR - DU
PLICATE LABEL FOUND "... .1... .1.C. .1.
. .4.`.. .1.. .1.(. .1.. .4. ..LL;.....I
..LG;...IB..IJ..L.:....I P..N........I
.BIA.XI$......I(.AI#..I0..L.;L";I:......
....I ..I,..I0..L.;I:..L.:`.........I ..
L.;....I)..I(....P.L.;....I)..I(....P...
...I$.....I)..I,..I0..I:...P..L.:L.;....
I)..I,..I0..IG..IA..I:..L.:HHL......I ..
I,..I0.II:..IA.AIG..L";L.:L.:.U...;.. W.
LW;...THERE SHOULD BE A SPACE BETWEEN TH
E..MNEMONIC AND OPERAND. THE HIGHLIGHTED
..LINE INDICATES WHICH LINE HAS AN ERROR
.......<.. W... .1.. .1.(. .1.. .1.. .1.
. .1.. .1 %4HHLN....A LABEL SHOULD ONLY
BE UPTO SIX LETTERS LONG. THE HIGHLIGHTE
D LINE INDICATES THELINE WHICH HAS A LAB
EL TOO LONG....<.<O<.<.=?=E=.=.=S=.=.C .
LESSON 19 - THE STACK....>.E .EXERCISE 1
FOR LESSON 19...PL.C 'LESSON 20 - MORE
ADDRESSING MODES...)M.E .EXERCISE 1 FOR
LESSON 20...U].E .EXERCISE 2 FOR LESSON
20...(^.C #LESSON 21 - MORE ON THE STA
CK...._.E .EXERCISE 1 FOR LESSON 21...FF
.C %LESSON 22 - THE BIT INSTRUCTION....
G.E .EXERCISE 1 FOR LESSON 22....I.C .LE
SSON 23 - INTERRUPTS...QJ.C -.LESSON 24
- WHAT NOW ?...4Q...THE STACK... THE STA
CK IS LIKE A PILE OF PLATES..STACKED ONE
ON TOP OF THE OTHER THAT..CAN BE UPTO 2
56 PLATES HIGH. YOU CAN..ADD PLATES TO T
HE TOP OR REMOVE PLATES..FROM THE TOP. I
F YOU WANT A PLATE NEAR..THE BOTTOM, YOU
MUST START FROM THE TOP..TAKING OFF ALL
THE PLATES, THROWING THEMAWAY UNTIL YOU
GET TO THE PLATE THAT YOUWANT.....THE S
TACK... THE STACK IS ONE PAGE OF MEMORY
THAT..RESIDES AT PAGE 1 ($100 - $1FF). T
HERE..IS A STACK POINTER (SP) WHICH ALWA
YS..POINTS TO THE TOP OF THE STACK. IT I
S..A ONE BYTE VALUE AND IS USED IN A..SI
MILAR WAY TO INDEXED ADDRESSING WHERE..T
HE STACK POINTER IS ADDED TO $100 TO..GI
VE AN ADDRESS THAT POINTS TO A DATA..ITE
M. EACH TIME YOU PUSH AN ITEM (PUT ANITE
M ON THE STACK) OR PULL AN ITEM..(REMOVE
A DATA ITEM FROM THE STACK), THESTACK P
OINTER IS UPDATED. IT STARTS OFF..AS $FF
, POINTING TO $1FF, AND THEN WHEN..DATA
ITEMS ARE ADDED, IT DECREASES, AND WHEN
ITEMS ARE PULLED FROM THE STACK IT..INCR
EASES. JUST LIKE A MEMORY LOCATION..THE
STACK POINTER WILL WRAP ROUND IF..TOO MA
NY ITEMS ARE PULLED OR PUSHED.....THE ST
ACK... ALL PROGRAMS USED WITH THIS SIMUL
ATOR..ARE STORED IN MEMORY LOCATIONS $7B
00..ONWARDS. IT TAKES BETWEEN ONE AND TH
REE..BYTES (CALLED OP-CODE BYTES IF USED
FOR..EXECUTION OF A PROGRAM) TO MAKE UP
AN..INSTRUCTION. YOU CAN SEE THE ADDRES
SES..AND OP-CODE BYTES FOR EACH INSTRUCT
ION..DISPLAYED IF YOU WANT, BY PRESSING
THE..FUNCTION KEY MARKED 'F3' WHEN THE..
PROGRAM IS RUNNING. TO REVERT TO THE..NO
RMAL MODE PRESS 'F3' AGAIN.....THE STACK
... THE STACK IS PARTICULARILY USEFUL IN
..THE TEMPORARY STORAGE OF DATA. THE 650
2..USES IT ITSELF. HOW IT DOES SO WILL B
E..DISCUSSED A LITTLE LATER ON... TO KEE
P TRACK OF WHICH INSTRUCTION IS..BEING E
XECUTED A PROGRAM COUNTER (PC) ISUSED. T
HIS MAKES SURE THAT INSTRUCTIONS..ARE EX
ECUTED IN THE RIGHT ORDER AND IT..COPES
WITH JUMPS, BRANCHES AND..SUBROUTINES. I
T IS A 16 BIT NUMBER..CONTAINED INSIDE T
HE 6502.....THE STACK... AFTER EACH INST
RUCTION THE PROGRAM..COUNTER IS UPDATED
TO POINT TO THE..NEXT INSTRUCTION TO BE
EXECUTED.NORMALLY THIS MEANS THAT THE PR
OGRAM..COUNTER IS INCREASED BY THE NUMBE
R OF..BYTES IN AN INSTRUCTION. WITH JUMP
S IT..IS LOADED WITH A COMPLETE NEW VALU
E...WITH BRANCHES (RELATIVE JUMPS) THERE
..IS AN OFFSET BYTE WHICH IS ADDED TO TH
E..PROGRAM COUNTER. IT CAN ALSO BE A..NE
GATIVE NUMBER IF BIT 7 IS SET (USING..TW
O'S COMPLEMENT). THEREFORE A BRANCH..CAN
ONLY CHANGE THE PROGRAM COUNTER BY..127
FORWARDS OR 128 BACKWARDS. THIS IS ALIM
ITATION WHEN WRITING A LONG PROGRAM..BUT
SHOULD NOT AFFECT YOU WHEN WRITING..PRO
GRAMS WITH THIS SIMULATOR.....THE STACK.
.. ONE OF THE WAYS THE 6502 USES THE STA
CKIS TO ENSURE THAT JSR INSTRUCTIONS WOR
K..PROPERLY, AND THAT WHEN AN RTS..INSTR
UCTION IS EXECUTED, CONTROL IS..PASSED T
O THE INSTRUCTION IMMEDIATELY..FOLLOWING
THE JSR INSTRUCTION. THIS IS..DONE BY P
USHING THE CONTENTS OF THE..PROGRAM COUN
TER ONTO THE STACK. THIS..IS ALWAYS THE
ADDRESS OF THE MEMORY..LOCATION WHERE TH
E OP-CODE FOR THE JSR..INSTRUCTION IS, P
LUS TWO. THEN, WHEN..THE RTS INSTRUCTION
IS EXECUTED, THIS..16 BIT NUMBER IS THE
N PULLED OFF FROM..THE STACK AND ONE IS
ADDED TO IT, AND..THIS VALUE IS PUT INTO
THE PROGRAM..COUNTER. THIS HAS THE EFFE
CT OF THE NEXTINSTRUCTION EXECUTED BEING
THE ONE..IMMEDIATELY AFTER THE ORIGINAT
ING JSR..INSTRUCTION.....THE STACK... HE
RE IS A LIST OF INSTRUCTIONS THAT..ARE A
SSOCIATED WITH THE STACK....PHA.- PUSH A
CCUMULATOR ONTO STACK....PLA.- PULL ACCU
MULATOR FROM STACK....TSX.- TRANSFER VAL
UE OF STACK POINTER..G 5TO X REGISTER..
..TXS.- TRANSFER VALUE OF X REGISTER..G
.TO STACK POINTER.C. LA DEMONSTRATION PR
OGRAM IS GIVEN TO SHOWTHE EFFECT OF THES
E AND THE JSR AND..RTS INSTRUCTIONS ON T
HE STACK..G .TSX.G .JSR NORET.RETD .LDA
#$7B.G .PHA.G .LDA #$12.G .PHA.G .TSX.G
.RTS.NORET PLA.G .TSX.G .PLA.G .TSX.G .
JMP RET.ENDD .TSX.G !.BRK....MORE ADDRES
SING MODES...SO FAR THE FOLLOWING ADDRES
SING MODES..HAVE BEEN USED:....IMPLIED..
THESE INSTRUCTIONS ARE JUST THREE..LETTE
RS ON THEIR OWN, PERFORMING A..SIMPLE TA
SK, LIKE TXS FOR EXAMPLE. THEY ONLY REQU
IRE ONE BYTE PER INSTRUCTION.....ABSOLUT
E..THESE ARE SIMPLE INSTRUCTIONS THAT..A
FFECT MEMORY LOCATIONS WHOSE ADDRESS..IS
GREATER THAN 255 (PAGE 1 OR ABOVE)...TH
REE BYTES ARE USED PER INSTRUCTION.....M
ORE ADDRESSING MODES.C.+..ZERO PAGE..THI
S MODE IS EXACTLY THE SAME AS THE..ABSOL
UTE MODE, EXCEPT THAT ONLY TWO..BYTES AR
E USED PER INSTRUCTION. THIS..IS BECAUSE
THE MSB IS ASSUMED TO BE 0..AS ALL MEMO
RY LOCATIONS USING THIS FORM..OF ADDRESS
ING ARE ON PAGE 0.....IMMEDIATE..THIS MO
DE ALSO REQUIRES TWO BYTES FOR..EACH INS
TRUCTION. IMMEDIATE IS WHERE..AN ACTUAL
NUMBER IS GIVEN INSTEAD OF A..MEMORY LOC
ATION ADDRESS. THE '#' SYMBOL..IS USED T
O SPECIFY THIS MODE OF..ADDRESSING WITH
ASSEMBLERS (INCLUDING..THIS ONE).....MOR
E ADDRESSING MODES....ABSOLUTE,Y..THIS I
S THE SAME AS ABSOLUTE ADDRESSING EXCEPT
THAT THE CONTENTS OF THE Y..REGISTER AR
E ADDED TO THE SPECIFIED..ADDRESS TO GIV
E A RESULTING ADDRESS OF..A MEMORY LOCAT
ION.....ABSOLUTE,X..THIS IS THE SAME AS
ABSOLUTE,Y..ADDRESSING EXCEPT THE X REGI
STER IS..ADDED INSTEAD OF THE Y REGISTER
.....MORE ADDRESSING MODES....ZERO PAGE,
Y..THIS IS THE SAME AS ABSOLUTE,Y..EXCEP
T THAT A ZERO PAGE ADDRESS IS..GIVEN AND
THE INSTRUCTION ONLY TAKES..TWO BYTES A
S OPPOSED TO THREE NEEDED..BY ABSOLUTE,Y
ADDRESSING.....ZERO PAGE,X..THIS IS THE
SAME AS ZERO PAGE,Y FORM..OF ADDRESSING
EXCEPT THE X REGISTER IS..USED INSTEAD
OF THE Y REGISTER. THIS..MODE ALSO ONLY
REQUIRES TWO BYTES......POST INDEXED ADD
RESSING... THIS MODE OF ADDRESSING IS VE
RY USEFUL INDEED. AN EXAMPLE OF USING TH
IS MODE..OF ADDRESSING IS STA (78),Y. WH
EN..THIS INSTRUCTION IS EXECUTED, THE 65
02..WILL LOOK UP LOCATIONS 78 AND 79 IN
ZEROPAGE. LOCATION 78 WILL FORM THE LSB
OF..THE ADDRESS AND LOCATION 79 WILL FOR
M..THE MSB OF THE ADDRESS. THEREFORE IF.
.LOCATION 78 WERE TO HOLD HEX 13 AND..LO
CATION 79 WERE TO HOLD HEX 2F WHEN..THE
PROGRAM WAS RUNNING THEN THE..RESULTING
ADDRESS OF THE MEMORY LOCATIONWOULD BE H
EX 2F13. AFTER THIS ADDRESS..HAS BEEN CA
LCULATED THE Y REGISTER IS..ADDED TO IT
TO FORM THE FINAL ADDRESS...SO IF THE Y
REGISTER HELD 5 WHEN THE..6502 TRIED TO
EXECUTE THE ABOVE..INSTRUCTION, THE 6502
WOULD STORE THE..ACCUMULATOR AT MEMORY
LOCATION HEX 2F18......PRE-INDEXED INDIR
ECT ADDRESSING..THIS IS A VERY RARELY US
ED FORM OF..ADDRESSING. IT WILL BE DESCR
IBED HERE..FOR COMPLETENESS. THE INSTRUC
TION..LDA (45,X) WILL BE USED AS AN EXAM
PLE..TO EXPLAIN THIS FORM OF ADDRESSING.
..WHATEVER IS CONTAINED IN THE X REGISTE
R..AT THE TIME OF EXECUTION IS ADDED TO
THEZERO PAGE ADDRESS IN THE INSTRUCTION,
INTHIS CASE 45. SO IF X CONTAINED 20..W
HEN THE PROGRAM IS RUNNING, THE FINAL..Z
ERO PAGE ADDRESS IS 65. THIS LOCATION..T
HEN FORMS THE LSB OF THE FINAL ADDRESS..
AND LOCATION 66 FORMS THE MSB OF THE..FI
NAL ADDRESS. THEREFORE IF X CONTAINED..5
WHEN THE PROGRAM WAS RUNNING AND..LOCAT
ION 65 CONTAINED HEX E2 AND..LOCATION 66
CONTAINED HEX A1 THEN THE..ACCUMULATOR
WILL BE LOADED WITH THE..CONTENTS OF MEM
ORY LOCATION A1E2 IN THE..ABOVE EXAMPLE.
....MORE ADDRESSING MODES...INDIRECT...
THIS FORM OF ADDRESSING IS NOT..SUPPORTE
D BY THE SIMULATOR. HOWEVER, IT..WOULD B
E SUPPORTED BY A NORMAL..ASSEMBLER. THER
E IS ONLY ONE INSTRUCTIONTHAT USES INDIR
ECT ADDRESSING AND THAT..IS JMP (DX 3).
THIS WILL TAKE..THE CONTENTS OF MEMORY L
OCATION DX X..AND THAT WILL FORM THE LSB
OF THE JMP..ADDRESS. THEN THE CONTENTS
OF MEMORY..LOCATION DX E+1 FORMS THE MSB
OF THE..JMP ADDRESS. THE PROGRAM COUNTE
R IS THENLOADED WITH THE JMP ADDRESS CAU
SING..THE NEXT INSTRUCTION TO BE EXECUTE
D, THEINSTRUCTION HELD IN THE MEMORY LOC
ATION..POINTED TO BY DX!~.....MORE ADDRE
SSING MODES...CONSIDER THE FOLLOWING PRO
GRAM:...LDA #9..STA 320..LDA #2..STA 321
..JMP (320)...ALTHOUGH THIS PROGRAM WILL
NOT WORK ON..THIS SIMULATOR, IT WOULD B
E ASSEMBLED..AND RUN ON A NORMAL ASSEMBL
ER AND 6502...THIS PROGRAM WOULD HAVE TH
E EFFECT OF..LOADING THE PROGRAM COUNTER
WITH HEX..209. THE NEXT INSTRUCTION TO
BE..EXECUTED WOULD BE AT MEMORY LOCATION
..209..G .LDA #2.G .STA 32.G .LDA #2.G .
STA 33.AGAIN LDY #1.LOOPC .TYA.LOOP2 S
TA (32),Y.G .INY.G .CPY #10.G .BNE LOOP.
G .INC 33.G .LDA 33.G .CMP #3.G .BEQ AGA
IN.G .BRK.G .LDA #$F1.G .STA 140.G .LDA
#3.G .STA 141.G .STA 149.G .STA 150.G .L
DX #10.G .TXA.G .STA (130,X).G .LDA #40.
G .LDX #19.G .STA (130,X).G .LDX #10.G .
EOR (130,X).G .BRK....MORE ON THE STACK
... THE FLAGS ARE HELD IN ONE BYTE IN TH
E..6502 AND ARE ARRANGED THUS:...BIT7 BI
T6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 . ND .V
D .-D .BD .DD .ID .ZD &.C...N - NEGATIVE
FLAG..V - OVERFLOW FLAG..- - NOT USED (
EXPANSION BIT)..B - BREAK FLAG (NOT USED
BY SIMULATOR)..D - DECIMAL MODE FLAG..I
- INTERRUPT DISABLE FLAG..Z - ZERO FLAG
..C - CARRY FLAG....MORE ON THE STACK...
THEREFORE, IF YOU THINK OF ALL THE FLAGS
AS A SINGLE 8 BIT BINARY NUMBER, THAT..I
S ONE BYTE, EACH BIT REPRESENTS ONE..NUM
BER FROM THE BINARY COLUMN HEADINGS. FOR
EXAMPLE, THE OVERFLOW FLAG GIVES..THE N
UMBER 64.....MORE ON THE STACK... THE FL
AGS ARE STORED IN THIS WAY AND..ARE KEPT
TRACK OF BY THE 6502 PROCESSOR..AND STO
RED IN WHAT IS KNOWN AS THE..PROCESSOR S
TATUS REGISTER (PSR). AS YOU..KNOW, MOST
INSTRUCTIONS AFFECT FLAGS,..BUT ONLY TW
O INSTRUCTIONS AFFECT THE..PROCESSOR STA
TUS REGISTER AS A WHOLE...THESE INSTRUCT
IONS ARE PHP AND PLP,..WHICH WILL PUSH A
ND PULL THE PROCESSOR..STATUS REGISTER T
O AND FROM THE STACK...IF YOU WANTED TO
SET, SAY THREE FLAGS..AT ONCE, YOU COULD
USE PHP AND PLP TO..DO SO. HOWEVER, THE
RE ARE NO TRANSFER..INSTRUCTIONS TO TRAN
SFER BETWEEN THE..ACCUMULATOR AND PSR, S
O OTHER..INSTRUCTIONS HAVE TO BE USED IN
..CONJUNCTION WITH THESE INSTRUCTIONS FO
R..THEM TO BE EFFECTIVE.....MORE ON THE
STACK... AN EXAMPLE PROGRAM DEMONSTRATIN
G HOW..THE PROCESSOR STATUS REGISTER IS
USED..IN CONJUNCTION WITH THE STACK IS G
IVEN..TO HELP DEMONSTRATE ITS USES... ON
E OF THE OTHER USES FOR THESE..INSTRUCTI
ONS IS THE TEMPORARY SAVING OF..THE FLAG
S. YOU CAN PUSH THE VALUE OF THEPSR ONTO
THE STACK BY USING PHP,..EXECUTE INSTRU
CTIONS THAT NORMALLY..AFFECT THE FLAGS,
THEN BY USING PLP YOU..CAN RESTORE THE F
LAGS TO THEIR ORIGINAL..VALUES. REMEMBER
TO PULL AND PUSH THE..RIGHT NUMBER OF V
ALUES, OTHERWISE THE..STACK WILL BECOME
FILLED UP AND 'DIRTY'..G .SEC.G .TSX.G .
PHP.G .PLA.G .ORA #192.G .PHA.G .PLP.G .
LDA #$FF.G .PHA.G .PLP.G .LDA #1.LOOPC .
PHA.G .PLP.G .ASL A.G .BCC LOOP.G !GBRK.
...THE BIT INSTRUCTION... THIS INSTRUCTI
ON IS USED TO CHECK THAT..ONE OR MORE BI
TS OF A MEMORY LOCATION..ARE SET. THE ME
MORY LOCATION IS EITHER..IN THE ADDRESSI
NG MODES ABSOLUTE OR ZEROPAGE. THE BITS
TO BE TESTED ARE IN THE..ACCUMULATOR, AN
D THE MEMORY LOCATION..TO BE TESTED AGAI
NST THE ACCUMULATOR..IS SUPPLIED WITH TH
E BIT INSTRUCTION IN..THE FORM BIT DX. W
HERE DX!N IS A SINGLEMEMORY LOCATION. AF
TER THE INSTRUCTION..THE ZERO FLAG WILL
BE SET IF NONE OF THEBITS SPECIFIED BY T
HE ACCUMULATOR ARE..SET. THE ACCUMULATOR
IS LEFT UNCHANGED..AFTER THE INSTRUCTIO
N. THE CONTENTS OF..BIT 6 OF THE MEMORY
LOCATION ARE PLACED..IN THE OVERFLOW FLA
G, AND BIT 7 IS..PLACED IN THE NEGATIVE
FLAG. AN EXAMPLE..PROGRAM IS GIVEN TO SH
OW BIT IN USE..G .LDA #$30.G .STA 6.G .L
DA #0.G .SEC.ROTATE ROL A.G .BIT 6.G .BE
Q ROTATE.G .LDA #$C0.G .STA $3F0.G .LDA
#0.G .BIT $3F0.G .LDA #$80.G .STA 560.G
.LDA #0.G .BIT 560.G +ZBRK....INTERRUPTS
... AN INTERRUPT IS SOMETHING THAT OCCUR
S..AFTER A FIXED AMOUNT OF TIME OR AFTER
..A CERTAIN EVENT, LIKE PRESSING RUN-STO
P..FOR EXAMPLE. WHEN AN INTERRUPT OCCURS
..THE 6502 LOOKS UP WHAT IS KNOWN AS AN.
.INTERRUPT VECTOR WHICH IS AN INDIRECT..
JUMP TO A SMALL PROGRAM THAT HANDLES THE
INTERRUPT. THIS INTERRUPT MIGHT BE TO..R
EAD THE KEYBOARD FOR EXAMPLE. WHEN THE..
INTERRUPT HAS FINISHED WHAT IT IS DOING.
.THE PROGRAM WILL RESUME AS NORMAL TO..W
HERE IT LEFT OFF BEFORE THE..INTERRUPT O
CCURRED.....INTERRUPTS... WITH THE SIMUL
ATOR, YOU CAN NOT WRITE..YOUR OWN INTERR
UPT ROUTINES. HOWEVER,..INTERRUPTS ARE O
CCURRING ALL THE TIME,..TO CHECK IF YOU
PRESSING A KEY... THERE ARE TWO TYPES OF
INTERRUPTS..THESE ARE:....MASKABLE INTE
RRUPTS.. THESE ARE INTERRUPTS THAT CAN B
E..CHANGED TO POINT TO YOUR OWN ROUTINE.
..BY USING THE INSTRUCTION SEI (SET..INT
ERRUPT DISABLE FLAG) YOU CAN MASK..OUT M
ASKABLE INTERRUPTS ALTOGETHER, SO..THAT
MASKABLE INTERRUPTS DO NOT OCCUR..UNTIL
A CLI (CLEAR INTERRUPT DISABLE..FLAG) IN
STRUCTION IS EXECUTED......NON - MASKABL
E INTERRUPTS... THIS TYPE OF INTERRUPT I
S NOT AFFECTED..BY THE SEI AND CLI INSTR
UCTIONS...DEPENDING ON THE COMPUTER, THE
SE..INTERRUPTS CAN STILL HAVE THEIR VECT
ORS..CHANGED.... ALL INTERRUPTS END IN A
N RTI (RETURN..FROM INTERRUPT) INSTRUCTI
ON. USUALLY..AN INTERRUPT ROUTINE HAS TO
SAVE THE..REGISTERS IT USES, BY PUSHING
THEM ONTO..THE STACK. WHEN AN INTERRUPT
OCCURS THE..PROCESSOR STATUS REGISTER A
ND THE RETURNADDRESS ARE PUSHED ONTO THE
STACK. WHEN..AN RTI INSTRUCTION IS EXEC
UTED THE FLAGSAND RETURN ADDRESS ARE PUL
LED FROM THE..STACK AND THE PROGRAM WILL
CONTINUE AS..NORMAL.....WHAT NOW ?... Y
OU HAVE NOW FINISHED THE COURSE OF..LESS
ONS TO TEACH YOU 6502 MACHINE CODE...THE
LESSONS HAVE BEEN DESIGNED TO TEACH MAC
HINE CODE SO THAT IT WILL BE THE SAMEFOR
EACH 6502 BASED MACHINE. HOWEVER,..TO M
AKE THE MOST OF THE MACHINE, IT IS..ADVI
SABLE TO USE WHAT IS CALLED AN..OPERATIN
G SYSTEM. THIS IS CONTAINED IN..ROM AND
GIVEN WITH THE COMPUTER FITTED..AS STAND
ARD. AN OPERATING SYSTEM IS A..MACHINE C
ODE PROGRAM THAT LETS YOU USE..ADVANCED
FEATURES OF A MACHINE LIKE..GRAPHICS AND
SOUND. IT ALSO HANDLES..ROUTINES FOR RE
ADING THE KEYBOARD AND..USING CASSETTES
AND DISC DRIVES, AS WELLAS MANY OTHER FU
NCTIONS.....WHAT NOW ?... AS THIS PROGRA
M ONLY SIMULATES THE..RUNNING OF A 6502
PROGRAM, YOU CANNOT..USE THIS PROGRAM IN
CONJUNCTION WITH..THE OPERATING SYSTEM.
THEREFORE, IT IS..TIME TO USE A MORE PO
WERFUL BUT LESS..USER FRIENDLY ASSEMBLER
...NOTE THAT MACHINE CODE PROGRAMS RUN V
ERYQUICKLY AND WILL NOT WAIT FOR YOU TO.
.PRESS THE RETURN KEY LIKE THIS ONE DOES
!WITH A MACHINE CODE PROGRAM NOT WRITTEN
..WITH THIS ASSEMBLER THERE IS A CHANCE.
.THAT THE PROGRAM COULD 'CRASH'...THEREF
ORE IT IS UP TO YOU TO MAKE..SURE YOU US
E 'SAFE' AREAS OF..MEMORY. IF YOU ARE EV
ER UNSURE OF A..INSTRUCTION YOU CAN ALWA
YS USE THIS..PROGRAM TO CHECK HOW IT WOR
KS BEFORE..USING IT IN YOUR OWN PROGRAM.
.G.......F.....C...I........I.......F...
..C...I........I X)............H......`
.....I?P...........I.......?...?P..[...
Z......8.A..E....E.......A
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL