DDT debug - Cummings and Goings
Pages: 1 2
Chris Mahoney (1684) 2165 posts |
That’s correct. C and assembly both use Text. |
David J. Ruck (33) 1635 posts |
Zap will use the appropriate mode if the assembler is in a ‘s’ directory (also if called filename/s but I can’t remember if I set that myself). |
Colin Ferris (399) 1814 posts |
So it is relying on Zap to colour text files. Any chance of a separate file type? If a program gives a list of procedures errors how do you read it back? |
David J. Ruck (33) 1635 posts |
I don’t think a separate file type is needed, it’s up to text editors to decide how they syntax colour textual information. Errors are delivered to the editor via the throwback mechanism. |
Colin Ferris (399) 1814 posts |
When a ‘C’ module claims app memory – where is it mapped in? |
Rick Murray (539) 13840 posts |
App memory? C modules created with the DDE use their WimpSlot don’t they, like regular apps. Paged and all. You can tell this by looking in TaskManager to see if it’s listed as an Application task or a Module task. |
Colin Ferris (399) 1814 posts |
When adding ARM code to ‘C’ module programs how do you add to the relocated list at the end of the code automatically – when the prog is linked together? |
Rick Murray (539) 13840 posts |
Do you have the DDE? Look at the examples and the user guides. Or look at DeskLib. Briefly, in the assembler you |
Colin Ferris (399) 1814 posts |
Just fired up !Librarian – with DDE User Guide loaded. Page 251 DCD Rel_pointer01 And letting the linker/ASM sort things out. [Edit] Hmm |
Colin Ferris (399) 1814 posts |
What’s this RO 5.29 13 May 2021 - Debugger 2.07 16 May 2020 &E2444E0A ?? |
Julie Stamp (8365) 474 posts |
The constant being subtracted is &A0 = &A ROR 28. The 28 comes from the &E multiplied by two, &rxx on the end gives #&xx, ROR 2r. Debugger shows #&0A,28 to indicate that it is a non-standard encoding of the constant, since it could have been produced using zero rotation as
There’s some previous discussion of this here. |
David J. Ruck (33) 1635 posts |
I had to use that notation in ARMalyser’s assembler output too, as the non standard encoding is quite common, and its required so you can reassemble back to exactly the same binary, despite not being very readable. |
Colin Ferris (399) 1814 posts |
Thanks for this update. Have come across some ‘C’ modules that Druck’s prog doesn’t finish at the end – grafting the output of !Sid gets around it. Try to get exact copies of a redone module to start with – ADR’s can be different – using !Zap gets used to update them. Have come across a ‘C’ module that doesn’t call the CLib SWI – Mmm perhaps it’s Stub doesn’t need the 32bit version. !Arm_Debug is very handy to step through modules 26 only at the moment. Surprised !DDT couldn’t handle modules – seems to handle SVC code Ok. Did try putting one of DDT SWIs in a module – got so far at starting DDT at the right place in the module – but it wouldn’t single step from there :-( Perhaps Gerf could comment! |
David J. Ruck (33) 1635 posts |
Colin, please send me examples of anything that doesn’t work with ARMalyser, and I’ll have a go at fixing it. |
Colin Ferris (399) 1814 posts |
Tks – do I have an your current address? |
André Timmermans (100) 655 posts |
Regarding ARMalyser, I remember some years ago while trying to figure out an elusive compiler bug that I tried to compare the disassembly of 2 versions of object files: one version compiled with what was at the time the latest ROOL version and one with a pre-ROOL version. IIRC the disassembly of addresses (or was it the associated comments?) differed between the two versions which made SideDiff’s job harder. To me it seemed that the ROOL compiler added extra flags in the descriptors of these addresses which made ARMalyser a little bit wary in their handling. |
Pages: 1 2