Closed mincebert closed 1 year ago
In addition, the STR r2, [PC]
should arguably be disassembled as STR r2,&9064
, as that’s probably more useful and what the programmer meant.
No need to appologise. Thanks for reporting these.
I'll make sure they get fixed in Indigo.
(I'd rather not keep re-releasing the hognose-fixes branch unless the issue is critical)
Dave
I do wonder if we should change to using : https://gitlab.riscosopen.org/RiscOS/Library/-/tree/master/Misc/decgen
On Sun, 2 Jul 2023 at 11:40, David Banks @.***> wrote:
No need to appologise. Thanks for reporting these.
I'll make sure they get fixed in Indigo.
(I'd rather not keep re-releasing the hognose-fixes branch unless the issue is critical)
Dave
— Reply to this email directly, view it on GitHub https://github.com/hoglet67/PiTubeDirect/issues/173#issuecomment-1616587072, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVVFIRSTWF4DBYA2HPDQH3XOFF2HANCNFSM6AAAAAAZ3ACF6Y . You are receiving this because you are subscribed to this thread.Message ID: @.***>
I haven't ploughed through that table but I note that *DIS
will show LDR Rn,addr
as LDR Rn, [PC, #offset]
, which is also probably not the most intuitive way to show it, so maybe that would help this, too.
Fixed in indigo-alpha2. Leave using decgen till another time as it is bit of work to integrate.
Sorry — another problem with
*DIS
andADR
on the ARM Native copro in the commit c0ddeb5, I think! It seems to be aligning calculated addresses on a 32-bit boundary. For example, if I do:Then I disassemble with
*DIS
, the address forADR R2,end
shows as &906C when it is actually &906F:And, if I print the stored address, that confirms it should be &906F:
I'm wondering if the code that calculates it is aligning it for branches but shouldn't do that when the address is for data, but you'll understand what's going on there much more than me!
(As an aside, perhaps the addresses for
ADR
printed in the disassembly should be in upper case to match the addresses in the left column, but maybe that's a deliberate choice.)Thanks again!