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

  1.               ═ACHINE ╠ANGUAGE FOR ┬EGINNERS (╨ART 2)
  2.                          BY
  3.                      ╠YLE ╟IESE
  4.                  ─┼╠╨╚╔ ═AIL:  ╠┘╠┼╟
  5.  
  6.    ╧NE OF THE ╘OOLS OF THE TRADE FOR ═ACHINE ╠ANGUAGE ╨ROGRAMING!  
  7.  
  8. ╫HEN YOU WANTED TO LEARN ABOUT ┬┴╙╔├ YOU READ AND PLAYED DIRECTLY 
  9. WITH ┬┴╙╔├ PROGRAMS. ╒SING THE ┬┴╙╔├ EDITOR, YOU LISTED PROGRAMS TO 
  10. THE SCREEN AND PRINTER,  
  11. WROTE SIMPLE PROGRAMS, AND MODIFYED OTHERS. ╔N ORDER TO DO THAT YOU 
  12. USED ┬┴╙╔├ ITSELF IN THE FORM OF ITS EDITOR. ╘HE EQUIVELENT OF THAT 
  13. FOR ═╠ IS THE ═ONITOR. ╘HERE ARE SEVERAL GOOD ╨─ MONITORS AVAILIBLE 
  14. AND WE HAVE SOME OF THEM IN OUR DATABASES IN THE ╞LAGSHIP UNDER 
  15. ╠ANGUAGES & ═╠.  
  16.  
  17. ╧NE OF THE SIMPLER ONES IS ╙UPERMON, WRITEN BY ╩IM ┬UTTERFIELD. ╔T'S 
  18. FEATURES BECAME THE STANDARD FOR MONITORS AND MOST MONITORS HAVE MORE 
  19. FEATURES, BUT THEY ARE GENERALLY SUPERSETS OF THE INSTRUCTIONS FOUND 
  20. IN ╙UPERMON. ╘HAT IS THE OTHER  
  21. MONITORS TOOK ╙UPERMON AND ADDED MORE FEATURES WITH OUT CHANGING ANY 
  22. OF THE FEATURES OR SYNTAX OF THE COMMANDS FOUND IN ╙UPERMON. ═ICROMON 
  23. IS ONE OF THEM AND THERE IS MORE THAT ONE VERSION OF IT AROUND. ╘HE 
  24. MAIN DIFFERENCE IN THEM IS WHERE IN MEMORY THE PROGRAM IS LOADED AND 
  25. RUN FROM. ╧NE OF THE FEATURES THAT ═ICROMON ADDED WAS TO BE ABILITY 
  26. TO OUTPUT THE DISASSEMBLY TO A PRINTER.  
  27. ╙O IF YOU USE ╙UPERMON AND CAN USE ALL OF THE INSTRUCTION IN IT, YOU 
  28. WON'T HAVE MUCH TROUBLE UPGRADING TO A BETTER ONE. ┬Y THE WAY ONE OF 
  29. MY FAVORITES THAT ╔ USE IS '╚┼╙═╧╬' FROM ╚ESWARE. ╫HEN ╔ AM DOING 
  30. SOME HEAVY DUTY WORK ╔ USE THAT BECAUSE IT IS IN CARTIRIDGE FORM. 
  31. ╫HEN ╔ LOCK UP THE COMPUTER, IT IS RIGHT THERE  
  32. WHEN ╔ POWER BACK UP, BUT IT DOES HAVE THE DISADVANTAGE OF OCCUPYING 
  33. MEMORY FROM  $8000 TO $9╞╞╞. ╔T TOO FOLLOWS THE BASIC SYNTAX OF
  34. ╙UPERMON.  
  35.  
  36. ╘O USE ╙UPERMON, LOAD "╙╒╨┼╥═╧╬",8 AND RUN. ╔T HAS NOW SEALED ITSELF 
  37. OFF UP AT THE TOP OF BASIC. ╔F YOU EXIT ╙UPERMON, YOU CAN GO BACK BY 
  38. ╙┘╙(PEEK(55)+PEEK(56)*256). ╫HEN IT FIRST BOOTS UP AND AFTER THE
  39. TITLE YOU SEE:  
  40.  
  41.      ╨├  ╙╥ ┴├ ╪╥ ┘╥ ╙╨
  42.  .;  0000 01 02 03 04 05 .  
  43.  
  44. ╔F YOU TYPE ANY COMMANDS THEY WILL BE DISPLAYED ON THE THIRD LINE 
  45. RIGHT AFTER THE PERIOD.  
  46. ╘HIS WILL BE THE SAME DISPLAY THAT YOU WILL GET AFTER TYPING THE '╥' 
  47. COMMAND.
  48.  ╘WO NOTES: ALL COMMANDS ARE FOLLOWED BY A CARRIAGE RETURN IN 
  49. ORDER TO BE EXECUTED AND ALL ADRESSES AND NUMBERS ARE IN ╚EX EVEN 
  50. THOUGH THEY ARE NOT PREFIXED  
  51. WITH A '$'. ╘HE '╥' COMMAND IS FOR DISPLAYING THE REGISTERS.  
  52. ╘HE FIRST LINE IDENTIFIES THE REGISTERS. ╘HE SECOND LINE SHOWS THE 
  53. CONTENTS OF THEM, AND OF COURSE WILL BE DIFFERENT THAT THAT SHOWN. 
  54. ╘HE FIRST IS THE ╨ROGRAM ├OUNTER. ╘HE SECOND IS THE ╙TATUS ╥EGISTER, 
  55. THIS IS WHERE THOSE FLAGS ARE THAT WE USE IN OUR BRANCH INSTRUCTIONS. 
  56. ╘HE NEXT ONE IS THE ┴ REGISTER OR ┴CCUMULATOR. ╘HE FOURTH IS THE ╪ 
  57. REGISTER FOLLOWED BY ┘ ╥EGISTER. ┴ND THE LAST ONE IS THE ╙TACK 
  58. ╨OINTER, THAT IS THE INDEX INTO THE STACK POINTING TO THE NEXT 
  59. AVAILIBLE STORAGE POSITION.  
  60.  
  61. ╘HE REST OF THE COMMANDS ARE AS FOLLOWS:
  62.  
  63.  .┴ ├000 ╠─┴ #$00
  64.  
  65.  ╘HIS STARTS 
  66. A SINGLE LINE ASSEMBLY AT $├000(49152) WITH THE INSTRUCTION ╠─┴ #$00. 
  67. ╧F COURSE YOU WILL USE ANY INSTRUCTION THAT YOUR PROGRAM NEEDS. ╘HE 
  68. ASSEMBLER WILL CHECK THE SYNTAX OF THE INSTRUCTION(IF IT DOESN'T LIKE 
  69. IT, IT WILL  
  70. RESPOND WITH A ? ON THE SAME LINE.) AND ON THE NEXT LINE RESPOND WITH 
  71. THE NEXT ADDRESS FOR YOU. ╠IKE THIS:  
  72.  
  73. .┴ ├002  
  74.  
  75. ╙O AFTER THE FIRST LINE THE ASSEMBLER WILL SUPPLY THE ADDRESS. ╫HEN 
  76. YOU ARE FINISHED SIMPLY TYPE A RETURN TO GET OUT OF THE ASSEMBLE 
  77. MODE.  
  78.  
  79. .├ 1000 1010 0┼  
  80.  
  81. ╘HIS COMMAND CALCULATES THE OFFSET NEEDED FOR BRANCH INSTRUCTIONS. 
  82. ╘HE FIRST ADDRESS IS WHERE THE BRANCH INSTRUCTION IS AND THE SECOND 
  83. IS THE DESTINATION ADDRESS. ╘HE MONITOR WILL CALCULATE THE 
  84. OFFSET ($0┼).  
  85. ╘HIS COMMAND, IN MY OPINION, IS OF LITTLE VALUE. ╫HEN WRITING WITH 
  86. THIS ASSEMBLER, IT CALCULATES BRANCHES FOR YOU BY YOU SPECIFYING THE 
  87. TARGET ADDRESS IN THE INSTRUCTION, SUCH AS;
  88.  
  89.  .┴ ├011 ┬╬┼ ├01╞
  90.  
  91.  ╚OWEVER, 
  92. SOMETIMES YOU NEED TO DO A FORWARD BRANCH (AS IN THE ABOVE EXAMPLE) 
  93. AND YOU ARE NOT SURE WHERE THE TARGET WILL BE UNTIL YOU CODE ALL THE 
  94. INSTRUCTIONS. ╔N THAT CASE IT WOULD BE EASY TO BRANCH TO THE SAME 
  95. INSTRUCTION AS YOU ARE ON. ╩OT DOWN THE ADDRESS FOR THAT INSTRUCTION 
  96. AND LATER FILL IN THE EXACT ADDRESS YOU WILL NEED.
  97.  
  98.  .┴ ├011 ┬╬┼ ├011 
  99.  
  100. ┘OU WOULD NEED TO WRITE DOWN $├011. ╠ATER AFTER YOU WROTE THE CODE 
  101. YOU WANT TO BRANCH AROUND, YOU FIND OUT YOU WANT TO BRANCH TO ├01╞: 
  102.  
  103. .┴ ├011 ┬╬┼ ├01╞  
  104. .─ ├000  
  105.  
  106. ╘HIS WILL DISASSEMBLE 22 INSTRUCTIONS STARTING AT $├000. ╘HE DISPLAY 
  107. CAN BE MODIFIED AND ENTERED BY USING THE CURSOR KEYS AND HITTING THE 
  108. RETURN KEY WHILE ON THE LINE BEING MODIFIED. ╘O SEE THE NEXT SET OF 
  109. INSTRUCTIONS, (THE CURSOR IS ON THE SPACE AFTER THE PERIOD OF THE 
  110. LAST LINE) TYPE '─' AND RETURN.  
  111.  
  112. .╞ ├┼00 ├╞00 ╞╞  
  113.  
  114. ╘HIS MONITOR INSTRUCTION WILL FILL THE MEMORY FROM $├┼00 TO $├╞00, 
  115. INCLUSIVE, WITH THE VALUE $╞╞.  
  116.  
  117. .╟ ├000  
  118.  
  119. ╘HIS IS SIMULAR TO THE '╙┘╙' INSTRUCTION IN ┬┴╙╔├ EXCEPT THE NUMBER 
  120. IS EXPECTED TO BE IN ╚EX INSTEAD OF DECIMAL. ┴LSO IF NO START ADDRESS 
  121. IS GIVEN, THE MONITOR WILL GO TO THE ADDRESS CURRENTLY SHOWN IN THE 
  122. ╨├ REGISTER.  
  123.  
  124. .╚ ├000 ─000 '╥┼┴─  
  125.  
  126. ╘HIS COMMAND WILL ╚UNT FROM $├000 TO $─000 FOR THE OCCURENCE OF THE 
  127. ┴╙├╔╔ STRING  
  128. '╥┼┴─'. ╔T WILL RESPOND WITH THE ADDRESSES WHERE IT IS FOUND(IF ANY). 
  129.  
  130.  .╠ "╞ILENAME" 08  
  131.  
  132. ╫ILL LOAD THE PROGRAM '╞ILENAME' FROM DEVICE 8. ╔F YOU DON'T SPECIFY 
  133. A DEVICE ╙UPERMON WILL DEFAULT TO THE CASSETTE DRIVE.  
  134.  
  135. .═ ├000 ├02╞  
  136.  
  137. ╘HIS COMMAND WILL SHOW A HEX DUMP OF THE MEMORY LOCATIONS FROM $├000 
  138. TO $├02╞. ╠IKE THIS:
  139.  
  140.  .:  ├000 00 01 02 03 04 05 06 07
  141.  
  142.  ╙OME OF THE 
  143. NEWER MONITORS ALSO GIVE YOU AN ┴╙├╔╔ REPRESENTATION OF THE BYTES TO  
  144. THE RIGHT OF THE NUMBERS. ┴GAIN THE INFORMATION CAN BE MODIFYED AND 
  145. CHANGED BY EDITING AND HITTING RETURN FOR EACH LINE.  
  146.  
  147. .╥
  148.  
  149.       ╨├  ╙╥ ┴├ ╪╥ ┘╥ ╙╨
  150.  .;  ├000 01 02 03 04 05  
  151.  
  152. ╘HIS COMMAND RETURNS A DISPLAY OF THE CURRENT REGISTER COMMANDS IN 
  153. THE FOLLOWING  
  154. ORDER: ╨ROGRAM ├OUNTER, ╙TATUS ╥EGISTER, ┴CCUMLATOR, ╪ ╥EGISTER, ┘ 
  155. ╥EGISTER, AND  ╙TACK ╥EGISTER.  
  156.  
  157. .╙ "FILENAME",08,├000,├101  
  158.  
  159. ╘HIS COMMAND SAVES AN AREA OF MEMORY UNDER 'FILENAME' TO DEVICE 08. 
  160. ╘HE MEMORY SAVED IS FROM $├000 TO $├100. ╘╚╔╙ ╔╙ ╔═╨╧╥╘┴╬╘! ┴LL 
  161. ├OMMODORE MONITORS DO ╬╧╘ SAVE THAT BYTE UNDER THE SPECIFIED ENDING 
  162. ADRESS. ┘OU MUST SPECIFY THE ENDING ADDRESS +1 OF YOUR PROGRAM.  
  163.  
  164. .╘ ├000 ├100 ├┼00  
  165.  
  166. ╘HIS COMMAND COPIES OR TRANSFERS THE CONTENTS OF MEMORY LOCATIONS 
  167. $├000-$├100 TO $├┼00-$├╞00.  
  168.  
  169. .╪  
  170.  
  171. ╘HIS IS THE LAST COMMAND IN OUR LONG JOURNEY TODAY. ╘HIS COMMAND 
  172. RETURNS TO OUR FRIENDLY(?) ┬┴╙╔├. ╥EMEMBER TO RETURN TO 
  173. ╙UPERMON-╙┘╙(╨┼┼╦(55)+256*╨┼┼╦(56)).  
  174.  
  175. ╘HIS WAS A JOURNEY ONE OF THE TOOLS OF THE TRADE FOR ═╠ WORK. ╞OR 
  176. MORE INFORMATION STAY TUNED FOR AN ARTICLE ON HELP WITH 
  177. ═┴─╙, ├OMMODORE'S LABEL BASED ASSEMBLER.  
  178.