home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / ML-LESSON-2 < prev    next >
Encoding:
Text File  |  2019-04-13  |  11.1 KB  |  294 lines

  1. ═ACHINE ╠ANGUAGE LESSON FOR BEGINNERS #2
  2.  
  3. ─ATE - ═ARCH 10, 1994
  4.  
  5. ╘IME - 10:30 PM ┼╙╘
  6.  
  7. <[─ELTAR] ─.╦╔╬╔╬╟> ╫HAT'S TONIGHT'S ═╠ TOPIC?
  8.  
  9. <[╘ONY] ┴.╘╧╠╠┼> ╘ONIGHTS ═╠ TOPIC IS REGISTERS AND AN INTRODUCTION TO THE ═╠
  10. INSTRUCTION SET.  ╫ELL, ITS TIME TO BEGIN THE LESSON.
  11.  
  12. <[╘ONY] ┴.╘╧╠╠┼> ╩UST LIKE ┬┴╙╔├ CAN HAVE VARIABLES, THE PROCESSOR IN THE ├64
  13. HAS ITS OWN SET OF "VARIABLES" THAT IT USES FOR CALCULATIONS.  ╘HESE
  14. "VARIABLES" ARE REFERRED TO AS ╥┼╟╔╙╘┼╥╙.  ╘HEY DO NOT EXIST IN THE
  15. ├OMMODORE'S ╥┴═ MEMORY, BUT EXIST TOTALLY INSIDE THE PROCESSOR AND ARE
  16. INDEPENDENT OF THE COMPUTER'S MEMORY.
  17.  
  18. <[╘ONY] ┴.╘╧╠╠┼> ╘HE MOST IMPORTANT REGISTER IS CALLED THE ┴├├╒═╒╠┴╘╧╥.  ╔T IS
  19. THE MOST USED AND MOST IMPORTANT REGISTER.  ╔T IS REFERRED TO AS THE
  20. ┴├├╒═╒╠┴╘╧╥ BECAUSE IT IS TRADITIONALLY USED TO ACCUMULATE THE TOTAL IN
  21. PROCESSES LIKE ADDITION OR SUBTRACTION.
  22.  
  23. <[╘ONY] ┴.╘╧╠╠┼> ┘OU CAN THINK OF THE ACCUMULATOR AS A TEMPORARY HOLDING PLACE
  24. FOR INFORMATION AS YOU DO CALCULATIONS AND MOVE INFORMATION IN MEMORY.  ╞OR
  25. EXAMPLE, IF YOU NEED TO COPY ONE MEMORY LOCATION TO ANOTHER, THEN YOU WOULD
  26. LOAD THE FIRST MEMORY LOCATION _INTO_ THE ACCUMULATOR, AND THEN STORE THE BYTE
  27. INTO THE OTHER MEMORY LOCATION.
  28.  
  29. <[╘ONY] ┴.╘╧╠╠┼> ╘HE REASON THIS IS DONE IS BECAUSE THE ├OMMODORE DOESN'T HAVE
  30. AN INSTRUCTION THAT JUST SAYS "COPY ONE MEMORY LOCATION TO ANOTHER".  ┬UT THE
  31. ├OMMODORE DOES HAVE INSTRUCTIONS THAT SAY "LOAD THE ACCUMULATOR WITH THE BYTE
  32. IN A MEMORY LOCATION" AND ANOTHER THAT SAYS "STORE THE BYTE IN THE ACCUMULATOR
  33. INTO A MEMORY LOCATION"
  34.  
  35. <[╘ONY] ┴.╘╧╠╠┼> ┬Y THE WAY, IF YOU HAVE ANY QUESTIONS AT ALL ABOUT THE
  36. LESSON, DON'T HESITATE TO ASK.
  37.  
  38. <[╘ONY] ┴.╘╧╠╠┼> ╘HE ACCUMULATOR IS IMPORTANT FOR ANOTHER REASON.  ╔T IS THE
  39. ONLY REGISTER THAT CAN BE USED IN MATH OPERATIONS LIKE ADDING AND SUBTRACTING.
  40.  
  41. <[╘ONY] ┴.╘╧╠╠┼> ╘HERE ARE INSTRUCTIONS THAT DO THINGS LIKE "ADD THE BYTE IN A
  42. MEMORY LOCATION TO THE ACCUMULATOR" AND "SUBTRACT A NUMBER FROM THE
  43. ACCUMULATOR".
  44.  
  45. <[╘ONY] ┴.╘╧╠╠┼> ╘HE RESULTS OF ALL MATH OPERATIONS END UP IN THE ACCUMULATOR.
  46. ╙O TO ADD ONE NUMBER TO ANOTHER AND STORE IT IN A MEMORY LOCATION YOU WOULD
  47. LOAD THE ACCUMULATOOR WITH THE FIRST NUMBER, THEN ADD IT TO THE SECOND NUMBER,
  48. THEN STORE THE VALUE OF THE ACCUMULATOR INTO A MEMORY LOCATION.
  49.  
  50. <[╘ONY] ┴.╘╧╠╠┼> ┴NOTHER REGISTER THAT IS ALMOST LIKE THE ACCUMULATOR IS THE ╪
  51. INDEX REGISTER.  ┘OU CAN USE THE ╪ REGISTER TO LOAD AND STORE DATE FROM AND TO
  52. MEMORY LOCATIONS LIKE THE ACCUMULATOR, BUT THE ╪ REGISTER ALSO HAS ANOTHER
  53. IMPORTANT FUNCTION.
  54.  
  55. <[╘ONY] ┴.╘╧╠╠┼> ╔T ALLOWS YOU TO DO A SPECIAL FUNCTION CALLED "INDEXING"
  56. WHICH IS SIMPLY A WAY TO ACCESS MEMORY LIKE YOU WOULD ACCESS A ┬┴╙╔├ ARRAY
  57. VARIABLE (THE 5 IN THE ARRAY REFERENCE ┴(5) IS REFERRED TO AS THE INDEX OF THE
  58. ARRAY)
  59.  
  60. <[╘ONY] ┴.╘╧╠╠┼> ╘HERE IS ALSO A ┘ ╔NDEX REGISTER WHICH IS ALMOST EXACTLY LIKE
  61. THE ╪ REGISTER, EXCEPT IT ALSO HAS SPECIAL FUNCTIONS WHICH WE WILL GET INTO
  62. LATER IN THE LESSONS.
  63.  
  64. <[╘ONY] ┴.╘╧╠╠┼> ┴NOTHER IMPORTANT REGISTER IS THE STATUS REGISTER, WHICH IS
  65. THE COMPUTERS MAIN METHOD OF MAKING DECISIONS.
  66.  
  67. ** <╥.┬╧┘╠┼╙2> IS HERE.
  68.  
  69. <╥.┬╧┘╠┼╙2> EVENING
  70.  
  71. <[╘ONY] ┴.╘╧╠╠┼> ┴LMOST ALL THE INSTRUCTIONS IN THE PROCESSOR AFFECT OR USE
  72. THE STATUS REGISTER IN SOME WAY, BECAUSE IT KEEPS TRACK OF THE TYPE OF RESULT
  73. OF MATHEMATICAL OPERATIONS AND ETC.
  74.  
  75. <[╘ONY] ┴.╘╧╠╠┼> ╚IYA ╥OB!
  76.  
  77. <╥.┬╧┘╠┼╙2> EVENING.
  78.  
  79. <[╘ONY] ┴.╘╧╠╠┼> ╞OR EXAMPLE, THE STATUS REGISTER KEEPS TRACK OF WHETHER OR
  80. NOT THAT LAST ADDITION RESULTED IN A ZERO OR NON-ZERO VALUE, A "POSITIVE" OR
  81. "NEGATIVE" VALUE, AND WHETHER OR NOT THE COMPUTER HAD TO "CARRY" A BIT IN THE
  82. ADDITION.
  83.  
  84. <[╘ONY] ┴.╘╧╠╠┼> (JUST LIKE WE HAVE TO CARRY NUMBERS IN OUR OWN ADDITION).
  85.  
  86. ** <├┬═-┼─> IS HERE.
  87.  
  88. <[╘ONY] ┴.╘╧╠╠┼> ╧THER THINGS THAT THE MICROPROCESSOR KEEPS TRACK OF ARE THE
  89. ╨╥╧╟╥┴═ ├╧╒╬╘┼╥ AND THE ╙╘┴├╦ ╨╧╔╬╘┼╥.  ╘HE PROGRAM COUNTER IS JUST THE
  90. ADDRESS OF THE CURRENT ═╠ INSTRUCTION THAT THE COMPUTER IS EXECUTING.
  91.  
  92. <├┬═-┼─> ╚I ╞RANK, ╘ONY, ─ELTAR, ╥┬
  93.  
  94. <[╘ONY] ┴.╘╧╠╠┼> ╚IYA ┼D!
  95.  
  96. <╥.┬╧┘╠┼╙2> ""
  97.  
  98. <[╘ONY] ┴.╘╧╠╠┼> ╘HE STACK POINTER KEEPS TRACK OF THE AMOUNT OF SPACE IN THE
  99. PROCESSOR "STACK", WHICH IS AN AREA OF THE COMPUTER USED TO KEEP TRACK OF
  100. TEMPORARY INFORMATION.
  101.  
  102. <[─ELTAR] ─.╦╔╬╔╬╟> HI ┼D.
  103.  
  104. <├┬═-┼─> :)
  105.  
  106. <[╘ONY] ┴.╘╧╠╠┼> ╫ELL ╔ JUST WANTED TO COVER THE VERY BASIC ELEMENTS OF THE
  107. REGISTERS BEFORE MOVING INTO THE ═╠ INSTRUCTION SET, BECAUSE YOU NEED SOME
  108. KNOWLEDGE OF REGISTERS BEFORE YOU CAN UNDERSTAND HOW THE ═╠ INSTRUCTIONS WORK.
  109.  
  110. ** <┼.╥╧┬┼╥╘╙╘┴─> IS HERE.
  111.  
  112. <├┬═-┼─> ╚I ┼╥
  113.  
  114. <┼.╥╧┬┼╥╘╙╘┴─> ╚I ALL
  115.  
  116. ** <[E.G.BELL] ├┬═-┼─> WAS <├┬═-┼─>.
  117.  
  118. ** <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> WAS <┼.╥╧┬┼╥╘╙╘┴─>.
  119.  
  120. <[─ELTAR] ─.╦╔╬╔╬╟> RE ┼IRIK :)
  121.  
  122. <[╘ONY] ┴.╘╧╠╠┼> ═╠ INSTRUCTIONS ARE A COMPLICATED TOPIC BECAUSE WHEN WE
  123. PROGRAM IN ═╠ WE DON'T USUALLY USE THE INSTRUCTIONS IN THEIR NATIVE FORM (I.E.
  124. JUST THE BYTE VALUES OF THE INSTRUCTIONS THEMSELVES)
  125.  
  126. <[╘ONY] ┴.╘╧╠╠┼> ╫HAT IS USUALLY DONE IS WE USE SOMETHING CALLED AN ┴╙╙┼═┬╠┼╥
  127. TO ALLOW US TO WRITE MACHINE LANGUAGE IN A FORM THAT ISN'T JUST NUMBERS.
  128.  
  129. <[╘ONY] ┴.╘╧╠╠┼> ┴N ASSEMBLER CONVERTS ABBREVIATIONS CALLED "MNEMONICS" INTO
  130. THE NUMBERS THAT ARE THE ═╠ INSTRUCTIONS.
  131.  
  132. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> IS THE HES-MON 64 ANY GOOD?
  133.  
  134. <[╘ONY] ┴.╘╧╠╠┼> ╔ HAVE NOT HAD A CHANCE TO USE ╚ES-═ON BUT IT SHOULD BE GOOD
  135. ENOUGH FOR WHAT WE WILL BE DOING...  ┴CTUALLY MOST MONITORS INCLUDE WHAT IS
  136. CALLED A "MINI-ASSEMBLER" WHICH ALLOWS YOU TO ENTER INSTRUCTIONS IN MNEMONIC
  137. FORMAT.
  138.  
  139. <[╘ONY] ┴.╘╧╠╠┼> ╘HE MINI-ASSEMBLER IS WHAT WE WILL BE USING AT FIRST, BECAUSE
  140. USING A FULL-FLEDGED ASSEMBLER WOULD BE A LITTLE COMPLICATED RIGHT NOW.
  141.  
  142. <[╘ONY] ┴.╘╧╠╠┼> ╙O USING ╚ES-═ON WILL BE FINE, ┼IRIK, ALTHOUGH THE CLASS WILL
  143. BE "OFFICIALLY" USING THE ═EGAMON MONITOR PROGRAM AVAILABLE FOR DOWNLOAD RIGHT
  144. HERE ON ╟┼NIE.
  145.  
  146. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> OK ╔'LL LOOK INTO THAT.
  147.  
  148. <[─ELTAR] ─.╦╔╬╔╬╟> ╔'VE USED ═EGAMON. ╔TS A GOOD ONE.
  149.  
  150. <[╘ONY] ┴.╘╧╠╠┼> ┬UT THE OPERATION OF ALL ═╠ MONITORS ON THE C64 IS ALMOST
  151. EXACTLY THE SAME, SO YOU SHOULDN'T HAVE ANY PROBLEM FOLLOWING ALONG.
  152.  
  153. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> GREAT!!
  154.  
  155. <[╘ONY] ┴.╘╧╠╠┼> ╫ELL, PERHAPS THE BEST WAY TO EXPLAIN THE CONCEPT OF
  156. "MNEMONICS" IS TO SHOW YOU AN EXAMPLE:
  157.  
  158. <[╘ONY] ┴.╘╧╠╠┼> ═NEMONICS ARE ABBREVIATIONS FOR THE FUNCTION OF EACH OF THE
  159. INSTRUCTIONS, FOR EXAMPLE THE INSTRUCTION THAT SAYS "LOAD ACCUMULATOR WITH
  160. SOME DATA" IS ABBREVIATED ╠─┴.
  161.  
  162. <[╘ONY] ┴.╘╧╠╠┼> ┴N EXAMPLE OF THE ╠─┴ (╠OA─ ┴CCUMULATOR) INSTRUCTION WOULD BE
  163. ╠─┴ $├000
  164.  
  165. <[╘ONY] ┴.╘╧╠╠┼> ╘HIS INSTRUCTION MEANS "LOAD THE ACCUMULATOR WITH THE BYTE
  166. STORED AT MEMORY LOCATION $├000".  ┴NOTHER INSTRUCTION WOULD BE THE ╙╘┴ OR
  167. ╙╘ORE ┴CCUMULATOR INSTRUCTION, FOR EXAMPLE ╙╘┴ $├001
  168.  
  169. <[╘ONY] ┴.╘╧╠╠┼> WHICH WOULD MEAN "STORE THE VALUE OF THE ACCUMULATOR IN
  170. MEMORY LOCATION $├001.  ╘HUS IF YOU USED THIS TWO INSTRUTIONS TOGETHERM YOU
  171. COULD COPY OF THE CONTENTS OF LOCATION $├000 TO THE LOCATION $├001.
  172.  
  173. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╔'VE GOT TO GO. ╔'LL GET THAT ═EGAMON.  ╘ONY COULD ╔
  174. HAVE YOUR MAIL BOX ADDRESS SO ╔ COULD ASK YOU SOME ╤'S LATTER ON?
  175.  
  176. <[╘ONY] ┴.╘╧╠╠┼> ╩UST SEND MAIL TO ┴.╘╧╠╠┼
  177.  
  178. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> OK THANKS BYE.
  179.  
  180. ** <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> HAS LEFT.
  181.  
  182. <[╘ONY] ┴.╘╧╠╠┼> ╫HEN YOU PROGRAM IN ═╠ YOU MUST ALWAYS REMEMBER, HOWEVER,
  183. THAT THE PROGRAM IS NOT BEING STORED IN MEMORY AS THESE ABBREVIATIONS, BUT AS
  184. NUMBERS THAT ARE THE ACTUAL MACHINE LANGUAGE INSTRUCTIONS THAT THE COMPUTER
  185. UNDERSTANDS.
  186.  
  187. <[E.G.BELL] ├┬═-┼─> ╟OTTA GO TO WORK.  ╬ITE ALL!  :)
  188.  
  189. ** <[E.G.BELL] ├┬═-┼─> HAS LEFT.
  190.  
  191. <[╘ONY] ┴.╘╧╠╠┼> ╔N OUR EXAMPLE, THE INSTRUCTIONS ╠─┴ $├000 AND ╙╘┴ $├000
  192. WOULD BE "ASSEMBLED" INTO THE NUMBERS $┴─ $00 $├0 AND $8─ $01 $├0.
  193.  
  194. <[╘ONY] ┴.╘╧╠╠┼> '╬IGHT ┼D.
  195.  
  196. <[╘ONY] ┴.╘╧╠╠┼> ╘HE NUMBER $┴─ IS THE ═╠ INSTRUCTION THAT MEANS "LOAD THE
  197. ACCUMULATOR WITH THE BYTE STORED IN THE MEMORY LOCATION THAT IS IN THE
  198. FOLLOWING TWO BYTES".
  199.  
  200. <[╘ONY] ┴.╘╧╠╠┼> ┴ND THE NUMBER $8─ IS THE ═╠ INSTRUCTION THAT MEANS "STORE
  201. THE VALUE OF THE ACCUMULATOR INTO THE MEMORY LOCATION THAT IS IN THE FOLLOWING
  202. TWO BYTES"
  203.  
  204. <[╘ONY] ┴.╘╧╠╠┼> ╘HERE ARE SEVERAL DIFFERENT FORMS OF THE ╠─┴ INSTRUCTION,
  205. WHICH HAVE DIFFERENT NUMBERS IN THE COMPUTER.  ╞OR EXAMPLE, THE ╠─┴ #$05
  206. INSTRUCTION MEANS "LOAD THE ACCUMULATOR WITH THE NUMBER 5" AND WOULD BE STORED
  207. AS THE BYTES $┴9 $05 IN MEMORY.  ╘HIS IS WHY IT IS EASIER TO USE AN ASSEMBLER
  208. THAN PROGRAMMING THE NUMBERS DIRECTLY, BECAUSE YOU ONLY HAVE TO REMEMBER ╠─┴
  209. $├000 AND ╠─┴ $05 INSTEAD OF REMEMBERING $┴─ $00 $├0 AND $┴9 $05.
  210.  
  211. ** <┼.╥╧┬┼╥╘╙╘┴─> IS HERE.
  212.  
  213. <[╘ONY] ┴.╘╧╠╠┼> ╙O EVEN THOUGH THE ╠─┴ INSTRUCTION HAS DIFFERENT FORMS, YOU
  214. DON'T HAVE TO KNOW THE NUMBERS FOR ALL THE FORMS OF THE ╠─┴ INSTRUCTION TO USE
  215. IT IN THE MACHINE LANGUAGE MONITOR.
  216.  
  217. ** <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> WAS <┼.╥╧┬┼╥╘╙╘┴─>.
  218.  
  219. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╚I ALL, GOT THE MEGAMON.
  220.  
  221. <[─ELTAR] ─.╦╔╬╔╬╟> ╟OOD WORK ┼IRIK
  222.  
  223. <[╘ONY] ┴.╘╧╠╠┼> ┴NOTHER NOTE...  ╫HENEVER YOU SEE THE "#" (NUMBER SIGN)
  224. SYMBOL IN FRONT OF A VALUE IN AN ╠─┴ INSTRUCTION, IT MEANS TO ACTUALLY USE THE
  225. _VALUE_ OF THE BYTE RATHER THAT BYTE THAT IS STORED IN A MEMORY LOCATION.
  226. ╘HUS,
  227.  
  228. <[╘ONY] ┴.╘╧╠╠┼> ╠─┴ $05 WOULD MEAN LOAD ACCUMULATOR WITH THE BYTE STORED AT
  229. MEMORY LOCATION $05 (STORED THERE COULD BE ANYTHING), WHERAS ╠─┴ #$05 WOULD
  230. MEAN LOAD ACCUMULATOR WITH THE VALUE $05, SEE THE DIFFERENCE?
  231.  
  232. <[╘ONY] ┴.╘╧╠╠┼> ╙O SAY STORED AT MEMORY LOCATION $05 IS THE NUMBER 200, THEN
  233. AN ╠─┴ $05 INSTRUCTION WOULD MAKE THE ACCUMULATOR BECOME THE VALUE 200, WHERAS
  234. THE ╠─┴ #$05 INSTRUCTIONS WOULD ALWAYS MAKE THE ACCUMULATOR BECOME THE NUMBER
  235. 5.
  236.  
  237. <[─ELTAR] ─.╦╔╬╔╬╟> ╠─┴ $05 WOULD BE LIKE ┴CC.=PEEK(05) AND ╠─┴ #$05 WOULD BE
  238. ┴CC.=05
  239.  
  240. <[╘ONY] ┴.╘╧╠╠┼> ┘OU GOT THE IDEA, ─ELTAR. :)
  241.  
  242. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╔ GOT SOME THING.. HOW DO YOU CHANGE A BYTE TO A BLOCK?
  243. ╧R THE OTHER WAY?
  244.  
  245. <[╘ONY] ┴.╘╧╠╠┼> ┴S FAR AS CHANGING FROM BYTE TO BLOCK, ╔ AM NOT SURE EXACTLY
  246. WHAT YOU MEAN, ┼IRIK?
  247.  
  248. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╠IKE WHAT IS THE RATIO TO EACH OTHER?
  249.  
  250. <[─ELTAR] ─.╦╔╬╔╬╟> 1 BLOCK=256 BYTES
  251.  
  252. <[╘ONY] ┴.╘╧╠╠┼> ╔ SEE.  ┴ BLOCK IS MADE UP OF EXACTLY 256 BYTES.  ╫HEN
  253. REFERRING TO THAT IN COMPUTER MEMORY IT IS MORE COMMON TO REFER TO 256 BYTES
  254. AS A "PAGE" RATHER THAN A BLOCK.
  255.  
  256. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> THANKS!! THAT HELPS A LOT
  257.  
  258. ** <═.├╧├╚╥┴╬┼2> IS HERE.
  259.  
  260. ** <[═IKE] ═.├╧├╚╥┴╬┼2> WAS <═.├╧├╚╥┴╬┼2>.
  261.  
  262. <[╘ONY] ┴.╘╧╠╠┼> ╘HE TERM "BLOCK" IS USED MORE OFTEN WHEN REFERRING TO DATA
  263. STORED ON A DISK DRIVE, LIKE BLOCKS ON A 1541 DISK.
  264.  
  265. <[╘ONY] ┴.╘╧╠╠┼> ╚IYA ═IKE!
  266.  
  267. <[═IKE] ═.├╧├╚╥┴╬┼2> ╚IYA ╘ONY :)
  268.  
  269. <[╘ONY] ┴.╘╧╠╠┼> ┴LTHOUGH THE TERMS "PAGE" AND "BLOCK" CAN BE USED
  270. INTERCHANGABLY.
  271.  
  272. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╔ DO A LOT WITH ╔┬═ BORDS ─/╠ING TO MY ├-64. ╔T'S HARD
  273. TO TELL IF ╔ GOT THE ROOM ON MY DISK.
  274.  
  275. <[─ELTAR] ─.╦╔╬╔╬╟> JUST REMEMBER THAT 4 BLOCKS = 1 ╦.
  276.  
  277. <[┼IRIK] ┼.╥╧┬┼╥╘╙╘┴─> ╔ GOT THAT. ╞ROM ─/╠ING WITH A ╪-═ODEM 1╦. ┬Y THE WAY
  278. CAN YOU GET A ┌-MODEM FOR THE ├-64?
  279.  
  280. <[╘ONY] ┴.╘╧╠╠┼> ╨ERHAPS A BREAKDOWN OF DIFFERENT MEMORY SIZES WOULD BE A GOOD
  281. IDEA:  ╘HE SMALLEST UNIT IS THE BIT (A 0 OR 1), 4 BITS MAKE A NYBBLE, 8 BITS
  282. MAKE A BYTE, 2 BYTES MAKE A WORD, 16 BYTES MAKE A SENTENCE (USED RARELY), 256
  283. BYTES MAKE A PAGE, 1024 BYTES MAKE 1 KILOBYTE, 1024 KILOBYTES MAKE A MEGABYTE
  284. AND SO ON.
  285.  
  286. <[╘ONY] ┴.╘╧╠╠┼> ╔ DON'T KNOW OF ANY ┌-MODEM TERMS FOR THE 64, ┼IRIK.
  287.  
  288. <[═IKE] ═.├╧├╚╥┴╬┼2> ╬ICK IS SUPPOSED TO BE UPDATING ╬OVATERM FOR ┌-MODEM, ╔
  289. HEAR
  290.  
  291. <[╘ONY] ┴.╘╧╠╠┼> ╫ELL, TONIGHTS LESSON IS OVER, BUT NEXT WEEK WE WILL RESUME
  292. WHERE WE LEFT OFF.  :)
  293.