Sunday, 10 January 2016

and disassembling back again ......

Well, the monitor is now sort-of finished, really.  Well, beta ish anyway.

It has most of the functionality I wanted when I started. You can see the disassembler at work here (disassembling a chunk of the Tape I/O routine).

Like the assembler, it is primitive but works.
I still have plenty of space left in the ROM (620 bytes), so I think I will have some 16 bit routines in the ROM to do multiply and divide definitely, add, subtract maybe and so on, which will come in useful for any HLL I write (or indeed anything else).

This will probably be a FORTH sort of thing where it takes values off the stack and processes them.

Then after that, maybe a boot up message and sound f/x – this isn’t really much use but does have the advantage that if I need that space, for bugs for example, I can take it out again, or truncate it.
I have been surprised by the relative efficiency of the code ; I wasn’t even sure I’d get the assembler into the 2k of Monitor space I have. 

It’s partly learning the style of coding for these processors.

Competition of the Day

In the 7 lines of code shown there is a significant (read I’ve done something really dumb) bug which will stop the tape system (but nothing else) from working.

What is it ?

No comments:

Post a Comment