6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Mon Apr 29, 2024 4:10 pm

All times are UTC




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: ANN: HXA 0.182
PostPosted: Mon Jun 25, 2012 2:28 am 
Offline

Joined: Sun Nov 08, 2009 1:56 am
Posts: 387
Location: Minnesota
Posted a new bug-fix version at http://www.home.earthlink.net/~hxa (thanks 'dclxvi'!).

No new features but a couple of enhancements. Names can now contain as many underscores in a row as anyone cares for, which helps match other programming environments. There's a subtle change to error detection in expression evaluation, which may not be noticeable but did alter the behavior of several test programs (they've been updated). Other hidden changes as well.

There was an 0.190 version which would have introduced new features but late in development I noticed a 5-10% slowdown in one of the demos. So I went back and started over, trying to find whatever change caused that. The 0.182 version is basically everything that wasn't strictly a new feature. No slowdown so far. Which suggests that the slowdown was caused by a new feature. We'll see.

Here's some of the changes I implemented but didn't make the cut so far:

- IFDEF and IFNDEF pseudo ops. Using these I also altered some of the demos relating to macro instruction sets to work under either the generalized HXA_T version or the native HXA65 version (the latter being, oh, quite a bit faster)
- pre-defined symbols __HXA__, __HXA_T__ and __HXA65__ to use with IFDEF and IFNDEF
- an option to make colons required on labels instead of optional
- making all official 65xx-family mnemonics always reserved instead of just the ones relating to the processor in use (HXA65)
- making 65xx-family register names reserved symbols

One change I implemented would have broken some existing code:

- removing the distinction between 'forward' and 'backward' anonymous labels (which, looking back, is fairly stupid) and adding the
colon as a legal anonymous label ('cause I kinda like how that looks in other assemblers)

Mmm, but any existing code in which 'forward' and 'backward' labels 'cross' each other would break. I wrote an update program to handle the most common cases but it's in AWK. I'm not entirely satisfied with the situation. Maybe I'll figure a way in the next version to use either the existing '+' and '-' anonymous labels or the ':' but not both, and in the version after that drop the distinction.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC


Who is online

Users browsing this forum: ojanhk and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: