View Single Post
Old 21 October 2019, 00:28   #1
Registered User

Join Date: May 2015
Location: Kirkland, Washington, USA
Posts: 24
Change in behavior in recent VASM upgrade

I've been trying to upgrade to a more recent vasm, and it generally was smooth, except one regression is blocking me:

reg/equrl statements now cannot override a previous statement. For example, this would compile before but doesn't now:
TestVar: equrl d0-d7/a0-a6
TestVar: equrl d0-d4/a0-a1
To fix this, it was as simple as changing new_equate() to new_abs() in cpu.c for those commands. However, a cleaner/more "correct" fix may be to add setr/setrs that makes it clear these can change throughout.

As for why this is important: I wrote a handful of super useful macros that I use everywhere to simulate functions, and register push/pop, with error checking, so I can write code like this:
    BeginProc myFunction,d0-d7/a0-a5
    push a3
    pop  ;knows to pop a3
    EndProc ;knows to pop d0-d7/a0-a5
I have emailed this to Frank, too - I don't know which is the best way to report things like this
Hannibal is offline  
Page generated in 0.04122 seconds with 11 queries