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

ASM TUT 1

FILE INFORMATION

FILENAME(S): ASM TUT 1

FILE TYPE(S): PRG

FILE SIZE: 12.4K

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

APPEARS ON: 1 disk(s)

FILE HASH

c01b3358cd262897981687e037e62a1a667a061555ee74d92f0f4c5713691d05

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
THE PHANTOM ASM TUT 1 PRG Curtcool, Frank 10 4 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 2A 6E 5E 0D 0D 77 45 4C  43 4F 4D 45 20 54 4F 20  |*n^..wELCOME TO |
00000010: 54 48 45 20 57 4F 52 4C  44 20 4F 46 20 4D 41 43  |THE WORLD OF MAC|
00000020: 48 49 4E 45 20 4C 41 4E  47 55 41 47 45 50 52 4F  |HINE LANGUAGEPRO|
00000030: 47 52 41 4D 4D 49 4E 47  21 0D 0D 6D 41 43 48 49  |GRAMMING!..mACHI|
00000040: 4E 45 20 4C 41 4E 47 55  41 47 45 20 49 53 20 54  |NE LANGUAGE IS T|
00000050: 48 45 20 4F 4E 4C 59 20  4C 41 4E 47 55 41 47 45  |HE ONLY LANGUAGE|
00000060: 0D 59 4F 55 52 20 63 4F  4D 4D 4F 44 4F 52 45 20  |.YOUR cOMMODORE |
00000070: 36 34 20 55 4E 44 45 52  53 54 41 4E 44 53 2E 20  |64 UNDERSTANDS. |
00000080: 20 69 54 20 49 53 20 41  0D 4C 41 4E 47 55 41 47  | iT IS A.LANGUAG|
00000090: 45 20 57 48 45 52 45 20  43 4F 4D 50 55 54 45 52  |E WHERE COMPUTER|
000000A0: 53 20 57 4F 52 4B 20 57  49 54 48 0D 4F 4E 45 53  |S WORK WITH.ONES|
000000B0: 27 53 20 41 4E 44 20 5A  45 52 4F 27 53 2E 20 20  |'S AND ZERO'S.  |
000000C0: 77 48 45 4E 20 50 52 4F  47 52 41 4D 4D 49 4E 47  |wHEN PROGRAMMING|
000000D0: 20 49 4E 0D 62 61 73 69  63 2C 20 28 41 20 50 45  | IN.basic, (A PE|
000000E0: 4F 50 4C 45 20 4C 41 4E  47 55 41 47 45 29 2C 20  |OPLE LANGUAGE), |
000000F0: 54 48 45 20 43 4F 4D 50  55 54 45 52 54 52 41 4E  |THE COMPUTERTRAN|
00000100: 53 4C 41 54 45 53 20 59  4F 55 52 20 50 52 4F 47  |SLATES YOUR PROG|
00000110: 52 41 4D 53 20 49 4E 54  4F 20 53 4F 4D 45 54 48  |RAMS INTO SOMETH|
00000120: 49 4E 47 0D 49 54 20 55  4E 44 45 52 53 54 41 4E  |ING.IT UNDERSTAN|
00000130: 44 53 2E 0D 0D 62 45 46  4F 52 45 20 57 45 20 50  |DS...bEFORE WE P|
00000140: 52 4F 43 45 45 44 2C 20  57 45 20 53 48 41 4C 4C  |ROCEED, WE SHALL|
00000150: 20 41 53 53 55 4D 45 20  54 48 41 54 0D 59 4F 55  | ASSUME THAT.YOU|
00000160: 20 41 52 45 20 53 4F 4D  45 57 48 41 54 20 46 41  | ARE SOMEWHAT FA|
00000170: 4D 49 4C 49 41 52 20 57  49 54 48 20 62 61 73 69  |MILIAR WITH basi|
00000180: 63 20 41 4E 44 48 41 56  45 20 55 53 45 44 20 54  |c ANDHAVE USED T|
00000190: 48 45 20 70 65 65 6B 20  41 4E 44 20 70 6F 6B 65  |HE peek AND poke|
000001A0: 20 43 4F 4D 4D 41 4E 44  53 2E 0D 61 4C 53 4F 2C  | COMMANDS..aLSO,|
000001B0: 20 57 45 20 57 4F 55 4C  44 20 4C 49 4B 45 20 54  | WE WOULD LIKE T|
000001C0: 4F 20 50 4F 49 4E 54 20  4F 55 54 20 54 48 41 54  |O POINT OUT THAT|
000001D0: 0D 57 48 45 4E 20 57 45  20 52 45 46 45 52 20 54  |.WHEN WE REFER T|
000001E0: 4F 20 41 20 4E 55 4D 42  45 52 2C 20 57 45 20 41  |O A NUMBER, WE A|
000001F0: 53 53 55 4D 45 0D 54 48  41 54 20 49 54 20 49 53  |SSUME.THAT IT IS|
00000200: 20 41 20 44 45 43 49 4D  41 4C 20 4E 55 4D 42 45  | A DECIMAL NUMBE|
00000210: 52 20 28 62 41 53 45 20  31 30 29 2E 0D 62 49 4E  |R (bASE 10)..bIN|
00000220: 41 52 59 20 41 4E 44 20  68 45 58 41 44 45 43 49  |ARY AND hEXADECI|
00000230: 4D 41 4C 20 4E 55 4D 42  45 52 53 20 53 48 4F 55  |MAL NUMBERS SHOU|
00000240: 4C 44 20 42 45 50 52 45  43 45 44 45 44 20 42 59  |LD BEPRECEDED BY|
00000250: 20 54 48 45 20 46 4F 4C  4C 4F 57 49 4E 47 20 53  | THE FOLLOWING S|
00000260: 50 45 43 49 41 4C 20 43  48 41 52 3A 0D 20 62 41  |PECIAL CHAR:. bA|
00000270: 53 45 20 32 3A 20 50 52  45 43 45 44 45 20 23 20  |SE 2: PRECEDE # |
00000280: 57 49 54 48 20 25 20 28  45 47 20 25 30 31 30 31  |WITH % (EG %0101|
00000290: 31 30 31 30 29 20 62 41  53 45 20 31 36 3A 20 50  |1010) bASE 16: P|
000002A0: 52 45 43 45 44 45 20 23  20 57 49 54 48 20 24 20  |RECEDE # WITH $ |
000002B0: 28 45 47 20 24 35 61 29  0D 5E 0D 0D 77 48 59 20  |(EG $5a).^..wHY |
000002C0: 57 4F 55 4C 44 20 59 4F  55 20 57 41 4E 54 20 54  |WOULD YOU WANT T|
000002D0: 4F 20 50 52 4F 47 52 41  4D 20 49 4E 20 4D 41 43  |O PROGRAM IN MAC|
000002E0: 48 49 4E 45 4C 41 4E 47  55 41 47 45 3F 20 20 66  |HINELANGUAGE?  f|
000002F0: 4F 52 20 4F 4E 45 20 54  48 49 4E 47 2C 20 54 48  |OR ONE THING, TH|
00000300: 45 20 50 52 4F 47 52 41  4D 0D 57 49 4C 4C 20 52  |E PROGRAM.WILL R|
00000310: 55 4E 20 6D 75 63 68 20  46 41 53 54 45 52 2E 20  |UN much FASTER. |
00000320: 20 69 4E 20 53 4F 4D 45  20 43 41 53 45 53 2C 0D  | iN SOME CASES,.|
00000330: 48 55 4E 44 52 45 44 53  20 4F 46 20 54 49 4D 45  |HUNDREDS OF TIME|
00000340: 53 20 46 41 53 54 45 52  2E 0D 0D 6C 45 54 27 53  |S FASTER...lET'S|
00000350: 20 54 52 59 20 41 4E 20  45 58 41 4D 50 4C 45 3A  | TRY AN EXAMPLE:|
00000360: 0D 0D 77 45 20 57 49 4C  4C 20 43 48 41 4E 47 45  |..wE WILL CHANGE|
00000370: 20 54 48 45 20 43 4F 4C  4F 52 20 4F 46 20 54 48  | THE COLOR OF TH|
00000380: 45 20 42 4F 52 44 45 52  0D 41 53 20 46 41 53 54  |E BORDER.AS FAST|
00000390: 20 41 53 20 57 45 20 43  41 4E 2E 0D 0D 68 45 52  | AS WE CAN...hER|
000003A0: 45 20 49 53 20 54 48 45  20 50 52 4F 47 52 41 4D  |E IS THE PROGRAM|
000003B0: 3A 0D 0D 20 31 30 20 70  6F 6B 65 20 35 33 32 38  |:.. 10 poke 5328|
000003C0: 30 2C 20 28 70 65 65 6B  28 35 33 32 38 30 29 2B  |0, (peek(53280)+|
000003D0: 31 29 61 6E 64 32 35 35  0D 20 32 30 20 67 6F 74  |1)and255. 20 got|
000003E0: 6F 20 31 30 0D 0D 0D 68  49 54 20 41 4E 59 20 4B  |o 10...hIT ANY K|
000003F0: 45 59 20 54 4F 20 53 54  4F 50 20 54 48 45 20 50  |EY TO STOP THE P|
00000400: 52 4F 47 52 41 4D 2E 0D  5E 0D 0D 6E 4F 57 20 4C  |ROGRAM..^..nOW L|
00000410: 45 54 27 53 20 54 52 59  20 49 54 20 49 4E 20 6D  |ET'S TRY IT IN m|
00000420: 41 43 48 49 4E 45 20 6C  41 4E 47 55 41 47 45 0D  |ACHINE lANGUAGE.|
00000430: 0D 6E 4F 54 45 20 54 48  41 54 20 54 48 45 20 42  |.nOTE THAT THE B|
00000440: 4F 52 44 45 52 20 43 48  41 4E 47 45 53 20 43 4F  |ORDER CHANGES CO|
00000450: 4C 4F 55 52 20 4D 55 43  48 46 41 53 54 45 52 2E  |LOUR MUCHFASTER.|
00000460: 0D 0D 74 48 49 4E 4B 20  41 42 4F 55 54 20 54 48  |..tHINK ABOUT TH|
00000470: 49 53 20 47 45 4E 45 52  41 4C 20 52 55 4C 45 20  |IS GENERAL RULE |
00000480: 4F 46 20 54 48 55 4D 42  3A 0D 4D 41 43 48 49 4E  |OF THUMB:.MACHIN|
00000490: 45 20 4C 41 4E 47 55 41  47 45 20 50 52 4F 47 52  |E LANGUAGE PROGR|
000004A0: 41 4D 53 20 41 52 45 20  41 4C 57 41 59 53 0D 46  |AMS ARE ALWAYS.F|
000004B0: 41 53 54 45 52 20 54 48  41 4E 20 62 61 73 69 63  |ASTER THAN basic|
000004C0: 20 50 52 4F 47 52 41 4D  53 2E 20 20 20 74 48 49  | PROGRAMS.   tHI|
000004D0: 53 20 49 53 0D 41 4C 57  41 59 53 20 54 52 55 45  |S IS.ALWAYS TRUE|
000004E0: 20 53 49 4E 43 45 20 62  61 73 69 63 20 53 54 41  | SINCE basic STA|
000004F0: 54 45 4D 45 4E 54 53 20  4D 55 53 54 0D 42 45 20  |TEMENTS MUST.BE |
00000500: 54 52 41 4E 53 4C 41 54  45 44 20 54 4F 20 4D 41  |TRANSLATED TO MA|
00000510: 43 48 49 4E 45 20 4C 41  4E 47 55 41 47 45 20 49  |CHINE LANGUAGE I|
00000520: 4E 0D 4F 52 44 45 52 20  54 4F 20 52 55 4E 2E 0D  |N.ORDER TO RUN..|
00000530: 0D 0D 0D 68 49 54 20 41  4E 59 20 4B 45 59 20 54  |...hIT ANY KEY T|
00000540: 4F 20 53 54 4F 50 20 50  52 4F 47 52 41 4D 2E 0D  |O STOP PROGRAM..|
00000550: 5E 0D 0D 61 4E 4F 54 48  45 52 20 52 45 41 53 4F  |^..aNOTHER REASO|
00000560: 4E 20 54 4F 20 50 52 4F  47 52 41 4D 20 49 4E 20  |N TO PROGRAM IN |
00000570: 4D 41 43 48 49 4E 45 0D  4C 41 4E 47 55 41 47 45  |MACHINE.LANGUAGE|
00000580: 20 49 53 20 54 4F 20 53  41 56 45 20 4D 45 4D 4F  | IS TO SAVE MEMO|
00000590: 52 59 20 53 50 41 43 45  2E 0D 67 45 4E 45 52 41  |RY SPACE..gENERA|
000005A0: 4C 4C 59 2C 20 4D 41 43  48 49 4E 45 20 4C 41 4E  |LLY, MACHINE LAN|
000005B0: 47 55 41 47 45 20 52 4F  55 54 49 4E 45 53 20 41  |GUAGE ROUTINES A|
000005C0: 52 45 53 4D 41 4C 4C 45  52 2E 20 20 74 4F 20 49  |RESMALLER.  tO I|
000005D0: 4C 4C 55 53 54 52 41 54  45 20 54 48 49 53 2C 20  |LLUSTRATE THIS, |
000005E0: 4F 55 52 0D 50 52 45 56  49 4F 55 53 20 45 58 41  |OUR.PREVIOUS EXA|
000005F0: 4D 50 4C 45 20 4F 46 20  43 48 41 4E 47 49 4E 47  |MPLE OF CHANGING|
00000600: 20 42 4F 52 44 45 52 0D  43 4F 4C 4F 52 20 54 4F  | BORDER.COLOR TO|
00000610: 4F 4B 3A 0D 0D 20 20 20  33 38 20 42 59 54 45 53  |OK:..   38 BYTES|
00000620: 20 49 4E 20 62 61 73 69  63 20 43 4F 44 45 0D 0D  | IN basic CODE..|
00000630: 20 20 20 36 20 42 59 54  45 53 20 49 4E 20 4D 41  |   6 BYTES IN MA|
00000640: 43 48 49 4E 45 20 4C 41  4E 47 55 41 47 45 20 43  |CHINE LANGUAGE C|
00000650: 4F 44 45 0D 0D 6E 4F 54  45 3A 20 57 48 45 4E 20  |ODE..nOTE: WHEN |
00000660: 55 53 49 4E 47 20 53 4F  4D 45 20 4D 41 54 48 20  |USING SOME MATH |
00000670: 46 55 4E 43 54 49 4F 4E  53 2C 0D 62 61 73 69 63  |FUNCTIONS,.basic|
00000680: 20 43 4F 44 45 20 43 4F  55 4C 44 20 41 43 54 55  | CODE COULD ACTU|
00000690: 41 4C 4C 59 20 42 45 20  53 4D 41 4C 4C 45 52 0D  |ALLY BE SMALLER.|
000006A0: 54 48 41 4E 20 4D 41 43  48 49 4E 45 20 43 4F 44  |THAN MACHINE COD|
000006B0: 45 2E 20 20 68 4F 57 20  43 41 4E 20 54 48 49 53  |E.  hOW CAN THIS|
000006C0: 20 42 45 3F 20 0D 77 45  4C 4C 2C 20 57 48 45 4E  | BE? .wELL, WHEN|
000006D0: 20 57 45 20 54 41 4C 4B  20 41 42 4F 55 54 20 50  | WE TALK ABOUT P|
000006E0: 52 4F 47 52 41 4D 20 53  49 5A 45 2C 0D 57 45 20  |ROGRAM SIZE,.WE |
000006F0: 41 52 45 20 4C 4F 4F 4B  49 4E 47 20 41 54 20 48  |ARE LOOKING AT H|
00000700: 4F 57 20 4D 55 43 48 20  72 61 6D 20 28 72 41 4E  |OW MUCH ram (rAN|
00000710: 44 4F 4D 0D 41 43 43 45  53 53 20 4D 45 4D 4F 52  |DOM.ACCESS MEMOR|
00000720: 59 29 20 54 48 45 20 50  52 4F 47 52 41 4D 20 57  |Y) THE PROGRAM W|
00000730: 49 4C 4C 20 54 41 4B 45  2E 0D 77 48 41 54 20 57  |ILL TAKE..wHAT W|
00000740: 45 20 41 52 45 20 45 58  43 4C 55 44 49 4E 47 20  |E ARE EXCLUDING |
00000750: 49 53 20 72 6F 6D 20 28  72 45 41 44 20 4F 4E 4C  |IS rom (rEAD ONL|
00000760: 59 0D 4D 45 4D 4F 52 59  29 20 57 48 49 43 48 20  |Y.MEMORY) WHICH |
00000770: 49 4E 43 4C 55 44 45 53  20 54 48 45 20 62 61 73  |INCLUDES THE bas|
00000780: 69 63 0D 49 4E 54 45 52  50 52 45 54 45 52 20 41  |ic.INTERPRETER A|
00000790: 4E 44 20 41 20 4C 49 42  52 41 52 59 20 4F 46 20  |ND A LIBRARY OF |
000007A0: 53 55 42 52 4F 55 54 49  4E 45 53 55 53 45 44 20  |SUBROUTINESUSED |
000007B0: 42 59 20 62 61 73 69 63  2E 0D 5E 0D 0D 77 45 20  |BY basic..^..wE |
000007C0: 41 4C 4C 20 4B 4E 4F 57  20 54 48 41 54 20 57 48  |ALL KNOW THAT WH|
000007D0: 45 4E 20 57 45 20 50 52  4F 47 52 41 4D 20 49 4E  |EN WE PROGRAM IN|
000007E0: 0D 62 61 73 69 63 2C 20  41 4C 4C 20 50 52 4F 47  |.basic, ALL PROG|
000007F0: 52 41 4D 53 20 53 49 54  20 49 4E 20 27 62 61 73  |RAMS SIT IN 'bas|
00000800: 69 63 20 73 70 61 63 65  27 2D 20 41 20 50 4C 41  |ic space'- A PLA|
00000810: 43 45 20 52 45 53 45 52  56 45 44 20 46 4F 52 20  |CE RESERVED FOR |
00000820: 62 61 73 69 63 20 50 52  4F 47 52 41 4D 53 2E 0D  |basic PROGRAMS..|
00000830: 0D 77 48 45 52 45 20 41  52 45 20 4D 41 43 48 49  |.wHERE ARE MACHI|
00000840: 4E 45 20 4C 41 4E 47 55  41 47 45 20 50 52 4F 47  |NE LANGUAGE PROG|
00000850: 52 41 4D 53 20 50 55 54  3F 0D 74 48 45 53 45 20  |RAMS PUT?.tHESE |
00000860: 50 52 4F 47 52 41 4D 53  20 43 41 4E 20 41 4C 53  |PROGRAMS CAN ALS|
00000870: 4F 20 53 49 54 20 49 4E  53 49 44 45 20 54 48 45  |O SIT INSIDE THE|
00000880: 0D 53 50 41 43 45 20 52  45 53 45 52 56 45 44 20  |.SPACE RESERVED |
00000890: 46 4F 52 20 62 61 73 69  63 2E 20 20 74 48 45 20  |FOR basic.  tHE |
000008A0: 54 57 4F 20 4F 54 48 45  52 4C 4F 43 41 54 49 4F  |TWO OTHERLOCATIO|
000008B0: 4E 53 20 54 48 41 54 20  41 52 45 20 43 4F 4D 4D  |NS THAT ARE COMM|
000008C0: 4F 4E 20 41 52 45 20 54  48 45 20 54 41 50 45 0D  |ON ARE THE TAPE.|
000008D0: 42 55 46 46 45 52 20 41  54 20 4C 4F 43 41 54 49  |BUFFER AT LOCATI|
000008E0: 4F 4E 20 38 32 38 20 28  49 46 20 54 48 45 20 4D  |ON 828 (IF THE M|
000008F0: 41 43 48 49 4E 45 0D 4C  41 4E 47 55 41 47 45 20  |ACHINE.LANGUAGE |
00000900: 50 52 4F 47 52 41 4D 20  49 53 20 53 4D 41 4C 4C  |PROGRAM IS SMALL|
00000910: 29 3B 20 41 4E 44 20 54  48 45 20 34 6B 42 0D 42  |); AND THE 4kB.B|
00000920: 4C 4F 43 4B 20 4F 46 20  4D 45 4D 4F 52 59 20 28  |LOCK OF MEMORY (|
00000930: 34 58 31 30 32 34 20 42  59 54 45 53 29 20 53 54  |4X1024 BYTES) ST|
00000940: 41 52 54 49 4E 47 0D 41  54 20 34 39 31 35 32 20  |ARTING.AT 49152 |
00000950: 28 49 46 20 54 48 45 20  50 52 4F 47 52 41 4D 20  |(IF THE PROGRAM |
00000960: 49 53 20 4C 41 52 47 45  52 29 2E 0D 5E 0D 0D 68  |IS LARGER)..^..h|
00000970: 4F 57 20 44 4F 20 57 45  20 57 52 49 54 45 20 4D  |OW DO WE WRITE M|
00000980: 41 43 48 49 4E 45 20 4C  41 4E 47 55 41 47 45 0D  |ACHINE LANGUAGE.|
00000990: 50 52 4F 47 52 41 4D 53  3F 0D 0D 77 45 20 4D 45  |PROGRAMS?..wE ME|
000009A0: 4E 54 49 4F 4E 45 44 20  45 41 52 4C 49 45 52 20  |NTIONED EARLIER |
000009B0: 54 48 41 54 20 4D 41 43  48 49 4E 45 0D 4C 41 4E  |THAT MACHINE.LAN|
000009C0: 47 55 41 47 45 20 49 53  20 41 20 4C 41 4E 47 55  |GUAGE IS A LANGU|
000009D0: 41 47 45 20 54 48 41 54  20 44 45 41 4C 53 20 57  |AGE THAT DEALS W|
000009E0: 49 54 48 0D 4F 4E 45 53  27 53 20 41 4E 44 20 5A  |ITH.ONES'S AND Z|
000009F0: 45 52 4F 27 53 2E 20 20  77 45 20 43 41 4E 20 41  |ERO'S.  wE CAN A|
00000A00: 4C 53 4F 20 54 52 45 41  54 0D 54 48 45 20 31 27  |LSO TREAT.THE 1'|
00000A10: 53 20 41 4E 44 20 30 27  53 20 41 53 20 41 20 4E  |S AND 0'S AS A N|
00000A20: 55 4D 42 45 52 2E 20 20  73 49 4E 43 45 20 54 48  |UMBER.  sINCE TH|
00000A30: 45 0D 46 55 4E 44 45 4E  54 4D 45 4E 54 41 4C 20  |E.FUNDENTMENTAL |
00000A40: 4D 45 4D 4F 52 59 20 55  4E 49 54 20 54 48 41 54  |MEMORY UNIT THAT|
00000A50: 20 54 48 45 0D 63 4F 4D  4D 4F 44 4F 52 45 20 44  | THE.cOMMODORE D|
00000A60: 45 41 4C 53 20 57 49 54  48 20 49 53 20 41 20 62  |EALS WITH IS A b|
00000A70: 79 74 65 3B 20 57 45 20  43 41 4E 0D 50 52 4F 47  |yte; WE CAN.PROG|
00000A80: 52 41 4D 20 54 48 45 20  63 2D 36 34 20 42 59 20  |RAM THE c-64 BY |
00000A90: 50 55 54 54 49 4E 47 20  54 48 45 0D 41 50 50 52  |PUTTING THE.APPR|
00000AA0: 4F 50 52 49 41 54 45 20  42 59 54 45 53 20 4F 46  |OPRIATE BYTES OF|
00000AB0: 20 41 20 50 52 4F 47 52  41 4D 20 49 4E 20 4D 45  | A PROGRAM IN ME|
00000AC0: 4D 4F 52 59 41 4E 44 20  54 48 45 4E 20 54 45 4C  |MORYAND THEN TEL|
00000AD0: 4C 20 54 48 45 20 43 4F  4D 50 55 54 45 52 20 54  |L THE COMPUTER T|
00000AE0: 4F 20 45 58 45 43 55 54  45 0D 49 54 2E 0D 5E 0D  |O EXECUTE.IT..^.|
00000AF0: 0D 6F 4E 45 20 57 41 59  20 4F 46 20 44 4F 49 4E  |.oNE WAY OF DOIN|
00000B00: 47 20 54 48 49 53 20 49  53 20 54 4F 20 57 52 49  |G THIS IS TO WRI|
00000B10: 54 45 20 41 0D 62 61 73  69 63 20 50 52 4F 47 52  |TE A.basic PROGR|
00000B20: 41 4D 20 54 4F 20 72 65  61 64 20 46 52 4F 4D 20  |AM TO read FROM |
00000B30: 64 61 74 61 0D 53 54 41  54 45 4D 45 4E 54 53 20  |data.STATEMENTS |
00000B40: 54 48 45 20 41 50 50 52  4F 50 49 41 54 45 20 42  |THE APPROPIATE B|
00000B50: 59 54 45 53 20 41 4E 44  0D 70 6F 6B 65 20 54 48  |YTES AND.poke TH|
00000B60: 45 4D 20 49 4E 54 4F 20  4D 45 4D 4F 52 59 2E 20  |EM INTO MEMORY. |
00000B70: 20 74 4F 20 45 58 45 43  55 54 45 20 54 48 45 4D  | tO EXECUTE THEM|
00000B80: 2C 57 45 20 73 79 73 20  54 4F 20 54 48 41 54 20  |,WE sys TO THAT |
00000B90: 41 44 44 52 45 53 53 2E  20 20 6F 55 52 20 42 4F  |ADDRESS.  oUR BO|
00000BA0: 52 44 45 52 0D 43 4F 4C  4F 55 52 20 45 58 41 4D  |RDER.COLOUR EXAM|
00000BB0: 50 4C 45 20 43 41 4E 20  42 45 20 44 4F 4E 45 20  |PLE CAN BE DONE |
00000BC0: 42 59 20 55 53 49 4E 47  0D 54 48 45 20 46 4F 4C  |BY USING.THE FOL|
00000BD0: 4C 4F 57 49 4E 47 3A 0D  0D 0D 20 31 30 20 73 74  |LOWING:... 10 st|
00000BE0: 61 72 74 20 3D 20 38 32  38 0D 20 32 30 20 69 3D  |art = 828. 20 i=|
00000BF0: 30 0D 20 33 30 20 72 65  61 64 20 61 3A 20 69 66  |0. 30 read a: if|
00000C00: 20 61 20 3C 20 30 20 74  68 65 6E 20 73 79 73 20  | a < 0 then sys |
00000C10: 73 74 61 72 74 0D 20 34  30 20 70 6F 6B 65 20 73  |start. 40 poke s|
00000C20: 74 61 72 74 2B 69 2C 61  0D 20 35 30 20 69 3D 69  |tart+i,a. 50 i=i|
00000C30: 2B 31 0D 20 36 30 20 67  6F 74 6F 20 33 30 0D 20  |+1. 60 goto 30. |
00000C40: 37 30 20 64 61 74 61 20  32 33 38 2C 33 32 2C 32  |70 data 238,32,2|
00000C50: 30 38 2C 37 36 2C 30 2C  31 39 32 2C 2D 31 0D 5E  |08,76,0,192,-1.^|
00000C60: 0D 0D 77 45 20 53 54 49  4C 4C 20 48 41 56 45 20  |..wE STILL HAVE |
00000C70: 54 4F 20 46 49 47 55 52  45 20 4F 55 54 20 57 48  |TO FIGURE OUT WH|
00000C80: 41 54 20 4E 55 4D 42 45  52 53 54 4F 20 50 55 54  |AT NUMBERSTO PUT|
00000C90: 20 49 4E 20 54 48 45 20  64 61 74 61 20 53 54 41  | IN THE data STA|
00000CA0: 54 45 4D 45 4E 54 2E 20  20 74 48 49 53 20 49 53  |TEMENT.  tHIS IS|
00000CB0: 0D 44 4F 4E 45 20 42 59  20 47 4F 49 4E 47 20 54  |.DONE BY GOING T|
00000CC0: 48 52 4F 55 47 48 20 54  48 45 20 54 45 44 49 4F  |HROUGH THE TEDIO|
00000CD0: 55 53 20 54 41 53 4B 0D  4F 46 20 54 52 41 4E 53  |US TASK.OF TRANS|
00000CE0: 4C 41 54 49 4E 47 20 49  4E 53 54 52 55 43 54 49  |LATING INSTRUCTI|
00000CF0: 4F 4E 53 20 54 48 52 4F  55 47 48 0D 54 48 45 20  |ONS THROUGH.THE |
00000D00: 41 50 50 4C 49 43 41 42  4C 45 20 54 41 42 4C 45  |APPLICABLE TABLE|
00000D10: 53 20 41 4E 44 20 43 48  41 52 54 53 2E 20 20 65  |S AND CHARTS.  e|
00000D20: 41 43 48 0D 4E 55 4D 42  45 52 20 49 4E 20 54 48  |ACH.NUMBER IN TH|
00000D30: 45 20 64 61 74 61 20 53  54 41 54 45 4D 45 4E 54  |E data STATEMENT|
00000D40: 20 49 53 20 45 49 54 48  45 52 0D 44 41 54 55 4D  | IS EITHER.DATUM|
00000D50: 2C 20 41 4E 20 41 44 44  52 45 53 53 20 4F 52 20  |, AN ADDRESS OR |
00000D60: 41 4E 20 49 4E 53 54 52  55 43 54 49 4F 4E 2E 0D  |AN INSTRUCTION..|
00000D70: 6F 4E 45 20 54 52 41 4E  53 4C 41 54 49 4F 4E 20  |oNE TRANSLATION |
00000D80: 45 52 52 4F 52 20 57 4F  55 4C 44 20 4C 49 4B 45  |ERROR WOULD LIKE|
00000D90: 4C 59 20 4D 41 4B 45 0D  54 48 45 20 4D 41 43 48  |LY MAKE.THE MACH|
00000DA0: 49 4E 45 20 50 52 4F 47  52 41 4D 20 55 53 45 4C  |INE PROGRAM USEL|
00000DB0: 45 53 53 2E 0D 0D 61 4E  4F 54 48 45 52 20 57 41  |ESS...aNOTHER WA|
00000DC0: 59 20 54 4F 20 57 52 49  54 45 20 4D 41 43 48 49  |Y TO WRITE MACHI|
00000DD0: 4E 45 20 4C 41 4E 47 55  41 47 45 0D 50 52 4F 47  |NE LANGUAGE.PROG|
00000DE0: 52 41 4D 53 20 49 53 20  54 4F 20 55 53 45 20 41  |RAMS IS TO USE A|
00000DF0: 4E 20 41 53 53 45 4D 42  4C 45 52 2E 20 20 61 4E  |N ASSEMBLER.  aN|
00000E00: 0D 41 53 53 45 4D 42 4C  45 52 20 49 53 20 41 20  |.ASSEMBLER IS A |
00000E10: 4C 41 4E 47 55 41 47 45  20 54 48 41 54 20 49 53  |LANGUAGE THAT IS|
00000E20: 20 53 49 4D 49 4C 41 52  0D 54 4F 20 62 61 73 69  | SIMILAR.TO basi|
00000E30: 63 20 49 4E 20 54 48 41  54 20 49 54 20 49 53 20  |c IN THAT IT IS |
00000E40: 41 20 50 45 4F 50 4C 45  0D 4C 41 4E 47 55 41 47  |A PEOPLE.LANGUAG|
00000E50: 45 20 28 70 52 4F 47 52  41 4D 53 20 41 52 45 20  |E (pROGRAMS ARE |
00000E60: 50 45 4F 50 4C 45 20 52  45 41 44 41 42 4C 45 29  |PEOPLE READABLE)|
00000E70: 2E 68 4F 57 45 56 45 52  2C 20 49 4E 20 54 48 45  |.hOWEVER, IN THE|
00000E80: 20 43 41 53 45 20 4F 46  20 62 61 73 69 63 2C 0D  | CASE OF basic,.|
00000E90: 53 54 41 54 45 4D 45 4E  54 53 20 41 52 45 20 49  |STATEMENTS ARE I|
00000EA0: 4E 54 45 52 50 52 45 54  45 44 3B 20 45 41 43 48  |NTERPRETED; EACH|
00000EB0: 20 43 4F 4D 4D 41 4E 44  49 53 20 41 4E 41 4C 59  | COMMANDIS ANALY|
00000EC0: 5A 45 44 20 41 4E 44 20  45 58 45 43 55 54 45 44  |ZED AND EXECUTED|
00000ED0: 2E 20 20 69 4E 20 54 48  45 0D 41 53 53 45 4D 42  |.  iN THE.ASSEMB|
00000EE0: 4C 45 52 20 43 41 53 45  2C 20 53 4F 55 52 43 45  |LER CASE, SOURCE|
00000EF0: 20 43 4F 44 45 20 28 49  45 20 41 20 53 45 54 0D  | CODE (IE A SET.|
00000F00: 4F 46 20 41 53 53 45 4D  42 4C 45 52 20 53 54 41  |OF ASSEMBLER STA|
00000F10: 54 45 4D 45 4E 54 53 29  20 49 53 20 55 53 45 44  |TEMENTS) IS USED|
00000F20: 20 54 4F 0D 67 65 6E 65  72 61 74 65 20 4D 41 43  | TO.generate MAC|
00000F30: 48 49 4E 45 20 4C 41 4E  47 55 41 47 45 20 50 52  |HINE LANGUAGE PR|
00000F40: 4F 47 52 41 4D 53 2E 0D  5E 0D 0D 6D 41 43 48 49  |OGRAMS..^..mACHI|
00000F50: 4E 45 20 4C 41 4E 47 55  41 47 45 20 50 52 4F 47  |NE LANGUAGE PROG|
00000F60: 52 41 4D 53 20 43 41 4E  20 42 45 20 55 53 45 44  |RAMS CAN BE USED|
00000F70: 0D 57 49 54 48 4F 55 54  20 52 45 46 45 52 45 4E  |.WITHOUT REFEREN|
00000F80: 43 45 20 54 4F 20 54 48  45 20 41 53 53 45 4D 42  |CE TO THE ASSEMB|
00000F90: 4C 45 52 0D 53 4F 55 52  43 45 2E 20 20 69 4E 20  |LER.SOURCE.  iN |
00000FA0: 4F 54 48 45 52 20 57 4F  52 44 53 2C 20 41 53 53  |OTHER WORDS, ASS|
00000FB0: 45 4D 42 4C 45 52 53 0D  54 52 41 4E 53 4C 41 54  |EMBLERS.TRANSLAT|
00000FC0: 45 20 52 45 41 44 41 42  4C 45 20 43 4F 44 45 20  |E READABLE CODE |
00000FD0: 64 69 72 65 63 74 6C 79  20 49 4E 54 4F 0D 4D 41  |directly INTO.MA|
00000FE0: 43 48 49 4E 45 20 43 4F  44 45 20 28 4E 4F 4E 2D  |CHINE CODE (NON-|
00000FF0: 52 45 41 44 41 42 4C 45  20 43 4F 44 45 29 2E 20  |READABLE CODE). |
00001000: 20 74 48 45 52 45 41 52  45 20 44 49 46 46 45 52  | tHEREARE DIFFER|
00001010: 45 4E 54 20 41 53 53 45  4D 42 4C 45 52 53 20 46  |ENT ASSEMBLERS F|
00001020: 4F 52 20 44 49 46 46 45  52 45 4E 54 0D 43 4F 4D  |OR DIFFERENT.COM|
00001030: 50 55 54 45 52 53 2E 20  20 66 4F 52 20 54 48 45  |PUTERS.  fOR THE|
00001040: 20 63 2D 36 34 2C 20 57  45 20 57 49 4C 4C 20 42  | c-64, WE WILL B|
00001050: 45 0D 55 53 49 4E 47 20  54 48 45 20 36 35 30 32  |E.USING THE 6502|
00001060: 20 41 53 53 45 4D 42 4C  45 52 20 53 49 4E 43 45  | ASSEMBLER SINCE|
00001070: 20 54 48 45 20 63 36 34  0D 55 53 45 53 20 54 48  | THE c64.USES TH|
00001080: 45 20 36 35 31 30 20 28  41 20 36 35 30 32 20 4C  |E 6510 (A 6502 L|
00001090: 4F 4F 4B 41 4C 49 4B 45  29 20 63 70 75 2E 0D 0D  |OOKALIKE) cpu...|
000010A0: 6D 41 43 48 49 4E 45 20  4C 41 4E 47 55 41 47 45  |mACHINE LANGUAGE|
000010B0: 20 50 52 4F 47 52 41 4D  53 20 57 49 4C 4C 20 57  | PROGRAMS WILL W|
000010C0: 4F 52 4B 20 4F 4E 0D 4F  54 48 45 52 20 4D 41 43  |ORK ON.OTHER MAC|
000010D0: 48 49 4E 45 53 20 57 49  54 48 20 54 48 45 20 53  |HINES WITH THE S|
000010E0: 41 4D 45 20 63 70 75 2E  20 20 74 4F 20 42 45 4D  |AME cpu.  tO BEM|
000010F0: 4F 52 45 20 53 50 45 43  49 46 49 43 2C 20 4D 41  |ORE SPECIFIC, MA|
00001100: 43 48 49 4E 45 20 4C 41  4E 47 55 41 47 45 20 50  |CHINE LANGUAGE P|
00001110: 52 4F 47 52 41 4D 53 57  52 49 54 54 45 4E 20 4F  |ROGRAMSWRITTEN O|
00001120: 4E 20 54 48 45 20 63 36  34 20 57 49 4C 4C 20 57  |N THE c64 WILL W|
00001130: 4F 52 4B 20 4F 4E 20 53  55 43 48 0D 43 4F 4D 50  |ORK ON SUCH.COMP|
00001140: 55 54 45 52 53 20 41 53  20 61 50 50 4C 45 20 69  |UTERS AS aPPLE i|
00001150: 69 20 41 4E 44 20 4D 4F  53 54 20 61 74 61 72 69  |i AND MOST atari|
00001160: 53 2E 0D 79 4F 55 20 4D  55 53 54 20 48 4F 57 45  |S..yOU MUST HOWE|
00001170: 56 45 52 2C 20 4E 4F 54  20 55 53 45 20 41 4E 59  |VER, NOT USE ANY|
00001180: 20 4D 41 43 48 49 4E 45  0D 44 45 50 45 4E 44 41  | MACHINE.DEPENDA|
00001190: 4E 54 20 46 45 41 54 55  52 45 53 2E 20 20 66 4F  |NT FEATURES.  fO|
000011A0: 52 20 45 58 41 4D 50 4C  45 2C 20 59 4F 55 0D 43  |R EXAMPLE, YOU.C|
000011B0: 41 4E 20 4E 4F 54 20 55  53 45 20 53 50 52 49 54  |AN NOT USE SPRIT|
000011C0: 45 53 20 49 4E 20 41 20  6D 2F 6C 20 50 52 4F 47  |ES IN A m/l PROG|
000011D0: 52 41 4D 0D 57 52 49 54  54 45 4E 20 4F 4E 20 54  |RAM.WRITTEN ON T|
000011E0: 48 45 20 63 36 34 20 41  4E 44 20 45 58 50 45 43  |HE c64 AND EXPEC|
000011F0: 54 20 49 54 20 54 4F 20  57 4F 52 4B 4F 4E 20 54  |T IT TO WORKON T|
00001200: 48 45 20 61 54 41 52 49  20 53 49 4E 43 45 20 53  |HE aTARI SINCE S|
00001210: 50 52 49 54 45 53 20 41  52 45 20 41 43 43 45 53  |PRITES ARE ACCES|
00001220: 53 45 44 20 41 4E 44 20  48 41 4E 44 4C 45 44 20  |SED AND HANDLED |
00001230: 44 49 46 46 45 52 45 4E  54 4C 59 2E 0D 5E 0D 0D  |DIFFERENTLY..^..|
00001240: 61 4E 20 41 53 53 45 4D  42 4C 45 52 20 53 54 41  |aN ASSEMBLER STA|
00001250: 54 45 4D 45 4E 54 20 48  41 53 20 54 48 45 20 46  |TEMENT HAS THE F|
00001260: 4F 4C 4C 4F 57 49 4E 47  46 4F 52 4D 41 54 3A 0D  |OLLOWINGFORMAT:.|
00001270: 0D 6C 61 62 65 6C 20 6F  70 63 6F 64 65 20 6F 70  |.label opcode op|
00001280: 65 72 61 6E 64 0D 20 20  49 20 20 20 20 20 20 49  |erand.  I      I|
00001290: 20 20 20 20 20 20 49 0D  20 20 49 20 20 20 20 20  |      I.  I     |
000012A0: 20 49 20 20 20 20 20 20  49 3D 3D 20 4F 4E 45 20  | I      I== ONE |
000012B0: 4F 52 20 4D 4F 52 45 20  4F 50 45 52 41 4E 44 53  |OR MORE OPERANDS|
000012C0: 20 20 49 20 20 20 20 20  20 49 20 20 20 20 20 20  |  I      I      |
000012D0: 20 20 20 20 41 53 20 4E  45 45 44 45 44 0D 20 20  |    AS NEEDED.  |
000012E0: 49 20 20 20 20 20 20 49  0D 20 20 49 20 20 20 20  |I      I.  I    |
000012F0: 20 20 49 3D 3D 20 6F 70  63 6F 64 65 20 49 53 20  |  I== opcode IS |
00001300: 54 48 45 20 6F 70 45 52  41 54 49 4F 4E 0D 20 20  |THE opERATION.  |
00001310: 49 20 20 20 20 20 20 20  20 20 20 43 4F 44 45 20  |I          CODE |
00001320: 4F 52 20 54 48 45 20 4B  45 59 57 4F 52 44 2E 20  |OR THE KEYWORD. |
00001330: 20 69 54 0D 20 20 49 20  20 20 20 20 20 20 20 20  | iT.  I         |
00001340: 20 49 53 20 53 49 4D 49  4C 41 52 20 54 4F 20 41  | IS SIMILAR TO A|
00001350: 20 62 61 73 69 63 0D 20  20 49 20 20 20 20 20 20  | basic.  I      |
00001360: 20 20 20 20 4B 45 59 57  4F 52 44 53 20 49 4E 20  |    KEYWORDS IN |
00001370: 54 48 41 54 20 49 54 20  54 45 4C 4C 53 0D 20 20  |THAT IT TELLS.  |
00001380: 49 20 20 20 20 20 20 20  20 20 20 54 48 45 20 43  |I          THE C|
00001390: 4F 4D 50 55 54 45 52 20  57 48 41 54 20 54 4F 20  |OMPUTER WHAT TO |
000013A0: 44 4F 0D 20 20 49 0D 20  20 49 3D 3D 20 6C 41 42  |DO.  I.  I== lAB|
000013B0: 45 4C 53 20 41 52 45 20  4C 49 4B 45 20 53 54 41  |ELS ARE LIKE STA|
000013C0: 54 45 4D 45 4E 54 20 4E  55 4D 42 45 52 53 0D 20  |TEMENT NUMBERS. |
000013D0: 20 20 20 20 20 49 4E 20  62 61 73 69 63 2C 20 42  |     IN basic, B|
000013E0: 55 54 20 41 52 45 20 4E  4F 54 20 4E 55 4D 42 45  |UT ARE NOT NUMBE|
000013F0: 52 53 2E 0D 20 20 20 20  20 20 67 45 4E 45 52 41  |RS..      gENERA|
00001400: 4C 4C 59 2C 20 59 4F 55  20 57 49 4C 4C 20 50 49  |LLY, YOU WILL PI|
00001410: 43 4B 20 41 20 4C 41 42  45 4C 0D 20 20 20 20 20  |CK A LABEL.     |
00001420: 20 4E 41 4D 45 20 54 4F  20 42 45 20 4D 45 41 4E  | NAME TO BE MEAN|
00001430: 49 4E 47 46 55 4C 20 28  45 47 20 6C 6F 6F 70 29  |INGFUL (EG loop)|
00001440: 0D 0D 73 50 41 43 45 53  20 53 45 50 41 52 41 54  |..sPACES SEPARAT|
00001450: 45 20 54 48 45 20 33 20  50 41 52 54 53 20 4F 46  |E THE 3 PARTS OF|
00001460: 20 41 0D 41 53 53 45 4D  42 4C 59 20 53 54 41 54  | A.ASSEMBLY STAT|
00001470: 45 4D 45 4E 54 2E 0D 5E  0D 0D 6C 45 54 27 53 20  |EMENT..^..lET'S |
00001480: 53 45 45 20 57 48 41 54  20 4F 55 52 20 42 4F 52  |SEE WHAT OUR BOR|
00001490: 44 45 52 20 45 58 41 4D  50 4C 45 20 4C 4F 4F 4B  |DER EXAMPLE LOOK|
000014A0: 0D 4C 49 4B 45 20 49 4E  20 41 53 53 45 4D 42 4C  |.LIKE IN ASSEMBL|
000014B0: 45 52 3A 0D 0D 20 20 62  72 64 72 6C 6F 6F 70 20  |ER:..  brdrloop |
000014C0: 69 6E 63 20 35 33 32 38  30 0D 20 20 20 20 20 20  |inc 53280.      |
000014D0: 20 20 20 20 20 6A 6D 70  20 62 72 64 72 6C 6F 6F  |     jmp brdrloo|
000014E0: 70 0D 0D 0D 74 48 45 20  54 57 4F 20 6F 50 43 4F  |p...tHE TWO oPCO|
000014F0: 44 45 53 20 49 4E 20 54  48 49 53 20 45 58 41 4D  |DES IN THIS EXAM|
00001500: 50 4C 45 20 41 52 45 3A  0D 0D 20 20 69 6E 63 3A  |PLE ARE:..  inc:|
00001510: 20 49 4E 43 52 45 4D 45  4E 54 53 20 54 48 45 20  | INCREMENTS THE |
00001520: 4D 45 4D 4F 52 59 20 4C  4F 43 41 54 49 4F 4E 0D  |MEMORY LOCATION.|
00001530: 20 20 20 20 20 20 20 42  59 20 4F 4E 45 2E 20 20  |       BY ONE.  |
00001540: 69 4E 53 54 52 55 43 54  49 4F 4E 53 20 48 41 4E  |iNSTRUCTIONS HAN|
00001550: 44 4C 45 0D 20 20 20 20  20 20 20 4D 45 4D 4F 52  |DLE.       MEMOR|
00001560: 59 2C 20 41 53 20 31 20  42 59 54 45 20 56 41 4C  |Y, AS 1 BYTE VAL|
00001570: 55 45 53 2E 0D 20 20 20  20 20 20 20 74 48 45 52  |UES..       tHER|
00001580: 45 46 4F 52 45 2C 20 54  48 45 52 45 20 49 53 20  |EFORE, THERE IS |
00001590: 4E 4F 20 4E 45 45 44 20  54 4F 0D 20 20 20 20 20  |NO NEED TO.     |
000015A0: 20 20 61 6E 64 20 54 48  45 20 52 45 53 55 4C 54  |  and THE RESULT|
000015B0: 53 20 57 49 54 48 20 32  35 35 20 53 49 4E 43 45  |S WITH 255 SINCE|
000015C0: 0D 20 20 20 20 20 20 20  54 48 45 20 52 45 53 55  |.       THE RESU|
000015D0: 4C 54 20 43 41 4E 20 4F  4E 4C 59 20 54 41 4B 45  |LT CAN ONLY TAKE|
000015E0: 20 4F 4E 0D 20 20 20 20  20 20 20 56 41 4C 55 45  | ON.       VALUE|
000015F0: 53 20 46 52 4F 4D 20 30  20 54 4F 20 32 35 35 0D  |S FROM 0 TO 255.|
00001600: 0D 20 20 6A 6D 70 3A 20  27 47 4F 54 4F 27 20 4C  |.  jmp: 'GOTO' L|
00001610: 4F 43 41 54 49 4F 4E 20  53 50 45 43 49 46 49 45  |OCATION SPECIFIE|
00001620: 44 20 49 4E 0D 20 20 20  20 20 20 20 4F 50 45 52  |D IN.       OPER|
00001630: 41 4E 44 2E 0D 5E 0D 0D  62 4F 54 48 20 49 4E 53  |AND..^..bOTH INS|
00001640: 54 52 55 43 54 49 4F 4E  53 20 48 41 56 45 20 41  |TRUCTIONS HAVE A|
00001650: 4E 20 4F 50 45 52 41 4E  44 20 57 48 49 43 48 0D  |N OPERAND WHICH.|
00001660: 49 53 20 41 20 4D 45 4D  4F 52 59 20 4C 4F 43 41  |IS A MEMORY LOCA|
00001670: 54 49 4F 4E 2E 20 20 74  48 45 53 45 20 44 49 52  |TION.  tHESE DIR|
00001680: 45 43 54 0D 41 44 52 45  53 53 45 53 20 41 52 45  |ECT.ADRESSES ARE|
00001690: 20 53 50 45 43 49 46 49  45 44 20 41 53 20 41 20  | SPECIFIED AS A |
000016A0: 57 4F 52 44 20 4F 52 0D  32 20 42 59 54 45 20 56  |WORD OR.2 BYTE V|
000016B0: 41 4C 55 45 2E 0D 0D 74  48 45 20 4F 50 45 52 41  |ALUE...tHE OPERA|
000016C0: 4E 44 53 20 55 53 45 44  20 49 4E 20 54 48 45 20  |NDS USED IN THE |
000016D0: 50 52 45 56 49 4F 55 53  0D 45 58 41 4D 50 4C 45  |PREVIOUS.EXAMPLE|
000016E0: 53 20 57 45 52 45 3A 0D  0D 20 20 35 33 32 38 30  |S WERE:..  53280|
000016F0: 3A 20 20 74 48 49 53 20  49 53 20 54 48 45 20 44  |:  tHIS IS THE D|
00001700: 45 43 49 4D 41 4C 20 41  44 44 52 45 53 53 0D 20  |ECIMAL ADDRESS. |
00001710: 20 20 20 20 20 20 20 20  20 57 48 49 43 48 20 43  |         WHICH C|
00001720: 4F 52 52 45 53 50 4F 4E  44 53 20 54 4F 20 54 48  |ORRESPONDS TO TH|
00001730: 45 0D 20 20 20 20 20 20  20 20 20 20 52 45 47 49  |E.          REGI|
00001740: 53 54 45 52 20 54 48 41  54 20 43 4F 4E 54 52 4F  |STER THAT CONTRO|
00001750: 4C 53 20 54 48 45 0D 20  20 20 20 20 20 20 20 20  |LS THE.         |
00001760: 20 42 4F 52 44 45 52 20  43 4F 4C 4F 55 52 2E 20  | BORDER COLOUR. |
00001770: 20 77 45 20 43 4F 55 4C  44 20 48 41 56 45 0D 20  | wE COULD HAVE. |
00001780: 20 20 20 20 20 20 20 20  20 55 53 45 44 20 24 64  |         USED $d|
00001790: 30 32 30 20 49 4E 20 50  4C 41 43 45 20 4F 52 20  |020 IN PLACE OR |
000017A0: 35 33 32 38 30 2E 0D 20  20 20 20 20 20 20 20 20  |53280..         |
000017B0: 20 24 64 30 32 30 20 49  53 20 54 48 45 20 48 45  | $d020 IS THE HE|
000017C0: 58 41 44 45 43 49 4D 41  4C 0D 20 20 20 20 20 20  |XADECIMAL.      |
000017D0: 20 20 20 20 45 51 55 49  56 41 4C 45 4E 54 20 54  |    EQUIVALENT T|
000017E0: 4F 20 35 33 32 38 30 2E  0D 0D 20 20 62 72 64 72  |O 53280...  brdr|
000017F0: 6C 6F 6F 70 3A 20 61 20  53 59 4D 42 4F 4C 20 43  |loop: a SYMBOL C|
00001800: 41 4E 20 42 45 20 55 53  45 44 20 49 4E 0D 20 20  |AN BE USED IN.  |
00001810: 20 20 20 20 20 20 20 20  50 4C 41 43 45 20 4F 46  |        PLACE OF|
00001820: 20 41 20 46 49 58 45 44  20 4D 45 4D 4F 52 59 0D  | A FIXED MEMORY.|
00001830: 20 20 20 20 20 20 20 20  20 20 4C 4F 43 41 54 49  |          LOCATI|
00001840: 4F 4E 2E 0D 5E 0D 0D 74  48 45 20 6A 6D 70 20 53  |ON..^..tHE jmp S|
00001850: 54 41 54 45 4D 45 4E 54  20 48 41 53 20 54 48 45  |TATEMENT HAS THE|
00001860: 20 46 4F 4C 4C 4F 57 49  4E 47 0D 46 4F 52 4D 3A  | FOLLOWING.FORM:|
00001870: 0D 0D 20 20 20 6A 6D 70  20 41 44 44 52 0D 0D 20  |..   jmp ADDR.. |
00001880: 20 20 45 47 2E 20 20 6A  6D 70 20 34 39 31 35 32  |  EG.  jmp 49152|
00001890: 0D 0D 69 4E 20 4F 55 52  20 43 41 53 45 20 48 4F  |..iN OUR CASE HO|
000018A0: 57 45 56 45 52 2C 20 57  45 20 55 53 45 44 20 41  |WEVER, WE USED A|
000018B0: 20 53 59 4D 42 4F 4C 2E  0D 64 55 52 49 4E 47 20  | SYMBOL..dURING |
000018C0: 41 53 53 45 4D 42 4C 59  2C 20 54 48 45 20 53 59  |ASSEMBLY, THE SY|
000018D0: 4D 42 4F 4C 20 62 72 64  72 6C 6F 6F 70 20 49 53  |MBOL brdrloop IS|
000018E0: 0D 52 45 50 4C 41 43 45  44 20 57 49 54 48 20 54  |.REPLACED WITH T|
000018F0: 48 45 20 41 43 54 55 41  4C 20 41 44 44 52 45 53  |HE ACTUAL ADDRES|
00001900: 53 20 4F 46 20 54 48 45  0D 49 4E 53 54 52 55 43  |S OF THE.INSTRUC|
00001910: 54 49 4F 4E 20 69 6E 63  2E 20 20 74 48 45 20 53  |TION inc.  tHE S|
00001920: 4F 55 52 43 45 20 43 4F  44 45 20 49 53 0D 55 4E  |OURCE CODE IS.UN|
00001930: 41 46 46 45 43 54 45 44  20 41 4E 44 20 4F 4E 4C  |AFFECTED AND ONL|
00001940: 59 20 54 48 45 20 4D 41  43 48 49 4E 45 20 43 4F  |Y THE MACHINE CO|
00001950: 44 45 20 48 41 53 54 48  45 20 41 43 54 55 41 4C  |DE HASTHE ACTUAL|
00001960: 20 41 44 44 52 45 53 53  2E 20 20 69 4E 20 4D 4F  | ADDRESS.  iN MO|
00001970: 53 54 20 41 53 53 45 4D  42 4C 45 52 53 2C 53 59  |ST ASSEMBLERS,SY|
00001980: 4D 42 4F 4C 53 20 4D 55  53 54 20 42 45 47 49 4E  |MBOLS MUST BEGIN|
00001990: 20 57 49 54 48 20 41 20  4C 45 54 54 45 52 20 41  | WITH A LETTER A|
000019A0: 4E 44 20 41 52 45 52 45  53 54 52 49 43 54 45 44  |ND ARERESTRICTED|
000019B0: 20 54 4F 20 38 20 43 48  41 52 41 43 54 45 52 53  | TO 8 CHARACTERS|
000019C0: 2E 0D 0D 77 45 20 48 41  56 45 20 4A 55 53 54 20  |...wE HAVE JUST |
000019D0: 44 49 53 43 4F 56 45 52  45 44 20 41 20 57 41 59  |DISCOVERED A WAY|
000019E0: 20 54 4F 20 41 53 53 49  47 4E 0D 41 20 56 41 4C  | TO ASSIGN.A VAL|
000019F0: 55 45 20 54 4F 20 41 20  53 59 4D 42 4F 4C 20 2D  |UE TO A SYMBOL -|
00001A00: 20 42 59 20 50 55 54 54  49 4E 47 20 49 54 20 41  | BY PUTTING IT A|
00001A10: 53 0D 41 20 4C 41 42 45  4C 20 4F 4E 20 41 20 53  |S.A LABEL ON A S|
00001A20: 54 41 54 45 4D 45 4E 54  2E 0D 5E 0D 0D 68 45 52  |TATEMENT..^..hER|
00001A30: 45 20 49 53 20 41 4E 4F  54 48 45 52 20 57 41 59  |E IS ANOTHER WAY|
00001A40: 3A 0D 0D 20 20 53 59 4D  42 4F 4C 20 3D 20 45 58  |:..  SYMBOL = EX|
00001A50: 50 52 45 53 53 49 4F 4E  0D 0D 69 4E 20 54 48 49  |PRESSION..iN THI|
00001A60: 53 20 45 58 41 4D 50 4C  45 2C 20 54 48 45 20 53  |S EXAMPLE, THE S|
00001A70: 43 52 45 45 4E 20 49 53  20 43 4C 45 41 52 45 44  |CREEN IS CLEARED|
00001A80: 2E 20 0D 63 68 72 6F 75  74 20 3D 20 24 66 66 64  |. .chrout = $ffd|
00001A90: 32 0D 20 20 20 20 20 6C  64 61 20 23 31 34 37 20  |2.     lda #147 |
00001AA0: 20 20 20 3B 20 4C 4F 41  44 53 20 41 43 43 55 4D  |   ; LOADS ACCUM|
00001AB0: 55 4C 41 54 4F 52 0D 20  20 20 20 20 20 20 20 20  |ULATOR.         |
00001AC0: 20 20 20 20 20 20 20 20  3B 20 57 49 54 48 20 41  |        ; WITH A|
00001AD0: 20 43 4C 45 41 52 20 43  48 41 52 0D 20 20 20 20  | CLEAR CHAR.    |
00001AE0: 20 6A 73 72 20 63 68 72  6F 75 74 20 20 3B 20 6A  | jsr chrout  ; j|
00001AF0: 55 4D 50 53 20 54 4F 20  73 55 42 72 4F 55 54 49  |UMPS TO sUBrOUTI|
00001B00: 4E 45 0D 20 20 20 20 20  20 20 20 20 20 20 20 20  |NE.             |
00001B10: 20 20 20 20 3B 20 54 4F  20 50 52 49 4E 54 20 54  |    ; TO PRINT T|
00001B20: 48 49 53 20 43 48 41 52  0D 0D 74 48 45 20 63 68  |HIS CHAR..tHE ch|
00001B30: 72 6F 75 74 20 3D 20 24  66 66 64 32 20 53 54 41  |rout = $ffd2 STA|
00001B40: 54 45 4D 45 4E 54 20 49  53 20 4E 4F 54 0D 54 52  |TEMENT IS NOT.TR|
00001B50: 41 4E 53 4C 41 54 45 44  20 49 4E 54 4F 20 41 4E  |ANSLATED INTO AN|
00001B60: 59 54 48 49 4E 47 20 49  4E 20 4D 41 43 48 49 4E  |YTHING IN MACHIN|
00001B70: 45 0D 4C 41 4E 47 55 41  47 45 2E 20 20 69 54 20  |E.LANGUAGE.  iT |
00001B80: 53 49 4D 50 4C 59 20 53  41 59 53 20 54 48 41 54  |SIMPLY SAYS THAT|
00001B90: 20 57 48 45 52 45 56 45  52 0D 63 68 72 6F 75 74  | WHEREVER.chrout|
00001BA0: 20 41 50 50 45 41 52 53  2C 20 55 53 45 20 24 66  | APPEARS, USE $f|
00001BB0: 66 64 32 20 49 4E 53 54  45 41 44 2E 0D 69 4E 20  |fd2 INSTEAD..iN |
00001BC0: 4F 55 52 20 41 42 4F 56  45 20 45 58 41 4D 50 4C  |OUR ABOVE EXAMPL|
00001BD0: 45 2C 20 63 68 72 6F 75  74 20 49 53 20 41 20 70  |E, chrout IS A p|
00001BE0: 72 69 6E 74 0D 52 4F 55  54 49 4E 45 20 49 4E 20  |rint.ROUTINE IN |
00001BF0: 72 6F 6D 2E 0D 0D 74 48  45 20 43 4F 4D 4D 4F 4E  |rom...tHE COMMON|
00001C00: 20 57 41 59 20 54 4F 20  41 44 44 20 43 4F 4D 4D  | WAY TO ADD COMM|
00001C10: 45 4E 54 53 20 49 53 20  54 4F 0D 53 54 41 52 54  |ENTS IS TO.START|
00001C20: 20 43 4F 4D 4D 45 4E 54  53 20 57 49 54 48 20 41  | COMMENTS WITH A|
00001C30: 20 27 3B 27 20 43 48 41  52 41 43 54 45 52 2E 0D  | ';' CHARACTER..|
00001C40: 5E 0D 0D 74 48 45 52 45  20 49 53 20 41 20 53 50  |^..tHERE IS A SP|
00001C50: 45 43 49 41 4C 20 43 41  53 45 20 4F 46 20 53 59  |ECIAL CASE OF SY|
00001C60: 4D 42 4F 4C 0D 41 53 53  49 47 4E 4D 45 4E 54 20  |MBOL.ASSIGNMENT |
00001C70: 57 4F 52 54 48 20 4E 4F  54 49 4E 47 2E 20 20 69  |WORTH NOTING.  i|
00001C80: 54 53 20 46 4F 52 4D 20  49 53 3A 0D 0D 20 20 53  |TS FORM IS:..  S|
00001C90: 59 4D 42 4F 4C 20 3D 20  2A 0D 0D 68 45 52 45 2C  |YMBOL = *..hERE,|
00001CA0: 20 27 2A 27 20 49 53 20  54 48 45 20 54 48 45 20  | '*' IS THE THE |
00001CB0: 27 70 52 4F 47 52 41 4D  20 43 4F 55 4E 54 45 52  |'pROGRAM COUNTER|
00001CC0: 27 2E 0D 69 54 20 52 45  46 45 52 53 20 54 4F 20  |'..iT REFERS TO |
00001CD0: 54 48 45 20 43 55 52 52  45 4E 54 20 4D 45 4D 4F  |THE CURRENT MEMO|
00001CE0: 52 59 20 4C 4F 43 41 54  49 4F 4E 49 4E 20 54 48  |RY LOCATIONIN TH|
00001CF0: 45 20 4D 41 43 48 49 4E  45 20 4C 41 4E 47 55 41  |E MACHINE LANGUA|
00001D00: 47 45 20 52 4F 55 54 49  4E 45 2E 0D 0D 66 4F 52  |GE ROUTINE...fOR|
00001D10: 20 45 58 41 4D 50 4C 45  3A 0D 0D 20 20 20 20 3B  | EXAMPLE:..    ;|
00001D20: 20 41 44 44 52 45 53 53  20 41 54 20 54 48 49 53  | ADDRESS AT THIS|
00001D30: 20 50 4F 49 4E 54 20 49  53 20 24 63 30 30 30 0D  | POINT IS $c000.|
00001D40: 0D 20 20 20 20 69 6E 63  20 35 33 32 38 30 20 3B  |.    inc 53280 ;|
00001D50: 20 54 48 49 53 20 49 4E  53 54 52 20 54 41 4B 45  | THIS INSTR TAKE|
00001D60: 53 20 33 20 42 59 54 45  53 74 65 73 74 20 3D 20  |S 3 BYTEStest = |
00001D70: 2A 0D 20 20 20 20 3B 20  41 44 44 52 45 53 53 20  |*.    ; ADDRESS |
00001D80: 41 54 20 54 48 49 53 20  50 4F 49 4E 54 20 49 53  |AT THIS POINT IS|
00001D90: 20 24 63 30 30 33 0D 0D  0D 0D 74 65 73 74 20 48  | $c003....test H|
00001DA0: 41 53 20 54 48 45 20 56  41 4C 55 45 3A 20 24 63  |AS THE VALUE: $c|
00001DB0: 30 30 33 0D 5E 0D 0D 74  48 45 20 46 4F 4C 4C 4F  |003.^..tHE FOLLO|
00001DC0: 57 49 4E 47 20 49 53 20  45 51 55 49 56 41 4C 45  |WING IS EQUIVALE|
00001DD0: 4E 54 3A 0D 0D 20 20 20  6C 6F 6F 70 20 69 6E 63  |NT:..   loop inc|
00001DE0: 20 35 33 32 38 30 0D 20  20 20 20 20 20 20 20 6A  | 53280.        j|
00001DF0: 6D 70 20 6C 6F 6F 70 0D  0D 0D 0D 41 4E 44 3A 0D  |mp loop....AND:.|
00001E00: 0D 20 20 20 6C 6F 6F 70  20 3D 20 2A 0D 20 20 20  |.   loop = *.   |
00001E10: 20 20 20 20 20 69 6E 63  20 35 33 32 38 30 0D 20  |     inc 53280. |
00001E20: 20 20 20 20 20 20 20 6A  6D 70 20 6C 6F 6F 70 0D  |       jmp loop.|
00001E30: 0D 0D 74 48 45 52 45 46  4F 52 45 2C 20 54 48 45  |..tHEREFORE, THE|
00001E40: 20 54 45 43 48 4E 49 51  55 45 20 49 4E 20 20 54  | TECHNIQUE IN  T|
00001E50: 48 45 20 53 45 43 4F 4E  44 0D 43 41 53 45 20 43  |HE SECOND.CASE C|
00001E60: 41 4E 20 42 45 20 55 53  45 44 20 54 4F 20 4D 41  |AN BE USED TO MA|
00001E70: 4B 45 20 59 4F 55 52 20  41 53 53 45 4D 42 4C 45  |KE YOUR ASSEMBLE|
00001E80: 52 0D 50 52 4F 47 52 41  4D 53 20 4D 4F 52 45 20  |R.PROGRAMS MORE |
00001E90: 52 45 41 44 41 42 4C 45  2E 0D 5E 0D 0D 74 48 45  |READABLE..^..tHE|
00001EA0: 52 45 20 41 52 45 20 53  4F 4D 45 20 53 54 41 54  |RE ARE SOME STAT|
00001EB0: 45 4D 45 4E 54 53 20 49  4E 20 41 20 41 53 53 45  |EMENTS IN A ASSE|
00001EC0: 4D 42 4C 45 52 55 53 45  44 20 46 4F 52 20 4C 49  |MBLERUSED FOR LI|
00001ED0: 53 54 49 4E 47 20 43 4F  4E 54 52 4F 4C 2C 20 4D  |STING CONTROL, M|
00001EE0: 41 43 48 49 4E 45 20 43  4F 44 45 0D 50 4C 41 43  |ACHINE CODE.PLAC|
00001EF0: 45 4D 45 4E 54 2C 20 52  45 53 45 52 56 41 54 49  |EMENT, RESERVATI|
00001F00: 4F 4E 20 4F 46 20 53 50  41 43 45 2C 20 45 54 43  |ON OF SPACE, ETC|
00001F10: 0D 54 48 41 54 20 44 4F  20 4E 4F 54 20 44 49 52  |.THAT DO NOT DIR|
00001F20: 45 43 54 4C 59 20 47 45  4E 45 52 41 54 45 20 4D  |ECTLY GENERATE M|
00001F30: 41 43 48 49 4E 45 0D 4C  41 4E 47 55 41 47 45 20  |ACHINE.LANGUAGE |
00001F40: 43 4F 44 45 2E 20 20 74  48 45 59 20 41 52 45 20  |CODE.  tHEY ARE |
00001F50: 43 4F 4D 4D 4F 4E 4C 59  20 43 41 4C 4C 45 44 50  |COMMONLY CALLEDP|
00001F60: 53 55 45 44 4F 2D 4F 50  45 52 41 54 49 4F 4E 53  |SUEDO-OPERATIONS|
00001F70: 2E 0D 0D 6C 45 54 27 53  20 54 41 4B 45 20 41 20  |...lET'S TAKE A |
00001F80: 4C 4F 4F 4B 20 41 54 20  53 4F 4D 45 20 4F 46 20  |LOOK AT SOME OF |
00001F90: 54 48 45 4D 2E 0D 5E 0D  0D 74 4F 20 54 45 4C 4C  |THEM..^..tO TELL|
00001FA0: 20 54 48 45 20 41 53 53  45 4D 42 4C 45 52 20 57  | THE ASSEMBLER W|
00001FB0: 48 45 52 45 20 54 4F 20  50 55 54 20 59 4F 55 52  |HERE TO PUT YOUR|
00001FC0: 0D 4D 41 43 48 49 4E 45  20 4C 41 4E 47 55 41 47  |.MACHINE LANGUAG|
00001FD0: 45 20 50 52 4F 47 52 41  4D 2C 20 55 53 45 20 54  |E PROGRAM, USE T|
00001FE0: 48 45 0D 46 4F 4C 4C 4F  57 49 4E 47 3A 0D 0D 2A  |HE.FOLLOWING:..*|
00001FF0: 3D 41 44 44 52 45 53 53  0D 0D 6E 4F 54 45 20 54  |=ADDRESS..nOTE T|
00002000: 48 41 54 20 54 48 49 53  20 49 53 20 43 4F 4E 53  |HAT THIS IS CONS|
00002010: 49 53 54 45 4E 54 20 57  49 54 48 20 4F 55 52 0D  |ISTENT WITH OUR.|
00002020: 50 52 45 56 49 4F 55 53  20 44 45 46 49 4E 49 54  |PREVIOUS DEFINIT|
00002030: 49 4F 4E 20 4F 46 20 27  2A 27 20 3D 20 50 52 4F  |ION OF '*' = PRO|
00002040: 47 52 41 4D 0D 43 4F 55  4E 54 45 52 20 28 70 63  |GRAM.COUNTER (pc|
00002050: 29 2E 0D 0D 65 47 2E 20  20 2A 3D 38 32 38 0D 0D  |)...eG.  *=828..|
00002060: 4F 52 20 20 20 2A 3D 34  39 31 35 32 0D 5E 0D 0D  |OR   *=49152.^..|
00002070: 6E 4F 57 20 54 48 41 54  20 59 4F 55 20 48 41 56  |nOW THAT YOU HAV|
00002080: 45 20 41 20 53 4C 49 47  48 54 20 49 44 45 41 20  |E A SLIGHT IDEA |
00002090: 4F 46 20 57 48 41 54 0D  4D 41 43 48 49 4E 45 20  |OF WHAT.MACHINE |
000020A0: 4C 41 4E 47 55 41 47 45  20 49 4E 53 54 52 55 43  |LANGUAGE INSTRUC|
000020B0: 54 49 4F 4E 53 20 41 52  45 2E 20 20 68 4F 57 0D  |TIONS ARE.  hOW.|
000020C0: 41 42 4F 55 54 20 44 41  54 41 3F 20 20 69 4E 20  |ABOUT DATA?  iN |
000020D0: 4D 41 43 48 49 4E 45 20  4C 41 4E 47 55 41 47 45  |MACHINE LANGUAGE|
000020E0: 2C 20 59 4F 55 0D 4D 55  53 54 20 4B 45 45 50 20  |, YOU.MUST KEEP |
000020F0: 54 52 41 43 4B 20 4F 46  20 59 4F 55 52 20 4F 57  |TRACK OF YOUR OW|
00002100: 4E 20 44 41 54 41 20 53  50 41 43 45 0D 28 55 4E  |N DATA SPACE.(UN|
00002110: 4C 49 4B 45 20 62 61 73  69 63 29 2E 20 20 64 41  |LIKE basic).  dA|
00002120: 54 41 20 43 41 4E 20 42  45 20 50 4C 41 43 45 44  |TA CAN BE PLACED|
00002130: 0D 41 4E 59 57 48 45 52  45 20 57 48 45 52 45 20  |.ANYWHERE WHERE |
00002140: 59 4F 55 20 43 41 4E 20  50 55 54 20 4D 41 43 48  |YOU CAN PUT MACH|
00002150: 49 4E 45 0D 4C 41 4E 47  55 41 47 45 20 50 52 4F  |INE.LANGUAGE PRO|
00002160: 47 52 41 4D 53 2E 20 20  69 4E 20 46 41 43 54 2C  |GRAMS.  iN FACT,|
00002170: 20 54 48 45 52 45 20 49  53 0D 4E 4F 20 44 49 53  | THERE IS.NO DIS|
00002180: 54 49 4E 54 49 4F 4E 20  42 45 54 57 45 45 4E 20  |TINTION BETWEEN |
00002190: 49 4E 53 54 52 55 43 54  49 4F 4E 53 20 41 4E 44  |INSTRUCTIONS AND|
000021A0: 0D 44 41 54 41 2E 20 20  79 4F 55 20 43 41 4E 20  |.DATA.  yOU CAN |
000021B0: 54 45 4C 4C 20 54 48 45  20 43 4F 4D 50 55 54 45  |TELL THE COMPUTE|
000021C0: 52 20 54 4F 20 6A 6D 70  0D 54 4F 20 41 20 44 41  |R TO jmp.TO A DA|
000021D0: 54 41 20 41 52 45 41 20  41 4E 44 20 49 54 20 57  |TA AREA AND IT W|
000021E0: 49 4C 4C 20 54 52 59 20  54 4F 0D 45 58 45 43 55  |ILL TRY TO.EXECU|
000021F0: 54 45 20 44 41 54 41 20  41 53 20 49 46 20 54 48  |TE DATA AS IF TH|
00002200: 45 59 20 57 45 52 45 0D  49 4E 53 54 52 55 43 54  |EY WERE.INSTRUCT|
00002210: 49 4F 4E 53 2E 0D 0D 6D  4F 53 54 20 41 53 53 45  |IONS...mOST ASSE|
00002220: 4D 42 4C 45 52 53 20 48  41 56 45 20 54 48 45 53  |MBLERS HAVE THES|
00002230: 45 20 46 4F 55 52 20 50  53 45 55 44 4F 2D 0D 4F  |E FOUR PSEUDO-.O|
00002240: 50 45 52 41 54 49 4F 4E  53 20 46 4F 52 20 53 50  |PERATIONS FOR SP|
00002250: 41 43 45 20 41 4C 4C 4F  43 41 54 49 4F 4E 3A 0D  |ACE ALLOCATION:.|
00002260: 0D 20 20 20 31 29 20 2A  3D 2A 2B 4E 0D 20 20 20  |.   1) *=*+N.   |
00002270: 32 29 20 2E 62 79 74 65  0D 20 20 20 33 29 20 2E  |2) .byte.   3) .|
00002280: 77 6F 72 64 0D 20 20 20  34 29 20 2E 61 73 63 0D  |word.   4) .asc.|
00002290: 5E 0D 0D 2A 3D 2A 2B 4E  0D 0D 27 4E 27 20 42 59  |^..*=*+N..'N' BY|
000022A0: 54 45 53 20 4F 46 20 53  50 41 43 45 20 41 52 45  |TES OF SPACE ARE|
000022B0: 20 52 45 53 45 52 56 45  44 20 57 49 54 48 0D 54  | RESERVED WITH.T|
000022C0: 48 49 53 20 49 4E 53 54  52 55 43 54 49 4F 4E 2E  |HIS INSTRUCTION.|
000022D0: 20 20 69 54 20 49 53 20  53 54 49 4C 4C 0D 43 4F  |  iT IS STILL.CO|
000022E0: 4E 53 49 53 54 45 4E 54  20 57 49 54 48 20 4F 55  |NSISTENT WITH OU|
000022F0: 52 20 50 52 4F 47 52 41  4D 20 43 4F 55 4E 54 45  |R PROGRAM COUNTE|
00002300: 52 20 28 70 63 29 4E 4F  54 41 54 49 4F 4E 2E 0D  |R (pc)NOTATION..|
00002310: 0D 77 45 20 41 52 45 20  53 41 59 49 4E 47 2C 20  |.wE ARE SAYING, |
00002320: 4C 45 54 20 54 48 45 20  70 63 20 42 45 20 41 44  |LET THE pc BE AD|
00002330: 56 41 4E 43 45 44 20 42  59 27 4E 27 2E 0D 0D 65  |VANCED BY'N'...e|
00002340: 47 2E 0D 20 20 20 20 20  20 61 72 72 61 79 20 2A  |G..      array *|
00002350: 3D 2A 2B 31 30 0D 0D 57  49 4C 4C 20 52 45 53 45  |=*+10..WILL RESE|
00002360: 52 56 45 20 31 30 20 42  59 54 45 53 20 41 54 20  |RVE 10 BYTES AT |
00002370: 54 48 45 20 43 55 52 52  45 4E 54 20 70 63 2E 61  |THE CURRENT pc.a|
00002380: 72 72 61 79 20 49 53 20  54 48 45 20 41 44 44 52  |rray IS THE ADDR|
00002390: 45 53 53 20 4F 46 20 54  48 45 20 53 54 41 52 54  |ESS OF THE START|
000023A0: 20 4F 46 0D 54 48 49 53  20 4D 45 4D 4F 52 59 20  | OF.THIS MEMORY |
000023B0: 42 4C 4F 43 4B 2E 0D 5E  0D 0D 2E 62 79 74 65 20  |BLOCK..^...byte |
000023C0: 4E 31 2C 4E 32 2C 4E 33  2E 2E 2E 4E 58 0D 0D 27  |N1,N2,N3...NX..'|
000023D0: 58 27 20 42 59 54 45 53  20 4F 46 20 4D 45 4D 4F  |X' BYTES OF MEMO|
000023E0: 52 59 20 41 52 45 20 52  45 53 45 52 56 45 44 20  |RY ARE RESERVED |
000023F0: 57 49 54 48 0D 54 48 49  53 20 49 4E 53 54 52 55  |WITH.THIS INSTRU|
00002400: 43 54 49 4F 4E 2E 20 20  6E 4F 54 20 4F 4E 4C 59  |CTION.  nOT ONLY|
00002410: 20 49 53 20 53 50 41 43  45 0D 52 45 53 45 52 56  | IS SPACE.RESERV|
00002420: 45 44 2C 20 54 48 45 20  56 41 4C 55 45 53 20 41  |ED, THE VALUES A|
00002430: 52 45 20 49 4E 49 54 49  41 4C 49 5A 45 44 20 54  |RE INITIALIZED T|
00002440: 4F 0D 4E 31 2C 4E 32 2C  4E 33 2E 2E 2E 4E 58 2E  |O.N1,N2,N3...NX.|
00002450: 0D 0D 65 47 2E 0D 20 20  20 20 20 73 69 6E 67 6C  |..eG..     singl|
00002460: 65 20 2E 62 79 74 65 20  31 30 0D 57 49 4C 4C 20  |e .byte 10.WILL |
00002470: 52 45 53 45 52 56 45 20  31 20 42 59 54 45 20 57  |RESERVE 1 BYTE W|
00002480: 49 54 48 20 49 4E 49 54  20 56 41 4C 55 45 20 31  |ITH INIT VALUE 1|
00002490: 30 0D 0D 65 47 2E 0D 20  20 20 20 20 61 72 72 61  |0..eG..     arra|
000024A0: 79 20 20 2E 62 79 74 65  20 31 2C 32 2C 33 2C 31  |y  .byte 1,2,3,1|
000024B0: 30 2C 32 30 0D 57 49 4C  4C 20 52 45 53 45 52 56  |0,20.WILL RESERV|
000024C0: 45 20 35 20 42 59 54 45  53 20 4F 46 20 4D 45 4D  |E 5 BYTES OF MEM|
000024D0: 4F 52 59 2E 20 20 74 48  45 0D 4D 45 4D 4F 52 59  |ORY.  tHE.MEMORY|
000024E0: 20 4C 4F 43 41 54 49 4F  4E 53 20 41 52 45 20 41  | LOCATIONS ARE A|
000024F0: 53 53 49 47 4E 45 44 20  54 48 45 0D 46 4F 4C 4C  |SSIGNED THE.FOLL|
00002500: 4F 57 49 4E 47 20 56 41  4C 55 45 53 3A 0D 0D 20  |OWING VALUES:.. |
00002510: 20 20 20 20 31 20 20 32  20 20 33 20 20 31 30 20  |    1  2  3  10 |
00002520: 20 32 30 0D 0D 6E 4F 54  45 20 54 48 41 54 20 54  | 20..nOTE THAT T|
00002530: 48 45 53 45 20 41 52 45  20 49 4E 49 54 49 41 4C  |HESE ARE INITIAL|
00002540: 20 56 41 4C 55 45 53 20  41 4E 44 0D 43 41 4E 20  | VALUES AND.CAN |
00002550: 42 45 20 43 48 41 4E 47  45 44 20 57 49 54 48 49  |BE CHANGED WITHI|
00002560: 4E 20 59 4F 55 52 20 50  52 4F 47 52 41 4D 2E 0D  |N YOUR PROGRAM..|
00002570: 5E 0D 0D 2E 77 6F 72 64  20 4E 31 2C 4E 32 2C 4E  |^...word N1,N2,N|
00002580: 33 2C 2E 2E 2E 4E 58 0D  0D 57 49 4C 4C 20 52 45  |3,...NX..WILL RE|
00002590: 53 45 52 56 45 20 27 58  27 20 77 6F 72 64 73 20  |SERVE 'X' words |
000025A0: 4F 46 20 4D 45 4D 4F 52  59 2E 0D 69 4E 49 54 49  |OF MEMORY..iNITI|
000025B0: 41 4C 20 56 41 4C 55 45  53 20 4F 46 20 54 48 45  |AL VALUES OF THE|
000025C0: 53 45 20 57 4F 52 44 53  20 41 52 45 0D 4E 31 2C  |SE WORDS ARE.N1,|
000025D0: 4E 32 2C 4E 33 2E 2E 2E  4E 58 20 49 4E 20 53 54  |N2,N3...NX IN ST|
000025E0: 41 4E 44 41 52 44 20 4C  4F 57 2D 48 49 47 48 0D  |ANDARD LOW-HIGH.|
000025F0: 46 4F 52 4D 41 54 2E 20  20 77 4F 52 44 53 20 41  |FORMAT.  wORDS A|
00002600: 52 45 20 32 20 42 59 54  45 20 51 55 41 4E 54 49  |RE 2 BYTE QUANTI|
00002610: 54 49 45 53 2E 0D 69 54  20 49 53 20 41 20 53 54  |TIES..iT IS A ST|
00002620: 41 4E 44 41 52 44 20 54  4F 20 48 41 56 45 20 54  |ANDARD TO HAVE T|
00002630: 48 45 20 6C 6F 77 2D 6F  72 64 65 72 0D 42 59 54  |HE low-order.BYT|
00002640: 45 20 41 50 50 45 41 52  20 46 49 52 53 54 20 49  |E APPEAR FIRST I|
00002650: 4E 20 54 48 45 20 32 20  42 59 54 45 20 53 45 51  |N THE 2 BYTE SEQ|
00002660: 55 45 4E 43 45 0D 65 47  2E 0D 20 20 20 20 20 61  |UENCE.eG..     a|
00002670: 72 72 61 79 20 2E 77 6F  72 64 20 31 30 30 2C 32  |rray .word 100,2|
00002680: 35 37 2C 35 31 32 0D 0D  57 49 4C 4C 20 52 45 53  |57,512..WILL RES|
00002690: 45 52 56 45 20 33 20 57  4F 52 44 53 20 28 36 20  |ERVE 3 WORDS (6 |
000026A0: 42 59 54 45 53 29 20 4F  46 20 4D 45 4D 4F 52 59  |BYTES) OF MEMORY|
000026B0: 41 4E 44 20 49 4E 49 54  49 41 4C 49 5A 45 20 49  |AND INITIALIZE I|
000026C0: 54 2E 0D 0D 69 4E 20 57  4F 52 44 53 3A 20 28 31  |T...iN WORDS: (1|
000026D0: 30 30 29 2C 20 20 20 28  32 35 37 29 2C 20 28 35  |00),   (257), (5|
000026E0: 31 32 29 0D 69 4E 20 42  59 54 45 53 3A 20 31 30  |12).iN BYTES: 10|
000026F0: 30 2C 30 2C 20 20 20 31  2C 31 2C 20 20 20 30 2C  |0,0,   1,1,   0,|
00002700: 32 0D 0D 20 20 57 48 45  52 45 20 31 30 30 2B 30  |2..  WHERE 100+0|
00002710: 2A 32 35 36 20 3D 20 31  30 30 0D 20 20 20 20 20  |*256 = 100.     |
00002720: 20 20 20 31 2B 31 2A 32  35 36 20 20 20 3D 20 32  |   1+1*256   = 2|
00002730: 35 37 0D 20 20 20 20 20  20 20 20 30 2B 32 2A 32  |57.        0+2*2|
00002740: 35 36 20 20 20 3D 20 35  31 32 0D 5E 0D 0D 2E 61  |56   = 512.^...a|
00002750: 73 63 20 53 54 52 49 4E  47 0D 0D 57 49 4C 4C 20  |sc STRING..WILL |
00002760: 52 45 53 45 52 56 45 20  45 4E 4F 55 47 48 20 53  |RESERVE ENOUGH S|
00002770: 50 41 43 45 20 46 4F 52  20 54 48 45 0D 50 41 52  |PACE FOR THE.PAR|
00002780: 54 49 43 55 4C 41 52 20  53 54 52 49 4E 47 20 41  |TICULAR STRING A|
00002790: 4E 44 20 53 54 4F 52 45  20 54 48 45 20 61 73 63  |ND STORE THE asc|
000027A0: 69 69 0D 56 41 4C 55 45  53 20 49 4E 20 54 48 45  |ii.VALUES IN THE|
000027B0: 20 4D 45 4D 4F 52 59 20  4C 4F 43 41 54 49 4F 4E  | MEMORY LOCATION|
000027C0: 53 2E 0D 0D 65 47 2E 0D  20 20 20 20 20 73 74 72  |S...eG..     str|
000027D0: 69 6E 67 20 2E 61 73 63  20 22 68 65 6C 6C 6F 22  |ing .asc "hello"|
000027E0: 0D 0D 57 49 4C 4C 20 52  45 53 45 52 56 45 20 35  |..WILL RESERVE 5|
000027F0: 20 42 59 54 45 53 20 46  4F 52 20 54 48 49 53 20  | BYTES FOR THIS |
00002800: 53 54 52 49 4E 47 2E 0D  74 48 45 20 49 4E 49 54  |STRING..tHE INIT|
00002810: 49 41 4C 20 56 41 4C 55  45 53 20 41 52 45 3A 0D  |IAL VALUES ARE:.|
00002820: 0D 20 20 69 4E 20 73 54  52 49 4E 47 20 46 4F 52  |.  iN sTRING FOR|
00002830: 4D 3A 20 20 20 22 68 22  2C 22 65 22 2C 22 6C 22  |M:   "h","e","l"|
00002840: 2C 22 6C 22 2C 22 6F 22  0D 0D 20 20 69 4E 20 54  |,"l","o"..  iN T|
00002850: 45 52 4D 53 20 4F 46 20  42 59 54 45 53 3A 20 37  |ERMS OF BYTES: 7|
00002860: 32 2C 20 36 39 2C 20 37  36 2C 20 37 36 2C 20 37  |2, 69, 76, 76, 7|
00002870: 39 0D 0D 4B 45 45 50 20  49 4E 20 4D 49 4E 44 20  |9..KEEP IN MIND |
00002880: 54 48 41 54 20 63 68 72  24 28 37 32 29 20 3D 20  |THAT chr$(72) = |
00002890: 22 68 22 0D 20 20 20 20  20 20 20 20 20 20 20 20  |"h".            |
000028A0: 20 20 20 20 20 20 63 68  72 24 28 36 39 29 20 3D  |      chr$(69) =|
000028B0: 20 22 65 22 0D 20 20 20  20 20 20 20 20 20 20 20  | "e".           |
000028C0: 20 20 20 20 20 20 20 63  68 72 24 28 37 36 29 20  |       chr$(76) |
000028D0: 3D 20 22 6C 22 0D 20 20  20 20 20 20 20 20 20 20  |= "l".          |
000028E0: 20 20 20 20 20 20 20 20  63 68 72 24 28 37 36 29  |        chr$(76)|
000028F0: 20 3D 20 22 6C 22 0D 20  20 20 20 20 20 20 20 20  | = "l".         |
00002900: 20 20 20 20 20 20 20 20  20 63 68 72 24 28 37 39  |         chr$(79|
00002910: 29 20 3D 20 22 6F 22 0D  5E 0D 0D 62 45 46 4F 52  |) = "o".^..bEFOR|
00002920: 45 20 57 45 20 43 4F 4E  43 4C 55 44 45 20 54 48  |E WE CONCLUDE TH|
00002930: 49 53 20 4C 45 53 53 4F  4E 2C 20 4C 45 54 53 0D  |IS LESSON, LETS.|
00002940: 42 52 49 45 46 4C 59 20  44 49 53 43 55 53 53 20  |BRIEFLY DISCUSS |
00002950: 54 48 45 20 46 55 4E 43  54 49 4F 4E 20 4F 46 20  |THE FUNCTION OF |
00002960: 53 4F 4D 45 0D 49 4D 50  4F 52 54 41 4E 54 20 52  |SOME.IMPORTANT R|
00002970: 45 47 49 53 54 45 52 53  2E 0D 0D 72 45 47 49 53  |EGISTERS...rEGIS|
00002980: 54 45 52 53 20 41 52 45  20 53 50 45 43 49 41 4C  |TERS ARE SPECIAL|
00002990: 20 53 54 41 4F 52 41 47  45 20 4C 4F 43 41 54 49  | STAORAGE LOCATI|
000029A0: 4F 4E 53 49 4E 53 49 44  45 20 54 48 45 20 63 70  |ONSINSIDE THE cp|
000029B0: 75 20 28 36 35 31 30 20  4D 49 43 52 4F 50 52 4F  |u (6510 MICROPRO|
000029C0: 43 45 53 53 4F 52 29 2E  0D 6D 41 43 48 49 4E 45  |CESSOR)..mACHINE|
000029D0: 20 4C 41 4E 47 55 41 47  45 20 49 4E 53 54 52 55  | LANGUAGE INSTRU|
000029E0: 43 54 49 4F 4E 53 20 57  49 4C 4C 0D 45 49 54 48  |CTIONS WILL.EITH|
000029F0: 45 52 20 43 48 41 4E 47  45 20 54 48 45 20 43 4F  |ER CHANGE THE CO|
00002A00: 4E 54 45 4E 54 53 20 4F  46 20 4D 45 4D 4F 52 59  |NTENTS OF MEMORY|
00002A10: 2C 0D 54 48 45 20 43 4F  4E 54 45 4E 54 53 20 4F  |,.THE CONTENTS O|
00002A20: 46 20 4D 45 4D 4F 52 59  2D 4D 41 50 50 45 44 0D  |F MEMORY-MAPPED.|
00002A30: 69 2F 6F 20 52 45 47 49  53 54 45 52 53 2C 20 4F  |i/o REGISTERS, O|
00002A40: 52 20 54 48 45 20 43 4F  4E 54 45 4E 54 53 20 4F  |R THE CONTENTS O|
00002A50: 46 20 54 48 45 53 45 0D  49 4E 54 45 52 4E 41 4C  |F THESE.INTERNAL|
00002A60: 20 52 45 47 49 53 54 45  52 53 3A 0D 0D 20 31 29  | REGISTERS:.. 1)|
00002A70: 20 61 43 43 55 4D 55 4C  41 54 4F 52 0D 20 32 29  | aCCUMULATOR. 2)|
00002A80: 20 78 2D 72 45 47 49 53  54 45 52 0D 20 33 29 20  | x-rEGISTER. 3) |
00002A90: 79 2D 72 45 47 49 53 54  45 52 0D 20 34 29 20 70  |y-rEGISTER. 4) p|
00002AA0: 2D 72 45 47 49 53 54 45  52 20 4F 52 20 73 54 41  |-rEGISTER OR sTA|
00002AB0: 54 55 53 20 52 45 47 49  53 54 45 52 0D 20 35 29  |TUS REGISTER. 5)|
00002AC0: 20 73 54 41 43 4B 20 50  4F 49 4E 54 45 52 0D 0D  | sTACK POINTER..|
00002AD0: 61 4C 4C 20 52 45 47 49  53 54 45 52 53 20 48 41  |aLL REGISTERS HA|
00002AE0: 56 45 20 41 20 53 49 5A  45 20 4F 46 20 31 20 42  |VE A SIZE OF 1 B|
00002AF0: 59 54 45 2E 0D 5E 0D 0D  61 43 43 55 4D 55 4C 41  |YTE..^..aCCUMULA|
00002B00: 54 4F 52 0D 0D 74 48 49  53 20 49 53 20 54 48 45  |TOR..tHIS IS THE|
00002B10: 20 6D 6F 73 74 20 69 6D  70 6F 72 74 61 6E 74 20  | most important |
00002B20: 52 45 47 49 53 54 45 52  0D 49 4E 53 49 44 45 20  |REGISTER.INSIDE |
00002B30: 54 48 45 20 36 35 31 30  20 4D 49 43 52 4F 50 52  |THE 6510 MICROPR|
00002B40: 4F 43 45 53 53 4F 52 2E  20 20 69 54 20 49 53 0D  |OCESSOR.  iT IS.|
00002B50: 41 20 54 45 4D 50 4F 52  41 52 59 20 53 54 4F 52  |A TEMPORARY STOR|
00002B60: 41 47 45 20 4C 4F 43 41  54 49 4F 4E 20 46 4F 52  |AGE LOCATION FOR|
00002B70: 20 41 4C 4C 0D 4D 41 54  48 20 46 55 4E 43 54 49  | ALL.MATH FUNCTI|
00002B80: 4F 4E 53 20 4C 49 4B 45  20 41 44 44 20 41 4E 44  |ONS LIKE ADD AND|
00002B90: 20 53 55 42 54 52 41 43  54 2E 0D 6D 41 4E 59 20  | SUBTRACT..mANY |
00002BA0: 4D 41 43 48 49 4E 45 20  4C 41 4E 47 55 41 47 45  |MACHINE LANGUAGE|
00002BB0: 20 49 4E 53 54 52 55 43  54 49 4F 4E 53 20 57 49  | INSTRUCTIONS WI|
00002BC0: 4C 4C 0D 4F 50 45 52 41  54 45 20 4F 4E 20 54 48  |LL.OPERATE ON TH|
00002BD0: 49 53 20 52 45 47 49 53  54 45 52 2E 20 20 73 4F  |IS REGISTER.  sO|
00002BE0: 4D 45 0D 49 4E 53 54 52  55 43 54 49 4F 4E 53 20  |ME.INSTRUCTIONS |
00002BF0: 57 49 4C 4C 20 41 4C 4C  4F 57 20 59 4F 55 20 54  |WILL ALLOW YOU T|
00002C00: 4F 20 54 52 41 4E 53 46  45 52 0D 43 4F 4E 54 45  |O TRANSFER.CONTE|
00002C10: 4E 54 53 20 4F 46 20 4D  45 4D 4F 52 59 20 4F 52  |NTS OF MEMORY OR|
00002C20: 20 4F 54 48 45 52 20 52  45 47 49 53 54 45 52 53  | OTHER REGISTERS|
00002C30: 20 54 4F 54 48 45 20 41  43 55 4D 4D 55 4C 41 54  | TOTHE ACUMMULAT|
00002C40: 4F 52 20 41 4E 44 20 56  49 43 45 2D 56 45 52 53  |OR AND VICE-VERS|
00002C50: 41 2E 20 20 74 48 45 52  45 0D 49 53 20 41 4C 53  |A.  tHERE.IS ALS|
00002C60: 4F 20 41 20 43 41 52 52  59 20 42 49 54 20 41 53  |O A CARRY BIT AS|
00002C70: 53 4F 43 49 41 54 45 44  20 57 49 54 48 20 54 48  |SOCIATED WITH TH|
00002C80: 45 0D 41 43 43 55 4D 55  4C 41 54 4F 52 2E 0D 5E  |E.ACCUMULATOR..^|
00002C90: 0D 0D 78 2D 72 45 47 49  53 54 45 52 2C 20 79 2D  |..x-rEGISTER, y-|
00002CA0: 72 45 47 49 53 54 45 52  0D 0D 74 48 45 53 45 20  |rEGISTER..tHESE |
00002CB0: 52 45 47 49 53 54 45 52  53 20 41 52 45 20 53 49  |REGISTERS ARE SI|
00002CC0: 4D 49 4C 41 52 20 54 4F  20 54 48 45 0D 41 43 43  |MILAR TO THE.ACC|
00002CD0: 55 4D 55 4C 41 54 4F 52  20 49 4E 20 54 48 41 54  |UMULATOR IN THAT|
00002CE0: 20 54 48 45 59 20 41 52  45 20 41 4C 53 4F 0D 54  | THEY ARE ALSO.T|
00002CF0: 45 4D 50 4F 52 41 52 59  20 53 54 4F 52 41 47 45  |EMPORARY STORAGE|
00002D00: 20 4C 4F 43 41 54 49 4F  4E 53 2E 20 20 74 48 45  | LOCATIONS.  tHE|
00002D10: 59 20 41 52 45 0D 53 50  45 43 49 41 4C 20 49 4E  |Y ARE.SPECIAL IN|
00002D20: 20 54 48 41 54 20 54 48  45 59 20 50 4C 41 59 20  | THAT THEY PLAY |
00002D30: 41 20 52 4F 4C 45 20 49  4E 0D 41 44 56 41 4E 43  |A ROLE IN.ADVANC|
00002D40: 45 44 20 41 44 52 45 53  53 49 4E 47 20 54 45 43  |ED ADRESSING TEC|
00002D50: 48 4E 49 51 55 45 53 20  28 49 45 20 46 4F 52 0D  |HNIQUES (IE FOR.|
00002D60: 49 4E 44 45 58 45 44 20  41 4E 44 20 49 4E 44 49  |INDEXED AND INDI|
00002D70: 52 45 43 54 20 41 44 52  45 53 53 49 4E 47 29 2E  |RECT ADRESSING).|
00002D80: 20 20 6D 4F 52 45 0D 4F  4E 20 54 48 49 53 20 41  |  mORE.ON THIS A|
00002D90: 54 20 41 20 4C 41 54 45  52 20 44 41 54 45 2E 0D  |T A LATER DATE..|
00002DA0: 5E 0D 0D 70 2D 72 45 47  49 53 54 45 52 2F 73 54  |^..p-rEGISTER/sT|
00002DB0: 41 54 55 53 20 52 45 47  49 53 54 45 52 0D 0D 65  |ATUS REGISTER..e|
00002DC0: 41 43 48 20 4F 46 20 54  48 45 20 38 20 42 49 54  |ACH OF THE 8 BIT|
00002DD0: 53 20 49 4E 20 54 48 49  53 20 52 45 47 49 53 54  |S IN THIS REGIST|
00002DE0: 45 52 20 49 53 0D 41 20  46 4C 41 47 20 49 4E 44  |ER IS.A FLAG IND|
00002DF0: 49 43 41 54 49 4E 47 20  54 48 45 20 27 53 54 41  |ICATING THE 'STA|
00002E00: 54 55 53 27 20 4F 46 20  54 48 45 0D 4C 41 53 54  |TUS' OF THE.LAST|
00002E10: 20 4F 50 45 52 41 54 49  4F 4E 2E 20 20 61 20 43  | OPERATION.  a C|
00002E20: 45 52 54 41 49 4E 20 53  45 54 20 4F 46 0D 49 4E  |ERTAIN SET OF.IN|
00002E30: 54 52 55 43 54 49 4F 4E  53 20 48 41 56 45 20 54  |TRUCTIONS HAVE T|
00002E40: 48 45 20 41 42 49 4C 49  54 59 20 54 4F 20 41 46  |HE ABILITY TO AF|
00002E50: 46 45 43 54 0D 42 49 54  53 20 49 4E 20 54 48 49  |FECT.BITS IN THI|
00002E60: 53 20 53 54 41 54 55 53  20 52 45 47 49 53 54 45  |S STATUS REGISTE|
00002E70: 52 2E 0D 0D 74 48 45 52  45 20 41 52 45 20 4F 54  |R...tHERE ARE OT|
00002E80: 48 45 52 20 49 4E 53 54  52 55 43 54 49 4F 4E 53  |HER INSTRUCTIONS|
00002E90: 20 54 48 41 54 0D 4F 50  45 52 41 54 45 20 42 41  | THAT.OPERATE BA|
00002EA0: 53 45 44 20 4F 4E 20 54  48 45 20 43 4F 4E 54 45  |SED ON THE CONTE|
00002EB0: 4E 54 53 20 4F 46 20 54  48 45 0D 53 54 41 54 55  |NTS OF THE.STATU|
00002EC0: 53 20 52 45 47 49 53 54  45 52 2E 0D 0D 66 4C 41  |S REGISTER...fLA|
00002ED0: 47 53 20 49 4E 43 4C 55  44 45 3A 20 0D 0D 20 20  |GS INCLUDE: ..  |
00002EE0: 20 31 29 20 6F 56 45 52  46 4C 4F 57 20 42 49 54  | 1) oVERFLOW BIT|
00002EF0: 0D 20 20 20 32 29 20 6E  45 47 41 54 49 56 45 20  |.   2) nEGATIVE |
00002F00: 42 49 54 0D 20 20 20 33  29 20 65 51 55 41 4C 20  |BIT.   3) eQUAL |
00002F10: 54 4F 20 5A 45 52 4F 20  42 49 54 0D 0D 20 20 20  |TO ZERO BIT..   |
00002F20: 45 54 43 2E 2E 0D 5E 0D  0D 73 54 41 43 4B 20 50  |ETC...^..sTACK P|
00002F30: 4F 49 4E 54 45 52 0D 0D  74 48 49 53 20 52 45 47  |OINTER..tHIS REG|
00002F40: 49 53 54 45 52 20 43 4F  4E 54 41 49 4E 53 20 54  |ISTER CONTAINS T|
00002F50: 48 45 20 41 44 44 52 45  53 53 0D 28 31 20 42 59  |HE ADDRESS.(1 BY|
00002F60: 54 45 20 41 44 44 52 45  53 53 29 20 4F 46 20 54  |TE ADDRESS) OF T|
00002F70: 48 45 20 4E 45 58 54 20  41 56 41 49 4C 41 42 4C  |HE NEXT AVAILABL|
00002F80: 45 0D 53 50 41 43 45 20  4F 4E 20 54 48 45 20 53  |E.SPACE ON THE S|
00002F90: 59 53 54 45 4D 20 53 54  41 43 4B 2E 20 20 74 48  |YSTEM STACK.  tH|
00002FA0: 45 20 53 54 41 43 4B 0D  50 4F 49 4E 54 45 52 20  |E STACK.POINTER |
00002FB0: 49 53 20 4D 4F 44 49 46  49 45 44 20 42 59 20 56  |IS MODIFIED BY V|
00002FC0: 41 52 49 4F 55 53 20 4D  41 43 48 49 4E 45 0D 4C  |ARIOUS MACHINE.L|
00002FD0: 41 4E 47 55 41 47 45 20  49 4E 53 54 52 55 43 54  |ANGUAGE INSTRUCT|
00002FE0: 49 4F 4E 53 2E 0D 0D 74  48 45 20 53 54 41 43 4B  |IONS...tHE STACK|
00002FF0: 20 49 53 20 41 20 53 50  45 43 49 41 4C 20 52 45  | IS A SPECIAL RE|
00003000: 53 45 52 56 45 44 20 42  4C 4F 43 4B 0D 4F 46 20  |SERVED BLOCK.OF |
00003010: 4D 45 4D 4F 52 59 20 55  53 45 44 20 46 4F 52 20  |MEMORY USED FOR |
00003020: 54 45 4D 50 4F 52 41 52  59 20 53 54 4F 52 41 47  |TEMPORARY STORAG|
00003030: 45 20 42 59 0D 4D 41 43  48 49 4E 45 20 4C 41 4E  |E BY.MACHINE LAN|
00003040: 47 55 41 47 45 20 50 52  4F 47 52 41 4D 53 20 41  |GUAGE PROGRAMS A|
00003050: 4E 44 20 42 59 20 54 48  45 0D 43 4F 4D 50 55 54  |ND BY THE.COMPUT|
00003060: 45 52 20 49 54 53 45 4C  46 2E 0D 5E 0D 0D 74 48  |ER ITSELF..^..tH|
00003070: 49 53 20 43 4F 4E 43 4C  55 44 45 53 20 4F 55 52  |IS CONCLUDES OUR|
00003080: 20 4C 45 53 53 4F 4E 2E  20 77 45 20 54 52 55 53  | LESSON. wE TRUS|
00003090: 54 0D 54 48 49 53 20 49  4E 54 52 4F 44 55 43 54  |T.THIS INTRODUCT|
000030A0: 49 4F 4E 20 54 4F 20 4D  41 43 48 49 4E 45 20 4C  |ION TO MACHINE L|
000030B0: 41 4E 47 55 41 47 45 0D  48 41 53 20 42 45 45 4E  |ANGUAGE.HAS BEEN|
000030C0: 20 42 45 4E 49 46 49 43  49 41 4C 2E 20 20 69 54  | BENIFICIAL.  iT|
000030D0: 20 50 52 4F 56 49 44 45  53 0D 54 48 45 20 42 41  | PROVIDES.THE BA|
000030E0: 53 49 43 53 20 52 45 51  55 49 52 45 44 20 46 4F  |SICS REQUIRED FO|
000030F0: 52 20 4F 55 52 20 55 50  43 4F 4D 49 4E 47 0D 4D  |R OUR UPCOMING.M|
00003100: 41 43 48 49 4E 45 20 4C  41 4E 47 55 41 47 45 20  |ACHINE LANGUAGE |
00003110: 54 55 54 4F 52 49 41 4C  53 2E 0D 0D 69 4E 20 55  |TUTORIALS...iN U|
00003120: 50 43 4F 4D 49 4E 47 20  4C 45 53 53 4F 4E 53 2C  |PCOMING LESSONS,|
00003130: 20 54 48 45 20 43 4F 4D  50 4C 45 54 45 0D 4D 41  | THE COMPLETE.MA|
00003140: 43 48 49 4E 45 4C 41 4E  47 55 41 47 45 20 49 4E  |CHINELANGUAGE IN|
00003150: 53 54 52 55 43 54 49 4F  4E 20 53 45 54 20 57 49  |STRUCTION SET WI|
00003160: 4C 4C 20 42 45 0D 45 58  50 4C 41 49 4E 45 44 20  |LL BE.EXPLAINED |
00003170: 41 4E 44 20 45 56 45 4E  54 55 41 4C 4C 59 2C 20  |AND EVENTUALLY, |
00003180: 41 44 56 41 4E 43 45 44  0D 4D 41 43 48 49 4E 45  |ADVANCED.MACHINE|
00003190: 20 4C 41 4E 47 55 41 47  45 20 54 45 43 48 4E 49  | LANGUAGE TECHNI|
000031A0: 51 55 45 53 20 57 49 4C  4C 20 42 45 0D 44 45 4D  |QUES WILL BE.DEM|
000031B0: 4F 4E 53 54 52 41 54 45  44 2E 0D 0D 5E 5E 5E 5E  |ONSTRATED...^^^^|
000031C0: 5E 5E 5E 5E                                       |^^^^            |
*N^..WELCOME TO THE WORLD OF MACHINE LAN
GUAGEPROGRAMMING!..MACHINE LANGUAGE IS T
HE ONLY LANGUAGE.YOUR COMMODORE 64 UNDER
STANDS.  IT IS A.LANGUAGE WHERE COMPUTER
S WORK WITH.ONES'S AND ZERO'S.  WHEN PRO
GRAMMING IN.BASIC, (A PEOPLE LANGUAGE), 
THE COMPUTERTRANSLATES YOUR PROGRAMS INT
O SOMETHING.IT UNDERSTANDS...BEFORE WE P
ROCEED, WE SHALL ASSUME THAT.YOU ARE SOM
EWHAT FAMILIAR WITH BASIC ANDHAVE USED T
HE PEEK AND POKE COMMANDS..ALSO, WE WOUL
D LIKE TO POINT OUT THAT.WHEN WE REFER T
O A NUMBER, WE ASSUME.THAT IT IS A DECIM
AL NUMBER (BASE 10)..BINARY AND HEXADECI
MAL NUMBERS SHOULD BEPRECEDED BY THE FOL
LOWING SPECIAL CHAR:. BASE 2: PRECEDE # 
WITH % (EG %01011010) BASE 16: PRECEDE #
 WITH $ (EG $5A).^..WHY WOULD YOU WANT T
O PROGRAM IN MACHINELANGUAGE?  FOR ONE T
HING, THE PROGRAM.WILL RUN MUCH FASTER. 
 IN SOME CASES,.HUNDREDS OF TIMES FASTER
...LET'S TRY AN EXAMPLE:..WE WILL CHANGE
 THE COLOR OF THE BORDER.AS FAST AS WE C
AN...HERE IS THE PROGRAM:.. 10 POKE 5328
0, (PEEK(53280)+1)AND255. 20 GOTO 10...H
IT ANY KEY TO STOP THE PROGRAM..^..NOW L
ET'S TRY IT IN MACHINE LANGUAGE..NOTE TH
AT THE BORDER CHANGES COLOUR MUCHFASTER.
..THINK ABOUT THIS GENERAL RULE OF THUMB
:.MACHINE LANGUAGE PROGRAMS ARE ALWAYS.F
ASTER THAN BASIC PROGRAMS.   THIS IS.ALW
AYS TRUE SINCE BASIC STATEMENTS MUST.BE 
TRANSLATED TO MACHINE LANGUAGE IN.ORDER 
TO RUN.....HIT ANY KEY TO STOP PROGRAM..
^..ANOTHER REASON TO PROGRAM IN MACHINE.
LANGUAGE IS TO SAVE MEMORY SPACE..GENERA
LLY, MACHINE LANGUAGE ROUTINES ARESMALLE
R.  TO ILLUSTRATE THIS, OUR.PREVIOUS EXA
MPLE OF CHANGING BORDER.COLOR TOOK:..   
38 BYTES IN BASIC CODE..   6 BYTES IN MA
CHINE LANGUAGE CODE..NOTE: WHEN USING SO
ME MATH FUNCTIONS,.BASIC CODE COULD ACTU
ALLY BE SMALLER.THAN MACHINE CODE.  HOW 
CAN THIS BE? .WELL, WHEN WE TALK ABOUT P
ROGRAM SIZE,.WE ARE LOOKING AT HOW MUCH 
RAM (RANDOM.ACCESS MEMORY) THE PROGRAM W
ILL TAKE..WHAT WE ARE EXCLUDING IS ROM (
READ ONLY.MEMORY) WHICH INCLUDES THE BAS
IC.INTERPRETER AND A LIBRARY OF SUBROUTI
NESUSED BY BASIC..^..WE ALL KNOW THAT WH
EN WE PROGRAM IN.BASIC, ALL PROGRAMS SIT
 IN 'BASIC SPACE'- A PLACE RESERVED FOR 
BASIC PROGRAMS...WHERE ARE MACHINE LANGU
AGE PROGRAMS PUT?.THESE PROGRAMS CAN ALS
O SIT INSIDE THE.SPACE RESERVED FOR BASI
C.  THE TWO OTHERLOCATIONS THAT ARE COMM
ON ARE THE TAPE.BUFFER AT LOCATION 828 (
IF THE MACHINE.LANGUAGE PROGRAM IS SMALL
); AND THE 4KB.BLOCK OF MEMORY (4X1024 B
YTES) STARTING.AT 49152 (IF THE PROGRAM 
IS LARGER)..^..HOW DO WE WRITE MACHINE L
ANGUAGE.PROGRAMS?..WE MENTIONED EARLIER 
THAT MACHINE.LANGUAGE IS A LANGUAGE THAT
 DEALS WITH.ONES'S AND ZERO'S.  WE CAN A
LSO TREAT.THE 1'S AND 0'S AS A NUMBER.  
SINCE THE.FUNDENTMENTAL MEMORY UNIT THAT
 THE.COMMODORE DEALS WITH IS A BYTE; WE 
CAN.PROGRAM THE C-64 BY PUTTING THE.APPR
OPRIATE BYTES OF A PROGRAM IN MEMORYAND 
THEN TELL THE COMPUTER TO EXECUTE.IT..^.
.ONE WAY OF DOING THIS IS TO WRITE A.BAS
IC PROGRAM TO READ FROM DATA.STATEMENTS 
THE APPROPIATE BYTES AND.POKE THEM INTO 
MEMORY.  TO EXECUTE THEM,WE SYS TO THAT 
ADDRESS.  OUR BORDER.COLOUR EXAMPLE CAN 
BE DONE BY USING.THE FOLLOWING:... 10 ST
ART = 828. 20 I=0. 30 READ A: IF A < 0 T
HEN SYS START. 40 POKE START+I,A. 50 I=I
+1. 60 GOTO 30. 70 DATA 238,32,208,76,0,
192,-1.^..WE STILL HAVE TO FIGURE OUT WH
AT NUMBERSTO PUT IN THE DATA STATEMENT. 
 THIS IS.DONE BY GOING THROUGH THE TEDIO
US TASK.OF TRANSLATING INSTRUCTIONS THRO
UGH.THE APPLICABLE TABLES AND CHARTS.  E
ACH.NUMBER IN THE DATA STATEMENT IS EITH
ER.DATUM, AN ADDRESS OR AN INSTRUCTION..
ONE TRANSLATION ERROR WOULD LIKELY MAKE.
THE MACHINE PROGRAM USELESS...ANOTHER WA
Y TO WRITE MACHINE LANGUAGE.PROGRAMS IS 
TO USE AN ASSEMBLER.  AN.ASSEMBLER IS A 
LANGUAGE THAT IS SIMILAR.TO BASIC IN THA
T IT IS A PEOPLE.LANGUAGE (PROGRAMS ARE 
PEOPLE READABLE).HOWEVER, IN THE CASE OF
 BASIC,.STATEMENTS ARE INTERPRETED; EACH
 COMMANDIS ANALYZED AND EXECUTED.  IN TH
E.ASSEMBLER CASE, SOURCE CODE (IE A SET.
OF ASSEMBLER STATEMENTS) IS USED TO.GENE
RATE MACHINE LANGUAGE PROGRAMS..^..MACHI
NE LANGUAGE PROGRAMS CAN BE USED.WITHOUT
 REFERENCE TO THE ASSEMBLER.SOURCE.  IN 
OTHER WORDS, ASSEMBLERS.TRANSLATE READAB
LE CODE DIRECTLY INTO.MACHINE CODE (NON-
READABLE CODE).  THEREARE DIFFERENT ASSE
MBLERS FOR DIFFERENT.COMPUTERS.  FOR THE
 C-64, WE WILL BE.USING THE 6502 ASSEMBL
ER SINCE THE C64.USES THE 6510 (A 6502 L
OOKALIKE) CPU...MACHINE LANGUAGE PROGRAM
S WILL WORK ON.OTHER MACHINES WITH THE S
AME CPU.  TO BEMORE SPECIFIC, MACHINE LA
NGUAGE PROGRAMSWRITTEN ON THE C64 WILL W
ORK ON SUCH.COMPUTERS AS APPLE II AND MO
ST ATARIS..YOU MUST HOWEVER, NOT USE ANY
 MACHINE.DEPENDANT FEATURES.  FOR EXAMPL
E, YOU.CAN NOT USE SPRITES IN A M/L PROG
RAM.WRITTEN ON THE C64 AND EXPECT IT TO 
WORKON THE ATARI SINCE SPRITES ARE ACCES
SED AND HANDLED DIFFERENTLY..^..AN ASSEM
BLER STATEMENT HAS THE FOLLOWINGFORMAT:.
.LABEL OPCODE OPERAND.  I      I      I.
  I      I      I== ONE OR MORE OPERANDS
  I      I          AS NEEDED.  I      I
.  I      I== OPCODE IS THE OPERATION.  
I          CODE OR THE KEYWORD.  IT.  I 
         IS SIMILAR TO A BASIC.  I      
    KEYWORDS IN THAT IT TELLS.  I       
   THE COMPUTER WHAT TO DO.  I.  I== LAB
ELS ARE LIKE STATEMENT NUMBERS.      IN 
BASIC, BUT ARE NOT NUMBERS..      GENERA
LLY, YOU WILL PICK A LABEL.      NAME TO
 BE MEANINGFUL (EG LOOP)..SPACES SEPARAT
E THE 3 PARTS OF A.ASSEMBLY STATEMENT..^
..LET'S SEE WHAT OUR BORDER EXAMPLE LOOK
.LIKE IN ASSEMBLER:..  BRDRLOOP INC 5328
0.           JMP BRDRLOOP...THE TWO OPCO
DES IN THIS EXAMPLE ARE:..  INC: INCREME
NTS THE MEMORY LOCATION.       BY ONE.  
INSTRUCTIONS HANDLE.       MEMORY, AS 1 
BYTE VALUES..       THEREFORE, THERE IS 
NO NEED TO.       AND THE RESULTS WITH 2
55 SINCE.       THE RESULT CAN ONLY TAKE
 ON.       VALUES FROM 0 TO 255..  JMP: 
'GOTO' LOCATION SPECIFIED IN.       OPER
AND..^..BOTH INSTRUCTIONS HAVE AN OPERAN
D WHICH.IS A MEMORY LOCATION.  THESE DIR
ECT.ADRESSES ARE SPECIFIED AS A WORD OR.
2 BYTE VALUE...THE OPERANDS USED IN THE 
PREVIOUS.EXAMPLES WERE:..  53280:  THIS 
IS THE DECIMAL ADDRESS.          WHICH C
ORRESPONDS TO THE.          REGISTER THA
T CONTROLS THE.          BORDER COLOUR. 
 WE COULD HAVE.          USED $D020 IN P
LACE OR 53280..          $D020 IS THE HE
XADECIMAL.          EQUIVALENT TO 53280.
..  BRDRLOOP: A SYMBOL CAN BE USED IN.  
        PLACE OF A FIXED MEMORY.        
  LOCATION..^..THE JMP STATEMENT HAS THE
 FOLLOWING.FORM:..   JMP ADDR..   EG.  J
MP 49152..IN OUR CASE HOWEVER, WE USED A
 SYMBOL..DURING ASSEMBLY, THE SYMBOL BRD
RLOOP IS.REPLACED WITH THE ACTUAL ADDRES
S OF THE.INSTRUCTION INC.  THE SOURCE CO
DE IS.UNAFFECTED AND ONLY THE MACHINE CO
DE HASTHE ACTUAL ADDRESS.  IN MOST ASSEM
BLERS,SYMBOLS MUST BEGIN WITH A LETTER A
ND ARERESTRICTED TO 8 CHARACTERS...WE HA
VE JUST DISCOVERED A WAY TO ASSIGN.A VAL
UE TO A SYMBOL - BY PUTTING IT AS.A LABE
L ON A STATEMENT..^..HERE IS ANOTHER WAY
:..  SYMBOL = EXPRESSION..IN THIS EXAMPL
E, THE SCREEN IS CLEARED. .CHROUT = $FFD
2.     LDA #147    ; LOADS ACCUMULATOR. 
                ; WITH A CLEAR CHAR.    
 JSR CHROUT  ; JUMPS TO SUBROUTINE.     
            ; TO PRINT THIS CHAR..THE CH
ROUT = $FFD2 STATEMENT IS NOT.TRANSLATED
 INTO ANYTHING IN MACHINE.LANGUAGE.  IT 
SIMPLY SAYS THAT WHEREVER.CHROUT APPEARS
, USE $FFD2 INSTEAD..IN OUR ABOVE EXAMPL
E, CHROUT IS A PRINT.ROUTINE IN ROM...TH
E COMMON WAY TO ADD COMMENTS IS TO.START
 COMMENTS WITH A ';' CHARACTER..^..THERE
 IS A SPECIAL CASE OF SYMBOL.ASSIGNMENT 
WORTH NOTING.  ITS FORM IS:..  SYMBOL = 
*..HERE, '*' IS THE THE 'PROGRAM COUNTER
'..IT REFERS TO THE CURRENT MEMORY LOCAT
IONIN THE MACHINE LANGUAGE ROUTINE...FOR
 EXAMPLE:..    ; ADDRESS AT THIS POINT I
S $C000..    INC 53280 ; THIS INSTR TAKE
S 3 BYTESTEST = *.    ; ADDRESS AT THIS 
POINT IS $C003....TEST HAS THE VALUE: $C
003.^..THE FOLLOWING IS EQUIVALENT:..   
LOOP INC 53280.        JMP LOOP....AND:.
.   LOOP = *.        INC 53280.        J
MP LOOP...THEREFORE, THE TECHNIQUE IN  T
HE SECOND.CASE CAN BE USED TO MAKE YOUR 
ASSEMBLER.PROGRAMS MORE READABLE..^..THE
RE ARE SOME STATEMENTS IN A ASSEMBLERUSE
D FOR LISTING CONTROL, MACHINE CODE.PLAC
EMENT, RESERVATION OF SPACE, ETC.THAT DO
 NOT DIRECTLY GENERATE MACHINE.LANGUAGE 
CODE.  THEY ARE COMMONLY CALLEDPSUEDO-OP
ERATIONS...LET'S TAKE A LOOK AT SOME OF 
THEM..^..TO TELL THE ASSEMBLER WHERE TO 
PUT YOUR.MACHINE LANGUAGE PROGRAM, USE T
HE.FOLLOWING:..*=ADDRESS..NOTE THAT THIS
 IS CONSISTENT WITH OUR.PREVIOUS DEFINIT
ION OF '*' = PROGRAM.COUNTER (PC)...EG. 
 *=828..OR   *=49152.^..NOW THAT YOU HAV
E A SLIGHT IDEA OF WHAT.MACHINE LANGUAGE
 INSTRUCTIONS ARE.  HOW.ABOUT DATA?  IN 
MACHINE LANGUAGE, YOU.MUST KEEP TRACK OF
 YOUR OWN DATA SPACE.(UNLIKE BASIC).  DA
TA CAN BE PLACED.ANYWHERE WHERE YOU CAN 
PUT MACHINE.LANGUAGE PROGRAMS.  IN FACT,
 THERE IS.NO DISTINTION BETWEEN INSTRUCT
IONS AND.DATA.  YOU CAN TELL THE COMPUTE
R TO JMP.TO A DATA AREA AND IT WILL TRY 
TO.EXECUTE DATA AS IF THEY WERE.INSTRUCT
IONS...MOST ASSEMBLERS HAVE THESE FOUR P
SEUDO-.OPERATIONS FOR SPACE ALLOCATION:.
.   1) *=*+N.   2) .BYTE.   3) .WORD.   
4) .ASC.^..*=*+N..'N' BYTES OF SPACE ARE
 RESERVED WITH.THIS INSTRUCTION.  IT IS 
STILL.CONSISTENT WITH OUR PROGRAM COUNTE
R (PC)NOTATION...WE ARE SAYING, LET THE 
PC BE ADVANCED BY'N'...EG..      ARRAY *
=*+10..WILL RESERVE 10 BYTES AT THE CURR
ENT PC.ARRAY IS THE ADDRESS OF THE START
 OF.THIS MEMORY BLOCK..^...BYTE N1,N2,N3
...NX..'X' BYTES OF MEMORY ARE RESERVED 
WITH.THIS INSTRUCTION.  NOT ONLY IS SPAC
E.RESERVED, THE VALUES ARE INITIALIZED T
O.N1,N2,N3...NX...EG..     SINGLE .BYTE 
10.WILL RESERVE 1 BYTE WITH INIT VALUE 1
0..EG..     ARRAY  .BYTE 1,2,3,10,20.WIL
L RESERVE 5 BYTES OF MEMORY.  THE.MEMORY
 LOCATIONS ARE ASSIGNED THE.FOLLOWING VA
LUES:..     1  2  3  10  20..NOTE THAT T
HESE ARE INITIAL VALUES AND.CAN BE CHANG
ED WITHIN YOUR PROGRAM..^...WORD N1,N2,N
3,...NX..WILL RESERVE 'X' WORDS OF MEMOR
Y..INITIAL VALUES OF THESE WORDS ARE.N1,
N2,N3...NX IN STANDARD LOW-HIGH.FORMAT. 
 WORDS ARE 2 BYTE QUANTITIES..IT IS A ST
ANDARD TO HAVE THE LOW-ORDER.BYTE APPEAR
 FIRST IN THE 2 BYTE SEQUENCE.EG..     A
RRAY .WORD 100,257,512..WILL RESERVE 3 W
ORDS (6 BYTES) OF MEMORYAND INITIALIZE I
T...IN WORDS: (100),   (257), (512).IN B
YTES: 100,0,   1,1,   0,2..  WHERE 100+0
*256 = 100.        1+1*256   = 257.     
   0+2*256   = 512.^...ASC STRING..WILL 
RESERVE ENOUGH SPACE FOR THE.PARTICULAR 
STRING AND STORE THE ASCII.VALUES IN THE
 MEMORY LOCATIONS...EG..     STRING .ASC
 "HELLO"..WILL RESERVE 5 BYTES FOR THIS 
STRING..THE INITIAL VALUES ARE:..  IN ST
RING FORM:   "H","E","L","L","O"..  IN T
ERMS OF BYTES: 72, 69, 76, 76, 79..KEEP 
IN MIND THAT CHR$(72) = "H".            
      CHR$(69) = "E".                  C
HR$(76) = "L".                  CHR$(76)
 = "L".                  CHR$(79) = "O".
^..BEFORE WE CONCLUDE THIS LESSON, LETS.
BRIEFLY DISCUSS THE FUNCTION OF SOME.IMP
ORTANT REGISTERS...REGISTERS ARE SPECIAL
 STAORAGE LOCATIONSINSIDE THE CPU (6510 
MICROPROCESSOR)..MACHINE LANGUAGE INSTRU
CTIONS WILL.EITHER CHANGE THE CONTENTS O
F MEMORY,.THE CONTENTS OF MEMORY-MAPPED.
I/O REGISTERS, OR THE CONTENTS OF THESE.
INTERNAL REGISTERS:.. 1) ACCUMULATOR. 2)
 X-REGISTER. 3) Y-REGISTER. 4) P-REGISTE
R OR STATUS REGISTER. 5) STACK POINTER..
ALL REGISTERS HAVE A SIZE OF 1 BYTE..^..
ACCUMULATOR..THIS IS THE MOST IMPORTANT 
REGISTER.INSIDE THE 6510 MICROPROCESSOR.
  IT IS.A TEMPORARY STORAGE LOCATION FOR
 ALL.MATH FUNCTIONS LIKE ADD AND SUBTRAC
T..MANY MACHINE LANGUAGE INSTRUCTIONS WI
LL.OPERATE ON THIS REGISTER.  SOME.INSTR
UCTIONS WILL ALLOW YOU TO TRANSFER.CONTE
NTS OF MEMORY OR OTHER REGISTERS TOTHE A
CUMMULATOR AND VICE-VERSA.  THERE.IS ALS
O A CARRY BIT ASSOCIATED WITH THE.ACCUMU
LATOR..^..X-REGISTER, Y-REGISTER..THESE 
REGISTERS ARE SIMILAR TO THE.ACCUMULATOR
 IN THAT THEY ARE ALSO.TEMPORARY STORAGE
 LOCATIONS.  THEY ARE.SPECIAL IN THAT TH
EY PLAY A ROLE IN.ADVANCED ADRESSING TEC
HNIQUES (IE FOR.INDEXED AND INDIRECT ADR
ESSING).  MORE.ON THIS AT A LATER DATE..
^..P-REGISTER/STATUS REGISTER..EACH OF T
HE 8 BITS IN THIS REGISTER IS.A FLAG IND
ICATING THE 'STATUS' OF THE.LAST OPERATI
ON.  A CERTAIN SET OF.INTRUCTIONS HAVE T
HE ABILITY TO AFFECT.BITS IN THIS STATUS
 REGISTER...THERE ARE OTHER INSTRUCTIONS
 THAT.OPERATE BASED ON THE CONTENTS OF T
HE.STATUS REGISTER...FLAGS INCLUDE: ..  
 1) OVERFLOW BIT.   2) NEGATIVE BIT.   3
) EQUAL TO ZERO BIT..   ETC...^..STACK P
OINTER..THIS REGISTER CONTAINS THE ADDRE
SS.(1 BYTE ADDRESS) OF THE NEXT AVAILABL
E.SPACE ON THE SYSTEM STACK.  THE STACK.
POINTER IS MODIFIED BY VARIOUS MACHINE.L
ANGUAGE INSTRUCTIONS...THE STACK IS A SP
ECIAL RESERVED BLOCK.OF MEMORY USED FOR 
TEMPORARY STORAGE BY.MACHINE LANGUAGE PR
OGRAMS AND BY THE.COMPUTER ITSELF..^..TH
IS CONCLUDES OUR LESSON. WE TRUST.THIS I
NTRODUCTION TO MACHINE LANGUAGE.HAS BEEN
 BENIFICIAL.  IT PROVIDES.THE BASICS REQ
UIRED FOR OUR UPCOMING.MACHINE LANGUAGE 
TUTORIALS...IN UPCOMING LESSONS, THE COM
PLETE.MACHINELANGUAGE INSTRUCTION SET WI
LL BE.EXPLAINED AND EVENTUALLY, ADVANCED
.MACHINE LANGUAGE TECHNIQUES WILL BE.DEM
ONSTRATED...^^^^^^^^
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL