ARMalyser source
Jon Abbott (1421) 2651 posts |
Is the source for ARMalyser available? It’s a very useful tool, but I’d like to make a few minor modifications to assist me with locating 32bit issues in games, namely: 1. Ignore certain instructions (ADFFS’ JIT entry instruction) |
Steve Pampling (1551) 8170 posts |
I’m not sure how often Dave Ruck reads the stuff here, or c.s.a.* as he seems to have different interests/uses for his time. Try email and csa as well. A few tweaks to Armalyser would be useful – your 1-3 plus output in a BASIC compatible format. 1 Sometimes these “not 32bit” items are just a header that’s short of a few entries2 or a handful of movs pc,R14 where a mov pc,R14 will do. Page 126 dabhand guide “Archimedes Operating System” module initialisation advises exit with MOV PC,R14 what do you see time after time – MOVS PC,R14. Why? 2 Should the documentation mandate ALL entries, even if some are zeros? |
Rick Murray (539) 13840 posts |
Because the book is wrong. The PRM quite clearly states “Must preserve processor mode and interrupt state”. On a 26 bit system, you use
It would be a good idea, but is it necessary? For modern 32 bit stuff, the 32 bit marker tends to be at the end of the header which implies the rest of the header is present in some form. For older stuff… that horse escaped its stable decades ago. |
Steve Pampling (1551) 8170 posts |
Which I’ve tended to interpret as the processor mode and interrupt state on entry will be the same as on the exit. i.e. IF you chuff about with either you will put it back as you found it before exiting.
(Damn, nested quotes?) As was pointed out by Sprow and, er, you: the flag word can go anywhere, you just point at it but the pointer needs to be in the right place to be recognised and that requires “padding” so to speak and the reason for that “padding” needs to be documented. Basically people need to be told the content is optional rather than the actual field being optional.
The question is should documentation people might read be correct, not whether it’s been a bit loose for years. |