home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / XMON.INSTR (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  7.8 KB  |  215 lines

  1. 10 POKE53280,0:POKE53281,0:POKE646,5:PRINTCHR$(14)
  2. 20 PRINT"[147][197][216][212][210][193][205][207][206][160][201][206][211][212][210][213][195][212][201][207][206][211]"
  3. 24 PRINT"[207]UTPUT TO S[146]CREEN OR P[146]RINTER: ";
  4. 25 OPEN6,0:INPUT#6,A$:CLOSE6
  5. 26 IFA$<>"S"ANDA$<>"P"THENRUN
  6. 27 IFA$="P"THENOPEN1,4,7:DV=4:FORQ=1TO6:PRINT#1:NEXT:GOTO30
  7. 28 OPEN1,3:DV=3
  8. 30 PRINT"[147]"
  9. 31 PRINT#1,"         [197][216][212][210][193][205][207][206][160][201][206][211][212][210][213][195][212][201][207][206][211]  "
  10. 32 PRINT#1:PRINT#1:PRINT#1,"    [197][216][212][210][193][205][207][206] IS ONE OF THE MOST COMMON  ";
  11. 40 PRINT#1,"OF THE PUBLIC DOMAIN MACHINE LANGUAGE   ";
  12. 50 PRINT#1,"MONITORS AROUND.  [201]T IS ONE OF THE BEST ";
  13. 60 PRINT#1,"AS WELL.  [200]ERE IS A BRIEF DESCRIPTION   ";
  14. 70 PRINT#1,"OF ITS FEATURES.":PRINT#1
  15. 71 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  16. 72 IFDV=3THENGETA$:IFA$=""THEN72
  17. 73 IFDV=3THENPRINT"[147]"
  18. 80 PRINT#1,"[211]IMPLE [193]SSEMBLER"
  19. 90 PRINT#1
  20. 100 PRINT#1,".[193] 2000 [193]9 12    [204][196][193] #$12"
  21. 110 PRINT#1,".[193] 2002 9D 00 80 [211][212][193] $8000,X"
  22. 120 PRINT#1,".[193] 2005"
  23. 130 PRINT#1:PRINT#1,"   [201]N THE ABOVE EXAMPLE, THE USER BEGAN ";
  24. 140 PRINT#1,"ASSEMBLY AT $2000.  [212]HE FIRST INSTRUC-  ";
  25. 150 PRINT#1,"TION WAS LOAD ACCUMULATOR IMMEDIATE     ";
  26. 160 PRINT#1,"WITH $12.  [201]N THE SECOND LINE THE USER  ";
  27. 170 PRINT#1,"DID NOT NEED TO TYPE THE [193] AND ADDRESS. ";
  28. 180 PRINT#1,"[212]HE SIMPLE ASSEMBLER RETYPED THE LAST   ";
  29. 190 PRINT#1,"ENTERED LINE AND PROMPTS WITH THE NEXT  ";
  30. 200 PRINT#1,"ADDRESS.  [212]O EXIT THE ASSEMBLER, PRESS  ";
  31. 210 PRINT#1,"[[210][197][212][213][210][206]] AFTER THE ADDRESS PROMPT.      ";
  32. 220 PRINT#1,"[211]YNTAX IS THE SAME AS THE DISSASEMBLER  ";
  33. 230 PRINT#1,"OUTPUT.  [193] ':' CAN BE USED TO TERMINATE ";
  34. 240 PRINT#1,"A LINE.":PRINT#1
  35. 241 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  36. 242 IFDV=3THENGETA$:IFA$=""THEN242
  37. 243 IFDV=3THENPRINT"[147]"
  38. 250 PRINT#1,"[195]OMPARE [205]EMORY":PRINT#1
  39. 260 PRINT#1,".[195] 1000 2000 [195]000":PRINT#1
  40. 270 PRINT#1,"   [195]OMPARES MEMORY FROM $1000 TO $2000  ";
  41. 280 PRINT#1,"TO MEMORY BEGINNING AT $[195]000.  [195]OMPARE  ";
  42. 290 PRINT#1,"WILL PRINT THE LOCATIONS OF UNEQUAL     ";
  43. 300 PRINT#1,"BYTES.":PRINT#1
  44. 301 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  45. 302 IFDV=3THENGETA$:IFA$=""THEN302
  46. 303 IFDV=3THENPRINT"[147]"
  47. 310 PRINT#1,"[196]ISSEMBLER":PRINT#1
  48. 320 PRINT#1,".[196] 2000":PRINT#1
  49. 330 PRINT#1,"   [196]ISASSEMBLES TO THE END OF MEMORY    ";
  50. 340 PRINT#1,"STARTING AT $1000.  [212]HE THREE BYTES     ";
  51. 350 PRINT#1,"FOLLOWING THE ADDRESS MAY BE MODIFIED.  ";
  52. 360 PRINT#1,"[213]SE THE [CRSR] KEYS TO MOVE TO AND      ";
  53. 370 PRINT#1,"MODIFY THE BYTES.  [200]IT [[210][197][212][213][210][206]] AND THE ";
  54. 380 PRINT#1,"BYTES IN MEMORY WILL BE CHANGED.        ";
  55. 390 PRINT#1,"[197][216][212][210][193][205][207][206] WILL THEN DISSASEMBLE THAT     ";
  56. 400 PRINT#1,"LINE AGAIN.":PRINT#1
  57. 410 PRINT#1,".[196] 2000 3000":PRINT#1
  58. 420 PRINT#1,"   [196]ISASSEMBLES FROM $2000 TO $3000.":PRINT#1
  59. 421 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  60. 422 IFDV=3THENGETA$:IFA$=""THEN422
  61. 423 IFDV=3THENPRINT"[147]"
  62. 430 PRINT#1,"[198]ILL [205]EMORY":PRINT#1
  63. 440 PRINT#1,".[198] 1000 1100 [198][198]":PRINT#1
  64. 450 PRINT#1,"   [198]ILLS THE MEMORY FROM $1000 TO $1100 ";
  65. 460 PRINT#1,"WITH THE BYTE $[198][198].":PRINT#1
  66. 461 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  67. 462 IFDV=3THENGETA$:IFA$=""THEN462
  68. 463 IFDV=3THENPRINT"[147]"
  69. 470 PRINT#1,"[199]O [210]UN":PRINT#1
  70. 480 PRINT#1,".[199]":PRINT#1
  71. 490 PRINT#1,"   [199]O TO THE ADDRESS IN THE [208][195] REGISTER ";
  72. 500 PRINT#1,"DISPLAY AND EXECUTE CODE.  [193]LL THE      ";
  73. 510 PRINT#1,"REGISTERS WILL BE REPLACED WITH THE     ";
  74. 520 PRINT#1,"DISPLAYED VALUES.":PRINT#1
  75. 530 PRINT#1,".[199] 1000":PRINT#1
  76. 540 PRINT#1,"   [199]O TO ADDRESS $1000 AND BEGIN        ";
  77. 550 PRINT#1,"RUNNING CODE.":PRINT#1
  78. 551 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  79. 552 IFDV=3THENGETA$:IFA$=""THEN552
  80. 553 IFDV=3THENPRINT"[147]"
  81. 554 IFDV=4THENFORQ=1TO6:PRINT#1:NEXT
  82. 560 PRINT#1,"[200]UNT [205]EMORY":PRINT#1
  83. 570 PRINT#1,".[200] [195]000 [196]000 '[210][197][193][196]":PRINT#1
  84. 580 PRINT#1,"   [200]UNT THROUGH MEMORY FROM $[195]000 TO    ";
  85. 590 PRINT#1,"$[196]000 FOR THE [193][211][195][201][201] STRING '[210][197][193][196]' AND   ";
  86. 600 PRINT#1,"PRINT THE ADDRESSES WHERE IT IS FOUND.  ";
  87. 610 PRINT#1,"[193] MAXIMUM OF 32 CHARACTERS MAY BE USED.":PRINT#1
  88. 620 PRINT#1,".[200] [195]000 [196]000 20 [196]2 [198][196]":PRINT#1
  89. 630 PRINT#1,"   [200]UNT MUMORY FROM $[195]000 TO $[196]000 FOR  ";
  90. 640 PRINT#1,"THE SEQUENCE OF BYTES $20, $[196]2, $[198][196] AND ";
  91. 650 PRINT#1,"PRINT ANY ADDRESS WHERE IT IS FOUND.  [193] ";
  92. 660 PRINT#1,"MAXIMUM OF 32 BYTES MAY BE USED.  [200]UNT  ";
  93. 670 PRINT#1,"CAN BE STOPPED WITH THE [[210][213][206]/[211][212][207][208]] KEY.":PRINT#1
  94. 671 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  95. 672 IFDV=3THENGETA$:IFA$=""THEN672
  96. 673 IFDV=3THENPRINT"[147]"
  97. 680 PRINT#1,"[201]NTEREGATE [205]EMORY":PRINT#1
  98. 690 PRINT#1,".[201] [198]000":PRINT#1
  99. 700 PRINT#1,".' [198]000 54 4[198] 4[198] 20 4[196] 41 4[197] 59[212][207][207] [205][193][206][217][146]"
  100. 710 PRINT#1,".' [198]008 20 46 49 4[195] 45 [196]3 46 49 [198][201][204][197][211][198][201][146]":PRINT#1
  101. 720 PRINT#1,"   [196]ISPLAYS HEX AND [193][211][195][201][201] UNTIL THE END ";
  102. 730 PRINT#1,"OF MEMORY.":PRINT#1
  103. 740 PRINT#1,".[201] [198]000 [198]080":PRINT#1
  104. 750 PRINT#1,"   [196]ISPLAYS HEX AND [193][211][195][201][201] FROM $[198]000 TO ";
  105. 760 PRINT#1,"$[198]080.":PRINT#1
  106. 761 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  107. 762 IFDV=3THENGETA$:IFA$=""THEN762
  108. 763 IFDV=3THENPRINT"[147]"
  109. 770 PRINT#1,"[204]OAD":PRINT#1
  110. 780 PRINT#1,".[204]"+CHR$(34)+"FILENAME"+CHR$(34):PRINT#1
  111. 790 PRINT#1,"   [204]OADS A FILE FROM THE CASSETTE UNIT.":PRINT#1
  112. 800 PRINT#1,".[204]"+CHR$(34)+"FILENAME"+CHR$(34)+",08":PRINT#1
  113. 810 PRINT#1,"   [204]OADS A FILE FROM THE DISK DRIVE.":PRINT#1
  114. 820 PRINT#1,"   [194][197][215][193][210][197]:  [204]OAD WITH A FILE NAME       ";
  115. 830 PRINT#1,"BREAKS THE [201][210][209] SAVED BY THE MONITOR.    ";
  116. 840 PRINT#1,"[196]O NOT USE .[199] TO THE [208][195] REGISTER AFTER  ";
  117. 850 PRINT#1,"A LOAD WITH A FILENAME.":PRINT#1
  118. 851 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  119. 852 IFDV=3THENGETA$:IFA$=""THEN852
  120. 853 IFDV=3THENPRINT"[147]"
  121. 860 PRINT#1,"[205]EMORY [196]ISPLAY":PRINT#1
  122. 870 PRINT#1,".[205] 0000 0008":PRINT#1
  123. 880 PRINT#1,".: 0000 00 01 [193]0 [194]3 4[196] 5[195] [198]6 [197]7"
  124. 890 PRINT#1,".: 0008 28 49 8[193] 4[194] 5[195] 7[196] 0[197] 3[198]":PRINT#1
  125. 900 PRINT#1,"   [196]ISPLAY MEMORY FROM $0000 TO $0008.  ";
  126. 910 PRINT#1,"[212]HE BYTES FOLLOWING THE ADDRESS MAY BE  ";
  127. 920 PRINT#1,"MODIFIED BY EDITING AND THEN PRESSING   ";
  128. 930 PRINT#1,"[[210][197][212][213][210][206]].":PRINT#1
  129. 931 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  130. 932 IFDV=3THENGETA$:IFA$=""THEN932
  131. 933 IFDV=3THENPRINT"[147]"
  132. 940 PRINT#1,"[206]EW [204]OCATOR":PRINT#1
  133. 950 PRINT#1,".[206] 7000 77[198][198] 6000 0400 9000":PRINT#1
  134. 960 PRINT#1,".[206] 77[195][196] 77[198][198] 6000 0400 9000 [215]":PRINT#1
  135. 970 PRINT#1,"   [212]HE FIRST LINE FIXES ALL THREE BYTE  ";
  136. 980 PRINT#1,"INSTRUCTIONS IN THE RANGE $7000 TO      ";
  137. 990 PRINT#1,"$77[198][198] BY ADDING $6000 OFFSET TO THE     ";
  138. 1000 PRINT#1,"BYTES FOLLOWING THE INSTRUCTION.  [206]EW   ";
  139. 1010 PRINT#1,"LOCATOR WILL NOT ADJUST ANY INSTRUCTION ";
  140. 1020 PRINT#1,"OUTSIDE OF THE $0400 TO $[195]000 RANGE.    ";
  141. 1030 PRINT#1,"[212]HE SECOND LINE ADJUSTS .WORD VALUES IN ";
  142. 1040 PRINT#1,"THE SAME RANGE AS THE FIRST LINE.  [206]EW  ";
  143. 1050 PRINT#1,"LOCATOR STOPS AND DISASSEMBLES ON ANY   ";
  144. 1060 PRINT#1,"BAD OP CODE.":PRINT#1
  145. 1061 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  146. 1062 IFDV=3THENGETA$:IFA$=""THEN1062
  147. 1063 IFDV=3THENPRINT"[147]"
  148. 1065 IFDV=4THENFORQ=1TO8:PRINT#1:NEXT
  149. 1070 PRINT#1,"[210]EGISTER [196]ISPLAY":PRINT#1
  150. 1080 PRINT#1,".[210]":PRINT#1
  151. 1090 PRINT#1,"    [208][195]  [201][210][209]  [211][210] [193][195] [216][210] [217][210] [211][208]"
  152. 1100 PRINT#1,".; 0000 [197]62[197] 51 [196][197] 03 04 05":PRINT#1
  153. 1110 PRINT#1,"   [196]ISPLAYS THE REGISTER VALUES.  [212]HE   ";
  154. 1120 PRINT#1,"VALUES MAY BE CHANGED BY EDITING THEM   ";
  155. 1130 PRINT#1,"AND PRESSING [[210][197][212][213][210][206]].":PRINT#1
  156. 1131 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  157. 1132 IFDV=3THENGETA$:IFA$=""THEN1132
  158. 1133 IFDV=3THENPRINT"[147]"
  159. 1140 PRINT#1,"[211]AVE":PRINT#1
  160. 1150 PRINT#1,".[211]"+CHR$(34)+"FILENAME"+CHR$(34)+",01,0800,0[195]80":PRINT#1
  161. 1160 PRINT#1,"   [211]AVE TO CASSETTE THE CONTENTS OF     ";
  162. 1170 PRINT#1,"LOCATIONS $0800 UP TO (NOT INCLUDING)   ";
  163. 1180 PRINT#1,"$0[195]80.":PRINT#1
  164. 1190 PRINT#1,".[211]"+CHR$(34)+"FILENAME"+CHR$(34)+",08,0800,0[195]80":PRINT#1
  165. 1200 PRINT#1,"   [211]AVE TO DISKETTE THE CONTENTS OF     ";
  166. 1210 PRINT#1,"LOCATIONS $0800 UP TO (NOT INCLUDING)   ";
  167. 1220 PRINT#1,"$0[195]80.":PRINT#1
  168. 1230 PRINT#1,"   [194][197][215][193][210][197]:  [211]AVE TO TAPE WITH FILENAME  ";
  169. 1240 PRINT#1,"BREAKS THE [201][210][209] SAVED BY THE MONITOR.":PRINT#1
  170. 1241 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  171. 1242 IFDV=3THENGETA$:IFA$=""THEN1242
  172. 1243 IFDV=3THENPRINT"[147]"
  173. 1250 PRINT#1,"[212]RANSFER [205]EMORY":PRINT#1
  174. 1260 PRINT#1,".[212] 1000 1100 5000":PRINT#1
  175. 1270 PRINT#1,"   [212]RANSFER MEMORY IN THE RANGE $1000   ";
  176. 1280 PRINT#1,"TO $1100 AND START STORING IT AT $5000.":PRINT#1
  177. 1281 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  178. 1282 IFDV=3THENGETA$:IFA$=""THEN1282
  179. 1283 IFDV=3THENPRINT"[147]"
  180. 1290 PRINT#1,"[215]ALK [195]ODE":PRINT#1
  181. 1300 PRINT#1,".[215]":PRINT#1
  182. 1310 PRINT#1,"   [211]INGLE STEP STARTING AT THE ADDRESS  ";
  183. 1320 PRINT#1,"IN THE [208][195].":PRINT#1
  184. 1330 PRINT#1,".[215] 1000":PRINT#1
  185. 1340 PRINT#1,"   [211]INGLE STEP STARTING AT $1000.  [215]ALK ";
  186. 1350 PRINT#1,"WILL CAUSE A SINGLE STEP TO EXECUTE AND ";
  187. 1360 PRINT#1,"WILL DISASSEMBLE THE NEXT INSTRUCTION.  ";
  188. 1370 PRINT#1,"[211]TEP SPEED MAY BE CONTROLLED WITH [<]   ";
  189. 1380 PRINT#1,"FOR [211][201][206][199][204][197][160][211][212][197][208], [[210][214][211]] FOR [211][204][207][215], AND    ";
  190. 1390 PRINT#1,"[[211][208][193][195][197]] FOR [198][193][211][212].":PRINT#1
  191. 1391 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  192. 1392 IFDV=3THENGETA$:IFA$=""THEN1392
  193. 1393 IFDV=3THENPRINT"[147]"
  194. 1400 PRINT#1,"[197]XIT TO [194][193][211][201][195]":PRINT#1
  195. 1410 PRINT#1,".[216]":PRINT#1
  196. 1420 PRINT#1,"   [210]ETURN TO [194][193][211][201][195] READY MODE.  [212]HE     ";
  197. 1430 PRINT#1,"STACK VALUE SAVED WHEN ENTERED WILL BE  ";
  198. 1440 PRINT#1,"RESTORED.  [195]ARE SHOULD BE TAKEN THAT    ";
  199. 1450 PRINT#1,"THIS VALUE IS THE SAME AS WHEN THE      ";
  200. 1460 PRINT#1,"MONITOR WAS ENTERED.  [193] [195][204][210] OR ANYTHING ";
  201. 1470 PRINT#1,"THAT WOULD CAUSE A [211][217][206][212][193][216] [197][210][210][207][210] IN      ";
  202. 1480 PRINT#1,"[194][193][211][201][195] WILL FIX ANY STACK PROBLEMS.":PRINT#1
  203. 1481 IFDV=3THENPRINT" [208]RESS A KEY TO CONTINUE. [146]"
  204. 1482 IFDV=3THENGETA$:IFA$=""THEN1482
  205. 1483 IFDV=3THENPRINT"[147]"
  206. 1490 PRINT#1,"[208]RINTED [207]UTPUT":PRINT#1
  207. 1500 PRINT#1,"   [208]RINTED OUTPUT CAN BE OBTAINED FROM  ";
  208. 1510 PRINT#1,"ANY [197][216][212][210][193][205][207][206] COMMAND BY TYPING A '*'.   "
  209. 1520 PRINT#1
  210. 1525 PRINT#1:CLOSE1
  211. 1530 PRINT" [212]HAT CONCLUDES THE INSTRUCTIONS.[146]"
  212. 1540 PRINT"LOAD"+CHR$(34)+"XMON64(SYS50135)"+CHR$(34)+",8,1"
  213. 1550 PRINT"SYS50135[145][145][145][145][145][145][145][145]"
  214. 9999 END
  215.