16 August 2010, 11:22 | #1 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
vasm 1.5 RFC
Soon I would like to bump the version of vasm (http://sun.hasenbraten.de/vasm/) to V1.5 and I would like to do my best to make it as stable and useful as possible.
So when anybody has a problem with V1.4f or the daily source snapshot, please tell me now. I'm also open for new features, as long as their complexity doesn't destabilize the current version. |
16 August 2010, 13:02 | #2 |
Banned
Join Date: Jan 2007
Location: France
Posts: 655
|
Two new mnemonics :
bra2.b Label+2 => for $0C40 bra4.b Label+4 => for $51FA Please Frank, we don't like some 'dc.w $0C40' in the sources... |
16 August 2010, 15:56 | #3 |
Registered User
Join Date: Sep 2004
Location: Brasil
Age: 49
Posts: 181
|
In this case, i think that it would better to use a pair of macros or i don't understand at Cosmos.
Last edited by SyX; 16 August 2010 at 16:02. |
16 August 2010, 15:58 | #4 |
Banned
Join Date: Jan 2007
Location: France
Posts: 655
|
>macros
Too much complicated ! |
16 August 2010, 16:43 | #5 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
I have to agree with Lionheart that it doesn't make much sense. It just makes your source incompatible with any other assembler.
But if you really want that, you can insert the following line into cpus/m68k/opcodes.h: Code:
"bra2", {0}, {{0}, {0x0c40,0},1|UNS|S_NONE,m68000up|mcf}, |
16 August 2010, 16:54 | #6 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
|
18 August 2010, 02:39 | #7 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Just cosmetic details, but some flexibility in the if-directives would be nice, so you could f.ex eliminate the .size in:
Code:
cnop 0, 4 Start ... ... rts .size = *-Start if .size > 256 fail "code will not fit in cache" endif |
18 August 2010, 16:59 | #8 | ||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
Be aware that such kind of code is dangerous. Directives for conditional assembly have to evaluate in the first pass and changes in further passes will not be recognized (e.g. through optimizations). Quote:
|
||
19 August 2010, 12:52 | #9 | |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Quote:
Any keywords for multiple comments would be fine, up to you, but I think it's important that they're available at all times, so you don't have to set f.ex an ASM-One compatibility mode. |
|
20 August 2010, 13:46 | #10 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
BTW, the same effect can be reached by using REPT 0, which might be more portable. But I didn't test if all assemblers accept a 0 counter. |
|
01 September 2010, 23:10 | #11 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Another cosmetic detail, I noticed that f.ex blk.l 10, label is not valid, and you have to use a larger rept-dc.l-endr construct to work around it.
|
01 September 2010, 23:38 | #12 |
move.l #$c0ff33,throat
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 6,863
|
I don't use vasm but, did you try dcb.l instead of blk (which is, as far as I know, Seka (and Asm1 for obvious reasons) only)?
|
03 September 2010, 11:52 | #13 | |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
Is that really needed? Ok. I enhanced the space atom to support relocations. |
|
03 September 2010, 18:57 | #14 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Maybe not needed but the reason I use vasm is that it's the most powerful, flexible and convenient to use assembler, so I'll usually suggest these things if I think they can make vasm even better, and I think it's great that you're so accommodating.
|
04 September 2010, 14:53 | #15 |
Registered User
Join Date: Sep 2004
Location: Brasil
Age: 49
Posts: 181
|
Totally Agreed!!! Besides, Frank is a GREAT GUY!!!
|
19 September 2010, 07:49 | #16 |
Banned
Join Date: Jan 2007
Location: France
Posts: 655
|
Other very usefull idea :
hunk organisation = begin with the first... and the last Let's user choose with an option, like -hunkorder... |
01 November 2010, 08:21 | #17 |
son of 68k
Join Date: Nov 2007
Location: Lyon / France
Age: 51
Posts: 5,323
|
VAsm v1.3c does not support such constructions even in phxass compatibility mode :
Code:
basereg mybss,a5 lea myvar(a5),a0 bss mybss myvar ds.l 1 |
02 November 2010, 12:41 | #18 |
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
BASEREG and ENDB were not supported before V1.4. So I don't know how you got it to accept basereg at all with 1.3c?
When there are no more bug reports in the following days I will probably release V1.5 soon. The daily snapshot can always be tested from: http://sun.hasenbraten.de/vasm/index.php?view=source |
02 November 2010, 16:07 | #19 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Not sure if this is a bug or a user error, but whenever I use -devpac to turn all optimizations off and specify opt o1+ to enable branch optimizations only, it also optimizes move #0 to clr, and add to addq.
What I want is to disable all optimizations except branches without explicit size. Is this possible? |
03 November 2010, 16:08 | #20 | ||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,496
|
Quote:
move #0 to clr is not a safe optimization for the 68000, BTW. So I assume you were generating code for 68010+? Quote:
|
||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
EAB Linux RFC | gilgamesh | request.Other | 16 | 25 April 2014 04:19 |
vasm and word alignment | Den | Coders. Asm / Hardware | 9 | 07 February 2014 11:25 |
Help linking VASM object code | clenched | Coders. Asm / Hardware | 2 | 24 May 2013 22:32 |
vasm fsincos | dalton | Coders. Asm / Hardware | 4 | 03 September 2012 10:35 |
RFC: SPS/CAPS @ back2roots ? | hippie2000 | project.SPS (was CAPS) | 29 | 06 November 2007 23:25 |
|
|