Remember Aasm
nemo (145) 2546 posts |
Cementing my cutting-edge credentials, I have to admit that I use Aasm for 99% of my machine code development on RISC OS. I always have and… well, that’s the only reason really. I patched the “LDR Rn,[Rn] → LDR Rn,[Rn],#0” problem a very long time ago, so this ancient build carried on working fine. It’s 2.01 actually. It has one big annoyance though – filetypes: It only knows about two, Absolute and Module. And regardless of what the source does, it’s a command-line option that causes the filetype to be applied. Aasm has a directive called That’s enough to fool the FrontEnd – it shows a nice Utility icon in its save box. Unfortunately it doesn’t fool the Filer or FileSwitch, because as any fule kno, if the load and exec addresses are identical then it is not a stamped file. So that doesn’t work. Drat. Aasm also has an I decided to fix it. Nobody needs files with load and execution addresses any more, but even if they did, you couldn’t have an execution address <&4000 even on old OSes (you could arguably use the “OS scratch area” &4000-&7FFF I suppose, but zero page is ridiculous). And on RO5 anything below &8000 is probably not going to work. So So I’ve spent some joyful hours spelunking through a very ancient 26bit compiled-C assembler that only I use, so I could extend the syntax of one of its directives. Which means that when I assemble some code that uses my Which is how it should have worked 30 years ago. This makes me inordinately pleased. Don’t ask me for a 32bit version of Aasm though. |
Rick Murray (539) 13840 posts |
Don’t need one. Run ObjAsm with the |
nemo (145) 2546 posts |
And what filetype does it produce? |