![]() |
![]() |
#61 |
ex. demoscener "Bigmama"
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,664
|
|
![]() |
![]() |
#62 |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
|
![]() |
![]() |
#63 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,580
|
In the final testing this afternoon I ran into a 020 disassembler bug, which should better be fixed. Give me one or two more days.
![]() |
![]() |
![]() |
#64 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,924
|
Every time I see this thread title, I imagine a red flag being raised somewhere in MI5
![]() |
![]() |
![]() |
#65 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
I don't want to derail the imminent release, but for a future release, would it be possible to consider offering an option to construct label names from addresses rather than indices? I'm not very familiar with the code, but something like Code:
if (addressLabels) if (addr > 0xffff) fprintf(ira->files.targetFile, "LAB_%08lX:\n", (unsigned long) adr); else fprintf(ira->files.targetFile, "LAB_%04lX:\n", (unsigned long) adr); else fprintf(ira->files.targetFile, "LAB_%04lX:\n", (unsigned long) index); Code:
LAB_007E: ADDQ.L #4,D1 ;1a42: 5881 ADD.L D1,4(A7) ;1a44: d3af0004 SUB.L D1,(A7) ;1a48: 9397 LEA EXT_000c,A1 ;1a4a: 43f900007700 MOVEA.L LAB_007A.W,A2 ;1a50: 24781a08 TST.B 9(A2) ;1a54: 4a2a0009 BNE.S LAB_007F ;1a58: 6628 CMPI.B #$02,10(A2) ;1a5a: 0c2a0002000a BCC.S LAB_007F ;1a60: 6420 MOVEQ #0,D0 ;1a62: 7000 MOVE.B 8(A2),D0 ;1a64: 102a0008 SUBQ.W #1,D0 ;1a68: 5340 MOVE.W D0,LAB_0080 ;1a6a: 33c000001a88 MOVEM.W (A2),D6-D7 ;1a70: 4c9200c0 MOVE.B 10(A2),D5 ;1a74: 1a2a000a ASR.W #4,D6 ;1a78: e846 ADD.W D6,D6 ;1a7a: dc46 SUBQ.W #1,D7 ;1a7c: 5347 BSR.W LAB_0081 ;1a7e: 6100000a LAB_007F: MOVEM.L (A7)+,D0/A0 ;1a82: 4cdf0101 RTS ;1a86: 4e75 LAB_0080: DS.W 1 ;1a88 Code:
LAB_1a42: ADDQ.L #4,D1 ;1a42: 5881 ADD.L D1,4(A7) ;1a44: d3af0004 SUB.L D1,(A7) ;1a48: 9397 LEA EXT_000c,A1 ;1a4a: 43f900007700 MOVEA.L LAB_1a08.W,A2 ;1a50: 24781a08 TST.B 9(A2) ;1a54: 4a2a0009 BNE.S LAB_1a82 ;1a58: 6628 CMPI.B #$02,10(A2) ;1a5a: 0c2a0002000a BCC.S LAB_1a82 ;1a60: 6420 MOVEQ #0,D0 ;1a62: 7000 MOVE.B 8(A2),D0 ;1a64: 102a0008 SUBQ.W #1,D0 ;1a68: 5340 MOVE.W D0,LAB_1a88 ;1a6a: 33c000001a88 MOVEM.W (A2),D6-D7 ;1a70: 4c9200c0 MOVE.B 10(A2),D5 ;1a74: 1a2a000a ASR.W #4,D6 ;1a78: e846 ADD.W D6,D6 ;1a7a: dc46 SUBQ.W #1,D7 ;1a7c: 5347 BSR.W LAB_1a8a ;1a7e: 6100000a LAB_1a82: MOVEM.L (A7)+,D0/A0 ;1a82: 4cdf0101 RTS ;1a86: 4e75 LAB_1a88: DS.W 1 ;1a88 This would offer a couple of advantages: 1. The user can see branch destinations and data addresses a glance 2. When new code is discovered and entered into the config file, the changes (diffs) to the regenerated disassembly would be minimised (good for comprehension and subsequent modification) An obvious disadvantage is that label names would be longer, so it might be sensible to put this naming mode behind a command line option. Last edited by hop; 07 December 2023 at 09:21. Reason: Code correction |
|
![]() |
![]() |
#66 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,456
|
I have post-processing scripts that do exactly that and it's super-useful for all the reasons quoted.
Plus when I discover jump tables & automatically insert entrypoints it's straightforward. |
![]() |
![]() |
#67 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,580
|
V2.10 is released: http://aminet.net/dev/asm/ira.lha
But I didn't include the fix mentioned above, as it became too complex and I didn't want to break the release now. The "bug" is also not too bad: it just doesn't reassemble instructions with PC-relative addressing mode at the moment, when the destination is outside of the current section. I would prefer to display a numeric PC-displacement instead of a label in this case, and additionally make it work with RELRELOC32 hunks when labels from a different section are referenced. Yes, that could be a nice enhancement. I'm looking into it for V2.11. But via an option as you wrote. |
![]() |
![]() |
#68 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
Fantastic. I'll look forward to this. |
|
![]() |
![]() |
#69 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
|
|
![]() |
![]() |
#70 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
Code:
-LABADDR Label names constructed from address EDIT: Non-Windows binaries in the package have not been rebuilt. Last edited by hop; 12 December 2023 at 13:02. |
|
![]() |
![]() |
#71 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,580
|
Very nice! And sorry that I didn't reply earlier, because I already implemented these changes 5 days ago. The current V2.11 beta source is here:
http://sun.hasenbraten.de/~frank/TEST/ira_211_beta.lha I added this new option: Code:
-LABEL=<style> Label style 0=LAB_index, 1=LAB_addr. |
![]() |
![]() |
#72 |
Joy Division
Join Date: Nov 2006
Location: East Yorkshire
Age: 60
Posts: 243
|
@phx
bad d/l link ? |
![]() |
![]() |
#73 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
The link is broken for me too. |
|
![]() |
![]() |
#74 |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
@phx It might be worth adding a line in ira_config.doc to inform the user that lines starting with a ; are treated as comments.
|
![]() |
![]() |
#75 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,456
|
nice update, buit link is indeed dead
|
![]() |
![]() |
#76 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,580
|
Indeed, the last underscore in the URL must be removed. Sorry. Correct would be: http://sun.hasenbraten.de/~frank/TEST/ira_211beta.lha
Which warnings? Can you provide a diff for those? Quote:
|
|
![]() |
![]() |
#77 | |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
They are simply removing a bunch of warnings of the form:
Code:
T var = var; The changes should be in the archive I posted a few posts up in this thread. Is there a standard way to distribute diffs other than modifed files? Quote:
I have only tested this CMakeLists.txt to generate Visual Studio project files and build with Visual Studio. It should be straightforward to adapt to other platforms for anyone with experience. The only thing that might have to be done is to add the compiler options for other platforms/toolchains from the Makefile(s). I'm not familiar with CMake on OSX or Amiga OS, but something like Code:
# Compiler-specific options if(MSVC) target_compile_options( ${IRA_TARGET} PRIVATE # /W4 # ideally! /wd4996 # Disable warning regarding deprecated functions "use strcpy_s instead of strcpy" etc ) else if(CMAKE_C_COMPILER_ID STREQUAL "GNU") target_compile_options( ${IRA_TARGET} PRIVATE -m32 ) else if(CMAKE_C_COMPILER_ID STREQUAL "VC") target_compile_options( ${IRA_TARGET} PRIVATE -dontwarn=214 -DAMIGAOS -D__USE_INLINE__ ) endif() Last edited by hop; 13 December 2023 at 11:48. Reason: Formatting |
|
![]() |
![]() |
#78 | ||||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,580
|
Quote:
= varin all cases now. Thanks! Quote:
Code:
$ diff -uw oldfile newfile Quote:
Makefile.win32for VS didn't work? I have seen VS last time ten years ago, but there was always nmakeincluded. Quote:
make.rulesthe only file for all platforms. |
||||
![]() |
![]() |
#79 | |||
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
Quote:
Thanks. I'll try to use this. Quote:
Quote:
|
|||
![]() |
![]() |
#80 |
Registered User
Join Date: Apr 2019
Location: UK
Posts: 277
|
I have been considering adding an option:
Code:
-DISPL=<style> Displacement style 0=decimal (default), 1=hex, 2=dec if -ve, hex if +ve Option 2 might be handy for Amiga LVOs. Does this sound like a worthwhile addition? Last edited by hop; 17 December 2023 at 09:37. |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
ira for Windows | jotd | Coders. General | 63 | 12 December 2023 10:53 |
New tutorial on sprites | Yragael | Coders. Tutorials | 8 | 04 September 2023 21:00 |
Debugging messages in serial (small tutorial, mainly for cross-dev) | alkis | Coders. Asm / Hardware | 7 | 22 February 2016 14:16 |
68020 to 68000 code convertion using Ira and PhxAss | gulliver | Coders. Asm / Hardware | 18 | 12 April 2014 01:09 |
Looking for IRA v1.07 or newer :-) | voxel | request.Apps | 7 | 30 July 2008 01:39 |
|
|