Home Computing Weekly


Assembler Monitor 64

Author: A.W.
Publisher: First Publishing
Machine: Commodore 64

 
Published in Home Computing Weekly #106

For anyone wishing to undertake a significant piece of machine code, a good quality assembler is vital. This package is a newcomer aimed at this section of the market. This assembler/monitor package rejoices under the name of a 6510 MACRO Assembler Development Package. I'm not quite sure what that means, but it sounds good.

For the uninitiated, an assembler is a program which will convert a source code make up of easily intelligible mnemonics into the numeric object code which the machine understands.

The on-board editor is used to create the source code and all normal disc storage commands arc available. The format is standard and easy to use. The main useful feature of this sort of package is the provision for pseudo op-codes and labelled variables and loops. To handle these, this assembler uses two passes.

In addition to the normal pseudo op-codes such as .BYTE, .ASC, .WORD and .A YM, there are some rather handy facilities. The output of the assembler is controlled by .OPT. This is a particularly powerful command which enables you to output the object code to disc or, if you're testing it, to RAM. This code also allows the output of the assembly listing to screen or printer.

If you want to store floating point constants in the usual five byte format, .FLP will do this. One of the more bizarre and, if you know the system well enough, useful commands is .SYS. This transfers control to your own machine code routine on each pass, allowing the use of custom output routines etc.

The best of the bunch has got to be the provision of macros via a .MAC and .MEND opcodes. A macro is a frequently used block of code which can be inserted at any point of the source code but need only be written once. It can be used

with passed parameters - a bit like a procedure - and is powerful and helps to make the source code more intelligible.

Since the assembler resides in the machine, only 30K is available for source code. Long codes can be assembled, however, by using linked files on disc.

The second part of the package is a machine code monitor. This sits in the area between the ROMs and can therefore cohabitate with the assembler. The monitor is provided as a debugging tool and general utility. The format is nearly the same as most. standard monitors and provides commands for SAVEing, LOADing, display memory, single step, break points, disassemble etc.

One nice touch is that the display register command gives the details of the individual bits of the status register. I noted peculiar behaviour if BRK was encountered. After entering the monitor, the single step command would not function correctly and it was necessary to leave the monitor and re-enter with a "CALL".

On the whole, I found this package both powerful and efficient. The need for special loaders has been avoided by ensuring that object code assembled to disc is directly loadable. This ensures a simple system. In terms of power, this package is comparable to others but costs less. The manual, translated from German was fair, although occasionally obscure. Overall, worth serious consideration.

A.W.

Other Commodore 64 Game Reviews By A.W.


  • Pole Position Front Cover
    Pole Position
  • Hexpert Front Cover
    Hexpert
  • International Basketball Front Cover
    International Basketball
  • Colossus Chess 2.0 Front Cover
    Colossus Chess 2.0
  • Caesar's Travels Front Cover
    Caesar's Travels
  • Games Creator Front Cover
    Games Creator
  • Stix Front Cover
    Stix
  • Super Scramble Front Cover
    Super Scramble
  • Nato Commander Front Cover
    Nato Commander
  • Fools Gold Front Cover
    Fools Gold