V0.7.4 released with local label support


Aira Force version 0.7.4 adds support for local labels. Local labels start with a dot . or end with a $ and only exist between two global labels. This allows local label names to be reused in different routines for small branches and loops.

For example, two subroutines within a program might contain local labels named .loop

Start:
        bsr     Sub1
        bsr     Sub2
        rts
;------------------------------------------------ 
Sub1:
        moveq   #3,d7
.loop:
        add.w   #1,d0
        dbf     d7,.loop
        rts
;------------------------------------------------
Sub2:
        moveq   #3,d7 
.loop:
        add.w   #1,d0
        dbf     d7,.loop
        rts

Another common pattern is for coders to use throw-away numbered local labels. For example:

Sub3:
        moveq   #3,d7
1$:     
        add.w   #1,d0
        dbf     d7,1$
        moveq   #3,d7
2$:     
        add.w   #1,d0
        dbf     d7,2$
        moveq   #3,d7
3$:     
        add.w   #1,d0
        dbf     d7,3$
        rts

Prior to this release, Aira did not properly support local labels. This update includes the following changes:

  • Support multiple local labels with same name. 
  • Prevent user from adding duplicate local label names between two global labels
  • Updated line label cross references to support local labels i.e. reference local labels in scope
  • Update GotoPopup to support local labels, prioritising navigating to local labels in current scope
  • Add option to Labels Window to hide (filter out) local labels

This release also includes the latest version of VASM 2.0beta, which adds two new options (thanks Frank!)

-dbg-local adds local labels with their original name (like 1$ or .abc) to HUNK_SYMBOL.

-dbg-globloc adds local labels by trying to construct a name out of their preceding global label and the original local label name: global$local (Examples: main$1$, main$.abc).

This means that executables built with these options will automatically have correct names for local label symbols applied by the ira disassembler. This can be seen by using the File > Hunk info... command or by inspecting the HUNK_SYMBOL for a loaded executable in the Hunks window.


Other changes in this release

Dots within label names are now also supported. VASM reassembles with the -ldots option

Label Name Generator tool renames subroutine LAB_xxxx labels to SUB_xxxx

Files

aira-force-win64.zip 2 MB
Version 0.7.4 3 days ago
aira-force-mac.dmg 2.7 MB
Version 0.7.4 3 days ago
aira-force-linux.tar.gz 2 MB
Version 0.7.4 3 days ago
aira-force-linux.deb 2 MB
Version 0.7.4 3 days ago
aira-force-win32.zip 1.8 MB
Version 0.7.4 3 days ago

Get Aira Force

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.