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

ASM TUT 2

FILE INFORMATION

FILENAME(S): ASM TUT 2

FILE TYPE(S): PRG

FILE SIZE: 26.5K

FIRST SEEN: 2025-11-30 19:47:20

APPEARS ON: 1 disk(s)

FILE HASH

09f506f656541f67a8ef49c87adbe3b8700d0451b211fca9f39a9a6d4cac6d0c

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
THE PHANTOM ASM TUT 2 PRG Curtcool, Frank 8 7 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: E3 35 5E 0D 0D 20 20 61  4E 20 69 4E 54 52 4F 44  |.5^..  aN iNTROD|
00000010: 55 43 54 49 4F 4E 20 54  4F 20 6D 41 43 48 49 4E  |UCTION TO mACHIN|
00000020: 45 20 6C 41 4E 47 55 41  47 45 0D 0D 20 20 74 48  |E lANGUAGE..  tH|
00000030: 49 53 20 49 53 20 54 48  45 20 53 45 43 4F 4E 44  |IS IS THE SECOND|
00000040: 20 49 4E 20 41 20 53 45  52 49 45 53 20 4F 46 20  | IN A SERIES OF |
00000050: 20 20 20 20 54 55 54 4F  52 49 41 4C 53 20 4F 4E  |    TUTORIALS ON|
00000060: 20 4D 41 43 48 49 4E 45  20 4C 41 4E 47 55 41 47  | MACHINE LANGUAG|
00000070: 45 2E 20 74 4F 20 4D 41  4B 45 20 20 53 45 4E 53  |E. tO MAKE  SENS|
00000080: 45 20 4F 46 20 49 54 2C  20 59 4F 55 20 57 49 4C  |E OF IT, YOU WIL|
00000090: 4C 20 4E 45 45 44 20 54  4F 20 4B 4E 4F 57 0D 41  |L NEED TO KNOW.A|
000000A0: 42 4F 55 54 20 42 49 4E  41 52 59 20 41 4E 44 20  |BOUT BINARY AND |
000000B0: 48 45 58 41 44 45 43 49  4D 41 4C 20 4E 55 4D 42  |HEXADECIMAL NUMB|
000000C0: 45 52 53 2C 20 20 20 54  48 45 20 42 41 53 49 43  |ERS,   THE BASIC|
000000D0: 53 20 41 42 4F 55 54 20  41 53 53 45 4D 42 4C 45  |S ABOUT ASSEMBLE|
000000E0: 52 53 20 41 4E 44 20 20  20 20 20 20 20 20 20 53  |RS AND         S|
000000F0: 4F 4D 45 54 48 49 4E 47  20 41 42 4F 55 54 20 54  |OMETHING ABOUT T|
00000100: 48 45 20 52 45 47 49 53  54 45 52 53 20 4F 46 20  |HE REGISTERS OF |
00000110: 54 48 45 20 20 20 20 63  70 75 2E 0D 0D 20 20 74  |THE    cpu...  t|
00000120: 48 49 53 20 49 53 20 51  55 49 54 45 20 41 20 44  |HIS IS QUITE A D|
00000130: 45 4E 53 45 20 4C 45 53  53 4F 4E 2C 20 41 4E 44  |ENSE LESSON, AND|
00000140: 20 59 4F 55 20 4D 41 59  20 4E 45 45 44 20 54 4F  | YOU MAY NEED TO|
00000150: 20 52 45 41 44 20 41 20  53 45 43 54 49 4F 4E 20  | READ A SECTION |
00000160: 41 47 41 49 4E 20 54 4F  20 20 20 20 20 55 4E 44  |AGAIN TO     UND|
00000170: 45 52 53 54 41 4E 44 20  49 54 2E 20 61 4C 53 4F  |ERSTAND IT. aLSO|
00000180: 2C 20 57 48 45 4E 20 54  48 45 52 45 20 49 53 20  |, WHEN THERE IS |
00000190: 4D 4F 52 45 20 54 4F 20  43 4F 4D 45 20 4F 4E 20  |MORE TO COME ON |
000001A0: 41 20 53 55 42 4A 45 43  54 2C 20 52 45 41 44 49  |A SUBJECT, READI|
000001B0: 4E 47 20 20 20 20 20 20  20 20 20 20 20 49 4E 46  |NG           INF|
000001C0: 4F 52 4D 41 54 49 4F 4E  20 41 20 42 49 54 20 46  |ORMATION A BIT F|
000001D0: 55 52 54 48 45 52 20 4F  4E 20 4D 41 59 20 48 45  |URTHER ON MAY HE|
000001E0: 4C 50 20 54 4F 4D 41 4B  45 20 49 4E 43 4F 4D 50  |LP TOMAKE INCOMP|
000001F0: 52 45 48 45 4E 53 49 42  4C 45 20 54 48 49 4E 47  |REHENSIBLE THING|
00000200: 53 20 43 4C 45 41 52 45  52 2E 0D 0D 20 20 61 4E  |S CLEARER...  aN|
00000210: 59 54 48 49 4E 47 20 49  4E 20 5B 53 51 55 41 52  |YTHING IN [SQUAR|
00000220: 45 20 42 52 41 43 4B 45  54 53 5D 20 49 53 20 20  |E BRACKETS] IS  |
00000230: 20 20 20 20 53 4F 4D 45  54 48 49 4E 47 20 54 48  |    SOMETHING TH|
00000240: 41 54 20 57 41 53 20 4C  45 46 54 20 4F 55 54 20  |AT WAS LEFT OUT |
00000250: 46 4F 52 20 54 48 45 20  53 41 4B 45 4F 46 20 43  |FOR THE SAKEOF C|
00000260: 4C 41 52 49 54 59 20 41  4E 44 20 42 52 45 56 49  |LARITY AND BREVI|
00000270: 54 59 2E 20 73 4F 4D 45  54 48 49 4E 47 20 4D 55  |TY. sOMETHING MU|
00000280: 53 54 20 20 54 41 4B 45  20 49 54 53 20 50 4C 41  |ST  TAKE ITS PLA|
00000290: 43 45 20 49 4E 20 41 20  52 45 41 4C 20 50 52 4F  |CE IN A REAL PRO|
000002A0: 47 52 41 4D 2E 0D 5E 0D  0D 20 20 20 20 20 20 20  |GRAM..^..       |
000002B0: 61 20 66 45 57 20 66 55  4E 44 41 4D 45 4E 54 41  |a fEW fUNDAMENTA|
000002C0: 4C 53 0D 0D 20 20 74 48  45 20 42 52 41 49 4E 20  |LS..  tHE BRAIN |
000002D0: 4F 46 20 54 48 45 20 63  4F 4D 4D 4F 44 4F 52 45  |OF THE cOMMODORE|
000002E0: 20 36 34 20 49 53 20 54  48 45 20 20 36 35 31 30  | 64 IS THE  6510|
000002F0: 20 63 70 75 2E 20 74 48  45 20 49 4E 53 54 52 55  | cpu. tHE INSTRU|
00000300: 43 54 49 4F 4E 53 20 49  54 20 55 53 45 53 20 41  |CTIONS IT USES A|
00000310: 52 45 20 20 49 44 45 4E  54 49 43 41 4C 20 54 4F  |RE  IDENTICAL TO|
00000320: 20 54 48 4F 53 45 20 4F  46 20 54 48 45 20 36 35  | THOSE OF THE 65|
00000330: 30 32 2C 20 41 20 56 45  52 59 20 20 43 4F 4D 4D  |02, A VERY  COMM|
00000340: 4F 4E 20 43 48 49 50 2E  20 74 48 55 53 2C 20 41  |ON CHIP. tHUS, A|
00000350: 4E 59 54 48 49 4E 47 20  54 48 41 54 20 41 50 50  |NYTHING THAT APP|
00000360: 4C 49 45 53 54 4F 20 54  48 45 20 36 35 30 32 20  |LIESTO THE 6502 |
00000370: 41 50 50 4C 49 45 53 20  54 4F 20 54 48 45 20 36  |APPLIES TO THE 6|
00000380: 35 31 30 20 41 53 20 57  45 4C 4C 2E 0D 20 20 69  |510 AS WELL..  i|
00000390: 4E 20 41 44 44 49 54 49  4F 4E 20 54 4F 20 54 48  |N ADDITION TO TH|
000003A0: 45 20 36 34 6B 20 4F 46  20 45 58 54 45 52 4E 41  |E 64k OF EXTERNA|
000003B0: 4C 20 20 20 20 4D 45 4D  4F 52 59 20 49 54 20 43  |L    MEMORY IT C|
000003C0: 41 4E 20 55 53 45 2C 20  54 48 45 20 36 35 31 30  |AN USE, THE 6510|
000003D0: 20 41 4C 53 4F 20 48 41  53 20 41 20 20 4E 55 4D  | ALSO HAS A  NUM|
000003E0: 42 45 52 20 4F 46 20 49  4E 54 45 52 4E 41 4C 20  |BER OF INTERNAL |
000003F0: 52 45 47 49 53 54 45 52  53 20 46 4F 52 20 53 54  |REGISTERS FOR ST|
00000400: 4F 52 49 4E 47 4E 55 4D  42 45 52 53 2C 20 45 41  |ORINGNUMBERS, EA|
00000410: 43 48 20 4F 4E 45 20 42  59 54 45 20 4C 4F 4E 47  |CH ONE BYTE LONG|
00000420: 3A 0D 0D 74 48 45 20 61  43 43 55 4D 55 4C 41 54  |:..tHE aCCUMULAT|
00000430: 4F 52 20 28 4F 52 20 22  61 20 52 45 47 49 53 54  |OR (OR "a REGIST|
00000440: 45 52 22 29 20 49 53 20  54 48 45 50 52 49 4D 41  |ER") IS THEPRIMA|
00000450: 52 59 20 4C 4F 43 41 54  49 4F 4E 20 46 4F 52 20  |RY LOCATION FOR |
00000460: 50 52 4F 43 45 53 53 49  4E 47 20 44 41 54 41 2E  |PROCESSING DATA.|
00000470: 0D 0D 74 48 45 20 78 20  41 4E 44 20 79 20 52 45  |..tHE x AND y RE|
00000480: 47 49 53 54 45 52 53 20  41 52 45 20 45 58 54 52  |GISTERS ARE EXTR|
00000490: 41 2C 20 20 20 20 20 20  20 20 4C 49 4D 49 54 45  |A,        LIMITE|
000004A0: 44 2D 55 53 45 2C 20 53  54 4F 52 41 47 45 20 4C  |D-USE, STORAGE L|
000004B0: 4F 43 41 54 49 4F 4E 53  2E 0D 0D 74 48 45 20 73  |OCATIONS...tHE s|
000004C0: 70 2C 70 63 20 41 4E 44  20 70 20 52 45 47 49 53  |p,pc AND p REGIS|
000004D0: 54 45 52 53 20 41 52 45  20 4D 4F 52 45 20 20 20  |TERS ARE MORE   |
000004E0: 20 20 20 43 4F 4D 50 4C  45 58 20 41 4E 44 20 43  |   COMPLEX AND C|
000004F0: 41 4E 27 54 20 42 45 20  44 49 53 43 55 53 53 45  |AN'T BE DISCUSSE|
00000500: 44 20 48 45 52 45 2E 0D  5E 0D 0D 20 20 74 48 45  |D HERE..^..  tHE|
00000510: 20 46 49 52 53 54 20 47  52 4F 55 50 20 4F 46 20  | FIRST GROUP OF |
00000520: 49 4E 53 54 52 55 43 54  49 4F 4E 53 20 54 4F 20  |INSTRUCTIONS TO |
00000530: 20 20 20 4C 45 41 52 4E  20 49 53 20 54 48 45 20  |   LEARN IS THE |
00000540: 4E 55 4D 42 45 52 2D 4D  4F 56 49 4E 47 20 53 45  |NUMBER-MOVING SE|
00000550: 54 2E 20 74 48 45 20 20  20 20 20 53 49 4D 50 4C  |T. tHE     SIMPL|
00000560: 45 53 54 20 4F 46 20 54  48 45 53 45 20 41 52 45  |EST OF THESE ARE|
00000570: 20 45 58 50 4C 41 49 4E  45 44 20 42 45 4C 4F 57  | EXPLAINED BELOW|
00000580: 3A 0D 0D 20 20 20 20 20  62 41 53 49 43 0D 6D 6C  |:..     bASIC.ml|
00000590: 20 65 51 55 49 56 41 4C  45 4E 54 20 20 65 58 50  | eQUIVALENT  eXP|
000005A0: 4C 41 4E 41 54 49 4F 4E  0D 54 41 58 20 20 20 58  |LANATION.TAX   X|
000005B0: 3D 41 20 20 20 22 74 52  41 4E 53 46 45 52 20 61  |=A   "tRANSFER a|
000005C0: 43 43 55 4D 55 4C 41 54  4F 52 20 54 4F 20 20 20  |CCUMULATOR TO   |
000005D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 78 20  |              x |
000005E0: 52 45 47 49 53 54 45 52  22 0D 54 58 41 20 20 20  |REGISTER".TXA   |
000005F0: 41 3D 58 20 20 20 22 74  52 41 4E 53 46 45 52 20  |A=X   "tRANSFER |
00000600: 78 20 52 45 47 49 53 54  45 52 20 54 4F 20 20 20  |x REGISTER TO   |
00000610: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 61  |               a|
00000620: 43 43 55 4D 55 4C 41 54  4F 52 22 0D 54 41 59 20  |CCUMULATOR".TAY |
00000630: 20 20 59 3D 41 20 20 20  22 74 52 41 4E 53 46 45  |  Y=A   "tRANSFE|
00000640: 52 20 61 43 43 55 4D 55  4C 41 54 4F 52 20 54 4F  |R aCCUMULATOR TO|
00000650: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000660: 20 79 20 52 45 47 49 53  54 45 52 22 0D 54 59 41  | y REGISTER".TYA|
00000670: 20 20 20 41 3D 59 20 20  20 22 74 52 41 4E 53 46  |   A=Y   "tRANSF|
00000680: 45 52 20 79 20 52 45 47  49 53 54 45 52 20 54 4F  |ER y REGISTER TO|
00000690: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006A0: 20 20 61 43 43 55 4D 55  4C 41 54 4F 52 22 0D 0D  |  aCCUMULATOR"..|
000006B0: 20 20 61 53 20 59 4F 55  20 43 41 4E 20 53 45 45  |  aS YOU CAN SEE|
000006C0: 2C 20 54 48 45 20 43 52  59 50 54 49 43 20 6D 6C  |, THE CRYPTIC ml|
000006D0: 20 53 59 4D 42 4F 4C 53  41 52 45 20 41 43 54 55  | SYMBOLSARE ACTU|
000006E0: 41 4C 4C 59 20 43 4F 4D  50 52 45 48 45 4E 53 49  |ALLY COMPREHENSI|
000006F0: 42 4C 45 2C 20 41 4E 44  20 54 48 45 20 20 20 20  |BLE, AND THE    |
00000700: 49 4E 53 54 52 55 43 54  49 4F 4E 53 20 41 43 54  |INSTRUCTIONS ACT|
00000710: 55 41 4C 4C 59 20 44 4F  20 55 53 45 46 55 4C 20  |UALLY DO USEFUL |
00000720: 54 48 49 4E 47 53 2E 0D  0D 20 20 65 41 43 48 20  |THINGS...  eACH |
00000730: 4F 46 20 54 48 45 53 45  20 49 4E 53 54 52 55 43  |OF THESE INSTRUC|
00000740: 54 49 4F 4E 53 20 49 53  20 4F 4E 45 20 42 59 54  |TIONS IS ONE BYT|
00000750: 45 4C 4F 4E 47 20 41 4E  44 20 54 41 4B 45 53 20  |ELONG AND TAKES |
00000760: 32 65 2D 36 20 53 45 43  4F 4E 44 53 20 54 4F 20  |2e-6 SECONDS TO |
00000770: 45 58 45 43 55 54 45 2E  0D 5E 0D 0D 20 20 74 48  |EXECUTE..^..  tH|
00000780: 45 20 4E 45 58 54 20 53  45 54 20 4F 46 20 49 4E  |E NEXT SET OF IN|
00000790: 53 54 52 55 43 54 49 4F  4E 53 20 49 53 20 4D 4F  |STRUCTIONS IS MO|
000007A0: 52 45 20 20 43 4F 4D 50  4C 45 58 20 41 4E 44 20  |RE  COMPLEX AND |
000007B0: 4D 4F 56 45 53 20 44 41  54 41 20 54 4F 20 41 4E  |MOVES DATA TO AN|
000007C0: 44 20 46 52 4F 4D 20 20  20 20 20 20 4D 45 4D 4F  |D FROM      MEMO|
000007D0: 52 59 2E 20 74 48 45 59  20 41 52 45 20 41 53 20  |RY. tHEY ARE AS |
000007E0: 46 4F 4C 4C 4F 57 53 3A  0D 0D 6D 6C 20 20 20 20  |FOLLOWS:..ml    |
000007F0: 20 20 65 58 50 4C 41 4E  41 54 49 4F 4E 0D 4C 44  |  eXPLANATION.LD|
00000800: 41 20 20 20 22 6C 4F 41  64 20 61 43 43 55 4D 55  |A   "lOAd aCCUMU|
00000810: 4C 41 54 4F 52 22 0D 4C  44 58 20 20 20 22 6C 4F  |LATOR".LDX   "lO|
00000820: 41 64 20 78 20 52 45 47  49 53 54 45 52 22 0D 4C  |Ad x REGISTER".L|
00000830: 44 59 20 20 20 22 6C 4F  41 64 20 79 20 52 45 47  |DY   "lOAd y REG|
00000840: 49 53 54 45 52 22 0D 53  54 41 20 20 20 22 73 74  |ISTER".STA   "st|
00000850: 4F 52 45 20 61 43 43 55  4D 55 4C 41 54 4F 52 22  |ORE aCCUMULATOR"|
00000860: 0D 53 54 58 20 20 20 22  73 74 4F 52 45 20 78 20  |.STX   "stORE x |
00000870: 52 45 47 49 53 54 45 52  22 0D 53 54 59 20 20 20  |REGISTER".STY   |
00000880: 22 73 74 4F 52 45 20 79  20 52 45 47 49 53 54 45  |"stORE y REGISTE|
00000890: 52 22 0D 0D 20 20 65 41  43 48 20 4F 46 20 54 48  |R"..  eACH OF TH|
000008A0: 45 53 45 20 4D 55 53 54  20 42 45 20 46 4F 4C 4C  |ESE MUST BE FOLL|
000008B0: 4F 57 45 44 20 42 59 20  20 20 20 20 41 20 4E 55  |OWED BY     A NU|
000008C0: 4D 42 45 52 20 57 48 49  43 48 20 49 4E 44 49 43  |MBER WHICH INDIC|
000008D0: 41 54 45 53 20 54 48 45  20 44 41 54 41 27 53 20  |ATES THE DATA'S |
000008E0: 20 20 20 20 53 4F 55 52  43 45 20 28 46 4F 52 20  |    SOURCE (FOR |
000008F0: 41 20 4C 4F 41 44 20 43  4F 4D 4D 41 4E 44 29 20  |A LOAD COMMAND) |
00000900: 4F 52 20 20 20 20 20 20  20 20 20 20 44 45 53 54  |OR          DEST|
00000910: 49 4E 41 54 49 4F 4E 20  28 46 4F 52 20 41 20 53  |INATION (FOR A S|
00000920: 54 4F 52 45 20 43 4F 4D  4D 41 4E 44 29 2E 0D 0D  |TORE COMMAND)...|
00000930: 20 20 74 48 45 20 43 4F  4D 50 4C 45 58 49 54 59  |  tHE COMPLEXITY|
00000940: 20 41 52 49 53 45 53 20  42 45 43 41 55 53 45 20  | ARISES BECAUSE |
00000950: 4D 45 4D 4F 52 59 20 20  43 41 4E 20 42 45 20 41  |MEMORY  CAN BE A|
00000960: 43 43 45 53 53 45 44 20  55 53 49 4E 47 20 41 20  |CCESSED USING A |
00000970: 56 41 52 49 45 54 59 20  4F 46 20 20 20 20 20 20  |VARIETY OF      |
00000980: 22 41 44 44 52 45 53 53  49 4E 47 20 4D 4F 44 45  |"ADDRESSING MODE|
00000990: 53 22 2C 20 49 4E 20 57  48 49 43 48 20 54 48 45  |S", IN WHICH THE|
000009A0: 20 4E 55 4D 42 45 52 20  52 45 46 45 52 53 20 54  | NUMBER REFERS T|
000009B0: 4F 20 44 49 46 46 45 52  45 4E 54 20 54 48 49 4E  |O DIFFERENT THIN|
000009C0: 47 53 2E 0D 5E 0D 0D 20  20 20 20 20 20 20 20 20  |GS..^..         |
000009D0: 20 61 44 44 52 45 53 53  49 4E 47 20 6D 4F 44 45  | aDDRESSING mODE|
000009E0: 53 0D 0D 0D 20 20 69 4D  4D 45 44 49 41 54 45 20  |S...  iMMEDIATE |
000009F0: 6D 4F 44 45 3A 0D 0D 20  20 74 48 49 53 20 4D 4F  |mODE:..  tHIS MO|
00000A00: 44 45 20 53 49 4D 50 4C  59 20 4D 4F 56 45 53 20  |DE SIMPLY MOVES |
00000A10: 54 48 45 20 4E 55 4D 42  45 52 20 49 4E 54 4F 41  |THE NUMBER INTOA|
00000A20: 20 52 45 47 49 53 54 45  52 2E 20 69 54 20 49 53  | REGISTER. iT IS|
00000A30: 20 49 4E 44 49 43 41 54  45 44 20 42 59 20 41 20  | INDICATED BY A |
00000A40: 22 23 22 20 20 20 20 50  52 45 43 45 44 49 4E 47  |"#"    PRECEDING|
00000A50: 20 54 48 45 20 4E 55 4D  42 45 52 2E 20 0D 0D 65  | THE NUMBER. ..e|
00000A60: 2E 47 2E 20 4C 44 41 20  23 34 35 20 20 20 50 55  |.G. LDA #45   PU|
00000A70: 54 53 20 54 48 45 20 4E  55 4D 42 45 52 20 34 35  |TS THE NUMBER 45|
00000A80: 20 49 4E 54 4F 20 20 20  20 20 20 20 20 20 20 20  | INTO           |
00000A90: 20 20 20 20 20 20 54 48  45 20 41 43 43 55 4D 55  |      THE ACCUMU|
00000AA0: 4C 41 54 4F 52 2E 0D 20  20 20 20 20 69 4E 20 62  |LATOR..     iN b|
00000AB0: 41 53 49 43 2C 20 41 3D  34 35 0D 0D 20 20 74 48  |ASIC, A=45..  tH|
00000AC0: 49 53 20 4D 4F 44 45 20  43 41 4E 4E 4F 54 20 42  |IS MODE CANNOT B|
00000AD0: 45 20 55 53 45 44 20 57  49 54 48 20 53 54 4F 52  |E USED WITH STOR|
00000AE0: 45 20 20 20 49 4E 53 54  52 55 43 54 49 4F 4E 53  |E   INSTRUCTIONS|
00000AF0: 2E 20 79 4F 55 20 43 41  4E 4E 4F 54 20 50 55 54  |. yOU CANNOT PUT|
00000B00: 20 54 48 45 20 20 20 20  20 20 20 20 41 43 43 55  | THE        ACCU|
00000B10: 4D 55 4C 41 54 4F 52 20  49 4E 54 4F 20 54 48 45  |MULATOR INTO THE|
00000B20: 20 4E 55 4D 42 45 52 20  34 35 2E 0D 0D 20 20 69  | NUMBER 45...  i|
00000B30: 4E 53 54 52 55 43 54 49  4F 4E 53 20 55 53 49 4E  |NSTRUCTIONS USIN|
00000B40: 47 20 54 48 49 53 20 4D  4F 44 45 20 55 53 45 20  |G THIS MODE USE |
00000B50: 32 20 20 20 20 42 59 54  45 53 20 4F 46 20 4D 45  |2    BYTES OF ME|
00000B60: 4D 4F 52 59 20 41 4E 44  20 54 41 4B 45 20 32 65  |MORY AND TAKE 2e|
00000B70: 2D 36 20 53 45 43 4F 4E  44 53 20 20 20 54 4F 20  |-6 SECONDS   TO |
00000B80: 45 58 45 43 55 54 45 2E  0D 5E 0D 0D 20 20 61 42  |EXECUTE..^..  aB|
00000B90: 53 4F 4C 55 54 45 20 6D  4F 44 45 3A 0D 0D 20 20  |SOLUTE mODE:..  |
00000BA0: 74 48 49 53 20 4D 4F 44  45 20 4D 4F 56 45 53 20  |tHIS MODE MOVES |
00000BB0: 44 41 54 41 20 42 45 54  57 45 45 4E 20 41 20 20  |DATA BETWEEN A  |
00000BC0: 20 20 20 20 20 20 52 45  47 49 53 54 45 52 20 41  |      REGISTER A|
00000BD0: 4E 44 20 41 20 47 49 56  45 4E 20 4D 45 4D 4F 52  |ND A GIVEN MEMOR|
00000BE0: 59 20 4C 4F 43 41 54 49  4F 4E 2E 20 20 20 6E 4F  |Y LOCATION.   nO|
00000BF0: 20 53 50 45 43 49 41 4C  20 53 59 4D 42 4F 4C 53  | SPECIAL SYMBOLS|
00000C00: 20 41 52 45 20 55 53 45  44 2E 0D 0D 65 2E 47 2E  | ARE USED...e.G.|
00000C10: 20 4C 44 58 20 31 30 32  34 20 20 50 55 54 53 20  | LDX 1024  PUTS |
00000C20: 54 48 45 20 43 4F 4E 54  45 4E 54 53 20 4F 46 20  |THE CONTENTS OF |
00000C30: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C40: 20 20 20 4D 45 4D 4F 52  59 20 41 44 44 52 45 53  |   MEMORY ADDRES|
00000C50: 53 20 31 30 32 34 20 49  4E 54 4F 20 20 20 20 20  |S 1024 INTO     |
00000C60: 20 20 20 20 20 20 20 20  20 20 20 54 48 45 20 78  |           THE x|
00000C70: 20 52 45 47 49 53 54 45  52 2E 0D 20 20 20 20 20  | REGISTER..     |
00000C80: 69 4E 20 62 41 53 49 43  2C 20 58 3D 50 45 45 4B  |iN bASIC, X=PEEK|
00000C90: 28 31 30 32 34 29 0D 0D  20 20 20 20 20 53 54 41  |(1024)..     STA|
00000CA0: 20 24 44 30 32 30 20 50  55 54 53 20 54 48 45 20  | $D020 PUTS THE |
00000CB0: 43 4F 4E 54 45 4E 54 53  20 4F 46 20 54 48 45 20  |CONTENTS OF THE |
00000CC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 41  |               A|
00000CD0: 43 43 55 4D 55 4C 41 54  4F 52 20 49 4E 54 4F 20  |CCUMULATOR INTO |
00000CE0: 4D 45 4D 4F 52 59 20 20  20 20 20 20 20 20 20 20  |MEMORY          |
00000CF0: 20 20 20 20 20 20 20 41  44 44 52 45 53 53 20 24  |       ADDRESS $|
00000D00: 44 30 32 30 2E 0D 20 20  20 20 20 69 4E 20 62 41  |D020..     iN bA|
00000D10: 53 49 43 2C 20 50 4F 4B  45 20 35 33 32 38 30 2C  |SIC, POKE 53280,|
00000D20: 41 0D 0D 20 20 62 4F 54  48 20 4C 4F 41 44 20 41  |A..  bOTH LOAD A|
00000D30: 4E 44 20 53 54 4F 52 45  20 49 4E 53 54 52 55 43  |ND STORE INSTRUC|
00000D40: 54 49 4F 4E 53 20 4D 41  59 20 20 55 53 45 20 54  |TIONS MAY  USE T|
00000D50: 48 49 53 20 4D 4F 44 45  2E 0D 0D 20 20 61 42 53  |HIS MODE...  aBS|
00000D60: 4F 4C 55 54 45 20 4D 4F  44 45 20 49 4E 53 54 52  |OLUTE MODE INSTR|
00000D70: 55 43 54 49 4F 4E 53 20  41 52 45 20 33 20 42 59  |UCTIONS ARE 3 BY|
00000D80: 54 45 53 4C 4F 4E 47 20  41 4E 44 20 54 41 4B 45  |TESLONG AND TAKE|
00000D90: 20 34 65 2D 36 20 53 45  43 4F 4E 44 53 20 54 4F  | 4e-6 SECONDS TO|
00000DA0: 20 45 58 45 43 55 54 45  2E 0D 5E 0D 0D 20 20 20  | EXECUTE..^..   |
00000DB0: 20 20 20 20 61 20 6E 4F  54 45 20 4F 4E 20 7A 45  |    a nOTE ON zE|
00000DC0: 52 4F 20 70 41 47 45 0D  0D 20 20 74 48 45 20 4C  |RO pAGE..  tHE L|
00000DD0: 4F 57 45 53 54 20 32 35  36 20 42 59 54 45 53 20  |OWEST 256 BYTES |
00000DE0: 4F 46 20 4D 45 4D 4F 52  59 20 28 24 30 30 30 30  |OF MEMORY ($0000|
00000DF0: 2D 24 30 30 46 46 29 20  41 52 45 20 55 53 45 44  |-$00FF) ARE USED|
00000E00: 20 49 4E 20 53 50 45 43  49 41 4C 20 57 41 59 53  | IN SPECIAL WAYS|
00000E10: 20 42 59 20 54 48 45 20  20 36 35 31 30 20 43 48  | BY THE  6510 CH|
00000E20: 49 50 2E 20 74 48 49 53  20 52 45 47 49 4F 4E 20  |IP. tHIS REGION |
00000E30: 49 53 20 43 41 4C 4C 45  44 20 22 5A 45 52 4F 20  |IS CALLED "ZERO |
00000E40: 20 50 41 47 45 22 20 41  4E 44 20 53 50 45 43 49  | PAGE" AND SPECI|
00000E50: 41 4C 20 5A 45 52 4F 20  50 41 47 45 20 41 44 44  |AL ZERO PAGE ADD|
00000E60: 52 45 53 53 49 4E 47 20  20 4D 4F 44 45 53 20 4D  |RESSING  MODES M|
00000E70: 41 4B 45 20 54 48 49 53  20 41 52 45 41 20 4D 4F  |AKE THIS AREA MO|
00000E80: 52 45 20 56 45 52 53 41  54 49 4C 45 20 54 48 41  |RE VERSATILE THA|
00000E90: 4E 4F 54 48 45 52 20 52  45 47 49 4F 4E 53 20 4F  |NOTHER REGIONS O|
00000EA0: 46 20 4D 45 4D 4F 52 59  2E 0D 0D 20 20 64 55 45  |F MEMORY...  dUE|
00000EB0: 20 54 4F 20 49 54 53 20  55 53 45 46 55 4C 4E 45  | TO ITS USEFULNE|
00000EC0: 53 53 2C 20 54 48 45 20  62 41 53 49 43 20 20 20  |SS, THE bASIC   |
00000ED0: 20 20 20 49 4E 54 45 52  50 52 45 54 45 52 20 4D  |   INTERPRETER M|
00000EE0: 41 4B 45 53 20 48 45 41  56 59 20 55 53 45 20 4F  |AKES HEAVY USE O|
00000EF0: 46 20 54 48 49 53 20 20  20 20 20 41 52 45 41 2E  |F THIS     AREA.|
00000F00: 20 79 4F 55 20 4D 55 53  54 20 46 49 4E 44 20 41  | yOU MUST FIND A|
00000F10: 52 45 41 53 20 54 4F 20  55 53 45 20 57 48 49 43  |REAS TO USE WHIC|
00000F20: 48 20 20 57 49 4C 4C 20  4E 4F 54 20 49 4E 54 45  |H  WILL NOT INTE|
00000F30: 52 46 45 52 45 20 57 49  54 48 20 49 54 53 20 57  |RFERE WITH ITS W|
00000F40: 4F 52 4B 49 4E 47 20 49  46 20 20 54 48 49 53 20  |ORKING IF  THIS |
00000F50: 43 4F 4E 43 45 52 4E 53  20 59 4F 55 52 20 50 52  |CONCERNS YOUR PR|
00000F60: 4F 47 52 41 4D 2E 0D 0D  20 20 74 48 45 20 41 52  |OGRAM...  tHE AR|
00000F70: 45 41 53 20 24 46 42 2D  24 46 45 20 41 4E 44 20  |EAS $FB-$FE AND |
00000F80: 24 30 32 2D 24 30 36 20  41 52 45 20 20 20 20 20  |$02-$06 ARE     |
00000F90: 47 55 41 52 41 4E 54 45  45 44 20 53 41 46 45 2E  |GUARANTEED SAFE.|
00000FA0: 20 61 4C 53 4F 2C 24 39  32 2C 24 39 36 2C 24 39  | aLSO,$92,$96,$9|
00000FB0: 42 2D 24 39 43 2C 20 20  24 39 45 2D 24 39 46 2C  |B-$9C,  $9E-$9F,|
00000FC0: 24 41 35 2D 24 41 36 2C  24 42 30 2D 24 42 33 2C  |$A5-$A6,$B0-$B3,|
00000FD0: 24 42 45 2D 24 42 46 20  41 4E 44 20 24 43 33 2D  |$BE-$BF AND $C3-|
00000FE0: 24 43 34 20 41 52 45 20  41 56 41 49 4C 41 42 4C  |$C4 ARE AVAILABL|
00000FF0: 45 20 49 46 20 54 48 45  20 43 41 53 53 45 54 54  |E IF THE CASSETT|
00001000: 45 20 50 4C 41 59 45 52  49 53 20 4E 4F 54 20 42  |E PLAYERIS NOT B|
00001010: 45 49 4E 47 20 55 53 45  44 2E 20 6D 41 4E 59 20  |EING USED. mANY |
00001020: 4F 54 48 45 52 20 41 52  45 41 53 20 41 52 45 20  |OTHER AREAS ARE |
00001030: 41 56 41 49 4C 41 42 4C  45 20 46 4F 52 20 54 45  |AVAILABLE FOR TE|
00001040: 4D 50 4F 52 41 52 59 20  57 4F 52 4B 2E 0D 5E 0D  |MPORARY WORK..^.|
00001050: 0D 20 20 7A 45 52 4F 20  70 41 47 45 20 6D 4F 44  |.  zERO pAGE mOD|
00001060: 45 3A 0D 0D 20 20 74 48  49 53 20 4D 4F 44 45 20  |E:..  tHIS MODE |
00001070: 49 53 20 49 44 45 4E 54  49 43 41 4C 20 54 4F 20  |IS IDENTICAL TO |
00001080: 41 42 53 4F 4C 55 54 45  20 20 20 20 4D 4F 44 45  |ABSOLUTE    MODE|
00001090: 20 45 58 43 45 50 54 20  46 4F 52 20 54 41 4B 49  | EXCEPT FOR TAKI|
000010A0: 4E 47 20 4C 45 53 53 20  4D 45 4D 4F 52 59 20 20  |NG LESS MEMORY  |
000010B0: 20 20 20 20 53 50 41 43  45 20 41 4E 44 20 45 58  |    SPACE AND EX|
000010C0: 45 43 55 54 49 4E 47 20  46 41 53 54 45 52 2E 0D  |ECUTING FASTER..|
000010D0: 0D 20 20 6D 4F 53 54 20  41 53 53 45 4D 42 4C 45  |.  mOST ASSEMBLE|
000010E0: 52 53 20 55 53 45 20 5A  45 52 4F 20 50 41 47 45  |RS USE ZERO PAGE|
000010F0: 20 4D 4F 44 45 20 20 20  20 57 48 45 4E 45 56 45  | MODE    WHENEVE|
00001100: 52 20 41 50 50 4C 49 43  41 42 4C 45 2C 20 53 4F  |R APPLICABLE, SO|
00001110: 20 49 54 20 49 53 20 57  52 49 54 54 45 4E 20 20  | IT IS WRITTEN  |
00001120: 20 45 58 41 43 54 4C 59  20 4C 49 4B 45 20 41 42  | EXACTLY LIKE AB|
00001130: 53 4F 4C 55 54 45 20 4D  4F 44 45 2E 0D 0D 65 2E  |SOLUTE MODE...e.|
00001140: 47 2E 20 53 54 59 20 24  46 43 20 20 20 53 54 4F  |G. STY $FC   STO|
00001150: 52 45 53 20 54 48 45 20  43 4F 4E 54 45 4E 54 53  |RES THE CONTENTS|
00001160: 20 4F 46 20 20 20 20 20  20 20 20 20 20 20 20 20  | OF             |
00001170: 20 20 20 20 20 54 48 45  20 79 20 52 45 47 49 53  |     THE y REGIS|
00001180: 54 45 52 20 49 4E 20 4D  45 4D 4F 52 59 20 20 20  |TER IN MEMORY   |
00001190: 20 20 20 20 20 20 20 20  20 20 20 20 20 4C 4F 43  |             LOC|
000011A0: 41 54 49 4F 4E 20 24 46  43 0D 20 20 20 20 20 69  |ATION $FC.     i|
000011B0: 4E 20 62 41 53 49 43 2C  20 50 4F 4B 45 20 32 35  |N bASIC, POKE 25|
000011C0: 32 2C 59 2E 0D 0D 20 20  6C 44 41 2C 20 4C 44 58  |2,Y...  lDA, LDX|
000011D0: 2C 20 4C 44 59 2C 20 53  54 41 2C 20 53 54 58 20  |, LDY, STA, STX |
000011E0: 41 4E 44 20 53 54 59 20  4D 41 59 20 20 20 41 4C  |AND STY MAY   AL|
000011F0: 4C 20 55 53 45 20 5A 45  52 4F 20 50 41 47 45 20  |L USE ZERO PAGE |
00001200: 4D 4F 44 45 2E 0D 0D 20  20 7A 45 52 4F 20 50 41  |MODE...  zERO PA|
00001210: 47 45 20 4D 4F 44 45 20  49 4E 53 54 52 55 43 54  |GE MODE INSTRUCT|
00001220: 49 4F 4E 53 20 41 52 45  20 32 20 20 20 20 20 42  |IONS ARE 2     B|
00001230: 59 54 45 53 20 4C 4F 4E  47 20 41 4E 44 20 54 41  |YTES LONG AND TA|
00001240: 4B 45 20 33 65 2D 36 20  53 45 43 4F 4E 44 53 20  |KE 3e-6 SECONDS |
00001250: 54 4F 20 20 20 20 20 45  58 45 43 55 54 45 2E 0D  |TO     EXECUTE..|
00001260: 5E 0D 0D 20 22 61 42 53  4F 4C 55 54 45 2C 78 22  |^.. "aBSOLUTE,x"|
00001270: 20 41 4E 44 20 22 61 42  53 4F 4C 55 54 45 2C 79  | AND "aBSOLUTE,y|
00001280: 22 20 6D 4F 44 45 53 3A  0D 0D 20 20 74 48 45 53  |" mODES:..  tHES|
00001290: 45 20 4D 4F 44 45 53 20  41 52 45 20 53 49 4D 49  |E MODES ARE SIMI|
000012A0: 4C 41 52 20 54 4F 20 41  42 53 4F 4C 55 54 45 20  |LAR TO ABSOLUTE |
000012B0: 20 20 4D 4F 44 45 2C 20  42 55 54 20 54 48 45 20  |  MODE, BUT THE |
000012C0: 78 20 4F 52 20 79 20 52  45 47 49 53 54 45 52 2C  |x OR y REGISTER,|
000012D0: 20 41 53 20 20 20 20 20  20 20 41 50 50 4C 49 43  | AS       APPLIC|
000012E0: 41 42 4C 45 2C 20 49 53  20 41 44 44 45 44 20 54  |ABLE, IS ADDED T|
000012F0: 4F 20 54 48 45 20 41 44  44 52 45 53 53 20 20 20  |O THE ADDRESS   |
00001300: 20 20 47 49 56 45 4E 2C  20 42 45 46 4F 52 45 20  |  GIVEN, BEFORE |
00001310: 46 45 54 43 48 49 4E 47  20 49 54 53 20 43 4F 4E  |FETCHING ITS CON|
00001320: 54 45 4E 54 53 2E 20 20  20 20 74 48 45 59 20 41  |TENTS.    tHEY A|
00001330: 52 45 20 57 52 49 54 54  45 4E 20 4C 49 4B 45 20  |RE WRITTEN LIKE |
00001340: 41 42 53 4F 4C 55 54 45  20 4D 4F 44 45 20 42 55  |ABSOLUTE MODE BU|
00001350: 54 20 46 4F 4C 4C 4F 57  45 44 20 42 59 20 22 2C  |T FOLLOWED BY ",|
00001360: 78 22 20 4F 52 20 22 2C  79 22 2E 0D 0D 65 2E 47  |x" OR ",y"...e.G|
00001370: 2E 20 4C 44 59 20 35 31  32 2C 78 20 50 55 54 53  |. LDY 512,x PUTS|
00001380: 20 54 48 45 20 43 4F 4E  54 45 4E 54 53 20 4F 46  | THE CONTENTS OF|
00001390: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013A0: 20 20 20 20 4D 45 4D 4F  52 59 20 4C 4F 43 41 54  |    MEMORY LOCAT|
000013B0: 49 4F 4E 20 28 35 31 32  2B 78 29 20 20 20 20 20  |ION (512+x)     |
000013C0: 20 20 20 20 20 20 20 20  20 20 20 20 49 4E 54 4F  |            INTO|
000013D0: 20 54 48 45 20 79 20 52  45 47 49 53 54 45 52 2E  | THE y REGISTER.|
000013E0: 0D 20 20 20 20 20 69 4E  20 62 41 53 49 43 2C 20  |.     iN bASIC, |
000013F0: 59 3D 50 45 45 4B 28 35  31 32 2B 58 29 0D 0D 20  |Y=PEEK(512+X).. |
00001400: 20 74 48 45 20 79 20 52  45 47 49 53 54 45 52 20  | tHE y REGISTER |
00001410: 43 41 4E 4E 4F 54 20 55  53 45 20 54 48 45 20 20  |CANNOT USE THE  |
00001420: 20 20 20 20 20 20 20 41  42 53 4F 4C 55 54 45 2C  |       ABSOLUTE,|
00001430: 79 20 4D 4F 44 45 20 41  4E 44 20 54 48 45 20 78  |y MODE AND THE x|
00001440: 20 52 45 47 49 53 54 45  52 20 20 20 20 20 20 43  | REGISTER      C|
00001450: 41 4E 4E 4F 54 20 55 53  45 20 54 48 45 20 41 42  |ANNOT USE THE AB|
00001460: 53 4F 4C 55 54 45 2C 78  20 4D 4F 44 45 2E 0D 0D  |SOLUTE,x MODE...|
00001470: 20 20 74 48 45 53 45 20  49 4E 53 54 52 55 43 54  |  tHESE INSTRUCT|
00001480: 49 4F 4E 53 20 41 52 45  20 33 20 42 59 54 45 53  |IONS ARE 3 BYTES|
00001490: 20 4C 4F 4E 47 20 20 20  41 4E 44 20 54 41 4B 45  | LONG   AND TAKE|
000014A0: 20 34 65 2D 36 20 4F 52  20 35 65 2D 36 20 53 45  | 4e-6 OR 5e-6 SE|
000014B0: 43 4F 4E 44 53 20 54 4F  20 20 20 20 20 20 20 20  |CONDS TO        |
000014C0: 45 58 45 43 55 54 45 2C  20 44 45 50 45 4E 44 49  |EXECUTE, DEPENDI|
000014D0: 4E 47 20 4F 4E 20 54 48  45 20 56 41 4C 55 45 53  |NG ON THE VALUES|
000014E0: 20 55 53 45 44 2E 0D 5E  0D 0D 20 22 7A 45 52 4F  | USED..^.. "zERO|
000014F0: 20 70 41 47 45 2C 78 22  20 6D 4F 44 45 3A 0D 0D  | pAGE,x" mODE:..|
00001500: 20 20 74 48 49 53 20 4D  4F 44 45 20 49 53 20 53  |  tHIS MODE IS S|
00001510: 49 4D 49 4C 41 52 20 54  4F 20 54 48 45 20 41 42  |IMILAR TO THE AB|
00001520: 53 4F 4C 55 54 45 2C 78  4D 4F 44 45 20 42 55 54  |SOLUTE,xMODE BUT|
00001530: 20 41 20 5A 45 52 4F 20  50 41 47 45 20 41 44 44  | A ZERO PAGE ADD|
00001540: 52 45 53 53 20 49 53 20  55 53 45 44 2E 0D 0D 20  |RESS IS USED... |
00001550: 20 6D 4F 53 54 20 41 53  53 45 4D 42 4C 45 52 53  | mOST ASSEMBLERS|
00001560: 20 55 53 45 20 5A 45 52  4F 20 50 41 47 45 2C 78  | USE ZERO PAGE,x|
00001570: 20 4D 4F 44 45 20 20 57  48 45 4E 45 56 45 52 20  | MODE  WHENEVER |
00001580: 41 50 50 4C 49 43 41 42  4C 45 2C 20 53 4F 20 49  |APPLICABLE, SO I|
00001590: 54 20 49 53 20 57 52 49  54 54 45 4E 20 20 20 45  |T IS WRITTEN   E|
000015A0: 58 41 43 54 4C 59 20 4C  49 4B 45 20 41 42 53 4F  |XACTLY LIKE ABSO|
000015B0: 4C 55 54 45 2C 78 20 4D  4F 44 45 2E 0D 0D 2A 20  |LUTE,x MODE...* |
000015C0: 61 4E 20 49 4D 50 4F 52  54 41 4E 54 20 4E 4F 54  |aN IMPORTANT NOT|
000015D0: 45 3A 20 49 46 20 54 48  45 20 41 44 44 49 54 49  |E: IF THE ADDITI|
000015E0: 4F 4E 20 20 20 20 50 52  4F 44 55 43 45 53 20 41  |ON    PRODUCES A|
000015F0: 20 52 45 53 55 4C 54 20  47 52 45 41 54 45 52 20  | RESULT GREATER |
00001600: 54 48 41 4E 20 24 46 46  2C 20 49 54 20 20 43 4F  |THAN $FF, IT  CO|
00001610: 4E 54 49 4E 55 45 53 20  43 4F 55 4E 54 49 4E 47  |NTINUES COUNTING|
00001620: 20 41 54 20 24 30 30 2C  20 4E 4F 54 20 24 31 30  | AT $00, NOT $10|
00001630: 30 0D 0D 65 2E 47 2E 20  53 54 41 20 24 46 44 2C  |0..e.G. STA $FD,|
00001640: 78 20 50 55 54 53 20 54  48 45 20 43 4F 4E 54 45  |x PUTS THE CONTE|
00001650: 4E 54 53 20 4F 46 20 54  48 45 20 20 20 20 20 20  |NTS OF THE      |
00001660: 20 20 20 20 20 20 20 20  20 20 41 43 43 55 4D 55  |          ACCUMU|
00001670: 4C 41 54 4F 52 20 49 4E  54 4F 20 4D 45 4D 4F 52  |LATOR INTO MEMOR|
00001680: 59 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |Y               |
00001690: 20 20 4C 4F 43 41 54 49  4F 4E 20 28 24 46 44 2B  |  LOCATION ($FD+|
000016A0: 58 29 0D 20 20 20 20 20  69 4E 20 62 41 53 49 43  |X).     iN bASIC|
000016B0: 2C 20 50 4F 4B 45 28 32  35 33 2B 58 29 2C 41 0D  |, POKE(253+X),A.|
000016C0: 0D 2A 20 6E 4F 54 45 3A  20 69 46 20 78 20 49 53  |.* nOTE: iF x IS|
000016D0: 20 24 31 30 2C 20 54 48  45 20 41 43 43 55 4D 55  | $10, THE ACCUMU|
000016E0: 4C 41 54 4F 52 20 20 20  20 57 49 4C 4C 20 42 45  |LATOR    WILL BE|
000016F0: 20 53 54 4F 52 45 44 20  49 4E 20 24 30 44 2C 20  | STORED IN $0D, |
00001700: 6E 6F 74 20 24 31 30 44  2E 0D 0D 20 20 20 20 20  |not $10D...     |
00001710: 20 20 20 20 20 28 6D 4F  52 45 20 4F 4E 20 4E 45  |     (mORE ON NE|
00001720: 58 54 20 50 41 47 45 29  0D 5E 0D 0D 20 22 7A 45  |XT PAGE).^.. "zE|
00001730: 52 4F 20 70 41 47 45 2C  78 22 20 6D 4F 44 45 3A  |RO pAGE,x" mODE:|
00001740: 20 20 28 63 4F 4E 54 49  4E 55 45 44 29 0D 0D 20  |  (cONTINUED).. |
00001750: 20 6C 44 58 20 41 4E 44  20 53 54 58 20 43 41 4E  | lDX AND STX CAN|
00001760: 4E 4F 54 20 55 53 45 20  54 48 45 20 5A 45 52 4F  |NOT USE THE ZERO|
00001770: 20 50 41 47 45 2C 78 4D  4F 44 45 2C 20 42 55 54  | PAGE,xMODE, BUT|
00001780: 20 43 41 4E 20 55 53 45  20 41 20 55 4E 49 51 55  | CAN USE A UNIQU|
00001790: 45 20 5A 45 52 4F 20 50  41 47 45 2C 79 20 20 4D  |E ZERO PAGE,y  M|
000017A0: 4F 44 45 2C 20 57 48 49  43 48 20 4F 50 45 52 41  |ODE, WHICH OPERA|
000017B0: 54 45 53 20 53 49 4D 49  4C 41 52 4C 59 2E 0D 0D  |TES SIMILARLY...|
000017C0: 20 20 7A 45 52 4F 20 50  41 47 45 2C 78 20 4D 4F  |  zERO PAGE,x MO|
000017D0: 44 45 20 49 4E 53 54 52  55 43 54 49 4F 4E 53 20  |DE INSTRUCTIONS |
000017E0: 41 52 45 20 32 20 20 20  42 59 54 45 53 20 4C 4F  |ARE 2   BYTES LO|
000017F0: 4E 47 20 41 4E 44 20 54  41 4B 45 20 34 65 2D 36  |NG AND TAKE 4e-6|
00001800: 20 53 45 43 4F 4E 44 53  20 54 4F 20 20 20 20 20  | SECONDS TO     |
00001810: 45 58 45 43 55 54 45 2E  0D 0D 20 20 22 69 4E 44  |EXECUTE...  "iND|
00001820: 45 58 45 44 22 20 28 61  42 53 4F 4C 55 54 45 2C  |EXED" (aBSOLUTE,|
00001830: 78 3B 20 41 42 53 4F 4C  55 54 45 2C 79 3B 20 41  |x; ABSOLUTE,y; A|
00001840: 4E 44 20 5A 45 52 4F 20  50 41 47 45 2C 78 20 4D  |ND ZERO PAGE,x M|
00001850: 4F 44 45 29 20 49 4E 53  54 52 55 43 54 49 4F 4E  |ODE) INSTRUCTION|
00001860: 53 20 41 52 45 20 20 20  20 20 4F 46 54 45 4E 20  |S ARE     OFTEN |
00001870: 55 53 45 44 20 54 4F 20  4D 4F 56 45 20 42 4C 4F  |USED TO MOVE BLO|
00001880: 43 4B 53 20 4F 46 20 4D  45 4D 4F 52 59 20 20 20  |CKS OF MEMORY   |
00001890: 20 20 41 42 4F 55 54 2C  20 42 59 20 45 58 45 43  |  ABOUT, BY EXEC|
000018A0: 55 54 49 4E 47 20 22 4C  44 41 20 5B 53 4F 55 52  |UTING "LDA [SOUR|
000018B0: 43 45 20 41 52 45 41 5D  2C 78 53 54 41 20 5B 44  |CE AREA],xSTA [D|
000018C0: 45 53 54 49 4E 41 54 49  4F 4E 20 41 52 45 41 5D  |ESTINATION AREA]|
000018D0: 2C 78 22 20 20 52 45 50  45 41 54 45 44 4C 59 20  |,x"  REPEATEDLY |
000018E0: 20 20 57 49 54 48 20 41  20 52 41 4E 47 45 20 4F  |  WITH A RANGE O|
000018F0: 46 20 56 41 4C 55 45 53  20 46 4F 52 20 78 2E 0D  |F VALUES FOR x..|
00001900: 0D 20 5B 66 4F 52 20 54  48 45 20 43 55 52 49 4F  |. [fOR THE CURIO|
00001910: 55 53 3A 20 61 42 53 4F  4C 55 54 45 2C 78 20 41  |US: aBSOLUTE,x A|
00001920: 4E 44 20 2C 79 20 20 20  20 4D 4F 44 45 20 49 4E  |ND ,y    MODE IN|
00001930: 53 54 52 55 43 54 49 4F  4E 53 20 54 41 4B 45 20  |STRUCTIONS TAKE |
00001940: 4C 4F 4E 47 45 52 20 57  48 45 4E 20 54 48 45 20  |LONGER WHEN THE |
00001950: 20 41 44 44 49 54 49 4F  4E 20 43 41 55 53 45 53  | ADDITION CAUSES|
00001960: 20 41 20 50 41 47 45 20  42 4F 55 4E 44 41 52 59  | A PAGE BOUNDARY|
00001970: 20 28 46 52 4F 4D 20 20  20 24 58 58 46 46 20 54  | (FROM   $XXFF T|
00001980: 4F 20 24 59 59 30 30 29  20 54 4F 20 42 45 20 43  |O $YY00) TO BE C|
00001990: 52 4F 53 53 45 44 2E 5D  0D 5E 0D 0D 20 20 68 45  |ROSSED.].^..  hE|
000019A0: 52 45 20 49 53 20 41 4E  20 45 58 41 4D 50 4C 45  |RE IS AN EXAMPLE|
000019B0: 20 50 52 4F 47 52 41 4D  20 54 4F 20 4D 4F 56 45  | PROGRAM TO MOVE|
000019C0: 20 41 20 20 53 43 52 45  45 4E 46 55 4C 20 4F 46  | A  SCREENFUL OF|
000019D0: 20 49 4E 46 4F 52 4D 41  54 49 4F 4E 20 46 52 4F  | INFORMATION FRO|
000019E0: 4D 20 34 39 31 35 32 2D  20 20 20 20 35 30 31 35  |M 49152-    5015|
000019F0: 31 20 54 4F 20 31 30 32  34 2D 32 30 32 33 2C 20  |1 TO 1024-2023, |
00001A00: 54 48 45 20 4C 4F 43 41  54 49 4F 4E 20 4F 46 20  |THE LOCATION OF |
00001A10: 54 48 45 20 56 49 44 45  4F 20 53 43 52 45 45 4E  |THE VIDEO SCREEN|
00001A20: 20 49 4E 20 4D 45 4D 4F  52 59 2E 20 73 4F 4D 45  | IN MEMORY. sOME|
00001A30: 20 49 4E 53 54 52 55 43  54 2D 20 20 49 4F 4E 53  | INSTRUCT-  IONS|
00001A40: 20 48 41 56 45 20 4E 4F  54 20 59 45 54 20 42 45  | HAVE NOT YET BE|
00001A50: 45 4E 20 44 45 53 43 52  49 42 45 44 2E 0D 0D 20  |EN DESCRIBED... |
00001A60: 20 20 20 20 4C 44 58 20  23 32 35 30 20 20 20 20  |    LDX #250    |
00001A70: 3B 49 4E 49 54 49 41 4C  49 5A 45 20 58 20 54 4F  |;INITIALIZE X TO|
00001A80: 20 32 35 30 0D 4C 4F 4F  50 20 44 45 58 20 20 20  | 250.LOOP DEX   |
00001A90: 20 20 20 20 20 20 3B 64  65 43 52 45 4D 45 4E 54  |      ;deCREMENT|
00001AA0: 20 78 20 28 58 3D 58 2D  31 29 0D 20 20 20 20 20  | x (X=X-1).     |
00001AB0: 4C 44 41 20 34 39 31 35  32 2C 58 20 3B 4C 4F 41  |LDA 49152,X ;LOA|
00001AC0: 44 20 46 52 4F 4D 20 31  53 54 20 51 55 41 52 54  |D FROM 1ST QUART|
00001AD0: 45 52 0D 20 20 20 20 20  53 54 41 20 31 30 32 34  |ER.     STA 1024|
00001AE0: 2C 58 20 20 3B 53 54 4F  52 45 20 54 4F 20 31 53  |,X  ;STORE TO 1S|
00001AF0: 54 20 51 55 41 52 54 45  52 0D 20 20 20 20 20 4C  |T QUARTER.     L|
00001B00: 44 41 20 34 39 34 30 32  2C 58 20 3B 4C 4F 41 44  |DA 49402,X ;LOAD|
00001B10: 20 46 52 4F 4D 20 32 4E  44 20 51 55 41 52 54 45  | FROM 2ND QUARTE|
00001B20: 52 0D 20 20 20 20 20 53  54 41 20 31 32 37 34 2C  |R.     STA 1274,|
00001B30: 58 20 20 3B 53 54 4F 52  45 20 54 4F 20 32 4E 44  |X  ;STORE TO 2ND|
00001B40: 20 51 55 41 52 54 45 52  0D 20 20 20 20 20 4C 44  | QUARTER.     LD|
00001B50: 41 20 34 39 36 35 32 2C  58 20 3B 4C 4F 41 44 20  |A 49652,X ;LOAD |
00001B60: 46 52 4F 4D 20 33 52 44  20 51 55 41 52 54 45 52  |FROM 3RD QUARTER|
00001B70: 0D 20 20 20 20 20 53 54  41 20 31 35 32 34 2C 58  |.     STA 1524,X|
00001B80: 20 20 3B 53 54 4F 52 45  20 54 4F 20 33 52 44 20  |  ;STORE TO 3RD |
00001B90: 51 55 41 52 54 45 52 0D  20 20 20 20 20 4C 44 41  |QUARTER.     LDA|
00001BA0: 20 34 39 39 30 32 2C 58  20 3B 4C 4F 41 44 20 46  | 49902,X ;LOAD F|
00001BB0: 52 4F 4D 20 34 54 48 20  51 55 41 52 54 45 52 0D  |ROM 4TH QUARTER.|
00001BC0: 20 20 20 20 20 53 54 41  20 31 37 37 34 2C 58 20  |     STA 1774,X |
00001BD0: 20 3B 53 54 4F 52 45 20  54 4F 20 34 54 48 20 51  | ;STORE TO 4TH Q|
00001BE0: 55 41 52 54 45 52 0D 20  20 20 20 20 43 50 58 20  |UARTER.     CPX |
00001BF0: 23 30 20 20 20 20 20 20  3B 0D 20 20 20 20 20 42  |#0      ;.     B|
00001C00: 4E 45 20 4C 4F 4F 50 20  20 20 20 3B 49 46 20 58  |NE LOOP    ;IF X|
00001C10: 3C 3E 30 20 47 4F 54 4F  20 4C 4F 4F 50 0D 0D 20  |<>0 GOTO LOOP.. |
00001C20: 20 62 45 43 41 55 53 45  20 54 48 45 20 78 20 52  | bECAUSE THE x R|
00001C30: 45 47 49 53 54 45 52 27  53 20 56 41 4C 55 45 20  |EGISTER'S VALUE |
00001C40: 43 41 4E 4E 4F 54 20 42  45 20 47 52 45 41 54 45  |CANNOT BE GREATE|
00001C50: 52 20 54 48 41 4E 20 32  35 35 20 28 24 46 46 29  |R THAN 255 ($FF)|
00001C60: 2C 20 54 48 45 20 56 49  44 45 4F 20 20 20 20 53  |, THE VIDEO    S|
00001C70: 43 52 45 45 4E 20 49 53  20 43 4F 50 49 45 44 20  |CREEN IS COPIED |
00001C80: 49 4E 20 34 20 32 35 30  2D 42 59 54 45 20 51 55  |IN 4 250-BYTE QU|
00001C90: 41 52 54 45 52 53 2E 5E  0D 0D 20 22 69 4E 44 49  |ARTERS.^.. "iNDI|
00001CA0: 52 45 43 54 2C 79 22 20  6D 4F 44 45 3A 0D 0D 20  |RECT,y" mODE:.. |
00001CB0: 20 74 48 49 53 20 41 44  44 52 45 53 53 49 4E 47  | tHIS ADDRESSING|
00001CC0: 20 4D 4F 44 45 20 53 45  45 4D 53 20 50 45 43 55  | MODE SEEMS PECU|
00001CD0: 4C 49 41 52 2C 20 20 42  55 54 20 49 53 20 45 58  |LIAR,  BUT IS EX|
00001CE0: 54 52 45 4D 45 4C 59 20  55 53 45 46 55 4C 2E 20  |TREMELY USEFUL. |
00001CF0: 69 54 20 49 53 20 53 49  4D 49 4C 41 52 20 20 54  |iT IS SIMILAR  T|
00001D00: 4F 20 54 48 45 20 41 42  53 4F 4C 55 54 45 2C 79  |O THE ABSOLUTE,y|
00001D10: 20 41 44 44 52 45 53 53  49 4E 47 20 4D 4F 44 45  | ADDRESSING MODE|
00001D20: 2C 20 42 55 54 20 20 54  48 45 20 4E 55 4D 42 45  |, BUT  THE NUMBE|
00001D30: 52 20 54 4F 20 57 48 49  43 48 20 54 48 45 20 79  |R TO WHICH THE y|
00001D40: 20 52 45 47 49 53 54 45  52 20 49 53 20 20 20 41  | REGISTER IS   A|
00001D50: 44 44 45 44 2C 20 49 4E  53 54 45 41 44 20 4F 46  |DDED, INSTEAD OF|
00001D60: 20 42 45 49 4E 47 20 46  49 58 45 44 20 41 54 20  | BEING FIXED AT |
00001D70: 54 48 45 20 20 20 20 54  49 4D 45 20 4F 46 20 57  |THE    TIME OF W|
00001D80: 52 49 54 49 4E 47 20 28  65 2E 47 2E 20 53 54 58  |RITING (e.G. STX|
00001D90: 20 24 34 30 30 2C 79 29  2C 20 49 53 20 20 20 54  | $400,y), IS   T|
00001DA0: 41 4B 45 4E 20 46 52 4F  4D 20 41 20 5A 45 52 4F  |AKEN FROM A ZERO|
00001DB0: 20 50 41 47 45 20 41 44  44 52 45 53 53 2C 20 57  | PAGE ADDRESS, W|
00001DC0: 48 49 43 48 20 49 53 53  50 45 43 49 46 49 45 44  |HICH ISSPECIFIED|
00001DD0: 20 49 4E 20 54 48 45 20  49 4E 53 54 52 55 43 54  | IN THE INSTRUCT|
00001DE0: 49 4F 4E 2E 0D 0D 20 20  62 45 43 41 55 53 45 20  |ION...  bECAUSE |
00001DF0: 41 44 44 52 45 53 53 45  53 20 28 53 41 59 2C 20  |ADDRESSES (SAY, |
00001E00: 24 30 37 46 38 29 20 41  52 45 20 31 36 20 42 49  |$07F8) ARE 16 BI|
00001E10: 54 53 20 4C 4F 4E 47 20  41 4E 44 20 4F 4E 45 20  |TS LONG AND ONE |
00001E20: 4D 45 4D 4F 52 59 20 4C  4F 43 41 54 49 4F 4E 20  |MEMORY LOCATION |
00001E30: 43 41 4E 20 20 20 4F 4E  4C 59 20 48 4F 4C 44 20  |CAN   ONLY HOLD |
00001E40: 38 20 42 49 54 53 2C 20  54 48 45 59 20 41 52 45  |8 BITS, THEY ARE|
00001E50: 20 53 54 4F 52 45 44 20  49 4E 20 74 77 6F 4D 45  | STORED IN twoME|
00001E60: 4D 4F 52 59 20 4C 4F 43  41 54 49 4F 4E 53 2E 20  |MORY LOCATIONS. |
00001E70: 74 48 45 20 4F 52 44 45  52 20 49 53 20 6E 6F 74  |tHE ORDER IS not|
00001E80: 20 24 30 37 20 20 54 48  45 4E 20 24 46 38 2C 20  | $07  THEN $F8, |
00001E90: 42 55 54 20 54 48 45 20  4F 54 48 45 52 20 57 41  |BUT THE OTHER WA|
00001EA0: 59 20 41 52 4F 55 4E 44  2E 20 74 48 45 20 5A 45  |Y AROUND. tHE ZE|
00001EB0: 52 4F 20 50 41 47 45 20  4C 4F 43 41 54 49 4F 4E  |RO PAGE LOCATION|
00001EC0: 20 48 4F 4C 44 53 20 54  48 45 20 4C 41 53 54 20  | HOLDS THE LAST |
00001ED0: 48 41 4C 46 20 20 4F 46  20 54 48 45 20 53 45 43  |HALF  OF THE SEC|
00001EE0: 4F 4E 44 20 53 54 41 47  45 20 41 44 44 52 45 53  |OND STAGE ADDRES|
00001EF0: 53 20 28 24 46 38 29 20  41 4E 44 20 20 20 54 48  |S ($F8) AND   TH|
00001F00: 45 20 4E 45 58 54 20 4C  4F 43 41 54 49 4F 4E 20  |E NEXT LOCATION |
00001F10: 49 4E 20 5A 45 52 4F 20  50 41 47 45 20 28 4C 4F  |IN ZERO PAGE (LO|
00001F20: 43 41 54 49 4F 4E 2B 31  29 20 48 4F 4C 44 53 20  |CATION+1) HOLDS |
00001F30: 54 48 45 20 46 49 52 53  54 20 48 41 4C 46 20 28  |THE FIRST HALF (|
00001F40: 24 30 37 29 2E 0D 0D 20  20 20 20 20 20 20 20 20  |$07)...         |
00001F50: 20 28 6D 4F 52 45 20 4F  4E 20 4E 45 58 54 20 50  | (mORE ON NEXT P|
00001F60: 41 47 45 29 0D 5E 0D 0D  20 22 69 4E 44 49 52 45  |AGE).^.. "iNDIRE|
00001F70: 43 54 2C 79 22 20 6D 4F  44 45 3A 20 20 28 63 4F  |CT,y" mODE:  (cO|
00001F80: 4E 54 49 4E 55 45 44 29  0D 0D 20 20 74 48 45 20  |NTINUED)..  tHE |
00001F90: 49 4E 44 49 52 45 43 54  2C 79 20 4D 4F 44 45 20  |INDIRECT,y MODE |
00001FA0: 49 53 20 57 52 49 54 54  45 4E 20 57 49 54 48 20  |IS WRITTEN WITH |
00001FB0: 20 20 54 48 45 20 5A 45  52 4F 20 50 41 47 45 20  |  THE ZERO PAGE |
00001FC0: 41 44 44 52 45 53 53 20  45 4E 43 4C 4F 53 45 44  |ADDRESS ENCLOSED|
00001FD0: 20 49 4E 20 20 20 20 20  20 20 50 41 52 45 4E 54  | IN       PARENT|
00001FE0: 48 45 53 45 53 20 41 4E  44 20 46 4F 4C 4C 4F 57  |HESES AND FOLLOW|
00001FF0: 45 44 20 42 59 20 22 2C  79 22 2E 0D 0D 65 2E 47  |ED BY ",y"...e.G|
00002000: 2E 20 6C 4F 43 41 54 49  4F 4E 20 24 30 32 20 43  |. lOCATION $02 C|
00002010: 4F 4E 54 41 49 4E 53 20  24 46 38 2E 20 20 20 20  |ONTAINS $F8.    |
00002020: 20 20 20 20 20 20 20 20  20 20 6C 4F 43 41 54 49  |          lOCATI|
00002030: 4F 4E 20 24 30 33 20 43  4F 4E 54 41 49 4E 53 20  |ON $03 CONTAINS |
00002040: 24 30 37 2E 20 20 20 20  20 20 20 20 20 20 20 20  |$07.            |
00002050: 20 20 74 48 45 20 79 20  52 45 47 49 53 54 45 52  |  tHE y REGISTER|
00002060: 20 43 4F 4E 54 41 49 4E  53 20 32 2E 0D 0D 20 20  | CONTAINS 2...  |
00002070: 20 20 20 4C 44 41 28 24  30 32 29 2C 79 20 4C 4F  |   LDA($02),y LO|
00002080: 41 44 53 20 54 48 45 20  41 43 43 55 4D 55 4C 41  |ADS THE ACCUMULA|
00002090: 54 4F 52 20 20 20 20 20  20 20 20 20 20 20 20 20  |TOR             |
000020A0: 20 20 20 20 20 20 46 52  4F 4D 20 54 48 45 20 41  |      FROM THE A|
000020B0: 44 44 52 45 53 53 20 24  30 37 46 41 2C 20 20 20  |DDRESS $07FA,   |
000020C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 47 49  |              GI|
000020D0: 56 45 4E 20 42 59 20 54  48 45 20 53 55 4D 20 4F  |VEN BY THE SUM O|
000020E0: 46 20 54 48 45 20 20 20  20 20 20 20 20 20 20 20  |F THE           |
000020F0: 20 20 20 20 20 20 56 41  4C 55 45 20 49 4E 20 4C  |      VALUE IN L|
00002100: 4F 43 41 54 49 4F 4E 53  20 24 30 32 20 20 20 20  |OCATIONS $02    |
00002110: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 54 4F  |              TO|
00002120: 20 24 30 33 20 28 24 30  37 46 38 29 20 41 4E 44  | $03 ($07F8) AND|
00002130: 20 54 48 45 20 79 20 20  20 20 20 20 20 20 20 20  | THE y          |
00002140: 20 20 20 20 20 20 52 45  47 49 53 54 45 52 20 28  |      REGISTER (|
00002150: 24 30 32 29 2E 0D 0D 20  20 74 48 45 20 49 4E 44  |$02)...  tHE IND|
00002160: 49 52 45 43 54 2C 79 20  41 44 44 52 45 53 53 49  |IRECT,y ADDRESSI|
00002170: 4E 47 20 4D 4F 44 45 20  43 41 4E 4E 4F 54 20 42  |NG MODE CANNOT B|
00002180: 45 20 55 53 45 44 20 42  59 20 54 48 45 20 4C 44  |E USED BY THE LD|
00002190: 59 20 4F 52 20 53 54 59  20 49 4E 53 54 52 55 43  |Y OR STY INSTRUC|
000021A0: 54 49 4F 4E 53 2E 0D 0D  0D 20 20 20 20 20 20 20  |TIONS....       |
000021B0: 20 20 20 28 6D 4F 52 45  20 4F 4E 20 4E 45 58 54  |   (mORE ON NEXT|
000021C0: 20 50 41 47 45 29 0D 5E  0D 0D 20 22 69 4E 44 49  | PAGE).^.. "iNDI|
000021D0: 52 45 43 54 2C 79 22 20  6D 4F 44 45 3A 20 20 28  |RECT,y" mODE:  (|
000021E0: 63 4F 4E 54 49 4E 55 45  44 29 0D 0D 20 20 69 4E  |cONTINUED)..  iN|
000021F0: 44 49 52 45 43 54 2C 79  20 4D 4F 44 45 20 49 4E  |DIRECT,y MODE IN|
00002200: 53 54 52 55 43 54 49 4F  4E 53 20 41 52 45 20 32  |STRUCTIONS ARE 2|
00002210: 20 20 20 20 42 59 54 45  53 20 4C 4F 4E 47 20 41  |    BYTES LONG A|
00002220: 4E 44 20 54 41 4B 45 20  35 65 2D 36 20 4F 52 20  |ND TAKE 5e-6 OR |
00002230: 36 65 2D 36 20 53 45 43  4F 4E 44 53 54 4F 20 45  |6e-6 SECONDSTO E|
00002240: 58 45 43 55 54 45 2C 20  44 45 50 45 4E 44 49 4E  |XECUTE, DEPENDIN|
00002250: 47 20 4F 4E 20 54 48 45  20 56 41 4C 55 45 53 20  |G ON THE VALUES |
00002260: 4F 46 20 20 54 48 45 20  79 20 52 45 47 49 53 54  |OF  THE y REGIST|
00002270: 45 52 20 41 4E 44 20 54  48 45 20 5A 45 52 4F 20  |ER AND THE ZERO |
00002280: 50 41 47 45 20 20 20 20  20 20 20 20 4C 4F 43 41  |PAGE        LOCA|
00002290: 54 49 4F 4E 2E 0D 0D 20  20 74 48 49 53 20 4D 4F  |TION...  tHIS MO|
000022A0: 44 45 20 49 53 20 55 53  45 44 20 4C 49 4B 45 20  |DE IS USED LIKE |
000022B0: 54 48 45 20 41 42 53 4F  4C 55 54 45 2C 79 20 41  |THE ABSOLUTE,y A|
000022C0: 4E 44 20 2C 78 20 4D 4F  44 45 53 20 54 4F 20 4D  |ND ,x MODES TO M|
000022D0: 4F 56 45 20 42 4C 4F 43  4B 53 20 4F 46 20 4D 45  |OVE BLOCKS OF ME|
000022E0: 4D 4F 52 59 20 20 20 41  42 4F 55 54 2C 20 42 55  |MORY   ABOUT, BU|
000022F0: 54 20 54 48 45 20 41 52  45 41 53 20 41 46 46 45  |T THE AREAS AFFE|
00002300: 43 54 45 44 20 43 41 4E  20 42 45 20 20 20 20 43  |CTED CAN BE    C|
00002310: 48 41 4E 47 45 44 20 42  59 20 50 55 54 54 49 4E  |HANGED BY PUTTIN|
00002320: 47 20 4E 45 57 20 56 41  4C 55 45 53 20 49 4E 54  |G NEW VALUES INT|
00002330: 4F 20 54 48 45 20 20 5A  45 52 4F 20 50 41 47 45  |O THE  ZERO PAGE|
00002340: 20 4C 4F 43 41 54 49 4F  4E 53 20 52 45 46 45 52  | LOCATIONS REFER|
00002350: 45 4E 43 45 44 2C 20 52  41 54 48 45 52 20 20 54  |ENCED, RATHER  T|
00002360: 48 41 4E 20 52 45 57 52  49 54 49 4E 47 20 54 48  |HAN REWRITING TH|
00002370: 45 20 50 52 4F 47 52 41  4D 2E 0D 0D 2A 20 74 4F  |E PROGRAM...* tO|
00002380: 20 52 45 50 45 41 54 3A  20 79 4F 55 20 47 49 56  | REPEAT: yOU GIV|
00002390: 45 20 54 48 45 20 63 70  75 20 41 20 5A 45 52 4F  |E THE cpu A ZERO|
000023A0: 20 20 20 20 50 41 47 45  20 41 44 44 52 45 53 53  |    PAGE ADDRESS|
000023B0: 2E 20 66 52 4F 4D 20 54  48 45 20 54 57 4F 20 42  |. fROM THE TWO B|
000023C0: 59 54 45 53 20 20 20 20  20 20 20 20 53 54 41 52  |YTES        STAR|
000023D0: 54 49 4E 47 20 41 54 20  54 48 49 53 20 41 44 44  |TING AT THIS ADD|
000023E0: 52 45 53 53 2C 20 41 20  4E 55 4D 42 45 52 20 20  |RESS, A NUMBER  |
000023F0: 20 20 20 20 49 53 20 46  45 54 43 48 45 44 20 41  |    IS FETCHED A|
00002400: 4E 44 20 54 48 45 20 79  20 52 45 47 49 53 54 45  |ND THE y REGISTE|
00002410: 52 20 49 53 20 41 44 44  45 44 20 20 54 4F 20 49  |R IS ADDED  TO I|
00002420: 54 2E 20 74 48 49 53 20  52 45 53 55 4C 54 41 4E  |T. tHIS RESULTAN|
00002430: 54 20 4E 55 4D 42 45 52  20 49 53 20 54 48 45 20  |T NUMBER IS THE |
00002440: 20 20 20 20 41 44 44 52  45 53 53 20 4C 4F 41 44  |    ADDRESS LOAD|
00002450: 45 44 20 46 52 4F 4D 20  4F 52 20 53 54 4F 52 45  |ED FROM OR STORE|
00002460: 44 20 54 4F 2E 0D 5E 0D  0D 20 22 69 4E 44 49 52  |D TO..^.. "iNDIR|
00002470: 45 43 54 2C 78 22 20 6D  4F 44 45 3A 0D 0D 20 20  |ECT,x" mODE:..  |
00002480: 74 48 45 20 4E 41 4D 45  20 49 53 20 44 45 43 45  |tHE NAME IS DECE|
00002490: 49 56 49 4E 47 2E 20 74  48 45 20 49 4E 44 49 52  |IVING. tHE INDIR|
000024A0: 45 43 54 2C 78 20 41 44  44 52 45 53 53 49 4E 47  |ECT,x ADDRESSING|
000024B0: 20 4D 4F 44 45 20 49 53  20 51 55 49 54 45 20 44  | MODE IS QUITE D|
000024C0: 49 46 46 45 52 45 4E 54  20 46 52 4F 4D 20 54 48  |IFFERENT FROM TH|
000024D0: 45 20 49 4E 44 49 52 45  43 54 2C 20 79 20 41 44  |E INDIRECT, y AD|
000024E0: 44 52 45 53 53 49 4E 47  20 4D 4F 44 45 2E 20 20  |DRESSING MODE.  |
000024F0: 20 20 20 20 20 20 61 53  20 54 48 49 53 20 4D 4F  |      aS THIS MO|
00002500: 44 45 20 49 53 20 56 45  52 59 20 52 41 52 45 4C  |DE IS VERY RAREL|
00002510: 59 20 55 53 45 44 2C 20  49 54 20 20 20 20 57 49  |Y USED, IT    WI|
00002520: 4C 4C 20 42 45 20 43 4F  56 45 52 45 44 20 4F 4E  |LL BE COVERED ON|
00002530: 4C 59 20 42 52 49 45 46  4C 59 2E 0D 0D 20 20 69  |LY BRIEFLY...  i|
00002540: 4E 53 54 45 41 44 20 4F  46 20 46 45 54 43 48 49  |NSTEAD OF FETCHI|
00002550: 4E 47 20 41 4E 20 41 44  44 52 45 53 53 20 46 52  |NG AN ADDRESS FR|
00002560: 4F 4D 20 20 20 5A 45 52  4F 20 50 41 47 45 20 41  |OM   ZERO PAGE A|
00002570: 4E 44 20 41 44 44 49 4E  47 20 41 20 52 45 47 49  |ND ADDING A REGI|
00002580: 53 54 45 52 20 54 4F 20  54 48 49 53 20 53 45 43  |STER TO THIS SEC|
00002590: 4F 4E 44 20 41 44 44 52  45 53 53 2C 20 49 4E 20  |OND ADDRESS, IN |
000025A0: 54 48 45 20 49 4E 44 49  52 45 43 54 2C 78 20 4D  |THE INDIRECT,x M|
000025B0: 4F 44 45 20 20 54 48 45  20 78 20 52 45 47 49 53  |ODE  THE x REGIS|
000025C0: 54 45 52 20 49 53 20 41  44 44 45 44 20 54 4F 20  |TER IS ADDED TO |
000025D0: 54 48 45 20 5A 45 52 4F  20 50 41 47 45 41 44 44  |THE ZERO PAGEADD|
000025E0: 52 45 53 53 20 42 45 46  4F 52 45 20 46 45 54 43  |RESS BEFORE FETC|
000025F0: 48 49 4E 47 2E 20 6E 4F  54 48 49 4E 47 20 49 53  |HING. nOTHING IS|
00002600: 20 20 20 20 20 44 4F 4E  45 20 54 4F 20 54 48 45  |     DONE TO THE|
00002610: 20 4E 55 4D 42 45 52 20  46 45 54 43 48 45 44 2E  | NUMBER FETCHED.|
00002620: 20 69 54 20 49 53 20 55  53 45 44 20 20 41 53 20  | iT IS USED  AS |
00002630: 54 48 45 20 41 44 44 52  45 53 53 20 57 48 49 43  |THE ADDRESS WHIC|
00002640: 48 20 49 53 20 4C 4F 41  44 45 44 20 46 52 4F 4D  |H IS LOADED FROM|
00002650: 20 4F 52 20 20 53 54 4F  52 45 44 20 54 4F 2E 0D  | OR  STORED TO..|
00002660: 0D 20 20 69 4E 44 49 52  45 43 54 2C 78 20 49 4E  |.  iNDIRECT,x IN|
00002670: 53 54 52 55 43 54 49 4F  4E 53 20 41 52 45 20 57  |STRUCTIONS ARE W|
00002680: 52 49 54 54 45 4E 20 20  20 49 4E 20 54 48 45 20  |RITTEN   IN THE |
00002690: 46 4F 52 4D 20 22 53 54  41 28 24 46 42 2C 78 29  |FORM "STA($FB,x)|
000026A0: 22 20 57 49 54 48 20 54  48 45 20 22 2C 78 22 20  |" WITH THE ",x" |
000026B0: 20 49 4E 53 49 44 45 20  54 48 45 20 50 41 52 45  | INSIDE THE PARE|
000026C0: 4E 54 48 45 53 45 53 2C  20 54 41 4B 45 20 32 20  |NTHESES, TAKE 2 |
000026D0: 42 59 54 45 53 20 4F 46  20 4D 45 4D 4F 52 59 20  |BYTES OF MEMORY |
000026E0: 41 4E 44 20 54 41 4B 45  20 36 65 2D 36 20 53 45  |AND TAKE 6e-6 SE|
000026F0: 43 4F 4E 44 53 20 54 4F  20 45 58 45 43 55 54 45  |CONDS TO EXECUTE|
00002700: 2E 5E 0D 0D 20 20 20 20  20 61 20 6E 4F 54 45 20  |.^..     a nOTE |
00002710: 4F 4E 20 54 48 45 20 73  54 41 54 55 53 20 72 45  |ON THE sTATUS rE|
00002720: 47 49 53 54 45 52 0D 0D  20 20 74 48 45 20 50 52  |GISTER..  tHE PR|
00002730: 4F 43 45 53 53 4F 52 20  53 54 41 54 55 53 20 52  |OCESSOR STATUS R|
00002740: 45 47 49 53 54 45 52 2C  20 28 4F 52 20 22 70 20  |EGISTER, (OR "p |
00002750: 52 45 47 49 53 54 45 52  22 29 2C 20 49 53 20 41  |REGISTER"), IS A|
00002760: 4E 20 38 2D 42 49 54 20  52 45 47 49 53 54 45 52  |N 8-BIT REGISTER|
00002770: 20 57 48 4F 53 45 20 20  56 41 52 49 4F 55 53 20  | WHOSE  VARIOUS |
00002780: 42 49 54 53 20 28 43 41  4C 4C 45 44 20 22 46 4C  |BITS (CALLED "FL|
00002790: 41 47 53 22 29 20 4B 45  45 50 20 54 52 41 43 4B  |AGS") KEEP TRACK|
000027A0: 4F 46 20 54 48 45 20 43  55 52 52 45 4E 54 20 53  |OF THE CURRENT S|
000027B0: 54 41 54 45 20 4F 46 20  54 48 45 20 63 70 75 20  |TATE OF THE cpu |
000027C0: 41 4E 44 20 54 48 45 20  43 4F 4E 54 45 4E 54 53  |AND THE CONTENTS|
000027D0: 20 4F 46 20 49 54 53 20  52 45 47 49 53 54 45 52  | OF ITS REGISTER|
000027E0: 53 2E 0D 0D 20 20 76 41  52 49 4F 55 53 20 49 4E  |S...  vARIOUS IN|
000027F0: 53 54 52 55 43 54 49 4F  4E 53 20 53 45 54 20 54  |STRUCTIONS SET T|
00002800: 48 45 20 42 49 54 53 20  49 4E 20 20 44 49 46 46  |HE BITS IN  DIFF|
00002810: 45 52 45 4E 54 20 57 41  59 53 2E 20 74 48 45 20  |ERENT WAYS. tHE |
00002820: 53 54 4F 52 45 20 49 4E  53 54 52 55 43 54 49 4F  |STORE INSTRUCTIO|
00002830: 4E 53 20 20 44 4F 20 4E  4F 54 20 41 46 46 45 43  |NS  DO NOT AFFEC|
00002840: 54 20 41 4E 59 20 42 49  54 53 2E 20 74 48 45 20  |T ANY BITS. tHE |
00002850: 4F 54 48 45 52 20 20 20  20 20 20 20 4E 55 4D 42  |OTHER       NUMB|
00002860: 45 52 2D 4D 4F 56 49 4E  47 20 49 4E 53 54 52 55  |ER-MOVING INSTRU|
00002870: 43 54 49 4F 4E 53 20 43  4F 56 45 52 45 44 20 53  |CTIONS COVERED S|
00002880: 4F 20 20 20 46 41 52 20  41 4C 4C 20 41 46 46 45  |O   FAR ALL AFFE|
00002890: 43 54 20 54 48 45 20 22  6E 22 20 42 49 54 2C 20  |CT THE "n" BIT, |
000028A0: 53 45 54 54 49 4E 47 20  49 54 20 20 54 4F 20 31  |SETTING IT  TO 1|
000028B0: 20 49 46 20 54 48 45 20  4E 55 4D 42 45 52 20 42  | IF THE NUMBER B|
000028C0: 45 49 4E 47 20 4D 4F 56  45 44 20 49 53 20 20 20  |EING MOVED IS   |
000028D0: 20 20 20 20 4E 45 47 41  54 49 56 45 20 28 4D 4F  |    NEGATIVE (MO|
000028E0: 52 45 20 4F 4E 20 54 48  49 53 20 4C 41 54 45 52  |RE ON THIS LATER|
000028F0: 29 2C 20 41 4E 44 20 54  48 45 20 20 22 7A 22 20  |), AND THE  "z" |
00002900: 42 49 54 2C 20 53 45 54  54 49 4E 47 20 49 54 20  |BIT, SETTING IT |
00002910: 49 46 20 54 48 45 20 4E  55 4D 42 45 52 20 49 53  |IF THE NUMBER IS|
00002920: 20 20 20 20 5A 45 52 4F  2E 20 77 48 49 4C 45 20  |    ZERO. wHILE |
00002930: 49 54 20 49 53 20 56 45  52 59 20 49 4D 50 4F 52  |IT IS VERY IMPOR|
00002940: 54 41 4E 54 20 54 4F 20  4B 4E 4F 57 48 4F 57 20  |TANT TO KNOWHOW |
00002950: 56 41 52 49 4F 55 53 20  49 4E 53 54 52 55 43 54  |VARIOUS INSTRUCT|
00002960: 49 4F 4E 53 20 53 45 54  20 54 48 45 20 46 4C 41  |IONS SET THE FLA|
00002970: 47 53 2C 20 54 48 45 20  45 46 46 45 43 54 53 20  |GS, THE EFFECTS |
00002980: 4F 46 20 4D 4F 53 54 20  49 4E 53 54 52 55 43 54  |OF MOST INSTRUCT|
00002990: 49 4F 4E 53 20 46 4F 4C  4C 4F 57 20 43 4F 4D 4D  |IONS FOLLOW COMM|
000029A0: 4F 4E 53 45 4E 53 45 20  52 55 4C 45 53 2E 0D 0D  |ONSENSE RULES...|
000029B0: 20 20 20 20 20 20 20 20  20 20 28 6D 4F 52 45 20  |          (mORE |
000029C0: 4F 4E 20 4E 45 58 54 20  50 41 47 45 29 0D 5E 0D  |ON NEXT PAGE).^.|
000029D0: 0D 20 20 20 20 20 61 20  6C 49 53 54 20 4F 46 20  |.     a lIST OF |
000029E0: 54 48 45 20 73 54 41 54  55 53 20 66 4C 41 47 53  |THE sTATUS fLAGS|
000029F0: 0D 0D 63 4F 4C 55 4D 4E  20 20 6E 41 4D 45 0D 20  |..cOLUMN  nAME. |
00002A00: 20 20 20 73 59 4D 42 4F  4C 20 20 20 20 20 20 20  |   sYMBOL       |
00002A10: 66 55 4E 43 54 49 4F 4E  0D 20 20 31 29 20 63 20  |fUNCTION.  1) c |
00002A20: 63 41 52 52 59 20 46 4C  41 47 2D 54 48 49 53 20  |cARRY FLAG-THIS |
00002A30: 42 49 54 20 43 4F 4E 54  41 49 4E 53 20 54 48 45  |BIT CONTAINS THE|
00002A40: 20 20 20 20 20 20 30 20  4F 52 20 31 20 43 41 52  |      0 OR 1 CAR|
00002A50: 52 49 45 44 20 46 52 4F  4D 20 54 48 45 20 4C 45  |RIED FROM THE LE|
00002A60: 46 54 4D 4F 53 54 20 20  20 20 20 20 20 20 43 4F  |FTMOST        CO|
00002A70: 4C 55 4D 4E 20 4F 46 20  41 20 42 49 4E 41 52 59  |LUMN OF A BINARY|
00002A80: 20 41 44 44 49 54 49 4F  4E 20 54 4F 20 54 48 45  | ADDITION TO THE|
00002A90: 20 20 20 20 20 20 4E 4F  4E 2D 45 58 49 53 54 45  |      NON-EXISTE|
00002AA0: 4E 54 20 4E 45 58 54 20  4F 4E 45 2E 20 61 4C 53  |NT NEXT ONE. aLS|
00002AB0: 4F 2C 20 53 45 54 20 20  20 20 20 20 20 20 4D 45  |O, SET        ME|
00002AC0: 41 4E 53 20 22 4E 4F 20  42 4F 52 52 4F 57 22 20  |ANS "NO BORROW" |
00002AD0: 49 4E 20 41 20 53 55 42  54 52 41 43 54 49 4F 4E  |IN A SUBTRACTION|
00002AE0: 2E 20 20 32 29 20 7A 20  7A 45 52 4F 20 46 4C 41  |.  2) z zERO FLA|
00002AF0: 47 2D 49 53 20 53 45 54  20 57 48 45 4E 20 54 48  |G-IS SET WHEN TH|
00002B00: 45 20 4E 55 4D 42 45 52  20 20 20 20 20 20 55 4E  |E NUMBER      UN|
00002B10: 44 45 52 20 43 4F 4E 53  49 44 45 52 41 54 49 4F  |DER CONSIDERATIO|
00002B20: 4E 20 49 53 20 5A 45 52  4F 2E 0D 20 20 34 29 20  |N IS ZERO..  4) |
00002B30: 69 20 69 4E 54 45 52 52  55 50 54 20 46 4C 41 47  |i iNTERRUPT FLAG|
00002B40: 2D 55 53 45 44 20 49 4E  20 41 44 56 41 4E 43 45  |-USED IN ADVANCE|
00002B50: 44 20 20 20 20 20 20 20  46 55 4E 43 54 49 4F 4E  |D       FUNCTION|
00002B60: 53 2C 20 54 48 49 53 20  42 49 54 20 53 48 4F 55  |S, THIS BIT SHOU|
00002B70: 4C 44 20 41 4C 57 41 59  53 20 20 20 20 20 20 20  |LD ALWAYS       |
00002B80: 42 45 20 4B 45 50 54 20  43 4C 45 41 52 20 28 30  |BE KEPT CLEAR (0|
00002B90: 29 20 49 4E 20 59 4F 55  52 20 50 52 4F 47 52 41  |) IN YOUR PROGRA|
00002BA0: 4D 53 2E 20 20 38 29 20  64 20 64 45 43 49 4D 41  |MS.  8) d dECIMA|
00002BB0: 4C 20 46 4C 41 47 2D 43  41 55 53 45 53 20 41 44  |L FLAG-CAUSES AD|
00002BC0: 44 49 54 49 4F 4E 20 20  20 20 20 20 20 20 20 20  |DITION          |
00002BD0: 41 4E 44 20 53 55 42 54  52 41 43 54 49 4F 4E 20  |AND SUBTRACTION |
00002BE0: 49 4E 53 54 52 55 43 54  49 4F 4E 53 20 54 4F 20  |INSTRUCTIONS TO |
00002BF0: 41 43 54 20 20 20 20 20  41 53 20 49 46 20 24 30  |ACT     AS IF $0|
00002C00: 39 2B 24 30 31 3D 24 31  30 2E 20 69 54 20 4C 4F  |9+$01=$10. iT LO|
00002C10: 4F 4B 53 20 4C 49 4B 45  20 20 20 20 20 20 20 20  |OKS LIKE        |
00002C20: 44 45 43 49 4D 41 4C 2C  20 42 55 54 20 49 53 20  |DECIMAL, BUT IS |
00002C30: 53 54 4F 52 45 44 20 41  53 20 48 45 58 2E 20 6B  |STORED AS HEX. k|
00002C40: 45 45 50 20 20 20 20 20  43 4C 45 41 52 45 44 20  |EEP     CLEARED |
00002C50: 28 30 29 20 55 4E 54 49  4C 20 59 4F 55 27 52 45  |(0) UNTIL YOU'RE|
00002C60: 20 53 55 52 45 20 59 4F  55 20 20 20 20 20 20 20  | SURE YOU       |
00002C70: 4B 4E 4F 57 20 57 48 41  54 20 59 4F 55 27 52 45  |KNOW WHAT YOU'RE|
00002C80: 20 44 4F 49 4E 47 2E 0D  0D 20 20 20 20 20 20 20  | DOING...       |
00002C90: 20 20 20 28 6D 4F 52 45  20 4F 4E 20 4E 45 58 54  |   (mORE ON NEXT|
00002CA0: 20 50 41 47 45 29 0D 5E  0D 0D 20 20 61 20 6C 49  | PAGE).^..  a lI|
00002CB0: 53 54 20 4F 46 20 54 48  45 20 73 54 41 54 55 53  |ST OF THE sTATUS|
00002CC0: 20 66 4C 41 47 53 20 28  63 4F 4E 54 49 4E 55 45  | fLAGS (cONTINUE|
00002CD0: 44 29 0D 63 4F 4C 55 4D  4E 20 20 6E 41 4D 45 0D  |D).cOLUMN  nAME.|
00002CE0: 20 20 20 73 59 4D 42 4F  4C 20 20 20 20 20 20 20  |   sYMBOL       |
00002CF0: 20 20 20 66 55 4E 43 54  49 4F 4E 0D 0D 20 31 36  |   fUNCTION.. 16|
00002D00: 29 20 62 20 62 52 45 41  4B 20 46 4C 41 47 2D 55  |) b bREAK FLAG-U|
00002D10: 53 45 44 20 49 4E 20 41  44 56 41 4E 43 45 44 20  |SED IN ADVANCED |
00002D20: 20 20 20 20 20 20 20 20  20 20 46 55 4E 43 54 49  |          FUNCTI|
00002D30: 4F 4E 53 2C 20 54 48 49  53 20 42 49 54 20 49 53  |ONS, THIS BIT IS|
00002D40: 20 53 45 54 20 57 48 45  4E 20 20 20 20 20 20 20  | SET WHEN       |
00002D50: 20 20 41 20 42 52 45 41  4B 20 49 4E 53 54 52 55  |  A BREAK INSTRU|
00002D60: 43 54 49 4F 4E 20 48 41  53 20 48 41 4C 54 45 44  |CTION HAS HALTED|
00002D70: 20 41 20 20 20 20 20 20  20 20 50 52 4F 47 52 41  | A        PROGRA|
00002D80: 4D 2E 0D 20 33 32 29 20  31 20 75 4E 55 53 45 44  |M.. 32) 1 uNUSED|
00002D90: 20 46 4C 41 47 2D 54 48  49 53 20 42 49 54 20 49  | FLAG-THIS BIT I|
00002DA0: 53 20 41 4C 57 41 59 53  20 20 20 20 20 20 20 20  |S ALWAYS        |
00002DB0: 53 45 54 20 54 4F 20 4F  4E 45 2C 20 41 4E 44 20  |SET TO ONE, AND |
00002DC0: 43 41 4E 4E 4F 54 20 42  45 20 43 4C 45 41 52 45  |CANNOT BE CLEARE|
00002DD0: 44 2E 0D 20 36 34 29 20  76 20 6F 56 45 52 46 4C  |D.. 64) v oVERFL|
00002DE0: 4F 57 20 46 4C 41 47 2D  54 48 49 53 20 42 49 54  |OW FLAG-THIS BIT|
00002DF0: 20 49 53 20 54 48 45 20  20 20 20 20 20 20 20 20  | IS THE         |
00002E00: 45 51 55 49 56 41 4C 45  4E 54 20 4F 46 20 54 48  |EQUIVALENT OF TH|
00002E10: 45 20 43 41 52 52 59 20  46 4C 41 47 20 46 4F 52  |E CARRY FLAG FOR|
00002E20: 20 20 20 20 20 20 20 20  54 48 45 20 41 44 44 49  |        THE ADDI|
00002E30: 54 49 4F 4E 20 4F 46 20  53 49 47 4E 45 44 20 28  |TION OF SIGNED (|
00002E40: 50 4C 55 53 20 41 4E 44  20 20 20 20 20 20 20 20  |PLUS AND        |
00002E50: 4D 49 4E 55 53 29 20 4E  55 4D 42 45 52 53 2E 20  |MINUS) NUMBERS. |
00002E60: 64 45 54 41 49 4C 53 20  4C 41 54 45 52 2E 0D 31  |dETAILS LATER..1|
00002E70: 32 38 29 20 6E 20 6E 45  47 41 54 49 56 45 20 46  |28) n nEGATIVE F|
00002E80: 4C 41 47 2D 49 53 20 53  45 54 20 57 48 45 4E 20  |LAG-IS SET WHEN |
00002E90: 54 48 45 20 20 20 20 20  20 20 20 20 4E 55 4D 42  |THE         NUMB|
00002EA0: 45 52 20 55 4E 44 45 52  20 43 4F 4E 53 49 44 45  |ER UNDER CONSIDE|
00002EB0: 52 41 54 49 4F 4E 20 49  53 20 20 20 20 20 20 20  |RATION IS       |
00002EC0: 20 20 20 20 4E 45 47 41  54 49 56 45 2E 20 6D 4F  |    NEGATIVE. mO|
00002ED0: 52 45 20 4F 4E 20 54 48  49 53 20 53 48 4F 52 54  |RE ON THIS SHORT|
00002EE0: 4C 59 2E 0D 0D 20 20 6F  4E 4C 59 20 54 48 45 20  |LY...  oNLY THE |
00002EF0: 46 4C 41 47 53 27 20 45  58 49 53 54 45 4E 43 45  |FLAGS' EXISTENCE|
00002F00: 20 49 53 20 49 4D 50 4F  52 54 41 4E 54 54 4F 20  | IS IMPORTANTTO |
00002F10: 52 45 4D 45 4D 42 45 52  20 46 4F 52 20 54 48 45  |REMEMBER FOR THE|
00002F20: 20 54 49 4D 45 20 42 45  49 4E 47 2E 0D 5E 0D 0D  | TIME BEING..^..|
00002F30: 20 20 20 20 20 20 20 61  52 49 54 48 4D 45 54 49  |       aRITHMETI|
00002F40: 43 20 69 4E 53 54 52 55  43 54 49 4F 4E 53 0D 0D  |C iNSTRUCTIONS..|
00002F50: 20 20 74 48 45 20 4E 45  58 54 20 53 45 54 20 4F  |  tHE NEXT SET O|
00002F60: 46 20 49 4E 53 54 52 55  43 54 49 4F 4E 53 20 44  |F INSTRUCTIONS D|
00002F70: 4F 45 53 20 57 48 41 54  43 4F 4D 50 55 54 45 52  |OES WHATCOMPUTER|
00002F80: 53 20 41 52 45 20 53 55  50 50 4F 53 45 44 20 54  |S ARE SUPPOSED T|
00002F90: 4F 20 44 4F 3A 20 41 44  44 49 54 49 4F 4E 20 20  |O DO: ADDITION  |
00002FA0: 41 4E 44 20 53 55 42 54  52 41 43 54 49 4F 4E 2E  |AND SUBTRACTION.|
00002FB0: 20 74 48 45 20 49 4E 53  54 52 55 43 54 49 4F 4E  | tHE INSTRUCTION|
00002FC0: 53 20 41 52 45 20 20 20  41 53 20 46 4F 4C 4C 4F  |S ARE   AS FOLLO|
00002FD0: 57 53 3A 0D 0D 41 44 43  20 20 20 22 61 64 44 20  |WS:..ADC   "adD |
00002FE0: 57 49 54 48 20 63 41 52  52 59 22 0D 53 42 43 20  |WITH cARRY".SBC |
00002FF0: 20 20 22 73 55 62 54 52  41 43 54 20 57 49 54 48  |  "sUbTRACT WITH|
00003000: 20 63 41 52 52 59 22 0D  0D 20 20 74 48 45 53 45  | cARRY"..  tHESE|
00003010: 20 54 57 4F 20 49 4E 53  54 52 55 43 54 49 4F 4E  | TWO INSTRUCTION|
00003020: 53 20 41 52 45 20 53 4F  4D 45 57 48 41 54 20 20  |S ARE SOMEWHAT  |
00003030: 20 53 49 4D 49 4C 41 52  20 54 4F 20 4C 44 41 20  | SIMILAR TO LDA |
00003040: 49 4E 20 54 48 41 54 20  54 48 45 59 20 43 41 4E  |IN THAT THEY CAN|
00003050: 20 55 53 45 20 41 4C 4C  20 54 48 45 20 53 41 4D  | USE ALL THE SAM|
00003060: 45 20 41 44 44 52 45 53  53 49 4E 47 20 4D 4F 44  |E ADDRESSING MOD|
00003070: 45 53 2C 20 54 41 4B 45  20 41 53 20 4D 55 43 48  |ES, TAKE AS MUCH|
00003080: 20 54 49 4D 45 20 41 4E  44 20 53 50 41 43 45 2C  | TIME AND SPACE,|
00003090: 20 41 4E 44 20 55 53 45  20 54 48 45 20 41 43 43  | AND USE THE ACC|
000030A0: 55 4D 55 4C 41 54 4F 52  3B 42 55 54 20 49 4E 53  |UMULATOR;BUT INS|
000030B0: 54 45 41 44 20 4F 46 20  4C 4F 41 44 49 4E 47 20  |TEAD OF LOADING |
000030C0: 41 20 4E 55 4D 42 45 52  20 49 4E 54 4F 20 54 48  |A NUMBER INTO TH|
000030D0: 45 41 43 43 55 4D 55 4C  41 54 4F 52 2C 20 54 48  |EACCUMULATOR, TH|
000030E0: 45 59 20 41 44 44 20 49  54 20 54 4F 20 4F 52 20  |EY ADD IT TO OR |
000030F0: 53 55 42 54 52 41 43 54  20 49 54 20 46 52 4F 4D  |SUBTRACT IT FROM|
00003100: 20 54 48 45 20 4E 55 4D  42 45 52 20 41 4C 52 45  | THE NUMBER ALRE|
00003110: 41 44 59 20 54 48 45 52  45 2E 0D 0D 2A 20 64 4F  |ADY THERE...* dO|
00003120: 4E 27 54 20 46 4F 52 47  45 54 20 54 48 41 54 20  |N'T FORGET THAT |
00003130: 53 42 43 20 53 55 42 54  52 41 43 54 53 20 66 72  |SBC SUBTRACTS fr|
00003140: 6F 6D 20 20 54 48 45 20  4E 55 4D 42 45 52 20 41  |om  THE NUMBER A|
00003150: 4C 52 45 41 44 59 20 49  4E 20 54 48 45 20 41 43  |LREADY IN THE AC|
00003160: 43 55 4D 55 4C 41 54 4F  52 2E 0D 0D 20 20 20 20  |CUMULATOR...    |
00003170: 20 20 20 20 20 20 28 6D  4F 52 45 20 4F 4E 20 4E  |      (mORE ON N|
00003180: 45 58 54 20 50 41 47 45  29 0D 5E 0D 0D 20 20 61  |EXT PAGE).^..  a|
00003190: 52 49 54 48 4D 45 54 49  43 20 69 4E 53 54 52 55  |RITHMETIC iNSTRU|
000031A0: 43 54 49 4F 4E 53 20 28  63 4F 4E 54 49 4E 55 45  |CTIONS (cONTINUE|
000031B0: 44 29 0D 0D 20 20 62 55  54 20 53 41 59 20 59 4F  |D)..  bUT SAY YO|
000031C0: 55 20 57 41 4E 54 20 54  4F 20 41 44 44 20 54 57  |U WANT TO ADD TW|
000031D0: 4F 20 4E 55 4D 42 45 52  53 20 20 20 4C 41 52 47  |O NUMBERS   LARG|
000031E0: 45 52 20 54 48 41 4E 20  4F 4E 45 20 42 59 54 45  |ER THAN ONE BYTE|
000031F0: 2C 20 54 48 45 20 4C 49  4D 49 54 20 4F 46 20 54  |, THE LIMIT OF T|
00003200: 48 45 20 20 41 43 43 55  4D 55 4C 41 54 4F 52 2E  |HE  ACCUMULATOR.|
00003210: 20 77 48 41 54 20 54 48  45 4E 3F 20 74 4F 20 4B  | wHAT THEN? tO K|
00003220: 45 45 50 20 54 52 41 43  4B 20 4F 46 43 41 52 52  |EEP TRACK OFCARR|
00003230: 49 45 53 20 44 4F 4E 45  20 46 52 4F 4D 20 4F 4E  |IES DONE FROM ON|
00003240: 45 20 42 59 54 45 20 49  4E 54 4F 20 41 4E 4F 54  |E BYTE INTO ANOT|
00003250: 48 45 52 2C 54 48 45 20  36 35 31 30 20 48 41 53  |HER,THE 6510 HAS|
00003260: 20 41 20 43 41 52 52 59  20 46 4C 41 47 2C 20 57  | A CARRY FLAG, W|
00003270: 48 49 43 48 20 48 4F 4C  44 53 20 20 54 48 45 20  |HICH HOLDS  THE |
00003280: 30 20 4F 52 20 31 20 54  4F 20 42 45 20 43 41 52  |0 OR 1 TO BE CAR|
00003290: 52 49 45 44 2E 20 74 48  45 20 41 44 43 20 41 44  |RIED. tHE ADC AD|
000032A0: 44 53 20 20 54 48 45 20  43 41 52 52 59 20 46 4C  |DS  THE CARRY FL|
000032B0: 41 47 27 53 20 56 41 4C  55 45 20 49 4E 54 4F 20  |AG'S VALUE INTO |
000032C0: 54 48 45 20 52 49 47 48  54 20 20 20 43 4F 4C 55  |THE RIGHT   COLU|
000032D0: 4D 4E 20 4F 46 20 54 48  45 20 41 44 44 49 54 49  |MN OF THE ADDITI|
000032E0: 4F 4E 20 49 54 27 53 20  50 45 52 46 4F 52 4D 49  |ON IT'S PERFORMI|
000032F0: 4E 47 2E 20 73 4F 20 49  46 20 57 45 20 57 41 4E  |NG. sO IF WE WAN|
00003300: 54 20 54 4F 20 41 44 44  20 54 57 4F 20 31 36 2D  |T TO ADD TWO 16-|
00003310: 42 49 54 20 4E 55 4D 42  45 52 53 2C 48 45 52 45  |BIT NUMBERS,HERE|
00003320: 27 53 20 54 48 45 20 50  52 4F 43 45 44 55 52 45  |'S THE PROCEDURE|
00003330: 3A 0D 0D 4C 44 41 20 5B  41 44 44 52 45 53 53 3A  |:..LDA [ADDRESS:|
00003340: 4C 41 53 54 20 38 20 42  49 54 53 20 4F 46 20 53  |LAST 8 BITS OF S|
00003350: 4F 55 52 43 45 20 31 5D  0D 41 44 43 20 5B 41 44  |OURCE 1].ADC [AD|
00003360: 44 52 45 53 53 3A 4C 41  53 54 20 38 20 42 49 54  |DRESS:LAST 8 BIT|
00003370: 53 20 4F 46 20 53 4F 55  52 43 45 20 32 5D 0D 53  |S OF SOURCE 2].S|
00003380: 54 41 20 5B 41 44 44 52  45 53 53 3A 4C 41 53 54  |TA [ADDRESS:LAST|
00003390: 20 38 20 42 49 54 53 20  4F 46 20 44 45 53 54 49  | 8 BITS OF DESTI|
000033A0: 4E 41 54 49 4F 4E 5D 20  3B 20 69 46 20 53 4F 55  |NATION] ; iF SOU|
000033B0: 52 43 45 20 31 2B 53 4F  55 52 43 45 20 32 3E 24  |RCE 1+SOURCE 2>$|
000033C0: 46 46 20 54 48 45 4E 20  63 3D 31 0D 4C 44 41 20  |FF THEN c=1.LDA |
000033D0: 5B 41 44 44 52 45 53 53  3A 46 49 52 53 54 20 38  |[ADDRESS:FIRST 8|
000033E0: 20 42 49 54 53 20 4F 46  20 53 4F 55 52 43 45 20  | BITS OF SOURCE |
000033F0: 31 5D 0D 41 44 43 20 5B  41 44 44 52 45 53 53 3A  |1].ADC [ADDRESS:|
00003400: 46 49 52 53 54 20 38 20  42 49 54 53 20 4F 46 20  |FIRST 8 BITS OF |
00003410: 53 4F 55 52 43 45 20 32  5D 0D 53 54 41 20 5B 41  |SOURCE 2].STA [A|
00003420: 44 44 52 45 53 53 3A 46  49 52 53 54 20 38 20 42  |DDRESS:FIRST 8 B|
00003430: 49 54 53 20 4F 46 20 44  45 53 54 2E 5D 0D 0D 20  |ITS OF DEST.].. |
00003440: 20 20 20 20 20 20 20 20  20 28 6D 4F 52 45 20 4F  |         (mORE O|
00003450: 4E 20 4E 45 58 54 20 50  41 47 45 29 0D 5E 0D 0D  |N NEXT PAGE).^..|
00003460: 20 20 61 52 49 54 48 4D  45 54 49 43 20 69 4E 53  |  aRITHMETIC iNS|
00003470: 54 52 55 43 54 49 4F 4E  53 20 28 63 4F 4E 54 49  |TRUCTIONS (cONTI|
00003480: 4E 55 45 44 29 0D 0D 20  20 65 58 41 4D 50 4C 45  |NUED)..  eXAMPLE|
00003490: 3A 20 20 20 20 20 20 20  20 20 20 20 63 41 52 52  |:           cARR|
000034A0: 59 0D 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |Y.              |
000034B0: 20 20 20 20 20 20 20 20  46 4C 41 47 0D 69 4E 54  |        FLAG.iNT|
000034C0: 45 52 4E 41 4C 20 20 20  20 20 20 20 20 20 20 20  |ERNAL           |
000034D0: 31 20 3C 3C 3C 3C 3C 20  31 0D 63 41 52 52 49 45  |1 <<<<< 1.cARRIE|
000034E0: 53 3A 20 20 20 20 20 20  20 20 20 31 31 20 20 20  |S:         11   |
000034F0: 20 20 20 20 20 20 20 31  20 20 20 20 31 0D 73 4F  |       1    1.sO|
00003500: 55 52 43 45 20 31 20 20  20 25 30 31 31 30 30 31  |URCE 1   %011001|
00003510: 31 31 20 20 20 20 20 20  20 20 20 31 31 30 30 30  |11         11000|
00003520: 31 31 30 20 20 20 73 4F  55 52 43 45 20 32 20 2B  |110   sOURCE 2 +|
00003530: 20 25 31 30 30 30 30 31  31 30 20 20 20 20 20 20  | %10000110      |
00003540: 20 20 20 31 31 31 30 30  30 31 31 20 20 20 20 20  |   11100011     |
00003550: 20 20 20 20 20 20 20 20  20 2D 2D 2D 2D 2D 2D 2D  |         -------|
00003560: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00003570: 2D 2D 2D 20 20 20 20 20  20 20 20 20 20 20 20 20  |---             |
00003580: 20 25 31 31 31 30 31 31  31 30 20 20 20 20 20 20  | %11101110      |
00003590: 28 31 29 31 30 31 30 31  30 30 31 0D 0D 20 20 20  |(1)10101001..   |
000035A0: 20 20 20 20 20 20 20 20  20 73 54 45 50 20 32 20  |         sTEP 2 |
000035B0: 20 20 20 20 20 20 20 20  20 20 73 54 45 50 20 31  |          sTEP 1|
000035C0: 0D 0D 20 20 74 48 45 20  52 49 47 48 54 2D 48 41  |..  tHE RIGHT-HA|
000035D0: 4E 44 20 41 44 44 49 54  49 4F 4E 20 28 57 48 49  |ND ADDITION (WHI|
000035E0: 43 48 20 49 53 20 20 20  20 20 50 45 52 46 4F 52  |CH IS     PERFOR|
000035F0: 4D 45 44 20 46 49 52 53  54 29 20 48 41 53 20 41  |MED FIRST) HAS A|
00003600: 20 43 41 52 52 59 20 46  52 4F 4D 20 54 48 45 20  | CARRY FROM THE |
00003610: 20 20 31 32 38 27 53 20  43 4F 4C 55 4D 4E 20 49  |  128'S COLUMN I|
00003620: 4E 54 4F 20 54 48 45 20  32 35 36 27 53 20 43 4F  |NTO THE 256'S CO|
00003630: 4C 55 4D 4E 2C 20 20 20  20 20 57 48 49 43 48 20  |LUMN,     WHICH |
00003640: 55 4E 46 4F 52 54 55 4E  41 54 45 4C 59 20 44 4F  |UNFORTUNATELY DO|
00003650: 45 53 4E 27 54 20 45 58  49 53 54 2E 20 73 4F 20  |ESN'T EXIST. sO |
00003660: 20 20 54 48 45 20 42 49  54 20 49 53 20 50 55 54  |  THE BIT IS PUT|
00003670: 20 49 4E 54 4F 20 54 48  45 20 43 41 52 52 59 20  | INTO THE CARRY |
00003680: 46 4C 41 47 2C 20 41 4E  44 20 41 44 44 45 44 20  |FLAG, AND ADDED |
00003690: 49 4E 54 4F 20 54 48 45  20 4E 45 58 54 20 41 44  |INTO THE NEXT AD|
000036A0: 44 49 54 49 4F 4E 2E 20  69 46 20 54 48 45 20 20  |DITION. iF THE  |
000036B0: 20 20 53 45 43 4F 4E 44  20 41 44 44 49 54 49 4F  |  SECOND ADDITIO|
000036C0: 4E 20 52 45 51 55 49 52  45 44 20 41 20 43 41 52  |N REQUIRED A CAR|
000036D0: 52 59 2C 20 49 54 20 20  20 20 57 4F 55 4C 44 20  |RY, IT    WOULD |
000036E0: 42 45 20 50 55 54 20 49  4E 54 4F 20 54 48 45 20  |BE PUT INTO THE |
000036F0: 43 41 52 52 59 20 46 4C  41 47 20 49 4E 20 20 20  |CARRY FLAG IN   |
00003700: 20 20 54 55 52 4E 2E 20  61 53 20 49 53 2C 20 30  |  TURN. aS IS, 0|
00003710: 20 49 53 20 50 55 54 20  54 48 45 52 45 2E 0D 5E  | IS PUT THERE..^|
00003720: 0D 0D 20 20 61 52 49 54  48 4D 45 54 49 43 20 69  |..  aRITHMETIC i|
00003730: 4E 53 54 52 55 43 54 49  4F 4E 53 20 28 63 4F 4E  |NSTRUCTIONS (cON|
00003740: 54 49 4E 55 45 44 29 0D  0D 2A 20 69 46 20 54 48  |TINUED)..* iF TH|
00003750: 45 20 63 20 46 4C 41 47  20 49 53 20 53 45 54 20  |E c FLAG IS SET |
00003760: 42 45 46 4F 52 45 20 54  48 45 20 46 49 52 53 54  |BEFORE THE FIRST|
00003770: 20 41 44 44 49 54 49 4F  4E 2C 20 54 48 45 20 41  | ADDITION, THE A|
00003780: 44 43 20 57 49 4C 4C 20  41 44 44 20 31 20 54 4F  |DC WILL ADD 1 TO|
00003790: 20 54 48 45 20 53 55 4D  20 2D 20 41 20 4D 49 53  | THE SUM - A MIS|
000037A0: 54 41 4B 45 2E 20 79 4F  55 20 4D 55 53 54 20 47  |TAKE. yOU MUST G|
000037B0: 55 41 52 41 4E 54 45 45  20 54 48 45 20 20 20 20  |UARANTEE THE    |
000037C0: 20 43 41 52 52 59 20 49  53 20 5A 45 52 4F 20 42  | CARRY IS ZERO B|
000037D0: 59 20 41 44 44 49 4E 47  20 41 20 43 4C 43 20 28  |Y ADDING A CLC (|
000037E0: 63 6C 45 41 52 20 20 20  20 63 41 52 52 59 29 20  |clEAR    cARRY) |
000037F0: 49 4E 53 54 52 55 43 54  49 4F 4E 20 54 4F 20 54  |INSTRUCTION TO T|
00003800: 48 45 20 42 45 47 49 4E  4E 49 4E 47 20 4F 46 20  |HE BEGINNING OF |
00003810: 20 54 48 45 20 52 4F 55  54 49 4E 45 2E 20 74 48  | THE ROUTINE. tH|
00003820: 49 53 20 49 53 20 41 20  31 2D 42 59 54 45 20 20  |IS IS A 1-BYTE  |
00003830: 20 20 20 20 20 20 20 20  20 49 4E 53 54 52 55 43  |         INSTRUC|
00003840: 54 49 4F 4E 20 54 48 41  54 20 54 41 4B 45 53 20  |TION THAT TAKES |
00003850: 32 65 2D 36 20 53 45 43  4F 4E 44 53 20 54 4F 0D  |2e-6 SECONDS TO.|
00003860: 45 58 45 43 55 54 45 2E  0D 0D 20 20 69 46 20 59  |EXECUTE...  iF Y|
00003870: 4F 55 20 50 52 45 46 45  52 2C 20 54 48 45 20 43  |OU PREFER, THE C|
00003880: 41 52 52 59 20 46 4C 41  47 20 43 41 4E 20 42 45  |ARRY FLAG CAN BE|
00003890: 20 20 54 48 4F 55 47 48  54 20 4F 46 20 41 53 20  |  THOUGHT OF AS |
000038A0: 41 4E 20 45 58 54 52 41  20 32 35 36 27 53 20 43  |AN EXTRA 256'S C|
000038B0: 4F 4C 55 4D 4E 20 49 4E  20 20 54 48 45 20 41 44  |OLUMN IN  THE AD|
000038C0: 44 49 54 49 4F 4E 20 50  52 4F 43 45 53 53 2E 20  |DITION PROCESS. |
000038D0: 0D 0D 20 20 74 48 45 20  43 41 52 52 59 20 46 4C  |..  tHE CARRY FL|
000038E0: 41 47 20 49 53 20 55 53  45 44 20 54 57 49 43 45  |AG IS USED TWICE|
000038F0: 20 49 4E 20 41 4E 59 20  20 20 38 20 42 49 54 20  | IN ANY   8 BIT |
00003900: 41 44 44 49 54 49 4F 4E  2E 20 66 49 52 53 54 20  |ADDITION. fIRST |
00003910: 54 4F 20 48 4F 4C 44 20  54 48 45 20 4E 55 4D 42  |TO HOLD THE NUMB|
00003920: 45 52 54 4F 20 42 45 20  43 41 52 52 49 45 44 20  |ERTO BE CARRIED |
00003930: 49 4E 54 4F 20 54 48 45  20 41 44 44 49 54 49 4F  |INTO THE ADDITIO|
00003940: 4E 20 41 4E 44 20 54 48  45 4E 54 4F 20 48 4F 4C  |N AND THENTO HOL|
00003950: 44 20 54 48 45 20 4E 55  4D 42 45 52 20 54 4F 20  |D THE NUMBER TO |
00003960: 42 45 20 43 41 52 52 49  45 44 20 4F 55 54 2E 0D  |BE CARRIED OUT..|
00003970: 0D 20 20 20 20 20 20 20  20 20 20 28 6D 4F 52 45  |.          (mORE|
00003980: 20 4F 4E 20 4E 45 58 54  20 50 41 47 45 29 0D 5E  | ON NEXT PAGE).^|
00003990: 0D 0D 20 20 61 52 49 54  48 4D 45 54 49 43 20 69  |..  aRITHMETIC i|
000039A0: 4E 53 54 52 55 43 54 49  4F 4E 53 20 28 63 4F 4E  |NSTRUCTIONS (cON|
000039B0: 54 49 4E 55 45 44 29 0D  0D BA 20 73 42 43 20 55  |TINUED)... sBC U|
000039C0: 53 45 53 20 54 48 45 20  43 41 52 52 59 20 46 4C  |SES THE CARRY FL|
000039D0: 41 47 20 53 49 4D 49 4C  41 52 4C 59 2C 20 42 55  |AG SIMILARLY, BU|
000039E0: 54 54 48 45 20 46 4C 41  47 20 49 53 20 53 45 54  |TTHE FLAG IS SET|
000039F0: 20 54 4F 20 30 20 57 48  45 4E 20 41 20 22 42 4F  | TO 0 WHEN A "BO|
00003A00: 52 52 4F 57 22 20 49 53  20 44 4F 4E 45 20 46 52  |RROW" IS DONE FR|
00003A10: 4F 4D 20 54 48 45 20 4E  4F 4E 2D 45 58 49 53 54  |OM THE NON-EXIST|
00003A20: 45 4E 54 20 32 35 36 27  53 20 43 4F 4C 55 4D 4E  |ENT 256'S COLUMN|
00003A30: 2C 41 4E 44 20 31 20 4F  54 48 45 52 57 49 53 45  |,AND 1 OTHERWISE|
00003A40: 2E 20 73 42 43 20 41 4C  53 4F 20 53 55 42 54 52  |. sBC ALSO SUBTR|
00003A50: 41 43 54 53 20 4F 4E 45  20 46 52 4F 4D 20 54 48  |ACTS ONE FROM TH|
00003A60: 45 20 52 45 53 55 4C 54  20 49 54 20 49 53 20 43  |E RESULT IT IS C|
00003A70: 4F 4D 50 55 54 49 4E 47  20 49 46 20 54 48 45 20  |OMPUTING IF THE |
00003A80: 20 43 41 52 52 59 20 57  41 53 20 43 4C 45 41 52  | CARRY WAS CLEAR|
00003A90: 20 42 45 46 4F 52 45 20  54 48 45 20 49 4E 53 54  | BEFORE THE INST|
00003AA0: 52 55 43 54 49 4F 4E 2C  20 49 4E 44 49 43 41 54  |RUCTION, INDICAT|
00003AB0: 49 4E 47 20 41 20 42 4F  52 52 4F 57 20 46 52 4F  |ING A BORROW FRO|
00003AC0: 4D 20 54 48 45 20 42 59  54 45 20 42 45 49 4E 47  |M THE BYTE BEING|
00003AD0: 20 43 4F 4D 50 55 54 45  44 2E 20 74 4F 20 41 53  | COMPUTED. tO AS|
00003AE0: 53 55 52 45 20 54 48 45  20 46 49 52 53 54 20 53  |SURE THE FIRST S|
00003AF0: 42 43 20 20 20 20 20 20  20 44 4F 45 53 4E 27 54  |BC       DOESN'T|
00003B00: 20 44 4F 20 54 48 49 53  20 57 48 45 4E 20 59 4F  | DO THIS WHEN YO|
00003B10: 55 20 44 4F 4E 27 54 20  57 41 4E 54 20 49 54 20  |U DON'T WANT IT |
00003B20: 20 54 4F 2C 20 41 4C 57  41 59 53 20 55 53 45 20  | TO, ALWAYS USE |
00003B30: 53 45 43 20 28 73 65 54  20 63 41 52 52 59 29 20  |SEC (seT cARRY) |
00003B40: 42 45 46 4F 52 45 20 41  20 53 55 42 54 52 41 43  |BEFORE A SUBTRAC|
00003B50: 54 49 4F 4E 20 4F 50 45  52 41 54 49 4F 4E 2E 0D  |TION OPERATION..|
00003B60: 0D 20 20 61 54 20 54 48  49 53 20 50 4F 49 4E 54  |.  aT THIS POINT|
00003B70: 20 49 54 20 49 53 20 50  52 55 44 45 4E 54 20 54  | IT IS PRUDENT T|
00003B80: 4F 20 44 49 53 43 55 53  53 41 20 50 4F 49 4E 54  |O DISCUSSA POINT|
00003B90: 20 4D 45 4E 54 49 4F 4E  45 44 20 50 52 45 56 49  | MENTIONED PREVI|
00003BA0: 4F 55 53 4C 59 20 4F 4E  4C 59 20 49 4E 20 20 20  |OUSLY ONLY IN   |
00003BB0: 20 50 41 53 53 49 4E 47  3A 20 4E 45 47 41 54 49  | PASSING: NEGATI|
00003BC0: 56 45 20 4E 55 4D 42 45  52 53 2E 20 61 53 20 54  |VE NUMBERS. aS T|
00003BD0: 48 45 52 45 20 49 53 20  20 4E 4F 20 53 55 43 48  |HERE IS  NO SUCH|
00003BE0: 20 54 48 49 4E 47 20 41  53 20 41 20 4D 49 4E 55  | THING AS A MINU|
00003BF0: 53 20 53 49 47 4E 20 49  4E 20 41 20 42 59 54 45  |S SIGN IN A BYTE|
00003C00: 2C 59 4F 55 20 48 41 56  45 20 54 4F 20 4C 45 54  |,YOU HAVE TO LET|
00003C10: 20 53 4F 4D 45 20 50 4F  53 49 54 49 56 45 20 4E  | SOME POSITIVE N|
00003C20: 55 4D 42 45 52 53 20 20  20 53 54 41 4E 44 20 46  |UMBERS   STAND F|
00003C30: 4F 52 20 4E 45 47 41 54  49 56 45 20 4F 4E 45 53  |OR NEGATIVE ONES|
00003C40: 2E 0D 0D 20 20 20 20 20  20 20 20 20 20 28 6D 4F  |...          (mO|
00003C50: 52 45 20 4F 4E 20 4E 45  58 54 20 50 41 47 45 29  |RE ON NEXT PAGE)|
00003C60: 0D 5E 0D 0D 20 20 61 52  49 54 48 4D 45 54 49 43  |.^..  aRITHMETIC|
00003C70: 20 69 4E 53 54 52 55 43  54 49 4F 4E 53 20 28 63  | iNSTRUCTIONS (c|
00003C80: 4F 4E 54 49 4E 55 45 44  29 0D 0D 20 20 74 48 49  |ONTINUED)..  tHI|
00003C90: 53 20 49 53 4E 27 54 20  52 45 41 4C 4C 59 20 54  |S ISN'T REALLY T|
00003CA0: 48 41 54 20 48 41 52 44  2E 20 69 46 20 59 4F 55  |HAT HARD. iF YOU|
00003CB0: 20 20 20 52 45 57 49 4E  44 20 41 20 54 41 50 45  |   REWIND A TAPE|
00003CC0: 20 59 4F 55 20 53 4F 4D  45 54 49 4D 45 53 20 53  | YOU SOMETIMES S|
00003CD0: 45 45 20 54 48 45 20 20  20 20 20 43 4F 55 4E 54  |EE THE     COUNT|
00003CE0: 45 52 20 47 4F 49 4E 47  20 2E 2E 2E 30 30 32 2C  |ER GOING ...002,|
00003CF0: 30 30 31 2C 30 30 30 2C  39 39 39 2C 39 39 38 2E  |001,000,999,998.|
00003D00: 2E 2E 2E 69 4E 20 54 48  49 53 20 53 59 53 54 45  |...iN THIS SYSTE|
00003D10: 4D 2C 20 39 39 39 20 72  65 61 6C 6C 79 20 4D 45  |M, 999 really ME|
00003D20: 41 4E 53 20 2D 31 20 28  4F 4E 45 54 55 52 4E 20  |ANS -1 (ONETURN |
00003D30: 42 45 46 4F 52 45 20 30  30 30 29 2E 20 77 48 45  |BEFORE 000). wHE|
00003D40: 4E 20 50 52 4F 47 52 41  4D 4D 49 4E 47 20 54 48  |N PROGRAMMING TH|
00003D50: 45 20 20 36 35 31 30 2C  20 54 48 45 20 53 41 4D  |E  6510, THE SAM|
00003D60: 45 20 53 59 53 54 45 4D  20 49 53 20 55 53 45 44  |E SYSTEM IS USED|
00003D70: 20 49 46 20 59 4F 55 20  20 20 20 4E 45 45 44 20  | IF YOU    NEED |
00003D80: 54 4F 20 55 53 45 20 4E  45 47 41 54 49 56 45 20  |TO USE NEGATIVE |
00003D90: 4E 55 4D 42 45 52 53 2E  20 32 35 35 20 28 4F 52  |NUMBERS. 255 (OR|
00003DA0: 20 20 20 24 46 46 20 4F  52 20 25 31 31 31 31 31  |   $FF OR %11111|
00003DB0: 31 31 31 29 20 72 65 61  6C 6C 79 20 4D 45 41 4E  |111) really MEAN|
00003DC0: 53 20 2D 31 2E 20 20 32  35 34 20 28 24 46 45 29  |S -1.  254 ($FE)|
00003DD0: 20 72 65 61 6C 6C 79 20  4D 45 41 4E 53 20 2D 32  | really MEANS -2|
00003DE0: 2C 20 20 32 35 33 20 28  24 46 44 29 20 72 65 61  |,  253 ($FD) rea|
00003DF0: 6C 6C 79 4D 45 41 4E 53  20 2D 33 2C 20 45 54 43  |llyMEANS -3, ETC|
00003E00: 2E 0D 0D 20 20 79 4F 55  20 44 4F 2C 20 48 4F 57  |...  yOU DO, HOW|
00003E10: 45 56 45 52 2C 20 48 41  56 45 20 54 4F 20 52 45  |EVER, HAVE TO RE|
00003E20: 4D 45 4D 42 45 52 20 49  46 20 20 54 48 45 20 4E  |MEMBER IF  THE N|
00003E30: 55 4D 42 45 52 20 59 4F  55 27 52 45 20 57 4F 52  |UMBER YOU'RE WOR|
00003E40: 4B 49 4E 47 20 57 49 54  48 20 49 53 20 4F 4E 45  |KING WITH IS ONE|
00003E50: 20 20 20 54 48 41 54 20  55 53 45 53 20 54 48 45  |   THAT USES THE|
00003E60: 20 52 45 47 55 4C 41 52  20 4E 55 4D 42 45 52 20  | REGULAR NUMBER |
00003E70: 53 59 53 54 45 4D 20 28  30 2D 20 32 35 35 29 20  |SYSTEM (0- 255) |
00003E80: 4F 52 20 49 46 20 49 54  20 55 53 45 53 20 54 48  |OR IF IT USES TH|
00003E90: 45 20 53 49 47 4E 45 44  20 4E 55 4D 42 45 52 20  |E SIGNED NUMBER |
00003EA0: 20 20 20 53 59 53 54 45  4D 2C 20 43 41 4C 4C 45  |   SYSTEM, CALLE|
00003EB0: 44 20 22 54 57 4F 53 20  43 4F 4D 50 4C 45 4D 45  |D "TWOS COMPLEME|
00003EC0: 4E 54 22 2C 20 41 4E 44  20 20 20 32 35 35 20 72  |NT", AND   255 r|
00003ED0: 65 61 6C 6C 79 20 4D 45  41 4E 53 20 2D 31 2C 20  |eally MEANS -1, |
00003EE0: 45 54 43 2E 0D 0D 20 20  20 20 28 6D 4F 52 45 20  |ETC...    (mORE |
00003EF0: 4F 4E 20 4E 45 58 54 20  50 41 47 45 29 0D 5E 0D  |ON NEXT PAGE).^.|
00003F00: 0D 20 20 61 52 49 54 48  4D 45 54 49 43 20 69 4E  |.  aRITHMETIC iN|
00003F10: 53 54 52 55 43 54 49 4F  4E 53 20 28 63 4F 4E 54  |STRUCTIONS (cONT|
00003F20: 49 4E 55 45 44 29 0D 0D  20 20 74 4F 20 53 45 45  |INUED)..  tO SEE|
00003F30: 20 54 48 45 20 55 53 45  46 55 4C 4E 45 53 53 20  | THE USEFULNESS |
00003F40: 4F 46 20 54 48 49 53 20  4D 45 54 48 4F 44 2C 20  |OF THIS METHOD, |
00003F50: 43 4F 4E 53 49 44 45 52  20 41 44 44 49 4E 47 20  |CONSIDER ADDING |
00003F60: 31 20 54 4F 20 54 48 45  20 4F 4E 45 2D 42 59 54  |1 TO THE ONE-BYT|
00003F70: 45 20 56 41 4C 55 45 20  2D 31 20 28 24 46 46 29  |E VALUE -1 ($FF)|
00003F80: 20 55 53 49 4E 47 20 41  44 43 2E 20 74 48 49 53  | USING ADC. tHIS|
00003F90: 20 4C 45 41 56 45 53 20  24 30 30 20 49 4E 20 20  | LEAVES $00 IN  |
00003FA0: 54 48 45 20 41 43 43 55  4D 55 4C 41 54 4F 52 2C  |THE ACCUMULATOR,|
00003FB0: 20 54 48 45 20 41 4E 53  57 45 52 20 59 4F 55 20  | THE ANSWER YOU |
00003FC0: 57 41 4E 54 2E 20 69 54  41 4C 53 4F 20 4C 45 41  |WANT. iTALSO LEA|
00003FD0: 56 45 53 20 54 48 45 20  43 41 52 52 59 20 46 4C  |VES THE CARRY FL|
00003FE0: 41 47 20 53 45 54 2C 20  57 48 49 43 48 20 20 20  |AG SET, WHICH   |
00003FF0: 59 4F 55 20 4D 55 53 54  20 49 47 4E 4F 52 45 2E  |YOU MUST IGNORE.|
00004000: 20 74 48 45 20 36 35 31  30 20 44 4F 45 53 4E 27  | tHE 6510 DOESN'|
00004010: 54 20 4B 4E 4F 57 20 20  49 46 20 54 48 45 20 4E  |T KNOW  IF THE N|
00004020: 55 4D 42 45 52 53 20 59  4F 55 20 41 52 45 20 41  |UMBERS YOU ARE A|
00004030: 44 44 49 4E 47 20 41 52  45 20 53 49 47 4E 45 44  |DDING ARE SIGNED|
00004040: 4F 52 20 4E 4F 54 2E 20  74 48 41 54 27 53 20 54  |OR NOT. tHAT'S T|
00004050: 48 45 20 50 52 4F 47 52  41 4D 4D 45 52 27 53 20  |HE PROGRAMMER'S |
00004060: 4A 4F 42 2E 20 69 54 20  4A 55 53 54 20 53 45 54  |JOB. iT JUST SET|
00004070: 53 20 54 48 45 20 43 41  52 52 59 20 46 4C 41 47  |S THE CARRY FLAG|
00004080: 20 42 45 43 41 55 53 45  20 20 20 20 20 20 20 20  | BECAUSE        |
00004090: 55 4E 53 49 47 4E 45 44  20 4E 55 4D 42 45 52 53  |UNSIGNED NUMBERS|
000040A0: 20 57 4F 55 4C 44 20 4E  45 45 44 20 54 48 45 20  | WOULD NEED THE |
000040B0: 46 4C 41 47 2E 0D 0D 20  20 69 46 20 59 4F 55 20  |FLAG...  iF YOU |
000040C0: 57 41 4E 54 20 54 4F 20  4B 4E 4F 57 20 49 46 20  |WANT TO KNOW IF |
000040D0: 54 48 45 20 52 45 53 55  4C 54 20 4F 46 20 41 53  |THE RESULT OF AS|
000040E0: 49 47 4E 45 44 20 41 44  44 49 54 49 4F 4E 20 4F  |IGNED ADDITION O|
000040F0: 52 20 53 55 42 54 52 41  43 54 49 4F 4E 20 49 53  |R SUBTRACTION IS|
00004100: 20 4F 55 54 20 4F 46 52  41 4E 47 45 2C 20 59 4F  | OUT OFRANGE, YO|
00004110: 55 20 4D 55 53 54 20 4C  4F 4F 4B 20 41 54 20 54  |U MUST LOOK AT T|
00004120: 48 45 20 76 20 46 4C 41  47 2C 20 20 20 20 20 57  |HE v FLAG,     W|
00004130: 48 49 43 48 20 54 48 45  20 36 35 31 30 20 53 45  |HICH THE 6510 SE|
00004140: 54 53 20 49 46 20 54 48  49 53 20 49 53 20 54 48  |TS IF THIS IS TH|
00004150: 45 20 43 41 53 45 2E 61  47 41 49 4E 2C 20 49 54  |E CASE.aGAIN, IT|
00004160: 20 44 4F 45 53 4E 27 54  20 4B 4E 4F 57 20 49 46  | DOESN'T KNOW IF|
00004170: 20 54 48 45 20 4E 55 4D  42 45 52 53 20 20 20 52  | THE NUMBERS   R|
00004180: 45 41 4C 4C 59 20 41 52  45 20 53 49 47 4E 45 44  |EALLY ARE SIGNED|
00004190: 2C 20 53 4F 20 49 46 20  54 48 45 59 20 41 52 45  |, SO IF THEY ARE|
000041A0: 4E 27 54 2C 20 20 20 59  4F 55 20 4D 55 53 54 20  |N'T,   YOU MUST |
000041B0: 52 45 4D 45 4D 42 45 52  20 54 4F 20 49 47 4E 4F  |REMEMBER TO IGNO|
000041C0: 52 45 20 54 48 49 53 20  46 4C 41 47 2E 0D 0D 20  |RE THIS FLAG... |
000041D0: 20 20 20 20 20 20 20 20  20 28 6D 4F 52 45 20 4F  |         (mORE O|
000041E0: 4E 20 4E 45 58 54 20 50  41 47 45 29 0D 5E 0D 0D  |N NEXT PAGE).^..|
000041F0: 20 20 61 52 49 54 48 4D  45 54 49 43 20 69 4E 53  |  aRITHMETIC iNS|
00004200: 54 52 55 43 54 49 4F 4E  53 20 28 63 4F 4E 54 49  |TRUCTIONS (cONTI|
00004210: 4E 55 45 44 29 0D 0D 20  20 73 4F 2E 2E 2E 54 48  |NUED)..  sO...TH|
00004220: 45 20 36 35 31 30 20 53  45 54 53 20 54 48 45 20  |E 6510 SETS THE |
00004230: 43 41 52 52 59 20 46 4C  41 47 20 41 53 20 20 49  |CARRY FLAG AS  I|
00004240: 46 20 59 4F 55 20 41 52  45 20 55 53 49 4E 47 20  |F YOU ARE USING |
00004250: 55 4E 53 49 47 4E 45 44  20 4E 55 4D 42 45 52 53  |UNSIGNED NUMBERS|
00004260: 2E 20 20 20 20 20 20 61  54 20 54 48 45 20 53 41  |.      aT THE SA|
00004270: 4D 45 20 54 49 4D 45 2C  20 49 54 20 53 45 54 53  |ME TIME, IT SETS|
00004280: 20 54 48 45 20 4F 56 45  52 46 4C 4F 57 20 20 28  | THE OVERFLOW  (|
00004290: 76 29 20 46 4C 41 47 20  41 53 20 49 46 20 59 4F  |v) FLAG AS IF YO|
000042A0: 55 20 41 52 45 20 55 53  49 4E 47 20 53 49 47 4E  |U ARE USING SIGN|
000042B0: 45 44 20 20 20 20 20 4E  55 4D 42 45 52 53 2E 20  |ED     NUMBERS. |
000042C0: 69 54 27 53 20 59 4F 55  52 20 4A 4F 42 20 54 4F  |iT'S YOUR JOB TO|
000042D0: 20 4C 4F 4F 4B 20 41 54  20 54 48 45 20 20 20 52  | LOOK AT THE   R|
000042E0: 49 47 48 54 20 46 4C 41  47 20 49 4E 20 41 20 47  |IGHT FLAG IN A G|
000042F0: 49 56 45 4E 20 53 49 54  55 41 54 49 4F 4E 2E 0D  |IVEN SITUATION..|
00004300: 0D 20 20 61 43 54 55 41  4C 4C 59 2C 20 54 48 49  |.  aCTUALLY, THI|
00004310: 53 20 4A 4F 42 20 4F 46  20 59 4F 55 52 53 20 49  |S JOB OF YOURS I|
00004320: 53 4E 27 54 20 56 45 52  59 48 41 52 44 2E 20 74  |SN'T VERYHARD. t|
00004330: 48 49 4E 4B 20 4F 46 20  48 4F 57 20 45 41 53 59  |HINK OF HOW EASY|
00004340: 20 49 54 20 49 53 20 54  4F 20 20 20 20 20 20 20  | IT IS TO       |
00004350: 20 52 45 4D 45 4D 42 45  52 20 49 46 20 41 20 47  | REMEMBER IF A G|
00004360: 49 56 45 4E 20 62 41 53  49 43 20 56 41 52 49 41  |IVEN bASIC VARIA|
00004370: 42 4C 45 20 49 53 20 41  20 53 54 52 49 4E 47 20  |BLE IS A STRING |
00004380: 4F 52 20 41 20 4E 55 4D  45 52 49 43 41 4C 20 56  |OR A NUMERICAL V|
00004390: 41 52 49 41 42 4C 45 2E  20 0D 0D 20 20 6F 4E 45  |ARIABLE. ..  oNE|
000043A0: 20 4C 41 53 54 20 50 52  4F 42 4C 45 4D 3A 20 77  | LAST PROBLEM: w|
000043B0: 48 41 54 20 48 41 50 50  45 4E 53 20 57 48 45 4E  |HAT HAPPENS WHEN|
000043C0: 20 20 20 54 48 45 20 50  4F 53 49 54 49 56 45 20  |   THE POSITIVE |
000043D0: 4E 55 4D 42 45 52 53 2C  20 47 4F 49 4E 47 20 55  |NUMBERS, GOING U|
000043E0: 50 20 46 52 4F 4D 20 30  2C 20 20 4D 45 45 54 20  |P FROM 0,  MEET |
000043F0: 54 48 45 20 4E 45 47 41  54 49 56 45 53 2C 20 47  |THE NEGATIVES, G|
00004400: 4F 49 4E 47 20 44 4F 57  4E 20 46 52 4F 4D 20 32  |OING DOWN FROM 2|
00004410: 35 35 3F 74 48 45 20 50  4C 41 43 45 20 57 48 45  |55?tHE PLACE WHE|
00004420: 52 45 20 54 48 49 53 20  48 41 50 50 45 4E 53 20  |RE THIS HAPPENS |
00004430: 49 53 20 42 45 54 57 45  45 4E 20 31 32 37 20 41  |IS BETWEEN 127 A|
00004440: 4E 44 20 31 32 38 20 28  57 48 49 43 48 20 72 65  |ND 128 (WHICH re|
00004450: 61 6C 6C 79 20 4D 45 41  4E 53 20 2D 31 32 38 29  |ally MEANS -128)|
00004460: 2E 0D 0D 20 20 20 20 20  20 20 20 20 20 28 6D 4F  |...          (mO|
00004470: 52 45 20 4F 4E 20 4E 45  58 54 20 50 41 47 45 29  |RE ON NEXT PAGE)|
00004480: 0D 5E 0D 0D 20 20 61 52  49 54 48 4D 45 54 49 43  |.^..  aRITHMETIC|
00004490: 20 69 4E 53 54 52 55 43  54 49 4F 4E 53 20 28 63  | iNSTRUCTIONS (c|
000044A0: 4F 4E 54 49 4E 55 45 44  29 0D 0D 20 20 74 48 45  |ONTINUED)..  tHE|
000044B0: 20 52 45 41 53 4F 4E 20  46 4F 52 20 54 48 49 53  | REASON FOR THIS|
000044C0: 20 43 48 4F 49 43 45 20  49 53 20 54 48 41 54 20  | CHOICE IS THAT |
000044D0: 31 32 37 49 53 20 25 30  31 31 31 31 31 31 31 20  |127IS %01111111 |
000044E0: 49 4E 20 42 49 4E 41 52  59 2C 20 41 4E 44 20 31  |IN BINARY, AND 1|
000044F0: 32 38 20 28 72 65 61 6C  6C 79 20 2D 31 32 38 29  |28 (really -128)|
00004500: 20 49 53 20 25 31 30 30  30 30 30 30 30 2E 20 74  | IS %10000000. t|
00004510: 48 55 53 2C 20 41 4C 4C  20 54 48 45 20 20 20 20  |HUS, ALL THE    |
00004520: 20 20 20 4E 45 47 41 54  49 56 45 20 4E 55 4D 42  |   NEGATIVE NUMB|
00004530: 45 52 53 20 28 24 38 30  20 41 4E 44 20 55 50 29  |ERS ($80 AND UP)|
00004540: 20 48 41 56 45 20 54 48  45 20 20 42 49 54 20 49  | HAVE THE  BIT I|
00004550: 4E 20 54 48 45 20 31 32  38 27 53 20 43 4F 4C 55  |N THE 128'S COLU|
00004560: 4D 4E 20 53 45 54 2C 20  57 48 49 4C 45 20 41 4C  |MN SET, WHILE AL|
00004570: 4C 20 20 54 48 45 20 50  4F 53 49 54 49 56 45 53  |L  THE POSITIVES|
00004580: 20 41 4E 44 20 5A 45 52  4F 20 28 24 37 46 20 41  | AND ZERO ($7F A|
00004590: 4E 44 20 44 4F 57 4E 29  20 20 20 48 41 56 45 20  |ND DOWN)   HAVE |
000045A0: 49 54 20 43 4C 45 41 52  20 2D 20 41 20 53 49 4D  |IT CLEAR - A SIM|
000045B0: 50 4C 45 20 44 49 53 54  49 4E 43 54 49 4F 4E 2E  |PLE DISTINCTION.|
000045C0: 0D 0D 20 20 74 48 45 20  36 35 31 30 20 53 45 54  |..  tHE 6510 SET|
000045D0: 53 20 54 48 45 20 6E 20  28 6E 45 47 41 54 49 56  |S THE n (nEGATIV|
000045E0: 45 29 20 46 4C 41 47 20  20 20 44 45 50 45 4E 44  |E) FLAG   DEPEND|
000045F0: 49 4E 47 20 4F 4E 20 54  48 49 53 20 42 49 54 2C  |ING ON THIS BIT,|
00004600: 20 54 4F 20 4D 41 4B 45  20 54 45 4C 4C 49 4E 47  | TO MAKE TELLING|
00004610: 20 20 54 48 45 20 44 49  46 46 45 52 45 4E 43 45  |  THE DIFFERENCE|
00004620: 20 42 45 54 57 45 45 4E  20 50 4F 53 49 54 49 56  | BETWEEN POSITIV|
00004630: 45 20 41 4E 44 20 20 20  20 20 4E 45 47 41 54 49  |E AND     NEGATI|
00004640: 56 45 20 4E 55 4D 42 45  52 53 20 45 41 53 49 45  |VE NUMBERS EASIE|
00004650: 52 2E 0D 0D 20 20 69 4E  20 41 20 53 49 4D 49 4C  |R...  iN A SIMIL|
00004660: 41 52 20 57 41 59 2C 20  54 57 4F 2D 42 59 54 45  |AR WAY, TWO-BYTE|
00004670: 20 53 49 47 4E 45 44 20  20 20 20 20 4E 55 4D 42  | SIGNED     NUMB|
00004680: 45 52 53 20 52 41 4E 47  45 20 46 52 4F 4D 20 25  |ERS RANGE FROM %|
00004690: 31 30 30 30 30 30 30 30  20 30 30 30 30 30 30 30  |10000000 0000000|
000046A0: 30 20 20 20 4F 52 20 24  38 30 30 30 20 28 2D 33  |0   OR $8000 (-3|
000046B0: 32 37 36 38 29 20 54 4F  20 25 30 31 31 31 31 31  |2768) TO %011111|
000046C0: 31 31 20 31 31 31 31 31  31 31 31 20 4F 52 20 24  |11 11111111 OR $|
000046D0: 37 46 46 46 20 28 33 32  37 36 37 29 2C 20 57 49  |7FFF (32767), WI|
000046E0: 54 48 20 54 48 45 20 4C  45 46 54 4D 4F 53 54 20  |TH THE LEFTMOST |
000046F0: 42 49 54 20 54 45 4C 4C  49 4E 47 20 54 48 45 20  |BIT TELLING THE |
00004700: 44 49 46 46 45 52 45 4E  43 45 20 42 45 54 57 45  |DIFFERENCE BETWE|
00004710: 45 4E 20 53 49 47 4E 53  2E 20 20 20 5E 0D 0D 20  |EN SIGNS.   ^.. |
00004720: 20 20 20 20 20 63 4F 4E  44 49 54 49 4F 4E 41 4C  |     cONDITIONAL|
00004730: 20 62 52 41 4E 43 48 45  53 3A 0D 0D 20 20 69 4E  | bRANCHES:..  iN|
00004740: 20 62 41 53 49 43 2C 20  41 20 43 4F 4E 44 49 54  | bASIC, A CONDIT|
00004750: 49 4F 4E 41 4C 20 42 52  41 4E 43 48 20 49 53 20  |IONAL BRANCH IS |
00004760: 4F 46 20 20 54 48 45 20  46 4F 52 4D 20 22 49 46  |OF  THE FORM "IF|
00004770: 20 58 3D 30 20 54 48 45  4E 20 58 3D 58 2B 31 22  | X=0 THEN X=X+1"|
00004780: 2E 20 69 46 20 58 3C 3E  30 20 20 20 54 48 45 20  |. iF X<>0   THE |
00004790: 50 52 4F 47 52 41 4D 20  42 52 41 4E 43 48 45 53  |PROGRAM BRANCHES|
000047A0: 20 41 52 4F 55 4E 44 20  22 58 3D 58 2B 31 22 2E  | AROUND "X=X+1".|
000047B0: 20 20 20 20 74 48 45 20  57 41 59 20 54 48 45 20  |    tHE WAY THE |
000047C0: 36 35 31 30 20 28 41 4E  44 20 4D 4F 53 54 20 63  |6510 (AND MOST c|
000047D0: 70 75 27 53 29 20 57 4F  52 4B 20 20 49 53 20 52  |pu'S) WORK  IS R|
000047E0: 41 54 48 45 52 20 44 49  46 46 45 52 45 4E 54 2E  |ATHER DIFFERENT.|
000047F0: 20 69 4E 53 54 45 41 44  20 4F 46 20 55 53 49 4E  | iNSTEAD OF USIN|
00004800: 47 20 20 20 4F 4E 45 20  53 50 45 43 49 41 4C 20  |G   ONE SPECIAL |
00004810: 49 4E 53 54 52 55 43 54  49 4F 4E 20 54 4F 20 44  |INSTRUCTION TO D|
00004820: 4F 20 42 4F 54 48 20 54  48 45 20 20 54 45 53 54  |O BOTH THE  TEST|
00004830: 49 4E 47 20 41 4E 44 20  42 52 41 4E 43 48 49 4E  |ING AND BRANCHIN|
00004840: 47 2C 20 54 48 45 20 45  46 46 45 43 54 53 20 4F  |G, THE EFFECTS O|
00004850: 46 20 20 20 4F 54 48 45  52 20 49 4E 53 54 52 55  |F   OTHER INSTRU|
00004860: 43 54 49 4F 4E 53 20 4F  4E 20 54 48 45 20 46 4C  |CTIONS ON THE FL|
00004870: 41 47 53 20 44 4F 20 54  48 45 20 20 54 45 53 54  |AGS DO THE  TEST|
00004880: 49 4E 47 20 41 4E 44 20  41 20 53 4D 41 4C 4C 20  |ING AND A SMALL |
00004890: 47 52 4F 55 50 20 4F 46  20 20 20 20 20 20 20 20  |GROUP OF        |
000048A0: 20 20 20 20 49 4E 53 54  52 55 43 54 49 4F 4E 53  |    INSTRUCTIONS|
000048B0: 20 42 52 41 4E 43 48 20  43 4F 4E 44 49 54 49 4F  | BRANCH CONDITIO|
000048C0: 4E 41 4C 4C 59 20 20 20  20 20 20 20 44 45 50 45  |NALLY       DEPE|
000048D0: 4E 44 49 4E 47 20 4F 4E  20 54 48 45 20 53 54 41  |NDING ON THE STA|
000048E0: 54 45 53 20 4F 46 20 54  48 45 20 46 4C 41 47 53  |TES OF THE FLAGS|
000048F0: 2E 0D 0D 20 20 61 4C 4C  20 54 48 45 20 36 35 31  |...  aLL THE 651|
00004900: 30 27 53 20 43 4F 4E 44  49 54 49 4F 4E 41 4C 20  |0'S CONDITIONAL |
00004910: 42 52 41 4E 43 48 45 53  20 20 20 55 53 45 20 54  |BRANCHES   USE T|
00004920: 48 45 20 52 45 4C 41 54  49 56 45 20 41 44 44 52  |HE RELATIVE ADDR|
00004930: 45 53 53 49 4E 47 20 4D  4F 44 45 20 54 4F 20 20  |ESSING MODE TO  |
00004940: 20 20 20 49 44 45 4E 54  49 46 59 20 54 48 45 20  |   IDENTIFY THE |
00004950: 42 52 41 4E 43 48 27 53  20 44 45 53 54 49 4E 41  |BRANCH'S DESTINA|
00004960: 54 49 4F 4E 2E 20 61 20  20 20 20 53 49 47 4E 45  |TION. a    SIGNE|
00004970: 44 20 38 2D 42 49 54 20  56 41 4C 55 45 20 49 4E  |D 8-BIT VALUE IN|
00004980: 44 49 43 41 54 45 53 20  48 4F 57 20 4D 41 4E 59  |DICATES HOW MANY|
00004990: 20 20 20 42 59 54 45 53  20 46 4F 52 57 41 52 44  |   BYTES FORWARD|
000049A0: 53 20 4F 52 20 42 41 43  4B 20 54 4F 20 4A 55 4D  |S OR BACK TO JUM|
000049B0: 50 2E 20 61 20 5A 45 52  4F 20 20 47 49 56 45 53  |P. a ZERO  GIVES|
000049C0: 20 54 48 45 20 53 41 4D  45 20 52 45 53 55 4C 54  | THE SAME RESULT|
000049D0: 20 41 53 20 4E 4F 54 20  4A 55 4D 50 49 4E 47 2E  | AS NOT JUMPING.|
000049E0: 0D 0D 20 20 20 20 20 20  20 20 20 20 28 6D 4F 52  |..          (mOR|
000049F0: 45 20 4F 4E 20 4E 45 58  54 20 50 41 47 45 29 0D  |E ON NEXT PAGE).|
00004A00: 5E 0D 20 20 63 4F 4E 44  49 54 49 4F 4E 41 4C 20  |^.  cONDITIONAL |
00004A10: 62 52 41 4E 43 48 45 53  3A 20 28 63 4F 4E 54 49  |bRANCHES: (cONTI|
00004A20: 4E 55 45 44 29 0D 0D 20  20 68 45 52 45 20 41 52  |NUED)..  hERE AR|
00004A30: 45 20 54 48 45 20 38 20  43 4F 4E 44 49 54 49 4F  |E THE 8 CONDITIO|
00004A40: 4E 41 4C 20 42 52 41 4E  43 48 45 53 3A 0D 0D 6D  |NAL BRANCHES:..m|
00004A50: 6C 20 20 20 20 20 20 6D  45 41 4E 49 4E 47 0D 42  |l      mEANING.B|
00004A60: 43 43 20 20 20 22 62 52  41 4E 43 48 20 49 46 20  |CC   "bRANCH IF |
00004A70: 63 41 52 52 59 20 63 4C  45 41 52 22 20 4F 42 56  |cARRY cLEAR" OBV|
00004A80: 49 4F 55 53 2E 0D 42 43  53 20 20 20 22 62 52 41  |IOUS..BCS   "bRA|
00004A90: 4E 43 48 20 49 46 20 63  41 52 52 59 20 73 45 54  |NCH IF cARRY sET|
00004AA0: 22 20 4F 42 56 49 4F 55  53 2E 0D 42 45 51 20 20  |" OBVIOUS..BEQ  |
00004AB0: 20 22 62 52 41 4E 43 48  20 49 46 20 65 71 55 41  | "bRANCH IF eqUA|
00004AC0: 4C 22 20 42 52 41 4E 43  48 20 49 46 20 54 48 45  |L" BRANCH IF THE|
00004AD0: 20 7A 20 20 20 20 20 20  20 46 4C 41 47 20 49 53  | z       FLAG IS|
00004AE0: 20 53 45 54 2E 20 74 48  45 20 52 45 41 53 4F 4E  | SET. tHE REASON|
00004AF0: 20 46 4F 52 20 54 48 45  20 20 20 20 20 20 20 20  | FOR THE        |
00004B00: 20 4E 41 4D 45 20 43 4F  4D 45 53 20 41 20 42 49  | NAME COMES A BI|
00004B10: 54 20 4C 41 54 45 52 2E  0D 42 4E 45 20 20 20 22  |T LATER..BNE   "|
00004B20: 62 52 41 4E 43 48 20 49  46 20 6E 4F 54 20 65 51  |bRANCH IF nOT eQ|
00004B30: 55 41 4C 22 20 42 52 41  4E 43 48 20 49 46 20 20  |UAL" BRANCH IF  |
00004B40: 20 20 20 20 20 20 20 54  48 45 20 7A 20 46 4C 41  |       THE z FLA|
00004B50: 47 20 49 53 20 43 4C 45  41 52 2E 0D 42 4D 49 20  |G IS CLEAR..BMI |
00004B60: 20 20 22 62 52 41 4E 43  48 20 49 46 20 6D 69 4E  |  "bRANCH IF miN|
00004B70: 55 53 22 20 42 52 41 4E  43 48 20 49 46 20 54 48  |US" BRANCH IF TH|
00004B80: 45 20 6E 20 20 20 20 20  20 20 28 6E 45 47 41 54  |E n       (nEGAT|
00004B90: 49 56 45 29 20 46 4C 41  47 20 49 53 20 53 45 54  |IVE) FLAG IS SET|
00004BA0: 2E 0D 42 50 4C 20 20 20  22 62 52 41 4E 43 48 20  |..BPL   "bRANCH |
00004BB0: 49 46 20 70 6C 55 53 22  20 42 52 41 4E 43 48 20  |IF plUS" BRANCH |
00004BC0: 49 46 20 54 48 45 20 6E  20 20 20 20 20 20 20 20  |IF THE n        |
00004BD0: 46 4C 41 47 20 49 53 20  43 4C 45 41 52 2E 0D 42  |FLAG IS CLEAR..B|
00004BE0: 56 53 20 20 20 22 62 52  41 4E 43 48 20 49 46 20  |VS   "bRANCH IF |
00004BF0: 4F 76 45 52 46 4C 4F 57  20 73 45 54 22 20 42 52  |OvERFLOW sET" BR|
00004C00: 41 4E 43 48 20 49 46 20  20 20 20 20 20 54 48 45  |ANCH IF      THE|
00004C10: 20 76 20 46 4C 41 47 20  49 53 20 53 45 54 2E 0D  | v FLAG IS SET..|
00004C20: 42 56 43 20 20 20 22 62  52 41 4E 43 48 20 49 46  |BVC   "bRANCH IF|
00004C30: 20 4F 76 45 52 46 4C 4F  57 20 63 4C 45 41 52 22  | OvERFLOW cLEAR"|
00004C40: 20 42 52 41 4E 43 48 20  20 20 20 20 20 20 49 46  | BRANCH       IF|
00004C50: 20 54 48 45 20 76 20 46  4C 41 47 20 49 53 20 43  | THE v FLAG IS C|
00004C60: 4C 45 41 52 2E 0D 0D 20  20 20 20 20 20 20 20 20  |LEAR...         |
00004C70: 20 28 6D 4F 52 45 20 4F  4E 20 4E 45 58 54 20 50  | (mORE ON NEXT P|
00004C80: 41 47 45 29 0D 5E 0D 0D  20 20 63 4F 4E 44 49 54  |AGE).^..  cONDIT|
00004C90: 49 4F 4E 41 4C 20 62 52  41 4E 43 48 45 53 3A 20  |IONAL bRANCHES: |
00004CA0: 28 63 4F 4E 54 49 4E 55  45 44 29 0D 0D 20 20 6F  |(cONTINUED)..  o|
00004CB0: 4E 45 20 50 4F 49 4E 54  20 57 4F 52 54 48 20 52  |NE POINT WORTH R|
00004CC0: 45 50 45 41 54 49 4E 47  20 49 53 20 48 4F 57 20  |EPEATING IS HOW |
00004CD0: 54 48 45 20 20 52 45 4C  41 54 49 56 45 20 41 44  |THE  RELATIVE AD|
00004CE0: 44 52 45 53 53 49 4E 47  20 4D 4F 44 45 20 57 4F  |DRESSING MODE WO|
00004CF0: 52 4B 53 2E 20 20 20 20  20 20 20 20 20 74 48 45  |RKS.         tHE|
00004D00: 20 42 52 41 4E 43 48 20  49 4E 53 54 52 55 43 54  | BRANCH INSTRUCT|
00004D10: 49 4F 4E 53 20 55 53 45  20 41 20 4F 4E 45 20 42  |IONS USE A ONE B|
00004D20: 59 54 45 20 20 53 49 47  4E 45 44 20 56 41 4C 55  |YTE  SIGNED VALU|
00004D30: 45 20 28 54 48 41 54 20  49 53 2C 20 46 52 4F 4D  |E (THAT IS, FROM|
00004D40: 20 2D 31 32 38 20 54 4F  20 31 32 37 29 54 4F 20  | -128 TO 127)TO |
00004D50: 49 4E 44 49 43 41 54 45  20 48 4F 57 20 46 41 52  |INDICATE HOW FAR|
00004D60: 20 54 4F 20 42 52 41 4E  43 48 20 46 52 4F 4D 20  | TO BRANCH FROM |
00004D70: 54 48 45 20 20 43 55 52  52 45 4E 54 20 50 4F 53  |THE  CURRENT POS|
00004D80: 49 54 49 4F 4E 2E 20 69  46 20 59 4F 55 20 47 49  |ITION. iF YOU GI|
00004D90: 56 45 20 41 20 42 52 41  4E 43 48 20 20 49 4E 53  |VE A BRANCH  INS|
00004DA0: 54 52 55 43 54 49 4F 4E  20 41 20 56 41 4C 55 45  |TRUCTION A VALUE|
00004DB0: 20 4F 46 20 30 2C 20 59  4F 55 20 41 52 45 20 42  | OF 0, YOU ARE B|
00004DC0: 52 41 4E 43 48 49 4E 47  20 54 4F 20 54 48 45 20  |RANCHING TO THE |
00004DD0: 49 4E 53 54 52 55 43 54  49 4F 4E 20 4A 55 53 54  |INSTRUCTION JUST|
00004DE0: 20 50 41 53 54 20 54 48  45 20 20 20 20 42 52 41  | PAST THE    BRA|
00004DF0: 4E 43 48 20 49 4E 53 54  52 55 43 54 49 4F 4E 20  |NCH INSTRUCTION |
00004E00: 2D 20 57 48 45 52 45 20  54 48 45 20 63 70 75 20  |- WHERE THE cpu |
00004E10: 20 20 20 20 20 43 4F 4E  54 49 4E 55 45 53 20 49  |     CONTINUES I|
00004E20: 46 20 54 48 45 20 42 52  41 4E 43 48 20 49 53 4E  |F THE BRANCH ISN|
00004E30: 27 54 20 54 41 4B 45 4E  2E 0D 0D 20 20 74 48 45  |'T TAKEN...  tHE|
00004E40: 20 52 45 41 53 4F 4E 20  46 4F 52 20 54 48 49 53  | REASON FOR THIS|
00004E50: 20 31 2D 42 59 54 45 20  4F 46 46 53 45 54 20 49  | 1-BYTE OFFSET I|
00004E60: 53 20 20 54 48 41 54 20  43 4F 4E 44 49 54 49 4F  |S  THAT CONDITIO|
00004E70: 4E 41 4C 20 42 52 41 4E  43 48 45 53 20 54 45 4E  |NAL BRANCHES TEN|
00004E80: 44 20 54 4F 20 42 45 20  20 20 20 53 48 4F 52 54  |D TO BE    SHORT|
00004E90: 2C 20 41 4E 44 20 54 48  49 53 20 53 41 56 45 53  |, AND THIS SAVES|
00004EA0: 20 4D 45 4D 4F 52 59 20  53 50 41 43 45 20 4F 56  | MEMORY SPACE OV|
00004EB0: 45 52 20 41 20 53 59 53  54 45 4D 20 57 48 45 52  |ER A SYSTEM WHER|
00004EC0: 45 20 54 48 45 20 57 48  4F 4C 45 20 32 2D 42 59  |E THE WHOLE 2-BY|
00004ED0: 54 45 20 54 41 52 47 45  54 20 20 4F 46 20 54 48  |TE TARGET  OF TH|
00004EE0: 45 20 42 52 41 4E 43 48  20 4D 55 53 54 20 42 45  |E BRANCH MUST BE|
00004EF0: 20 53 50 45 43 49 46 49  45 44 2E 0D 0D 20 20 20  | SPECIFIED...   |
00004F00: 20 20 20 20 20 20 20 28  6D 4F 52 45 20 4F 4E 20  |       (mORE ON |
00004F10: 4E 45 58 54 20 50 41 47  45 29 0D 5E 0D 0D 20 20  |NEXT PAGE).^..  |
00004F20: 63 4F 4E 44 49 54 49 4F  4E 41 4C 20 62 52 41 4E  |cONDITIONAL bRAN|
00004F30: 43 48 45 53 3A 20 28 63  4F 4E 54 49 4E 55 45 44  |CHES: (cONTINUED|
00004F40: 29 0D 0D 20 20 61 53 53  45 4D 42 4C 45 52 53 20  |)..  aSSEMBLERS |
00004F50: 4E 4F 52 4D 41 4C 4C 59  20 44 4F 20 54 48 45 20  |NORMALLY DO THE |
00004F60: 4A 4F 42 20 4F 46 20 20  20 20 20 43 4F 55 4E 54  |JOB OF     COUNT|
00004F70: 49 4E 47 20 42 59 54 45  53 20 46 52 4F 4D 20 54  |ING BYTES FROM T|
00004F80: 48 45 20 43 55 52 52 45  4E 54 20 41 44 44 52 45  |HE CURRENT ADDRE|
00004F90: 53 53 20 46 4F 52 20 52  45 4C 41 54 49 56 45 20  |SS FOR RELATIVE |
00004FA0: 42 52 41 4E 43 48 45 53  20 46 4F 52 20 59 4F 55  |BRANCHES FOR YOU|
00004FB0: 2E 20 79 4F 55 20 4A 55  53 54 20 47 49 56 45 20  |. yOU JUST GIVE |
00004FC0: 54 48 45 20 41 53 53 45  4D 42 4C 45 52 20 54 48  |THE ASSEMBLER TH|
00004FD0: 45 20 41 44 44 52 45 53  53 20 28 4F 52 20 54 48  |E ADDRESS (OR TH|
00004FE0: 45 20 20 4C 41 42 45 4C  29 20 59 4F 55 20 57 49  |E  LABEL) YOU WI|
00004FF0: 53 48 20 54 4F 20 42 52  41 4E 43 48 20 54 4F 2C  |SH TO BRANCH TO,|
00005000: 20 41 4E 44 20 49 54 20  20 20 20 44 4F 45 53 20  | AND IT    DOES |
00005010: 54 48 45 20 52 45 53 54  2E 0D 0D 20 20 20 20 20  |THE REST...     |
00005020: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 62 41  |              bA|
00005030: 53 49 43 0D 20 20 20 20  20 20 6D 6C 20 20 20 20  |SIC.      ml    |
00005040: 20 20 20 20 20 65 51 55  49 56 41 4C 45 4E 54 0D  |     eQUIVALENT.|
00005050: 65 2E 47 2E 20 42 56 53  20 4C 41 42 45 4C 20 20  |e.G. BVS LABEL  |
00005060: 49 46 20 56 3D 31 20 47  4F 54 4F 20 4C 41 42 45  |IF V=1 GOTO LABE|
00005070: 4C 0D 20 20 20 20 20 42  4E 45 20 24 43 32 30 33  |L.     BNE $C203|
00005080: 20 20 49 46 20 5A 3D 30  20 47 4F 54 4F 20 24 43  |  IF Z=0 GOTO $C|
00005090: 32 30 33 0D 20 20 20 20  20 42 4D 49 20 54 45 53  |203.     BMI TES|
000050A0: 54 20 20 20 49 46 20 4E  3D 31 20 47 4F 54 4F 20  |T   IF N=1 GOTO |
000050B0: 54 45 53 54 0D 20 20 20  20 20 42 43 43 20 34 39  |TEST.     BCC 49|
000050C0: 33 35 37 20 20 49 46 20  43 3D 30 20 47 4F 54 4F  |357  IF C=0 GOTO|
000050D0: 20 34 39 33 35 37 0D 0D  20 20 63 4F 4E 44 49 54  | 49357..  cONDIT|
000050E0: 49 4F 4E 41 4C 20 42 52  41 4E 43 48 45 53 20 41  |IONAL BRANCHES A|
000050F0: 52 45 20 32 20 42 59 54  45 53 20 4C 4F 4E 47 20  |RE 2 BYTES LONG |
00005100: 41 4E 44 20 54 41 4B 45  20 32 65 2D 36 20 53 45  |AND TAKE 2e-6 SE|
00005110: 43 4F 4E 44 53 20 54 4F  20 45 58 45 43 55 54 45  |CONDS TO EXECUTE|
00005120: 2C 20 2B 31 65 2D 36 20  53 45 43 4F 4E 44 20 49  |, +1e-6 SECOND I|
00005130: 46 20 54 48 45 20 42 52  41 4E 43 48 20 49 53 20  |F THE BRANCH IS |
00005140: 54 41 4B 45 4E 2C 20 2B  31 65 2D 36 20 20 20 20  |TAKEN, +1e-6    |
00005150: 53 45 43 4F 4E 44 20 49  46 20 54 48 45 20 42 52  |SECOND IF THE BR|
00005160: 41 4E 43 48 20 43 52 4F  53 53 45 53 20 41 20 50  |ANCH CROSSES A P|
00005170: 41 47 45 20 20 20 20 20  42 4F 55 4E 44 41 52 59  |AGE     BOUNDARY|
00005180: 20 28 54 48 45 20 24 58  58 46 46 20 54 4F 20 24  | (THE $XXFF TO $|
00005190: 59 59 30 30 20 47 41 50  29 2E 0D 5E 0D 0D 20 20  |YY00 GAP)..^..  |
000051A0: 20 61 20 53 50 45 43 49  41 4C 20 49 4E 53 54 52  | a SPECIAL INSTR|
000051B0: 55 43 54 49 4F 4E 3A 0D  0D 20 20 74 48 45 52 45  |UCTION:..  tHERE|
000051C0: 20 49 53 20 4F 4E 45 20  49 4E 53 54 52 55 43 54  | IS ONE INSTRUCT|
000051D0: 49 4F 4E 20 53 50 45 43  49 41 4C 4C 59 20 20 20  |ION SPECIALLY   |
000051E0: 20 44 45 53 49 47 4E 45  44 20 54 4F 20 57 4F 52  | DESIGNED TO WOR|
000051F0: 4B 20 57 49 54 48 20 54  48 45 20 42 52 41 4E 43  |K WITH THE BRANC|
00005200: 48 20 20 20 20 20 20 20  20 49 4E 53 54 52 55 43  |H        INSTRUC|
00005210: 54 49 4F 4E 53 3A 20 43  4D 50 2E 20 28 22 63 4F  |TIONS: CMP. ("cO|
00005220: 6D 70 41 52 45 22 29 0D  0D 20 20 63 4D 50 20 44  |mpARE")..  cMP D|
00005230: 4F 45 53 20 49 54 53 20  57 4F 52 4B 20 42 59 20  |OES ITS WORK BY |
00005240: 50 45 52 46 4F 52 4D 49  4E 47 20 53 42 43 27 53  |PERFORMING SBC'S|
00005250: 20 46 55 4E 43 54 49 4F  4E 53 20 28 53 45 54 54  | FUNCTIONS (SETT|
00005260: 49 4E 47 20 54 48 45 20  63 2C 20 7A 20 41 4E 44  |ING THE c, z AND|
00005270: 20 6E 20 46 4C 41 47 53  20 44 45 50 45 4E 44 49  | n FLAGS DEPENDI|
00005280: 4E 47 20 4F 4E 20 54 48  45 20 53 55 42 54 52 41  |NG ON THE SUBTRA|
00005290: 43 54 49 4F 4E 27 53 20  52 45 53 55 4C 54 53 29  |CTION'S RESULTS)|
000052A0: 20 65 78 63 65 70 74 3A  0D 0D 20 20 31 29 20 63  | except:..  1) c|
000052B0: 4D 50 20 49 47 4E 4F 52  45 53 20 54 48 45 20 43  |MP IGNORES THE C|
000052C0: 41 52 52 59 20 46 4C 41  47 20 2D 20 49 54 20 20  |ARRY FLAG - IT  |
000052D0: 20 20 20 20 20 20 20 42  45 48 41 56 45 53 20 41  |       BEHAVES A|
000052E0: 53 20 49 46 20 43 41 52  52 59 20 49 53 20 41 4C  |S IF CARRY IS AL|
000052F0: 57 41 59 53 20 53 45 54  2E 0D 20 20 32 29 20 63  |WAYS SET..  2) c|
00005300: 4D 50 20 44 4F 45 53 20  4E 4F 54 20 41 46 46 45  |MP DOES NOT AFFE|
00005310: 43 54 20 54 48 45 20 76  20 46 4C 41 47 2E 0D BA  |CT THE v FLAG...|
00005320: 20 33 29 20 63 4D 50 20  44 4F 45 53 20 6E 6F 74  | 3) cMP DOES not|
00005330: 20 41 46 46 45 43 54 20  54 48 45 20 56 41 4C 55  | AFFECT THE VALU|
00005340: 45 20 49 4E 20 20 20 20  20 20 20 20 54 48 45 20  |E IN        THE |
00005350: 41 43 43 55 4D 55 4C 41  54 4F 52 20 2D 20 6F 6E  |ACCUMULATOR - on|
00005360: 6C 79 20 54 48 45 20 46  4C 41 47 53 2E 0D 0D 20  |ly THE FLAGS... |
00005370: 20 74 48 49 53 20 4C 41  53 54 20 49 53 20 56 45  | tHIS LAST IS VE|
00005380: 52 59 20 49 4D 50 4F 52  54 41 4E 54 2C 20 41 53  |RY IMPORTANT, AS|
00005390: 20 49 54 20 20 20 20 41  4C 4C 4F 57 53 20 41 20  | IT    ALLOWS A |
000053A0: 4E 55 4D 42 45 52 20 54  4F 20 42 45 20 43 4F 4D  |NUMBER TO BE COM|
000053B0: 50 41 52 45 44 20 20 20  20 20 20 20 20 20 20 52  |PARED          R|
000053C0: 45 50 45 41 54 45 44 4C  59 2C 20 57 49 54 48 20  |EPEATEDLY, WITH |
000053D0: 53 45 56 45 52 41 4C 20  4F 54 48 45 52 20 56 41  |SEVERAL OTHER VA|
000053E0: 4C 55 45 53 2E 0D 0D 20  20 20 20 20 20 20 20 20  |LUES...         |
000053F0: 20 28 6D 4F 52 45 20 4F  4E 20 4E 45 58 54 20 50  | (mORE ON NEXT P|
00005400: 41 47 45 29 0D 5E 0D 0D  20 20 61 20 73 50 45 43  |AGE).^..  a sPEC|
00005410: 49 41 4C 20 69 4E 53 54  52 55 43 54 49 4F 4E 3A  |IAL iNSTRUCTION:|
00005420: 20 28 63 4F 4E 54 49 4E  55 45 44 29 0D 0D 20 20  | (cONTINUED)..  |
00005430: 79 4F 55 20 57 49 4C 4C  20 46 49 4E 44 20 43 4D  |yOU WILL FIND CM|
00005440: 50 20 42 45 49 4E 47 20  55 53 45 44 20 41 20 6C  |P BEING USED A l|
00005450: 6F 74 20 49 4E 20 6D 6C  20 50 52 4F 47 52 41 4D  |ot IN ml PROGRAM|
00005460: 53 2C 20 45 53 50 45 43  49 41 4C 4C 59 20 49 4E  |S, ESPECIALLY IN|
00005470: 20 54 48 45 20 49 4D 4D  45 44 49 41 54 45 4D 4F  | THE IMMEDIATEMO|
00005480: 44 45 2E 20 69 54 20 43  41 4E 2C 20 48 4F 57 45  |DE. iT CAN, HOWE|
00005490: 56 45 52 2C 20 55 53 45  20 41 4E 59 20 4F 46 20  |VER, USE ANY OF |
000054A0: 54 48 45 20 20 20 41 44  44 52 45 53 53 49 4E 47  |THE   ADDRESSING|
000054B0: 20 4D 4F 44 45 53 20 41  56 41 49 4C 41 42 4C 45  | MODES AVAILABLE|
000054C0: 20 54 4F 20 4C 44 41 2E  0D 0D 20 20 62 45 43 41  | TO LDA...  bECA|
000054D0: 55 53 45 20 54 48 45 20  4D 4F 53 54 20 43 4F 4D  |USE THE MOST COM|
000054E0: 4D 4F 4E 20 57 41 59 20  54 48 45 20 7A 20 46 4C  |MON WAY THE z FL|
000054F0: 41 47 49 53 20 53 45 54  20 49 53 20 42 59 20 41  |AGIS SET IS BY A|
00005500: 20 43 4F 4D 50 41 52 49  53 4F 4E 20 57 49 54 48  | COMPARISON WITH|
00005510: 20 41 20 4E 55 4D 42 45  52 20 45 51 55 41 4C 20  | A NUMBER EQUAL |
00005520: 54 4F 20 54 48 41 54 20  49 4E 20 54 48 45 20 41  |TO THAT IN THE A|
00005530: 43 43 55 4D 55 4C 41 54  4F 52 2C 20 54 48 45 20  |CCUMULATOR, THE |
00005540: 20 20 49 4E 53 54 52 55  43 54 49 4F 4E 20 54 48  |  INSTRUCTION TH|
00005550: 41 54 20 42 52 41 4E 43  48 45 53 20 49 46 20 54  |AT BRANCHES IF T|
00005560: 48 45 20 7A 20 46 4C 41  47 20 49 53 20 53 45 54  |HE z FLAG IS SET|
00005570: 20 49 53 20 43 41 4C 4C  45 44 20 42 45 51 20 28  | IS CALLED BEQ (|
00005580: 62 52 41 4E 43 48 20 49  46 20 65 71 55 41 4C 29  |bRANCH IF eqUAL)|
00005590: 20 20 41 4E 44 20 4E 4F  54 2C 20 53 41 59 2C 20  |  AND NOT, SAY, |
000055A0: 42 52 5A 20 28 62 72 41  4E 43 48 20 49 46 20 7A  |BRZ (brANCH IF z|
000055B0: 45 52 4F 29 2E 20 74 48  45 20 53 41 4D 45 20 4C  |ERO). tHE SAME L|
000055C0: 4F 47 49 43 20 41 50 50  4C 49 45 53 20 54 4F 20  |OGIC APPLIES TO |
000055D0: 42 4E 45 20 28 6E 4F 54  20 65 51 55 41 4C 29 2E  |BNE (nOT eQUAL).|
000055E0: 0D 0D 20 20 61 4E 4F 54  48 45 52 20 43 4F 4D 4D  |..  aNOTHER COMM|
000055F0: 4F 4E 20 55 53 45 20 4F  46 20 43 4D 50 20 49 53  |ON USE OF CMP IS|
00005600: 20 54 4F 20 54 45 53 54  20 20 57 48 49 43 48 20  | TO TEST  WHICH |
00005610: 4F 46 20 54 57 4F 20 4E  55 4D 42 45 52 53 20 49  |OF TWO NUMBERS I|
00005620: 53 20 47 52 45 41 54 45  52 2E 20 20 20 20 20 20  |S GREATER.      |
00005630: 20 20 72 45 4D 45 4D 42  45 52 20 54 48 41 54 20  |  rEMEMBER THAT |
00005640: 54 41 4B 49 4E 47 20 41  20 47 52 45 41 54 45 52  |TAKING A GREATER|
00005650: 20 4E 55 4D 42 45 52 20  20 20 46 52 4F 4D 20 41  | NUMBER   FROM A|
00005660: 20 4C 45 53 53 45 52 20  4C 45 41 56 45 53 20 54  | LESSER LEAVES T|
00005670: 48 45 20 43 41 52 52 59  20 43 4C 45 41 52 2E 0D  |HE CARRY CLEAR..|
00005680: 6F 54 48 45 52 57 49 53  45 2C 20 54 48 45 20 43  |oTHERWISE, THE C|
00005690: 41 52 52 59 20 46 4C 41  47 20 49 53 20 53 45 54  |ARRY FLAG IS SET|
000056A0: 2E 0D 0D 20 20 20 20 20  20 20 20 20 20 28 6D 4F  |...          (mO|
000056B0: 52 45 20 4F 4E 20 4E 45  58 54 20 50 41 47 45 29  |RE ON NEXT PAGE)|
000056C0: 0D 5E 0D 0D 20 20 61 20  73 50 45 43 49 41 4C 20  |.^..  a sPECIAL |
000056D0: 69 4E 53 54 52 55 43 54  49 4F 4E 3A 20 28 63 4F  |iNSTRUCTION: (cO|
000056E0: 4E 54 49 4E 55 45 44 29  0D 0D 65 58 41 4D 50 4C  |NTINUED)..eXAMPL|
000056F0: 45 3A 20 20 61 20 53 41  4D 50 4C 45 20 49 4E 50  |E:  a SAMPLE INP|
00005700: 55 54 20 52 4F 55 54 49  4E 45 0D 20 20 20 20 20  |UT ROUTINE.     |
00005710: 20 20 20 20 2D 61 43 43  45 50 54 53 20 4F 4E 4C  |    -aCCEPTS ONL|
00005720: 59 20 4E 55 4D 42 45 52  53 2C 20 3C 52 45 54 55  |Y NUMBERS, <RETU|
00005730: 52 4E 3E 20 20 20 20 20  20 20 20 20 20 41 4E 44  |RN>          AND|
00005740: 20 3C 44 45 4C 45 54 45  3E 0D 0D 47 45 54 20 4A  | <DELETE>..GET J|
00005750: 53 52 20 24 46 46 43 46  20 3B 54 48 49 53 20 47  |SR $FFCF ;THIS G|
00005760: 45 54 53 20 41 20 43 48  41 52 41 43 54 45 52 27  |ETS A CHARACTER'|
00005770: 53 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |S               |
00005780: 20 3B 41 53 43 49 49 20  46 52 4F 4D 20 54 48 45  | ;ASCII FROM THE|
00005790: 20 4B 45 59 42 4F 41 52  44 20 20 20 20 20 20 20  | KEYBOARD       |
000057A0: 20 20 20 20 20 20 20 20  20 3B 49 4E 54 4F 20 54  |         ;INTO T|
000057B0: 48 45 20 41 43 43 55 4D  55 4C 41 54 4F 52 0D 20  |HE ACCUMULATOR. |
000057C0: 20 20 20 43 4D 50 20 23  31 33 20 20 20 3B 43 48  |   CMP #13   ;CH|
000057D0: 52 24 28 31 33 29 3D 3C  52 45 54 55 52 4E 3E 0D  |R$(13)=<RETURN>.|
000057E0: 20 20 20 20 42 4E 45 20  41 31 20 20 20 20 3B 49  |    BNE A1    ;I|
000057F0: 46 20 4E 4F 54 20 45 51  55 41 4C 2C 20 47 4F 20  |F NOT EQUAL, GO |
00005800: 4F 4E 0D 20 20 20 20 5B  57 48 41 54 20 54 4F 20  |ON.    [WHAT TO |
00005810: 44 4F 20 49 4E 20 43 41  53 45 20 4F 46 20 41 20  |DO IN CASE OF A |
00005820: 52 45 54 55 52 4E 5D 0D  41 31 20 20 43 4D 50 20  |RETURN].A1  CMP |
00005830: 23 32 30 20 20 20 3B 43  48 52 24 28 32 30 29 3D  |#20   ;CHR$(20)=|
00005840: 3C 44 45 4C 45 54 45 3E  0D 20 20 20 20 42 4E 45  |<DELETE>.    BNE|
00005850: 20 41 32 20 20 20 20 3B  49 46 20 4E 4F 54 20 45  | A2    ;IF NOT E|
00005860: 51 55 41 4C 2C 20 47 4F  20 4F 4E 0D 20 20 20 20  |QUAL, GO ON.    |
00005870: 5B 57 48 41 54 20 54 4F  20 44 4F 20 49 4E 20 43  |[WHAT TO DO IN C|
00005880: 41 53 45 20 4F 46 20 41  20 44 45 4C 45 54 45 5D  |ASE OF A DELETE]|
00005890: 0D 41 32 20 20 43 4D 50  20 23 34 38 20 20 20 3B  |.A2  CMP #48   ;|
000058A0: 43 48 52 24 28 34 38 29  3D 22 30 22 0D 20 20 20  |CHR$(48)="0".   |
000058B0: 20 42 43 43 20 47 45 54  20 20 20 3B 49 46 20 41  | BCC GET   ;IF A|
000058C0: 3C 34 38 2C 52 45 50 45  41 54 20 4C 4F 4F 50 0D  |<48,REPEAT LOOP.|
000058D0: 20 20 20 20 43 4D 50 20  23 35 38 20 20 20 3B 43  |    CMP #58   ;C|
000058E0: 48 52 24 28 35 37 29 3D  22 39 22 0D 20 20 20 20  |HR$(57)="9".    |
000058F0: 42 43 53 20 47 45 54 20  20 20 3B 49 46 20 41 3E  |BCS GET   ;IF A>|
00005900: 3D 35 38 2C 20 52 45 50  45 41 54 20 4C 4F 4F 50  |=58, REPEAT LOOP|
00005910: 0D 20 20 20 20 5B 57 48  41 54 20 54 4F 20 44 4F  |.    [WHAT TO DO|
00005920: 20 57 49 54 48 20 41 20  4E 55 4D 42 45 52 20 4B  | WITH A NUMBER K|
00005930: 45 59 5D 0D 0D 20 20 20  20 20 20 20 20 20 20 28  |EY]..          (|
00005940: 6D 4F 52 45 20 4F 4E 20  4E 45 58 54 20 50 41 47  |mORE ON NEXT PAG|
00005950: 45 29 0D 5E 0D 0D 20 20  61 20 73 50 45 43 49 41  |E).^..  a sPECIA|
00005960: 4C 20 69 4E 53 54 52 55  43 54 49 4F 4E 3A 20 28  |L iNSTRUCTION: (|
00005970: 63 4F 4E 54 49 4E 55 45  44 29 0D 0D 20 20 62 45  |cONTINUED)..  bE|
00005980: 20 43 41 52 45 46 55 4C  20 57 49 54 48 20 42 43  | CAREFUL WITH BC|
00005990: 43 20 41 4E 44 20 42 43  53 20 41 46 54 45 52 20  |C AND BCS AFTER |
000059A0: 41 20 20 20 43 4F 4D 50  41 52 45 2E 20 74 48 45  |A   COMPARE. tHE|
000059B0: 59 27 52 45 20 45 41 53  59 20 54 4F 20 4D 49 58  |Y'RE EASY TO MIX|
000059C0: 20 55 50 2E 0D 20 20 62  43 43 20 42 52 41 4E 43  | UP..  bCC BRANC|
000059D0: 48 45 53 20 49 46 20 54  48 45 20 4E 55 4D 42 45  |HES IF THE NUMBE|
000059E0: 52 20 49 4E 20 54 48 45  20 20 20 20 20 41 43 43  |R IN THE     ACC|
000059F0: 55 4D 55 4C 41 54 4F 52  20 49 53 20 4C 45 53 53  |UMULATOR IS LESS|
00005A00: 20 54 48 41 4E 20 54 48  45 20 4E 55 4D 42 45 52  | THAN THE NUMBER|
00005A10: 20 49 54 20 20 49 53 20  42 45 49 4E 47 20 43 4F  | IT  IS BEING CO|
00005A20: 4D 50 41 52 45 44 20 54  4F 2E 0D 20 20 62 43 53  |MPARED TO..  bCS|
00005A30: 20 42 52 41 4E 43 48 45  53 20 49 46 20 54 48 45  | BRANCHES IF THE|
00005A40: 20 4E 55 4D 42 45 52 20  49 4E 20 54 48 45 20 20  | NUMBER IN THE  |
00005A50: 20 20 20 41 43 43 55 4D  55 4C 41 54 4F 52 20 49  |   ACCUMULATOR I|
00005A60: 53 20 47 52 45 41 54 45  52 20 54 48 41 4E 20 4F  |S GREATER THAN O|
00005A70: 52 20 45 51 55 41 4C 20  54 4F 20 54 48 45 20 4E  |R EQUAL TO THE N|
00005A80: 55 4D 42 45 52 20 49 54  20 49 53 20 42 45 49 4E  |UMBER IT IS BEIN|
00005A90: 47 20 43 4F 4D 50 41 52  45 44 20 54 4F 2E 0D 0D  |G COMPARED TO...|
00005AA0: 20 20 61 20 43 4D 50 20  49 4E 53 54 52 55 43 54  |  a CMP INSTRUCT|
00005AB0: 49 4F 4E 20 54 41 4B 45  53 20 41 53 20 4D 55 43  |ION TAKES AS MUC|
00005AC0: 48 20 54 49 4D 45 20 20  41 4E 44 20 4D 45 4D 4F  |H TIME  AND MEMO|
00005AD0: 52 59 20 41 53 20 54 48  45 20 45 51 55 49 56 41  |RY AS THE EQUIVA|
00005AE0: 4C 45 4E 54 20 4C 44 41  2E 0D 0D 20 20 6F 54 48  |LENT LDA...  oTH|
00005AF0: 45 52 20 48 41 4E 44 59  20 49 4E 53 54 52 55 43  |ER HANDY INSTRUC|
00005B00: 54 49 4F 4E 53 20 41 52  45 20 54 48 45 20 43 50  |TIONS ARE THE CP|
00005B10: 58 20 20 41 4E 44 20 43  50 59 20 49 4E 53 54 52  |X  AND CPY INSTR|
00005B20: 55 43 54 49 4F 4E 53 2C  20 57 48 49 43 48 20 42  |UCTIONS, WHICH B|
00005B30: 45 48 41 56 45 20 4C 49  4B 45 20 43 4D 50 20 42  |EHAVE LIKE CMP B|
00005B40: 55 54 20 52 45 46 45 52  20 54 4F 20 54 48 45 20  |UT REFER TO THE |
00005B50: 78 20 41 4E 44 20 79 20  52 45 47 49 53 54 45 52  |x AND y REGISTER|
00005B60: 53 20 20 52 41 54 48 45  52 20 54 48 41 4E 20 54  |S  RATHER THAN T|
00005B70: 48 45 20 41 43 43 55 4D  55 4C 41 54 4F 52 2E 20  |HE ACCUMULATOR. |
00005B80: 74 48 45 59 20 4D 41 59  20 20 20 4F 4E 4C 59 20  |tHEY MAY   ONLY |
00005B90: 55 53 45 20 54 48 45 20  49 4D 4D 45 44 49 41 54  |USE THE IMMEDIAT|
00005BA0: 45 2C 20 41 42 53 4F 4C  55 54 45 2C 20 41 4E 44  |E, ABSOLUTE, AND|
00005BB0: 20 20 20 5A 45 52 4F 20  50 41 47 45 20 41 44 44  |   ZERO PAGE ADD|
00005BC0: 52 45 53 53 49 4E 47 20  4D 4F 44 45 53 2C 20 54  |RESSING MODES, T|
00005BD0: 41 4B 49 4E 47 20 54 48  45 20 20 53 41 4D 45 20  |AKING THE  SAME |
00005BE0: 54 49 4D 45 20 41 4E 44  20 4D 45 4D 4F 52 59 20  |TIME AND MEMORY |
00005BF0: 41 53 20 4C 44 41 20 54  4F 20 55 53 45 2E 0D 5E  |AS LDA TO USE..^|
00005C00: 0D 0D 20 20 6C 4F 4F 50  49 4E 47 20 69 4E 53 54  |..  lOOPING iNST|
00005C10: 52 55 43 54 49 4F 4E 53  0D 0D 20 20 61 20 4C 4F  |RUCTIONS..  a LO|
00005C20: 4F 50 20 49 53 20 41 20  53 45 52 49 45 53 20 4F  |OP IS A SERIES O|
00005C30: 46 20 49 4E 53 54 52 55  43 54 49 4F 4E 53 20 54  |F INSTRUCTIONS T|
00005C40: 4F 20 42 45 20 45 58 45  43 55 54 45 44 20 52 45  |O BE EXECUTED RE|
00005C50: 50 45 41 54 45 44 4C 59  2E 20 74 48 45 20 49 4E  |PEATEDLY. tHE IN|
00005C60: 53 54 52 55 43 54 49 4F  4E 53 4E 45 43 45 53 53  |STRUCTIONSNECESS|
00005C70: 41 52 59 20 46 4F 52 20  53 4F 4D 45 20 54 59 50  |ARY FOR SOME TYP|
00005C80: 45 53 20 4F 46 20 4C 4F  4F 50 20 48 41 56 45 20  |ES OF LOOP HAVE |
00005C90: 20 20 41 4C 52 45 41 44  59 20 42 45 45 4E 20 43  |  ALREADY BEEN C|
00005CA0: 4F 56 45 52 45 44 2E 20  65 58 41 4D 50 4C 45 3A  |OVERED. eXAMPLE:|
00005CB0: 0D 0D 4C 41 42 45 4C 20  5B 54 52 59 20 54 4F 20  |..LABEL [TRY TO |
00005CC0: 44 4F 20 53 4F 4D 45 54  48 49 4E 47 5D 0D 20 20  |DO SOMETHING].  |
00005CD0: 20 20 20 20 43 4D 50 20  5B 53 55 43 43 45 53 53  |    CMP [SUCCESS|
00005CE0: 5D 20 3B 44 49 44 20 49  54 20 53 55 43 43 45 45  |] ;DID IT SUCCEE|
00005CF0: 44 3F 0D 20 20 20 20 20  20 42 4E 45 20 4C 41 42  |D?.      BNE LAB|
00005D00: 45 4C 20 20 20 20 20 3B  49 46 20 4E 4F 54 2C 20  |EL     ;IF NOT, |
00005D10: 54 52 59 20 41 47 41 49  4E 0D 0D 20 20 74 48 45  |TRY AGAIN..  tHE|
00005D20: 20 4E 45 58 54 20 53 45  54 20 4F 46 20 49 4E 53  | NEXT SET OF INS|
00005D30: 54 52 55 43 54 49 4F 4E  53 20 49 53 20 55 53 45  |TRUCTIONS IS USE|
00005D40: 44 20 20 54 4F 20 50 45  52 46 4F 52 4D 20 54 48  |D  TO PERFORM TH|
00005D50: 45 20 6D 6C 20 45 51 55  49 56 41 4C 45 4E 54 20  |E ml EQUIVALENT |
00005D60: 4F 46 20 41 20 46 4F 52  2D 20 20 4E 45 58 54 20  |OF A FOR-  NEXT |
00005D70: 4C 4F 4F 50 2E 0D 0D 6D  6C 20 20 62 41 53 49 43  |LOOP...ml  bASIC|
00005D80: 20 20 6D 45 41 4E 49 4E  47 0D 49 4E 58 20 58 3D  |  mEANING.INX X=|
00005D90: 58 2B 31 20 20 22 69 6E  43 52 45 4D 45 4E 54 20  |X+1  "inCREMENT |
00005DA0: 78 22 20 28 42 59 20 4F  4E 45 29 0D 49 4E 59 20  |x" (BY ONE).INY |
00005DB0: 59 3D 59 2B 31 20 20 22  69 6E 43 52 45 4D 45 4E  |Y=Y+1  "inCREMEN|
00005DC0: 54 20 79 22 20 28 42 59  20 4F 4E 45 29 0D 44 45  |T y" (BY ONE).DE|
00005DD0: 58 20 58 3D 58 2D 31 20  20 22 64 65 43 52 45 4D  |X X=X-1  "deCREM|
00005DE0: 45 4E 54 20 78 22 20 28  42 59 20 4F 4E 45 29 0D  |ENT x" (BY ONE).|
00005DF0: 44 45 59 20 59 3D 59 2D  31 20 20 22 64 65 43 52  |DEY Y=Y-1  "deCR|
00005E00: 45 4D 45 4E 54 20 79 22  20 28 42 59 20 4F 4E 45  |EMENT y" (BY ONE|
00005E10: 29 0D 0D 20 20 20 20 20  20 20 20 20 20 28 6D 4F  |)..          (mO|
00005E20: 52 45 20 4F 4E 20 4E 45  58 54 20 50 41 47 45 29  |RE ON NEXT PAGE)|
00005E30: 0D 5E 0D 0D 20 20 6C 4F  4F 50 49 4E 47 20 69 4E  |.^..  lOOPING iN|
00005E40: 53 54 52 55 43 54 49 4F  4E 53 20 28 63 4F 4E 54  |STRUCTIONS (cONT|
00005E50: 49 4E 55 45 44 29 0D 0D  20 20 75 53 49 4E 47 20  |INUED)..  uSING |
00005E60: 54 48 45 53 45 2C 20 54  48 45 20 6D 6C 20 45 51  |THESE, THE ml EQ|
00005E70: 55 49 56 41 4C 45 4E 54  20 4F 46 20 20 20 20 20  |UIVALENT OF     |
00005E80: 22 46 4F 52 20 58 3D 31  54 4F 31 30 3A 5B 64 4F  |"FOR X=1TO10:[dO|
00005E90: 20 73 4F 4D 45 54 48 49  4E 47 5D 3A 4E 45 58 54  | sOMETHING]:NEXT|
00005EA0: 58 22 20 49 53 3A 0D 0D  20 20 20 20 20 4C 44 58  |X" IS:..     LDX|
00005EB0: 20 23 30 20 20 20 3B 53  54 41 52 54 20 58 20 41  | #0   ;START X A|
00005EC0: 54 20 30 0D 4C 4F 4F 50  20 49 4E 58 20 20 20 20  |T 0.LOOP INX    |
00005ED0: 20 20 3B 41 44 44 20 31  20 54 4F 20 58 0D 20 20  |  ;ADD 1 TO X.  |
00005EE0: 20 20 20 5B 64 4F 20 73  4F 4D 45 54 48 49 4E 47  |   [dO sOMETHING|
00005EF0: 5D 0D 20 20 20 20 20 43  50 58 20 23 31 30 20 20  |].     CPX #10  |
00005F00: 3B 43 4F 4D 50 41 52 45  20 58 20 54 4F 20 31 30  |;COMPARE X TO 10|
00005F10: 0D 20 20 20 20 20 42 43  43 20 4C 4F 4F 50 20 3B  |.     BCC LOOP ;|
00005F20: 49 46 20 58 3C 31 30 20  54 48 45 4E 20 44 4F 20  |IF X<10 THEN DO |
00005F30: 49 54 20 41 47 41 49 4E  0D 0D 20 20 61 4C 54 45  |IT AGAIN..  aLTE|
00005F40: 52 4E 41 54 45 20 4C 41  53 54 20 49 4E 53 54 52  |RNATE LAST INSTR|
00005F50: 55 43 54 49 4F 4E 3A 0D  0D 20 20 20 20 20 42 4E  |UCTION:..     BN|
00005F60: 45 20 4C 4F 4F 50 20 3B  49 46 20 58 3C 3E 31 30  |E LOOP ;IF X<>10|
00005F70: 20 54 48 45 4E 20 44 4F  20 49 54 20 41 47 41 49  | THEN DO IT AGAI|
00005F80: 4E 0D 20 20 74 48 45 20  46 49 52 53 54 20 45 4E  |N.  tHE FIRST EN|
00005F90: 44 49 4E 47 20 49 53 20  50 52 45 46 45 52 52 45  |DING IS PREFERRE|
00005FA0: 44 2C 20 42 45 43 41 55  53 45 49 54 20 57 49 4C  |D, BECAUSEIT WIL|
00005FB0: 4C 20 53 54 4F 50 20 54  48 45 20 4C 4F 4F 50 20  |L STOP THE LOOP |
00005FC0: 49 46 20 53 4F 4D 45 54  48 49 4E 47 20 20 20 20  |IF SOMETHING    |
00005FD0: 20 20 4D 41 4B 45 53 20  54 48 45 20 58 20 52 45  |  MAKES THE X RE|
00005FE0: 47 49 53 54 45 52 20 53  41 59 2C 20 31 31 2C 20  |GISTER SAY, 11, |
00005FF0: 52 41 54 48 45 52 20 20  20 20 54 48 41 4E 20 4C  |RATHER    THAN L|
00006000: 45 54 54 49 4E 47 20 49  54 20 47 4F 20 2E 2E 2E  |ETTING IT GO ...|
00006010: 32 35 34 2C 20 32 35 35  2C 20 30 2E 2E 2E 20 4F  |254, 255, 0... O|
00006020: 4E 20 54 4F 20 31 30 20  41 47 41 49 4E 2C 20 50  |N TO 10 AGAIN, P|
00006030: 4F 53 53 49 42 4C 59 20  46 4F 55 4C 49 4E 47 20  |OSSIBLY FOULING |
00006040: 54 48 49 4E 47 53 20 55  50 20 4F 4E 20 54 48 45  |THINGS UP ON THE|
00006050: 20 57 41 59 2E 20 69 4E  20 53 49 4D 50 4C 45 20  | WAY. iN SIMPLE |
00006060: 54 45 52 4D 53 2C 20 49  54 27 53 20 53 41 46 45  |TERMS, IT'S SAFE|
00006070: 52 2E 5E 0D 0D 20 20 20  20 20 20 75 4E 43 4F 4E  |R.^..      uNCON|
00006080: 44 49 54 49 4F 4E 41 4C  20 6A 55 4D 50 53 0D 0D  |DITIONAL jUMPS..|
00006090: 20 20 74 48 45 20 4A 4D  50 20 28 22 6A 55 6D 70  |  tHE JMP ("jUmp|
000060A0: 22 29 20 43 4F 4D 4D 41  4E 44 20 49 53 20 54 48  |") COMMAND IS TH|
000060B0: 45 20 6D 6C 20 20 20 20  45 51 55 49 56 41 4C 45  |E ml    EQUIVALE|
000060C0: 4E 54 20 4F 46 20 47 4F  54 4F 2E 20 6A 4D 50 20  |NT OF GOTO. jMP |
000060D0: 24 41 34 37 34 20 43 41  55 53 45 53 20 54 48 45  |$A474 CAUSES THE|
000060E0: 63 70 75 20 54 4F 20 53  54 41 52 54 20 4C 4F 4F  |cpu TO START LOO|
000060F0: 4B 49 4E 47 20 46 4F 52  20 49 4E 53 54 52 55 43  |KING FOR INSTRUC|
00006100: 54 49 4F 4E 53 20 41 54  4D 45 4D 4F 52 59 20 4C  |TIONS ATMEMORY L|
00006110: 4F 43 41 54 49 4F 4E 20  24 41 34 37 34 2E 20 74  |OCATION $A474. t|
00006120: 48 49 53 20 49 4E 53 54  52 55 43 54 49 4F 4E 20  |HIS INSTRUCTION |
00006130: 49 53 20 33 20 42 59 54  45 53 20 4C 4F 4E 47 20  |IS 3 BYTES LONG |
00006140: 41 4E 44 20 54 41 4B 45  53 20 33 65 2D 36 20 53  |AND TAKES 3e-6 S|
00006150: 45 43 4F 4E 44 53 20 20  54 4F 20 45 58 45 43 55  |ECONDS  TO EXECU|
00006160: 54 45 2E 0D 0D 20 20 74  48 45 20 4A 53 52 20 28  |TE...  tHE JSR (|
00006170: 22 6A 55 4D 50 20 54 4F  20 73 55 42 72 4F 55 54  |"jUMP TO sUBrOUT|
00006180: 49 4E 45 22 29 20 20 20  20 20 20 20 20 43 4F 4D  |INE")        COM|
00006190: 4D 41 4E 44 20 49 53 20  6D 6C 27 53 20 47 4F 53  |MAND IS ml'S GOS|
000061A0: 55 42 2E 20 69 54 20 49  53 20 55 53 45 44 20 4C  |UB. iT IS USED L|
000061B0: 49 4B 45 20 20 4A 4D 50  2E 20 74 48 49 53 20 49  |IKE  JMP. tHIS I|
000061C0: 4E 53 54 52 55 43 54 49  4F 4E 20 49 53 20 33 20  |NSTRUCTION IS 3 |
000061D0: 42 59 54 45 53 20 4C 4F  4E 47 20 20 20 41 4E 44  |BYTES LONG   AND|
000061E0: 20 54 41 4B 45 53 20 36  65 2D 36 20 53 45 43 4F  | TAKES 6e-6 SECO|
000061F0: 4E 44 53 20 54 4F 20 45  58 45 43 55 54 45 2E 0D  |NDS TO EXECUTE..|
00006200: 0D 20 20 72 54 53 20 28  22 72 45 74 55 52 4E 20  |.  rTS ("rEtURN |
00006210: 46 52 4F 4D 20 73 55 42  52 4F 55 54 49 4E 45 22  |FROM sUBROUTINE"|
00006220: 29 20 49 53 20 54 48 45  20 6D 6C 20 45 51 55 49  |) IS THE ml EQUI|
00006230: 56 41 4C 45 4E 54 20 4F  46 20 52 45 54 55 52 4E  |VALENT OF RETURN|
00006240: 20 49 4E 20 62 41 53 49  43 2E 20 69 54 20 49 53  | IN bASIC. iT IS|
00006250: 20 31 20 42 59 54 45 20  4C 4F 4E 47 20 41 4E 44  | 1 BYTE LONG AND|
00006260: 20 54 41 4B 45 53 20 36  65 2D 36 20 53 45 43 4F  | TAKES 6e-6 SECO|
00006270: 4E 44 53 20 54 4F 20 20  20 45 58 45 43 55 54 45  |NDS TO   EXECUTE|
00006280: 2E 20 0D 0D 20 20 74 48  45 20 46 4C 41 47 53 20  |. ..  tHE FLAGS |
00006290: 41 52 45 20 4E 4F 54 20  44 49 53 54 55 52 42 45  |ARE NOT DISTURBE|
000062A0: 44 2E 0D 0D 20 20 20 20  20 20 20 20 20 20 28 6D  |D...          (m|
000062B0: 4F 52 45 20 4F 4E 20 4E  45 58 54 20 50 41 47 45  |ORE ON NEXT PAGE|
000062C0: 29 0D 5E 0D 0D 20 20 75  4E 43 4F 4E 44 49 54 49  |).^..  uNCONDITI|
000062D0: 4F 4E 41 4C 20 6A 55 4D  50 53 3A 20 28 63 4F 4E  |ONAL jUMPS: (cON|
000062E0: 54 49 4E 55 45 44 29 0D  0D 20 20 6A 4D 50 20 43  |TINUED)..  jMP C|
000062F0: 41 4E 20 55 53 45 20 41  20 53 45 43 4F 4E 44 20  |AN USE A SECOND |
00006300: 41 44 44 52 45 53 53 49  4E 47 20 4D 4F 44 45 3A  |ADDRESSING MODE:|
00006310: 20 49 4E 44 49 52 45 43  54 2E 20 61 4E 20 41 44  | INDIRECT. aN AD|
00006320: 44 52 45 53 53 20 46 52  4F 4D 20 24 30 30 30 30  |DRESS FROM $0000|
00006330: 20 54 4F 20 24 46 46 46  46 49 53 20 54 48 45 20  | TO $FFFFIS THE |
00006340: 4C 4F 43 41 54 49 4F 4E  20 4F 46 20 41 20 54 57  |LOCATION OF A TW|
00006350: 4F 2D 42 59 54 45 20 4E  55 4D 42 45 52 20 20 20  |O-BYTE NUMBER   |
00006360: 20 54 48 41 54 20 49 53  20 54 48 45 20 41 44 44  | THAT IS THE ADD|
00006370: 52 45 53 53 20 4F 46 20  54 48 45 20 4A 55 4D 50  |RESS OF THE JUMP|
00006380: 2E 20 69 54 27 53 20 20  20 4C 49 4B 45 20 49 4E  |. iT'S   LIKE IN|
00006390: 44 49 52 45 43 54 2C 79  2C 20 42 55 54 20 59 4F  |DIRECT,y, BUT YO|
000063A0: 55 20 41 52 45 20 4E 4F  54 20 4C 49 4D 49 54 45  |U ARE NOT LIMITE|
000063B0: 44 54 4F 20 5A 45 52 4F  20 50 41 47 45 20 41 4E  |DTO ZERO PAGE AN|
000063C0: 44 20 4E 4F 20 52 45 47  49 53 54 45 52 53 20 41  |D NO REGISTERS A|
000063D0: 52 45 20 41 44 44 45 44  20 49 4E 2E 20 69 54 20  |RE ADDED IN. iT |
000063E0: 49 53 20 57 52 49 54 54  45 4E 20 4C 49 4B 45 20  |IS WRITTEN LIKE |
000063F0: 22 4A 4D 50 28 24 30 33  30 36 29 22 2E 0D 0D 20  |"JMP($0306)"... |
00006400: 20 74 48 49 53 20 43 41  4E 20 42 45 20 55 53 45  | tHIS CAN BE USE|
00006410: 46 55 4C 20 49 46 20 59  4F 55 20 57 41 4E 54 20  |FUL IF YOU WANT |
00006420: 54 4F 20 4D 4F 56 45 4F  4E 45 20 42 49 54 20 4F  |TO MOVEONE BIT O|
00006430: 46 20 41 20 50 52 4F 47  52 41 4D 20 41 52 4F 55  |F A PROGRAM AROU|
00006440: 4E 44 20 57 49 54 48 4F  55 54 20 20 20 20 20 52  |ND WITHOUT     R|
00006450: 45 57 52 49 54 49 4E 47  20 41 20 4C 4F 54 20 4F  |EWRITING A LOT O|
00006460: 46 20 4A 55 4D 50 53 20  54 4F 20 49 54 2E 20 79  |F JUMPS TO IT. y|
00006470: 4F 55 20 4A 55 53 54 43  48 41 4E 47 45 20 54 48  |OU JUSTCHANGE TH|
00006480: 45 20 54 57 4F 20 42 59  54 45 53 20 54 48 41 54  |E TWO BYTES THAT|
00006490: 20 45 56 45 52 59 54 48  49 4E 47 20 20 20 20 45  | EVERYTHING    E|
000064A0: 4C 53 45 20 4A 55 4D 50  53 20 54 4F 20 49 4E 44  |LSE JUMPS TO IND|
000064B0: 49 52 45 43 54 4C 59 2E  0D 0D BA 20 62 75 74 2E  |IRECTLY.... but.|
000064C0: 2E 2E 4A 4D 50 20 49 4E  44 49 52 45 43 54 20 48  |..JMP INDIRECT H|
000064D0: 41 53 20 41 20 48 41 52  44 57 41 52 45 20 62 75  |AS A HARDWARE bu|
000064E0: 67 2E 6A 4D 50 20 28 24  58 58 46 46 29 20 57 49  |g.jMP ($XXFF) WI|
000064F0: 4C 4C 20 6E 6F 74 20 47  45 54 20 54 48 45 20 41  |LL not GET THE A|
00006500: 44 44 52 45 53 53 20 54  4F 20 4A 55 4D 50 20 54  |DDRESS TO JUMP T|
00006510: 4F 20 46 52 4F 4D 20 24  58 58 46 46 20 41 4E 44  |O FROM $XXFF AND|
00006520: 20 24 59 59 30 30 2C 20  42 55 54 20 46 52 4F 4D  | $YY00, BUT FROM|
00006530: 20 20 24 58 58 46 46 20  41 4E 44 20 24 58 58 30  |  $XXFF AND $XX0|
00006540: 30 21 20 28 59 59 3D 58  58 2B 31 29 20 64 4F 4E  |0! (YY=XX+1) dON|
00006550: 27 54 20 49 47 4E 4F 52  45 20 54 48 49 53 20 55  |'T IGNORE THIS U|
00006560: 53 45 46 55 4C 20 4D 4F  44 45 2C 20 42 55 54 20  |SEFUL MODE, BUT |
00006570: 42 45 20 57 41 52 59 20  4F 46 20 49 54 2E 0D 5E  |BE WARY OF IT..^|
00006580: 0D 0D 20 20 20 20 20 20  20 20 20 20 74 48 45 20  |..          tHE |
00006590: 65 4E 44 20 28 66 4F 52  20 6E 4F 57 29 0D 0D 20  |eND (fOR nOW).. |
000065A0: 20 74 48 49 53 20 49 53  20 49 54 20 46 4F 52 20  | tHIS IS IT FOR |
000065B0: 54 48 49 53 20 4C 45 53  53 4F 4E 2C 20 42 55 54  |THIS LESSON, BUT|
000065C0: 20 43 4F 4D 49 4E 47 55  50 20 49 4E 20 46 55 54  | COMINGUP IN FUT|
000065D0: 55 52 45 20 49 4E 53 54  41 4C 4D 45 4E 54 53 20  |URE INSTALMENTS |
000065E0: 41 52 45 20 4C 4F 54 53  20 4F 46 20 20 20 20 47  |ARE LOTS OF    G|
000065F0: 4F 4F 44 49 45 53 3A 0D  0D 2D 20 6D 4F 52 45 20  |OODIES:..- mORE |
00006600: 6D 6C 20 49 4E 53 54 52  55 43 54 49 4F 4E 53 0D  |ml INSTRUCTIONS.|
00006610: 2D 20 77 48 41 54 20 4B  49 4E 44 20 4F 46 20 54  |- wHAT KIND OF T|
00006620: 48 49 4E 47 53 20 54 4F  20 44 4F 20 49 4E 20 6D  |HINGS TO DO IN m|
00006630: 6C 0D 2D 20 61 43 54 55  41 4C 20 6D 6C 20 50 52  |l.- aCTUAL ml PR|
00006640: 4F 47 52 41 4D 53 0D 2D  20 68 4F 57 20 54 4F 20  |OGRAMS.- hOW TO |
00006650: 55 53 45 20 57 48 41 54  27 53 20 41 4C 52 45 41  |USE WHAT'S ALREA|
00006660: 44 59 20 49 4E 20 62 41  53 49 43 0D 2D 20 68 4F  |DY IN bASIC.- hO|
00006670: 57 20 54 4F 20 55 53 45  20 6B 45 52 4E 41 4C 20  |W TO USE kERNAL |
00006680: 52 4F 55 54 49 4E 45 53  0D 2D 20 68 4F 57 20 54  |ROUTINES.- hOW T|
00006690: 4F 20 57 52 49 54 45 20  52 45 41 4C 4C 59 20 62  |O WRITE REALLY b|
000066A0: 69 67 20 6D 6C 20 50 52  4F 47 52 41 4D 53 0D 2D  |ig ml PROGRAMS.-|
000066B0: 20 69 4E 54 45 52 52 55  50 54 20 52 4F 55 54 49  | iNTERRUPT ROUTI|
000066C0: 4E 45 53 0D 0D 20 20 79  4F 55 20 53 48 4F 55 4C  |NES..  yOU SHOUL|
000066D0: 44 20 4E 4F 57 20 48 41  56 45 20 45 4E 4F 55 47  |D NOW HAVE ENOUG|
000066E0: 48 20 6D 6C 20 55 4E 44  45 52 20 20 20 59 4F 55  |H ml UNDER   YOU|
000066F0: 52 20 42 45 4C 54 20 54  4F 20 57 52 49 54 45 20  |R BELT TO WRITE |
00006700: 53 4F 4D 45 20 50 52 4F  47 52 41 4D 53 20 57 48  |SOME PROGRAMS WH|
00006710: 49 43 48 20 20 41 54 20  4C 45 41 53 54 20 64 6F  |ICH  AT LEAST do|
00006720: 20 53 4F 4D 45 54 48 49  4E 47 2E 20 66 49 44 44  | SOMETHING. fIDD|
00006730: 4C 45 20 57 49 54 48 20  54 48 45 20 20 41 53 53  |LE WITH THE  ASS|
00006740: 45 4D 42 4C 45 52 20 41  4E 44 20 47 45 54 20 41  |EMBLER AND GET A|
00006750: 20 47 52 49 50 20 4F 4E  20 57 48 49 43 48 20 20  | GRIP ON WHICH  |
00006760: 20 20 20 20 20 49 4E 53  54 52 55 43 54 49 4F 4E  |     INSTRUCTION|
00006770: 53 20 54 4F 20 55 53 45  20 54 4F 20 44 4F 20 57  |S TO USE TO DO W|
00006780: 48 41 54 20 54 48 49 4E  47 53 2E 20 20 74 48 45  |HAT THINGS.  tHE|
00006790: 20 4E 45 58 54 20 28 41  4E 44 20 52 45 41 4C 4C  | NEXT (AND REALL|
000067A0: 59 20 54 48 45 20 4C 41  53 54 29 20 50 41 47 45  |Y THE LAST) PAGE|
000067B0: 20 48 41 53 20 53 4F 4D  45 20 49 44 45 41 53 20  | HAS SOME IDEAS |
000067C0: 59 4F 55 20 4D 49 47 48  54 20 54 52 59 20 54 4F  |YOU MIGHT TRY TO|
000067D0: 20 45 58 50 4C 4F 52 45  2E 0D 5E 0D 0D 20 20 20  | EXPLORE..^..   |
000067E0: 20 20 20 20 20 20 20 74  48 49 4E 47 53 20 54 4F  |       tHINGS TO|
000067F0: 20 54 52 59 3A 0D 0D 2D  74 48 45 20 41 52 45 41  | TRY:..-tHE AREA|
00006800: 20 4F 46 20 4D 45 4D 4F  52 59 20 46 52 4F 4D 20  | OF MEMORY FROM |
00006810: 31 30 32 34 20 54 4F 20  32 30 32 33 20 20 20 20  |1024 TO 2023    |
00006820: 28 24 34 30 30 20 54 4F  20 24 37 45 37 29 20 49  |($400 TO $7E7) I|
00006830: 53 20 57 48 41 54 27 53  20 44 49 53 50 4C 41 59  |S WHAT'S DISPLAY|
00006840: 45 44 20 4F 4E 20 20 20  54 48 45 20 53 43 52 45  |ED ON   THE SCRE|
00006850: 45 4E 2E 20 74 52 59 20  57 52 49 54 49 4E 47 20  |EN. tRY WRITING |
00006860: 50 52 4F 47 52 41 4D 53  20 54 4F 20 20 20 20 20  |PROGRAMS TO     |
00006870: 50 4C 41 59 20 57 49 54  48 20 54 48 49 53 20 41  |PLAY WITH THIS A|
00006880: 52 45 41 2E 0D 0D 2D 69  46 20 54 48 45 20 53 43  |REA...-iF THE SC|
00006890: 52 45 45 4E 20 49 53 20  46 55 4C 4C 2C 20 54 52  |REEN IS FULL, TR|
000068A0: 59 20 50 4C 41 59 49 4E  47 20 20 20 20 20 20 57  |Y PLAYING      W|
000068B0: 49 54 48 20 4D 45 4D 4F  52 59 20 46 52 4F 4D 20  |ITH MEMORY FROM |
000068C0: 35 35 32 39 36 20 54 4F  20 35 36 32 39 35 20 28  |55296 TO 56295 (|
000068D0: 24 44 38 30 30 20 20 54  4F 20 24 44 42 45 37 2C  |$D800  TO $DBE7,|
000068E0: 20 57 48 49 43 48 20 43  4F 4E 54 52 4F 4C 53 20  | WHICH CONTROLS |
000068F0: 54 48 45 20 43 4F 4C 4F  55 52 53 20 4F 46 20 54  |THE COLOURS OF T|
00006900: 48 45 20 53 43 52 45 45  4E 20 43 48 41 52 41 43  |HE SCREEN CHARAC|
00006910: 54 45 52 53 2E 0D 0D 2D  61 6C 77 61 79 73 20 6B  |TERS...-always k|
00006920: 65 65 70 20 61 20 63 6F  70 79 20 6F 66 20 6D 6C  |eep a copy of ml|
00006930: 20 70 72 6F 67 72 61 6D  73 20 20 20 20 20 20 20  | programs       |
00006940: 6F 6E 20 64 69 73 6B 20  4F 52 20 53 4F 4D 45 20  |on disk OR SOME |
00006950: 4F 54 48 45 52 20 53 41  46 45 20 50 4C 41 43 45  |OTHER SAFE PLACE|
00006960: 2E 20 6D 6C 20 20 20 20  50 52 4F 47 52 41 4D 53  |. ml    PROGRAMS|
00006970: 20 48 41 56 45 20 41 20  48 41 42 49 54 20 4F 46  | HAVE A HABIT OF|
00006980: 20 4B 49 4C 4C 49 4E 47  20 20 20 20 20 20 20 20  | KILLING        |
00006990: 54 48 45 4D 53 45 4C 56  45 53 20 41 4E 44 20 54  |THEMSELVES AND T|
000069A0: 48 45 20 43 4F 4D 50 55  54 45 52 2E 20 62 45 20  |HE COMPUTER. bE |
000069B0: 52 45 41 44 59 20 20 20  46 4F 52 20 41 20 46 45  |READY   FOR A FE|
000069C0: 57 20 45 41 52 4C 59 20  44 49 53 41 50 50 4F 49  |W EARLY DISAPPOI|
000069D0: 4E 54 4D 45 4E 54 53 2E  0D 0D 2D 72 45 41 44 20  |NTMENTS...-rEAD |
000069E0: 53 4F 4D 45 20 47 4F 4F  44 20 42 4F 4F 4B 53 20  |SOME GOOD BOOKS |
000069F0: 4F 4E 20 54 48 45 20 53  55 42 4A 45 43 54 2E 20  |ON THE SUBJECT. |
00006A00: 20 20 5E 5E 5E 5E 5E 5E  5E 5E 5E                 |  ^^^^^^^^^     |
.5^..  AN INTRODUCTION TO MACHINE LANGUA
GE..  THIS IS THE SECOND IN A SERIES OF 
    TUTORIALS ON MACHINE LANGUAGE. TO MA
KE  SENSE OF IT, YOU WILL NEED TO KNOW.A
BOUT BINARY AND HEXADECIMAL NUMBERS,   T
HE BASICS ABOUT ASSEMBLERS AND         S
OMETHING ABOUT THE REGISTERS OF THE    C
PU...  THIS IS QUITE A DENSE LESSON, AND
 YOU MAY NEED TO READ A SECTION AGAIN TO
     UNDERSTAND IT. ALSO, WHEN THERE IS 
MORE TO COME ON A SUBJECT, READING      
     INFORMATION A BIT FURTHER ON MAY HE
LP TOMAKE INCOMPREHENSIBLE THINGS CLEARE
R...  ANYTHING IN [SQUARE BRACKETS] IS  
    SOMETHING THAT WAS LEFT OUT FOR THE 
SAKEOF CLARITY AND BREVITY. SOMETHING MU
ST  TAKE ITS PLACE IN A REAL PROGRAM..^.
.       A FEW FUNDAMENTALS..  THE BRAIN 
OF THE COMMODORE 64 IS THE  6510 CPU. TH
E INSTRUCTIONS IT USES ARE  IDENTICAL TO
 THOSE OF THE 6502, A VERY  COMMON CHIP.
 THUS, ANYTHING THAT APPLIESTO THE 6502 
APPLIES TO THE 6510 AS WELL..  IN ADDITI
ON TO THE 64K OF EXTERNAL    MEMORY IT C
AN USE, THE 6510 ALSO HAS A  NUMBER OF I
NTERNAL REGISTERS FOR STORINGNUMBERS, EA
CH ONE BYTE LONG:..THE ACCUMULATOR (OR "
A REGISTER") IS THEPRIMARY LOCATION FOR 
PROCESSING DATA...THE X AND Y REGISTERS 
ARE EXTRA,        LIMITED-USE, STORAGE L
OCATIONS...THE SP,PC AND P REGISTERS ARE
 MORE      COMPLEX AND CAN'T BE DISCUSSE
D HERE..^..  THE FIRST GROUP OF INSTRUCT
IONS TO    LEARN IS THE NUMBER-MOVING SE
T. THE     SIMPLEST OF THESE ARE EXPLAIN
ED BELOW:..     BASIC.ML EQUIVALENT  EXP
LANATION.TAX   X=A   "TRANSFER ACCUMULAT
OR TO                 X REGISTER".TXA   
A=X   "TRANSFER X REGISTER TO           
       ACCUMULATOR".TAY   Y=A   "TRANSFE
R ACCUMULATOR TO                 Y REGIS
TER".TYA   A=Y   "TRANSFER Y REGISTER TO
                  ACCUMULATOR"..  AS YOU
 CAN SEE, THE CRYPTIC ML SYMBOLSARE ACTU
ALLY COMPREHENSIBLE, AND THE    INSTRUCT
IONS ACTUALLY DO USEFUL THINGS...  EACH 
OF THESE INSTRUCTIONS IS ONE BYTELONG AN
D TAKES 2E-6 SECONDS TO EXECUTE..^..  TH
E NEXT SET OF INSTRUCTIONS IS MORE  COMP
LEX AND MOVES DATA TO AND FROM      MEMO
RY. THEY ARE AS FOLLOWS:..ML      EXPLAN
ATION.LDA   "LOAD ACCUMULATOR".LDX   "LO
AD X REGISTER".LDY   "LOAD Y REGISTER".S
TA   "STORE ACCUMULATOR".STX   "STORE X 
REGISTER".STY   "STORE Y REGISTER"..  EA
CH OF THESE MUST BE FOLLOWED BY     A NU
MBER WHICH INDICATES THE DATA'S     SOUR
CE (FOR A LOAD COMMAND) OR          DEST
INATION (FOR A STORE COMMAND)...  THE CO
MPLEXITY ARISES BECAUSE MEMORY  CAN BE A
CCESSED USING A VARIETY OF      "ADDRESS
ING MODES", IN WHICH THE NUMBER REFERS T
O DIFFERENT THINGS..^..          ADDRESS
ING MODES...  IMMEDIATE MODE:..  THIS MO
DE SIMPLY MOVES THE NUMBER INTOA REGISTE
R. IT IS INDICATED BY A "#"    PRECEDING
 THE NUMBER. ..E.G. LDA #45   PUTS THE N
UMBER 45 INTO                 THE ACCUMU
LATOR..     IN BASIC, A=45..  THIS MODE 
CANNOT BE USED WITH STORE   INSTRUCTIONS
. YOU CANNOT PUT THE        ACCUMULATOR 
INTO THE NUMBER 45...  INSTRUCTIONS USIN
G THIS MODE USE 2    BYTES OF MEMORY AND
 TAKE 2E-6 SECONDS   TO EXECUTE..^..  AB
SOLUTE MODE:..  THIS MODE MOVES DATA BET
WEEN A        REGISTER AND A GIVEN MEMOR
Y LOCATION.   NO SPECIAL SYMBOLS ARE USE
D...E.G. LDX 1024  PUTS THE CONTENTS OF 
                   MEMORY ADDRESS 1024 I
NTO                THE X REGISTER..     
IN BASIC, X=PEEK(1024)..     STA $D020 P
UTS THE CONTENTS OF THE                A
CCUMULATOR INTO MEMORY                 A
DDRESS $D020..     IN BASIC, POKE 53280,
A..  BOTH LOAD AND STORE INSTRUCTIONS MA
Y  USE THIS MODE...  ABSOLUTE MODE INSTR
UCTIONS ARE 3 BYTESLONG AND TAKE 4E-6 SE
CONDS TO EXECUTE..^..       A NOTE ON ZE
RO PAGE..  THE LOWEST 256 BYTES OF MEMOR
Y ($0000-$00FF) ARE USED IN SPECIAL WAYS
 BY THE  6510 CHIP. THIS REGION IS CALLE
D "ZERO  PAGE" AND SPECIAL ZERO PAGE ADD
RESSING  MODES MAKE THIS AREA MORE VERSA
TILE THANOTHER REGIONS OF MEMORY...  DUE
 TO ITS USEFULNESS, THE BASIC      INTER
PRETER MAKES HEAVY USE OF THIS     AREA.
 YOU MUST FIND AREAS TO USE WHICH  WILL 
NOT INTERFERE WITH ITS WORKING IF  THIS 
CONCERNS YOUR PROGRAM...  THE AREAS $FB-
$FE AND $02-$06 ARE     GUARANTEED SAFE.
 ALSO,$92,$96,$9B-$9C,  $9E-$9F,$A5-$A6,
$B0-$B3,$BE-$BF AND $C3-$C4 ARE AVAILABL
E IF THE CASSETTE PLAYERIS NOT BEING USE
D. MANY OTHER AREAS ARE AVAILABLE FOR TE
MPORARY WORK..^..  ZERO PAGE MODE:..  TH
IS MODE IS IDENTICAL TO ABSOLUTE    MODE
 EXCEPT FOR TAKING LESS MEMORY      SPAC
E AND EXECUTING FASTER...  MOST ASSEMBLE
RS USE ZERO PAGE MODE    WHENEVER APPLIC
ABLE, SO IT IS WRITTEN   EXACTLY LIKE AB
SOLUTE MODE...E.G. STY $FC   STORES THE 
CONTENTS OF                  THE Y REGIS
TER IN MEMORY                LOCATION $F
C.     IN BASIC, POKE 252,Y...  LDA, LDX
, LDY, STA, STX AND STY MAY   ALL USE ZE
RO PAGE MODE...  ZERO PAGE MODE INSTRUCT
IONS ARE 2     BYTES LONG AND TAKE 3E-6 
SECONDS TO     EXECUTE..^.. "ABSOLUTE,X"
 AND "ABSOLUTE,Y" MODES:..  THESE MODES 
ARE SIMILAR TO ABSOLUTE   MODE, BUT THE 
X OR Y REGISTER, AS       APPLICABLE, IS
 ADDED TO THE ADDRESS     GIVEN, BEFORE 
FETCHING ITS CONTENTS.    THEY ARE WRITT
EN LIKE ABSOLUTE MODE BUT FOLLOWED BY ",
X" OR ",Y"...E.G. LDY 512,X PUTS THE CON
TENTS OF                    MEMORY LOCAT
ION (512+X)                 INTO THE Y R
EGISTER..     IN BASIC, Y=PEEK(512+X).. 
 THE Y REGISTER CANNOT USE THE         A
BSOLUTE,Y MODE AND THE X REGISTER      C
ANNOT USE THE ABSOLUTE,X MODE...  THESE 
INSTRUCTIONS ARE 3 BYTES LONG   AND TAKE
 4E-6 OR 5E-6 SECONDS TO        EXECUTE,
 DEPENDING ON THE VALUES USED..^.. "ZERO
 PAGE,X" MODE:..  THIS MODE IS SIMILAR T
O THE ABSOLUTE,XMODE BUT A ZERO PAGE ADD
RESS IS USED...  MOST ASSEMBLERS USE ZER
O PAGE,X MODE  WHENEVER APPLICABLE, SO I
T IS WRITTEN   EXACTLY LIKE ABSOLUTE,X M
ODE...* AN IMPORTANT NOTE: IF THE ADDITI
ON    PRODUCES A RESULT GREATER THAN $FF
, IT  CONTINUES COUNTING AT $00, NOT $10
0..E.G. STA $FD,X PUTS THE CONTENTS OF T
HE                ACCUMULATOR INTO MEMOR
Y                 LOCATION ($FD+X).     
IN BASIC, POKE(253+X),A..* NOTE: IF X IS
 $10, THE ACCUMULATOR    WILL BE STORED 
IN $0D, NOT $10D...          (MORE ON NE
XT PAGE).^.. "ZERO PAGE,X" MODE:  (CONTI
NUED)..  LDX AND STX CANNOT USE THE ZERO
 PAGE,XMODE, BUT CAN USE A UNIQUE ZERO P
AGE,Y  MODE, WHICH OPERATES SIMILARLY...
  ZERO PAGE,X MODE INSTRUCTIONS ARE 2   
BYTES LONG AND TAKE 4E-6 SECONDS TO     
EXECUTE...  "INDEXED" (ABSOLUTE,X; ABSOL
UTE,Y; AND ZERO PAGE,X MODE) INSTRUCTION
S ARE     OFTEN USED TO MOVE BLOCKS OF M
EMORY     ABOUT, BY EXECUTING "LDA [SOUR
CE AREA],XSTA [DESTINATION AREA],X"  REP
EATEDLY   WITH A RANGE OF VALUES FOR X..
. [FOR THE CURIOUS: ABSOLUTE,X AND ,Y   
 MODE INSTRUCTIONS TAKE LONGER WHEN THE 
 ADDITION CAUSES A PAGE BOUNDARY (FROM  
 $XXFF TO $YY00) TO BE CROSSED.].^..  HE
RE IS AN EXAMPLE PROGRAM TO MOVE A  SCRE
ENFUL OF INFORMATION FROM 49152-    5015
1 TO 1024-2023, THE LOCATION OF THE VIDE
O SCREEN IN MEMORY. SOME INSTRUCT-  IONS
 HAVE NOT YET BEEN DESCRIBED...     LDX 
#250    ;INITIALIZE X TO 250.LOOP DEX   
      ;DECREMENT X (X=X-1).     LDA 4915
2,X ;LOAD FROM 1ST QUARTER.     STA 1024
,X  ;STORE TO 1ST QUARTER.     LDA 49402
,X ;LOAD FROM 2ND QUARTER.     STA 1274,
X  ;STORE TO 2ND QUARTER.     LDA 49652,
X ;LOAD FROM 3RD QUARTER.     STA 1524,X
  ;STORE TO 3RD QUARTER.     LDA 49902,X
 ;LOAD FROM 4TH QUARTER.     STA 1774,X 
 ;STORE TO 4TH QUARTER.     CPX #0      
;.     BNE LOOP    ;IF X<>0 GOTO LOOP.. 
 BECAUSE THE X REGISTER'S VALUE CANNOT B
E GREATER THAN 255 ($FF), THE VIDEO    S
CREEN IS COPIED IN 4 250-BYTE QUARTERS.^
.. "INDIRECT,Y" MODE:..  THIS ADDRESSING
 MODE SEEMS PECULIAR,  BUT IS EXTREMELY 
USEFUL. IT IS SIMILAR  TO THE ABSOLUTE,Y
 ADDRESSING MODE, BUT  THE NUMBER TO WHI
CH THE Y REGISTER IS   ADDED, INSTEAD OF
 BEING FIXED AT THE    TIME OF WRITING (
E.G. STX $400,Y), IS   TAKEN FROM A ZERO
 PAGE ADDRESS, WHICH ISSPECIFIED IN THE 
INSTRUCTION...  BECAUSE ADDRESSES (SAY, 
$07F8) ARE 16 BITS LONG AND ONE MEMORY L
OCATION CAN   ONLY HOLD 8 BITS, THEY ARE
 STORED IN TWOMEMORY LOCATIONS. THE ORDE
R IS NOT $07  THEN $F8, BUT THE OTHER WA
Y AROUND. THE ZERO PAGE LOCATION HOLDS T
HE LAST HALF  OF THE SECOND STAGE ADDRES
S ($F8) AND   THE NEXT LOCATION IN ZERO 
PAGE (LOCATION+1) HOLDS THE FIRST HALF (
$07)...          (MORE ON NEXT PAGE).^..
 "INDIRECT,Y" MODE:  (CONTINUED)..  THE 
INDIRECT,Y MODE IS WRITTEN WITH   THE ZE
RO PAGE ADDRESS ENCLOSED IN       PARENT
HESES AND FOLLOWED BY ",Y"...E.G. LOCATI
ON $02 CONTAINS $F8.              LOCATI
ON $03 CONTAINS $07.              THE Y 
REGISTER CONTAINS 2...     LDA($02),Y LO
ADS THE ACCUMULATOR                   FR
OM THE ADDRESS $07FA,                 GI
VEN BY THE SUM OF THE                 VA
LUE IN LOCATIONS $02                  TO
 $03 ($07F8) AND THE Y                RE
GISTER ($02)...  THE INDIRECT,Y ADDRESSI
NG MODE CANNOT BE USED BY THE LDY OR STY
 INSTRUCTIONS....          (MORE ON NEXT
 PAGE).^.. "INDIRECT,Y" MODE:  (CONTINUE
D)..  INDIRECT,Y MODE INSTRUCTIONS ARE 2
    BYTES LONG AND TAKE 5E-6 OR 6E-6 SEC
ONDSTO EXECUTE, DEPENDING ON THE VALUES 
OF  THE Y REGISTER AND THE ZERO PAGE    
    LOCATION...  THIS MODE IS USED LIKE 
THE ABSOLUTE,Y AND ,X MODES TO MOVE BLOC
KS OF MEMORY   ABOUT, BUT THE AREAS AFFE
CTED CAN BE    CHANGED BY PUTTING NEW VA
LUES INTO THE  ZERO PAGE LOCATIONS REFER
ENCED, RATHER  THAN REWRITING THE PROGRA
M...* TO REPEAT: YOU GIVE THE CPU A ZERO
    PAGE ADDRESS. FROM THE TWO BYTES    
    STARTING AT THIS ADDRESS, A NUMBER  
    IS FETCHED AND THE Y REGISTER IS ADD
ED  TO IT. THIS RESULTANT NUMBER IS THE 
    ADDRESS LOADED FROM OR STORED TO..^.
. "INDIRECT,X" MODE:..  THE NAME IS DECE
IVING. THE INDIRECT,X ADDRESSING MODE IS
 QUITE DIFFERENT FROM THE INDIRECT, Y AD
DRESSING MODE.        AS THIS MODE IS VE
RY RARELY USED, IT    WILL BE COVERED ON
LY BRIEFLY...  INSTEAD OF FETCHING AN AD
DRESS FROM   ZERO PAGE AND ADDING A REGI
STER TO THIS SECOND ADDRESS, IN THE INDI
RECT,X MODE  THE X REGISTER IS ADDED TO 
THE ZERO PAGEADDRESS BEFORE FETCHING. NO
THING IS     DONE TO THE NUMBER FETCHED.
 IT IS USED  AS THE ADDRESS WHICH IS LOA
DED FROM OR  STORED TO...  INDIRECT,X IN
STRUCTIONS ARE WRITTEN   IN THE FORM "ST
A($FB,X)" WITH THE ",X"  INSIDE THE PARE
NTHESES, TAKE 2 BYTES OF MEMORY AND TAKE
 6E-6 SECONDS TO EXECUTE.^..     A NOTE 
ON THE STATUS REGISTER..  THE PROCESSOR 
STATUS REGISTER, (OR "P REGISTER"), IS A
N 8-BIT REGISTER WHOSE  VARIOUS BITS (CA
LLED "FLAGS") KEEP TRACKOF THE CURRENT S
TATE OF THE CPU AND THE CONTENTS OF ITS 
REGISTERS...  VARIOUS INSTRUCTIONS SET T
HE BITS IN  DIFFERENT WAYS. THE STORE IN
STRUCTIONS  DO NOT AFFECT ANY BITS. THE 
OTHER       NUMBER-MOVING INSTRUCTIONS C
OVERED SO   FAR ALL AFFECT THE "N" BIT, 
SETTING IT  TO 1 IF THE NUMBER BEING MOV
ED IS       NEGATIVE (MORE ON THIS LATER
), AND THE  "Z" BIT, SETTING IT IF THE N
UMBER IS    ZERO. WHILE IT IS VERY IMPOR
TANT TO KNOWHOW VARIOUS INSTRUCTIONS SET
 THE FLAGS, THE EFFECTS OF MOST INSTRUCT
IONS FOLLOW COMMONSENSE RULES...        
  (MORE ON NEXT PAGE).^..     A LIST OF 
THE STATUS FLAGS..COLUMN  NAME.    SYMBO
L       FUNCTION.  1) C CARRY FLAG-THIS 
BIT CONTAINS THE      0 OR 1 CARRIED FRO
M THE LEFTMOST        COLUMN OF A BINARY
 ADDITION TO THE      NON-EXISTENT NEXT 
ONE. ALSO, SET        MEANS "NO BORROW" 
IN A SUBTRACTION.  2) Z ZERO FLAG-IS SET
 WHEN THE NUMBER      UNDER CONSIDERATIO
N IS ZERO..  4) I INTERRUPT FLAG-USED IN
 ADVANCED       FUNCTIONS, THIS BIT SHOU
LD ALWAYS       BE KEPT CLEAR (0) IN YOU
R PROGRAMS.  8) D DECIMAL FLAG-CAUSES AD
DITION          AND SUBTRACTION INSTRUCT
IONS TO ACT     AS IF $09+$01=$10. IT LO
OKS LIKE        DECIMAL, BUT IS STORED A
S HEX. KEEP     CLEARED (0) UNTIL YOU'RE
 SURE YOU       KNOW WHAT YOU'RE DOING..
.          (MORE ON NEXT PAGE).^..  A LI
ST OF THE STATUS FLAGS (CONTINUED).COLUM
N  NAME.   SYMBOL          FUNCTION.. 16
) B BREAK FLAG-USED IN ADVANCED         
  FUNCTIONS, THIS BIT IS SET WHEN       
  A BREAK INSTRUCTION HAS HALTED A      
  PROGRAM.. 32) 1 UNUSED FLAG-THIS BIT I
S ALWAYS        SET TO ONE, AND CANNOT B
E CLEARED.. 64) V OVERFLOW FLAG-THIS BIT
 IS THE         EQUIVALENT OF THE CARRY 
FLAG FOR        THE ADDITION OF SIGNED (
PLUS AND        MINUS) NUMBERS. DETAILS 
LATER..128) N NEGATIVE FLAG-IS SET WHEN 
THE         NUMBER UNDER CONSIDERATION I
S           NEGATIVE. MORE ON THIS SHORT
LY...  ONLY THE FLAGS' EXISTENCE IS IMPO
RTANTTO REMEMBER FOR THE TIME BEING..^..
       ARITHMETIC INSTRUCTIONS..  THE NE
XT SET OF INSTRUCTIONS DOES WHATCOMPUTER
S ARE SUPPOSED TO DO: ADDITION  AND SUBT
RACTION. THE INSTRUCTIONS ARE   AS FOLLO
WS:..ADC   "ADD WITH CARRY".SBC   "SUBTR
ACT WITH CARRY"..  THESE TWO INSTRUCTION
S ARE SOMEWHAT   SIMILAR TO LDA IN THAT 
THEY CAN USE ALL THE SAME ADDRESSING MOD
ES, TAKE AS MUCH TIME AND SPACE, AND USE
 THE ACCUMULATOR;BUT INSTEAD OF LOADING 
A NUMBER INTO THEACCUMULATOR, THEY ADD I
T TO OR SUBTRACT IT FROM THE NUMBER ALRE
ADY THERE...* DON'T FORGET THAT SBC SUBT
RACTS FROM  THE NUMBER ALREADY IN THE AC
CUMULATOR...          (MORE ON NEXT PAGE
).^..  ARITHMETIC INSTRUCTIONS (CONTINUE
D)..  BUT SAY YOU WANT TO ADD TWO NUMBER
S   LARGER THAN ONE BYTE, THE LIMIT OF T
HE  ACCUMULATOR. WHAT THEN? TO KEEP TRAC
K OFCARRIES DONE FROM ONE BYTE INTO ANOT
HER,THE 6510 HAS A CARRY FLAG, WHICH HOL
DS  THE 0 OR 1 TO BE CARRIED. THE ADC AD
DS  THE CARRY FLAG'S VALUE INTO THE RIGH
T   COLUMN OF THE ADDITION IT'S PERFORMI
NG. SO IF WE WANT TO ADD TWO 16-BIT NUMB
ERS,HERE'S THE PROCEDURE:..LDA [ADDRESS:
LAST 8 BITS OF SOURCE 1].ADC [ADDRESS:LA
ST 8 BITS OF SOURCE 2].STA [ADDRESS:LAST
 8 BITS OF DESTINATION] ; IF SOURCE 1+SO
URCE 2>$FF THEN C=1.LDA [ADDRESS:FIRST 8
 BITS OF SOURCE 1].ADC [ADDRESS:FIRST 8 
BITS OF SOURCE 2].STA [ADDRESS:FIRST 8 B
ITS OF DEST.]..          (MORE ON NEXT P
AGE).^..  ARITHMETIC INSTRUCTIONS (CONTI
NUED)..  EXAMPLE:           CARRY.      
                FLAG.INTERNAL           
1 <<<<< 1.CARRIES:         11          1
    1.SOURCE 1   %01100111         11000
110   SOURCE 2 + %10000110         11100
011              -----------------------
---              %11101110      (1)10101
001..            STEP 2           STEP 1
..  THE RIGHT-HAND ADDITION (WHICH IS   
  PERFORMED FIRST) HAS A CARRY FROM THE 
  128'S COLUMN INTO THE 256'S COLUMN,   
  WHICH UNFORTUNATELY DOESN'T EXIST. SO 
  THE BIT IS PUT INTO THE CARRY FLAG, AN
D ADDED INTO THE NEXT ADDITION. IF THE  
  SECOND ADDITION REQUIRED A CARRY, IT  
  WOULD BE PUT INTO THE CARRY FLAG IN   
  TURN. AS IS, 0 IS PUT THERE..^..  ARIT
HMETIC INSTRUCTIONS (CONTINUED)..* IF TH
E C FLAG IS SET BEFORE THE FIRST ADDITIO
N, THE ADC WILL ADD 1 TO THE SUM - A MIS
TAKE. YOU MUST GUARANTEE THE     CARRY I
S ZERO BY ADDING A CLC (CLEAR    CARRY) 
INSTRUCTION TO THE BEGINNING OF  THE ROU
TINE. THIS IS A 1-BYTE           INSTRUC
TION THAT TAKES 2E-6 SECONDS TO.EXECUTE.
..  IF YOU PREFER, THE CARRY FLAG CAN BE
  THOUGHT OF AS AN EXTRA 256'S COLUMN IN
  THE ADDITION PROCESS. ..  THE CARRY FL
AG IS USED TWICE IN ANY   8 BIT ADDITION
. FIRST TO HOLD THE NUMBERTO BE CARRIED 
INTO THE ADDITION AND THENTO HOLD THE NU
MBER TO BE CARRIED OUT...          (MORE
 ON NEXT PAGE).^..  ARITHMETIC INSTRUCTI
ONS (CONTINUED)... SBC USES THE CARRY FL
AG SIMILARLY, BUTTHE FLAG IS SET TO 0 WH
EN A "BORROW" IS DONE FROM THE NON-EXIST
ENT 256'S COLUMN,AND 1 OTHERWISE. SBC AL
SO SUBTRACTS ONE FROM THE RESULT IT IS C
OMPUTING IF THE  CARRY WAS CLEAR BEFORE 
THE INSTRUCTION, INDICATING A BORROW FRO
M THE BYTE BEING COMPUTED. TO ASSURE THE
 FIRST SBC       DOESN'T DO THIS WHEN YO
U DON'T WANT IT  TO, ALWAYS USE SEC (SET
 CARRY) BEFORE A SUBTRACTION OPERATION..
.  AT THIS POINT IT IS PRUDENT TO DISCUS
SA POINT MENTIONED PREVIOUSLY ONLY IN   
 PASSING: NEGATIVE NUMBERS. AS THERE IS 
 NO SUCH THING AS A MINUS SIGN IN A BYTE
,YOU HAVE TO LET SOME POSITIVE NUMBERS  
 STAND FOR NEGATIVE ONES...          (MO
RE ON NEXT PAGE).^..  ARITHMETIC INSTRUC
TIONS (CONTINUED)..  THIS ISN'T REALLY T
HAT HARD. IF YOU   REWIND A TAPE YOU SOM
ETIMES SEE THE     COUNTER GOING ...002,
001,000,999,998....IN THIS SYSTEM, 999 R
EALLY MEANS -1 (ONETURN BEFORE 000). WHE
N PROGRAMMING THE  6510, THE SAME SYSTEM
 IS USED IF YOU    NEED TO USE NEGATIVE 
NUMBERS. 255 (OR   $FF OR %11111111) REA
LLY MEANS -1.  254 ($FE) REALLY MEANS -2
,  253 ($FD) REALLYMEANS -3, ETC...  YOU
 DO, HOWEVER, HAVE TO REMEMBER IF  THE N
UMBER YOU'RE WORKING WITH IS ONE   THAT 
USES THE REGULAR NUMBER SYSTEM (0- 255) 
OR IF IT USES THE SIGNED NUMBER    SYSTE
M, CALLED "TWOS COMPLEMENT", AND   255 R
EALLY MEANS -1, ETC...    (MORE ON NEXT 
PAGE).^..  ARITHMETIC INSTRUCTIONS (CONT
INUED)..  TO SEE THE USEFULNESS OF THIS 
METHOD, CONSIDER ADDING 1 TO THE ONE-BYT
E VALUE -1 ($FF) USING ADC. THIS LEAVES 
$00 IN  THE ACCUMULATOR, THE ANSWER YOU 
WANT. ITALSO LEAVES THE CARRY FLAG SET, 
WHICH   YOU MUST IGNORE. THE 6510 DOESN'
T KNOW  IF THE NUMBERS YOU ARE ADDING AR
E SIGNEDOR NOT. THAT'S THE PROGRAMMER'S 
JOB. IT JUST SETS THE CARRY FLAG BECAUSE
        UNSIGNED NUMBERS WOULD NEED THE 
FLAG...  IF YOU WANT TO KNOW IF THE RESU
LT OF ASIGNED ADDITION OR SUBTRACTION IS
 OUT OFRANGE, YOU MUST LOOK AT THE V FLA
G,     WHICH THE 6510 SETS IF THIS IS TH
E CASE.AGAIN, IT DOESN'T KNOW IF THE NUM
BERS   REALLY ARE SIGNED, SO IF THEY ARE
N'T,   YOU MUST REMEMBER TO IGNORE THIS 
FLAG...          (MORE ON NEXT PAGE).^..
  ARITHMETIC INSTRUCTIONS (CONTINUED).. 
 SO...THE 6510 SETS THE CARRY FLAG AS  I
F YOU ARE USING UNSIGNED NUMBERS.      A
T THE SAME TIME, IT SETS THE OVERFLOW  (
V) FLAG AS IF YOU ARE USING SIGNED     N
UMBERS. IT'S YOUR JOB TO LOOK AT THE   R
IGHT FLAG IN A GIVEN SITUATION...  ACTUA
LLY, THIS JOB OF YOURS ISN'T VERYHARD. T
HINK OF HOW EASY IT IS TO        REMEMBE
R IF A GIVEN BASIC VARIABLE IS A STRING 
OR A NUMERICAL VARIABLE. ..  ONE LAST PR
OBLEM: WHAT HAPPENS WHEN   THE POSITIVE 
NUMBERS, GOING UP FROM 0,  MEET THE NEGA
TIVES, GOING DOWN FROM 255?THE PLACE WHE
RE THIS HAPPENS IS BETWEEN 127 AND 128 (
WHICH REALLY MEANS -128)...          (MO
RE ON NEXT PAGE).^..  ARITHMETIC INSTRUC
TIONS (CONTINUED)..  THE REASON FOR THIS
 CHOICE IS THAT 127IS %01111111 IN BINAR
Y, AND 128 (REALLY -128) IS %10000000. T
HUS, ALL THE       NEGATIVE NUMBERS ($80
 AND UP) HAVE THE  BIT IN THE 128'S COLU
MN SET, WHILE ALL  THE POSITIVES AND ZER
O ($7F AND DOWN)   HAVE IT CLEAR - A SIM
PLE DISTINCTION...  THE 6510 SETS THE N 
(NEGATIVE) FLAG   DEPENDING ON THIS BIT,
 TO MAKE TELLING  THE DIFFERENCE BETWEEN
 POSITIVE AND     NEGATIVE NUMBERS EASIE
R...  IN A SIMILAR WAY, TWO-BYTE SIGNED 
    NUMBERS RANGE FROM %10000000 0000000
0   OR $8000 (-32768) TO %01111111 11111
111 OR $7FFF (32767), WITH THE LEFTMOST 
BIT TELLING THE DIFFERENCE BETWEEN SIGNS
.   ^..      CONDITIONAL BRANCHES:..  IN
 BASIC, A CONDITIONAL BRANCH IS OF  THE 
FORM "IF X=0 THEN X=X+1". IF X<>0   THE 
PROGRAM BRANCHES AROUND "X=X+1".    THE 
WAY THE 6510 (AND MOST CPU'S) WORK  IS R
ATHER DIFFERENT. INSTEAD OF USING   ONE 
SPECIAL INSTRUCTION TO DO BOTH THE  TEST
ING AND BRANCHING, THE EFFECTS OF   OTHE
R INSTRUCTIONS ON THE FLAGS DO THE  TEST
ING AND A SMALL GROUP OF            INST
RUCTIONS BRANCH CONDITIONALLY       DEPE
NDING ON THE STATES OF THE FLAGS...  ALL
 THE 6510'S CONDITIONAL BRANCHES   USE T
HE RELATIVE ADDRESSING MODE TO     IDENT
IFY THE BRANCH'S DESTINATION. A    SIGNE
D 8-BIT VALUE INDICATES HOW MANY   BYTES
 FORWARDS OR BACK TO JUMP. A ZERO  GIVES
 THE SAME RESULT AS NOT JUMPING...      
    (MORE ON NEXT PAGE).^.  CONDITIONAL 
BRANCHES: (CONTINUED)..  HERE ARE THE 8 
CONDITIONAL BRANCHES:..ML      MEANING.B
CC   "BRANCH IF CARRY CLEAR" OBVIOUS..BC
S   "BRANCH IF CARRY SET" OBVIOUS..BEQ  
 "BRANCH IF EQUAL" BRANCH IF THE Z      
 FLAG IS SET. THE REASON FOR THE        
 NAME COMES A BIT LATER..BNE   "BRANCH I
F NOT EQUAL" BRANCH IF         THE Z FLA
G IS CLEAR..BMI   "BRANCH IF MINUS" BRAN
CH IF THE N       (NEGATIVE) FLAG IS SET
..BPL   "BRANCH IF PLUS" BRANCH IF THE N
        FLAG IS CLEAR..BVS   "BRANCH IF 
OVERFLOW SET" BRANCH IF      THE V FLAG 
IS SET..BVC   "BRANCH IF OVERFLOW CLEAR"
 BRANCH       IF THE V FLAG IS CLEAR... 
         (MORE ON NEXT PAGE).^..  CONDIT
IONAL BRANCHES: (CONTINUED)..  ONE POINT
 WORTH REPEATING IS HOW THE  RELATIVE AD
DRESSING MODE WORKS.         THE BRANCH 
INSTRUCTIONS USE A ONE BYTE  SIGNED VALU
E (THAT IS, FROM -128 TO 127)TO INDICATE
 HOW FAR TO BRANCH FROM THE  CURRENT POS
ITION. IF YOU GIVE A BRANCH  INSTRUCTION
 A VALUE OF 0, YOU ARE BRANCHING TO THE 
INSTRUCTION JUST PAST THE    BRANCH INST
RUCTION - WHERE THE CPU      CONTINUES I
F THE BRANCH ISN'T TAKEN...  THE REASON 
FOR THIS 1-BYTE OFFSET IS  THAT CONDITIO
NAL BRANCHES TEND TO BE    SHORT, AND TH
IS SAVES MEMORY SPACE OVER A SYSTEM WHER
E THE WHOLE 2-BYTE TARGET  OF THE BRANCH
 MUST BE SPECIFIED...          (MORE ON 
NEXT PAGE).^..  CONDITIONAL BRANCHES: (C
ONTINUED)..  ASSEMBLERS NORMALLY DO THE 
JOB OF     COUNTING BYTES FROM THE CURRE
NT ADDRESS FOR RELATIVE BRANCHES FOR YOU
. YOU JUST GIVE THE ASSEMBLER THE ADDRES
S (OR THE  LABEL) YOU WISH TO BRANCH TO,
 AND IT    DOES THE REST...             
      BASIC.      ML         EQUIVALENT.
E.G. BVS LABEL  IF V=1 GOTO LABEL.     B
NE $C203  IF Z=0 GOTO $C203.     BMI TES
T   IF N=1 GOTO TEST.     BCC 49357  IF 
C=0 GOTO 49357..  CONDITIONAL BRANCHES A
RE 2 BYTES LONG AND TAKE 2E-6 SECONDS TO
 EXECUTE, +1E-6 SECOND IF THE BRANCH IS 
TAKEN, +1E-6    SECOND IF THE BRANCH CRO
SSES A PAGE     BOUNDARY (THE $XXFF TO $
YY00 GAP)..^..   A SPECIAL INSTRUCTION:.
.  THERE IS ONE INSTRUCTION SPECIALLY   
 DESIGNED TO WORK WITH THE BRANCH       
 INSTRUCTIONS: CMP. ("COMPARE")..  CMP D
OES ITS WORK BY PERFORMING SBC'S FUNCTIO
NS (SETTING THE C, Z AND N FLAGS DEPENDI
NG ON THE SUBTRACTION'S RESULTS) EXCEPT:
..  1) CMP IGNORES THE CARRY FLAG - IT  
       BEHAVES AS IF CARRY IS ALWAYS SET
..  2) CMP DOES NOT AFFECT THE V FLAG...
 3) CMP DOES NOT AFFECT THE VALUE IN    
    THE ACCUMULATOR - ONLY THE FLAGS... 
 THIS LAST IS VERY IMPORTANT, AS IT    A
LLOWS A NUMBER TO BE COMPARED          R
EPEATEDLY, WITH SEVERAL OTHER VALUES... 
         (MORE ON NEXT PAGE).^..  A SPEC
IAL INSTRUCTION: (CONTINUED)..  YOU WILL
 FIND CMP BEING USED A LOT IN ML PROGRAM
S, ESPECIALLY IN THE IMMEDIATEMODE. IT C
AN, HOWEVER, USE ANY OF THE   ADDRESSING
 MODES AVAILABLE TO LDA...  BECAUSE THE 
MOST COMMON WAY THE Z FLAGIS SET IS BY A
 COMPARISON WITH A NUMBER EQUAL TO THAT 
IN THE ACCUMULATOR, THE   INSTRUCTION TH
AT BRANCHES IF THE Z FLAG IS SET IS CALL
ED BEQ (BRANCH IF EQUAL)  AND NOT, SAY, 
BRZ (BRANCH IF ZERO). THE SAME LOGIC APP
LIES TO BNE (NOT EQUAL)...  ANOTHER COMM
ON USE OF CMP IS TO TEST  WHICH OF TWO N
UMBERS IS GREATER.        REMEMBER THAT 
TAKING A GREATER NUMBER   FROM A LESSER 
LEAVES THE CARRY CLEAR..OTHERWISE, THE C
ARRY FLAG IS SET...          (MORE ON NE
XT PAGE).^..  A SPECIAL INSTRUCTION: (CO
NTINUED)..EXAMPLE:  A SAMPLE INPUT ROUTI
NE.         -ACCEPTS ONLY NUMBERS, <RETU
RN>          AND <DELETE>..GET JSR $FFCF
 ;THIS GETS A CHARACTER'S               
 ;ASCII FROM THE KEYBOARD               
 ;INTO THE ACCUMULATOR.    CMP #13   ;CH
R$(13)=<RETURN>.    BNE A1    ;IF NOT EQ
UAL, GO ON.    [WHAT TO DO IN CASE OF A 
RETURN].A1  CMP #20   ;CHR$(20)=<DELETE>
.    BNE A2    ;IF NOT EQUAL, GO ON.    
[WHAT TO DO IN CASE OF A DELETE].A2  CMP
 #48   ;CHR$(48)="0".    BCC GET   ;IF A
<48,REPEAT LOOP.    CMP #58   ;CHR$(57)=
"9".    BCS GET   ;IF A>=58, REPEAT LOOP
.    [WHAT TO DO WITH A NUMBER KEY]..   
       (MORE ON NEXT PAGE).^..  A SPECIA
L INSTRUCTION: (CONTINUED)..  BE CAREFUL
 WITH BCC AND BCS AFTER A   COMPARE. THE
Y'RE EASY TO MIX UP..  BCC BRANCHES IF T
HE NUMBER IN THE     ACCUMULATOR IS LESS
 THAN THE NUMBER IT  IS BEING COMPARED T
O..  BCS BRANCHES IF THE NUMBER IN THE  
   ACCUMULATOR IS GREATER THAN OR EQUAL 
TO THE NUMBER IT IS BEING COMPARED TO...
  A CMP INSTRUCTION TAKES AS MUCH TIME  
AND MEMORY AS THE EQUIVALENT LDA...  OTH
ER HANDY INSTRUCTIONS ARE THE CPX  AND C
PY INSTRUCTIONS, WHICH BEHAVE LIKE CMP B
UT REFER TO THE X AND Y REGISTERS  RATHE
R THAN THE ACCUMULATOR. THEY MAY   ONLY 
USE THE IMMEDIATE, ABSOLUTE, AND   ZERO 
PAGE ADDRESSING MODES, TAKING THE  SAME 
TIME AND MEMORY AS LDA TO USE..^..  LOOP
ING INSTRUCTIONS..  A LOOP IS A SERIES O
F INSTRUCTIONS TO BE EXECUTED REPEATEDLY
. THE INSTRUCTIONSNECESSARY FOR SOME TYP
ES OF LOOP HAVE   ALREADY BEEN COVERED. 
EXAMPLE:..LABEL [TRY TO DO SOMETHING].  
    CMP [SUCCESS] ;DID IT SUCCEED?.     
 BNE LABEL     ;IF NOT, TRY AGAIN..  THE
 NEXT SET OF INSTRUCTIONS IS USED  TO PE
RFORM THE ML EQUIVALENT OF A FOR-  NEXT 
LOOP...ML  BASIC  MEANING.INX X=X+1  "IN
CREMENT X" (BY ONE).INY Y=Y+1  "INCREMEN
T Y" (BY ONE).DEX X=X-1  "DECREMENT X" (
BY ONE).DEY Y=Y-1  "DECREMENT Y" (BY ONE
)..          (MORE ON NEXT PAGE).^..  LO
OPING INSTRUCTIONS (CONTINUED)..  USING 
THESE, THE ML EQUIVALENT OF     "FOR X=1
TO10:[DO SOMETHING]:NEXTX" IS:..     LDX
 #0   ;START X AT 0.LOOP INX      ;ADD 1
 TO X.     [DO SOMETHING].     CPX #10  
;COMPARE X TO 10.     BCC LOOP ;IF X<10 
THEN DO IT AGAIN..  ALTERNATE LAST INSTR
UCTION:..     BNE LOOP ;IF X<>10 THEN DO
 IT AGAIN.  THE FIRST ENDING IS PREFERRE
D, BECAUSEIT WILL STOP THE LOOP IF SOMET
HING      MAKES THE X REGISTER SAY, 11, 
RATHER    THAN LETTING IT GO ...254, 255
, 0... ON TO 10 AGAIN, POSSIBLY FOULING 
THINGS UP ON THE WAY. IN SIMPLE TERMS, I
T'S SAFER.^..      UNCONDITIONAL JUMPS..
  THE JMP ("JUMP") COMMAND IS THE ML    
EQUIVALENT OF GOTO. JMP $A474 CAUSES THE
CPU TO START LOOKING FOR INSTRUCTIONS AT
MEMORY LOCATION $A474. THIS INSTRUCTION 
IS 3 BYTES LONG AND TAKES 3E-6 SECONDS  
TO EXECUTE...  THE JSR ("JUMP TO SUBROUT
INE")        COMMAND IS ML'S GOSUB. IT I
S USED LIKE  JMP. THIS INSTRUCTION IS 3 
BYTES LONG   AND TAKES 6E-6 SECONDS TO E
XECUTE...  RTS ("RETURN FROM SUBROUTINE"
) IS THE ML EQUIVALENT OF RETURN IN BASI
C. IT IS 1 BYTE LONG AND TAKES 6E-6 SECO
NDS TO   EXECUTE. ..  THE FLAGS ARE NOT 
DISTURBED...          (MORE ON NEXT PAGE
).^..  UNCONDITIONAL JUMPS: (CONTINUED).
.  JMP CAN USE A SECOND ADDRESSING MODE:
 INDIRECT. AN ADDRESS FROM $0000 TO $FFF
FIS THE LOCATION OF A TWO-BYTE NUMBER   
 THAT IS THE ADDRESS OF THE JUMP. IT'S  
 LIKE INDIRECT,Y, BUT YOU ARE NOT LIMITE
DTO ZERO PAGE AND NO REGISTERS ARE ADDED
 IN. IT IS WRITTEN LIKE "JMP($0306)"... 
 THIS CAN BE USEFUL IF YOU WANT TO MOVEO
NE BIT OF A PROGRAM AROUND WITHOUT     R
EWRITING A LOT OF JUMPS TO IT. YOU JUSTC
HANGE THE TWO BYTES THAT EVERYTHING    E
LSE JUMPS TO INDIRECTLY.... BUT...JMP IN
DIRECT HAS A HARDWARE BUG.JMP ($XXFF) WI
LL NOT GET THE ADDRESS TO JUMP TO FROM $
XXFF AND $YY00, BUT FROM  $XXFF AND $XX0
0! (YY=XX+1) DON'T IGNORE THIS USEFUL MO
DE, BUT BE WARY OF IT..^..          THE 
END (FOR NOW)..  THIS IS IT FOR THIS LES
SON, BUT COMINGUP IN FUTURE INSTALMENTS 
ARE LOTS OF    GOODIES:..- MORE ML INSTR
UCTIONS.- WHAT KIND OF THINGS TO DO IN M
L.- ACTUAL ML PROGRAMS.- HOW TO USE WHAT
'S ALREADY IN BASIC.- HOW TO USE KERNAL 
ROUTINES.- HOW TO WRITE REALLY BIG ML PR
OGRAMS.- INTERRUPT ROUTINES..  YOU SHOUL
D NOW HAVE ENOUGH ML UNDER   YOUR BELT T
O WRITE SOME PROGRAMS WHICH  AT LEAST DO
 SOMETHING. FIDDLE WITH THE  ASSEMBLER A
ND GET A GRIP ON WHICH       INSTRUCTION
S TO USE TO DO WHAT THINGS.  THE NEXT (A
ND REALLY THE LAST) PAGE HAS SOME IDEAS 
YOU MIGHT TRY TO EXPLORE..^..          T
HINGS TO TRY:..-THE AREA OF MEMORY FROM 
1024 TO 2023    ($400 TO $7E7) IS WHAT'S
 DISPLAYED ON   THE SCREEN. TRY WRITING 
PROGRAMS TO     PLAY WITH THIS AREA...-I
F THE SCREEN IS FULL, TRY PLAYING      W
ITH MEMORY FROM 55296 TO 56295 ($D800  T
O $DBE7, WHICH CONTROLS THE COLOURS OF T
HE SCREEN CHARACTERS...-ALWAYS KEEP A CO
PY OF ML PROGRAMS       ON DISK OR SOME 
OTHER SAFE PLACE. ML    PROGRAMS HAVE A 
HABIT OF KILLING        THEMSELVES AND T
HE COMPUTER. BE READY   FOR A FEW EARLY 
DISAPPOINTMENTS...-READ SOME GOOD BOOKS 
ON THE SUBJECT.   ^^^^^^^^^
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL