Looking at the docs, I think it would be pretty easy to add LASM.COM compatibility to asm80...

(LAsm was an early hack on CP/M ASM.COM by the great Ward Christensen that added a "link" pseudo op that opened a new source file and continued assembly to the same output files. This let you split your source into multiple files. Used, among other projects, by CP/M Kermit.)

#Asm80 #8080 #8085 #CPM #CrossAssembler #Unix #RiscOS

One programming challenge that's always eluded me has been learning #assembly. It's always been just a bit too difficult for me. Yesterday I sat down and gave it another try, and I actually got something!

For my first non-tutorial bit of code, I wrote a function that calculate the modulo of two numbers.

You can see here that I'm finding 41 % 7, which gives the answer 6. After running, you can see these three numbers in the first three bytes of memory.

#programming #ComputerScience #asm #z80 #asm80

Big surprise, hexpatch wasn't working for me because I was giving it the wrong arguments! As a BBCBASIC program it doesn't do no 0X100 nonsense, it wants 100h the way ghod and Intel specified.😀

Also interesting is that it writes a BBC style directory entry, so RISC OS tools looking at the result can know that it's a binary file that should be loaded at 100hex. Shame those bytes in the directory structure got reused for the time stamp.

#RiscOS #BBCBasic #Hex #asm80

One step forward, one step back.

Ok I have a simple cli munger that does what i immediately need it to, convert asm.file names to asm/file unless it's in a long cli option like --include=./def/ ....

And now I notice that the BASIC program I was using for hex2bin isn't working right! A CP/M binary does not start with 256 nulls, thank you very much!

#RiscOS #Asm80

Ghahh!

The more I look at this, the more m4 is just unwilling to cooperate with the DDE tools.

(The #RiscOS native dev system, the Desktop Development Environment, has a unique directory structure it imposes on source. I'm trying to make #asm80 fit in, but I use m4 to preprocess my asm source and man! M4 is fighting me!😭

I think I'm about ready to upload a new #riscOS version of #asm80, an intel 8080 & 8085 cross assembler.

No changes to the core assembler but it now has a cli option to understand #DDE style filenames ( asm.file instead of file/asm) for use under #AMU.

of course, GNU m4, even compiled as a proper native #RiscOS app, wants unix directory seperators, so it can't find am4.nmiled it wants am4/nmiled

#ASM80 is my code this point and, told to load asm.nmiled tries to find asm.nmiled/asm but I can do something about that myself!

Actually playing with #asm80 under #RiscOS and asm80 is fine, but the #hex2bin app I got off the net always starts its output file at 0000h!

Fine if you're building a boot rom, annoying if building a CP/M .com, really annoying if building a #m100 RAM binary (that probably starts at like F000h!)

So its either find/write a better hex2bin or find/write a utility to strip binary padding off... Neither is really hard, im just lazy...

humm, when you specify multiple files on the cli with #asm80 the files are all assembled, but they are assembled separately...

If they were all assembled together, that would eliminate probably 90% of my need for a preprocessor...

My boss is on a rampage so I'm promising nothing!

OK, I gave myself a deadline:
I want to have a version of m200.def to distribute by Jan 3, 2022.

This wants to be *the* master include file (& ROM entry point documentation) for Tandy 200 assembly using ASM80, ZMAC, TASM (telemark, not turbo), and ASxxxx.

It will be completely untested, as I do not (yet) have a Tandy 200. :-(

#assembly #m100 #m200#t200 #ModelT #8085 #Asm80 #ZMac #TAsm #ASX