| |
Fix
Registered: Feb 2003 Posts: 54 |
DASM Questions...
I'm testing out DASM assembler and wonder if you can do the following.
org $5000
...
...
org $1000
...
...
Q: I get errors on this, complains about reverse indexing.
I've tried to use -F2, but I can get it to work.
The "..." just some code :-)
Or I need to have all parts in low/high, to get it to work.
- - -
Q: Is there a way to split the output file into two or more files, see below. Or is there any cross-assembler that can handle this ? ( !to is a Acme command... )....
org $1000
!to "file"
....
....
org $2000
!to "file2"
....
.... |
|
| |
soci
Registered: Sep 2003 Posts: 480 |
A1. dasm a.asm -f2 works. But you have to split out the segments yourself. If you do this then you could go with almost anything able to handle random segment ordering.
A2. DreamAss comes to mind right now, or Kick Assembler V3.13 (or newer?) with -mbfiles option. |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
DreamAss indeed handles this nicely.
Baccy just moved it to https://github.com/docbacardi/dreamass
When toying with flexible segment ordering I tested dasm, acme and KickAss as well. All of them seem to have serious problems in this field. While dasm next to DreamAss also allows unlimited passes to resolve forward references the several versions I found produced different code and crashes. DreamAss wasn't that much better when using pseudo-opcodes "wrongly" but works as expected once I figured it out.
KickAss - well, I know many use this thing but I don't see the reason. A simple forward reference in an included file doesnt work - even with gigs of RAM. Uff. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:the several versions I found produced different code and crashes.
that sums up my experiences with DASM pretty accurately too =)
that said, ca65 can do this stuff nicely as well - its not everyones cup of tea though, due to the way it deals with linking. |
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Reminds me - also don't waste time on "XA". While "dxa" is useful as disassembler at times "xa" is painful to use. |
| |
soci
Registered: Sep 2003 Posts: 480 |
Quoting Count ZeroWhen toying with flexible segment ordering I tested dasm, acme and KickAss as well. All of them seem to have serious problems in this field. While dasm next to DreamAss also allows unlimited passes to resolve forward references the several versions I found produced different code and crashes. DreamAss wasn't that much better when using pseudo-opcodes "wrongly" but works as expected once I figured it out.
KickAss - well, I know many use this thing but I don't see the reason. A simple forward reference in an included file doesnt work - even with gigs of RAM. Uff.
Hmm, sounds interesting. Could you share a few examples what sort of flexible segment ordering you've tried to do? Things like aligning code so that it end exactly somewhere, for example? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:also don't waste time on "XA".
hihi, xa must be one of the weirdest assemblers i used... while its pretty stable and solid, the syntax is really unlike every other assembler :) |
| |
Testicle Account closed
Registered: Sep 2002 Posts: 131 |
Quoting Count ZeroKickAss - well, I know many use this thing but I don't see the reason.
I'm not sure about other assemblers since I have been away from asm-coding for years, but are there other assemblers as well that have such an elaborated scripting language like Kick Assembler? Just wondering...
Oh, and it runs on Windows, Linux and OS X out of the box. I don't like (or better: I'm not able to) compiling from source to use an assembler on OS X. |
| |
soci
Registered: Sep 2003 Posts: 480 |
Quoting TesticleI'm not sure about other assemblers since I have been away from asm-coding for years, but are there other assemblers as well that have such an elaborated scripting language like Kick Assembler? Just wondering...
It depends what you want to do. I usually prefer other (scripting) languages for doing complicated conversions, tables or special speed code and such. These things are slow to compute, and once generated they're changed rarely, unlike the assembly code.
So for me most of it's selling point about scripting is gone. The other part is lost on the syntax, but that's personal preference again.
It's probably still the most capable assembler for scripting, though. For assembling I'd disagree, it falls short in surprising ways sometimes.
Quoting TesticleOh, and it runs on Windows, Linux and OS X out of the box. I don't like (or better: I'm not able to) compiling from source to use an assembler on OS X.
The problem with OS X is that it's not really an option to cross compile native code to it without owning the hardware.
Otherwise you have to jump through hoops (in theory there're somewhere hacked VM versions around), but understandably not everyone wants to do that.
I don't have that many friends with the hardware, the OS and a willing/understanding to install Xcode and cross compile or debug stuff for me.
If I release windows binaries beyond the source code it's because that's only a matter of quick cross compiling with mingw. If it would require a native environment using MSVC for example, then it wouldn't happen either.
So it's not that I have anything against supporting OS X with precompiled versions, just the bar is too high.
You did it right with java - much less worries on portability - but I better like to play with the low level stuff most of the time.
Ok, that's enough for now, way too much off-topic stuff already ;) |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: Quote:the several versions I found produced different code and crashes.
that sums up my experiences with DASM pretty accurately too =)
that said, ca65 can do this stuff nicely as well - its not everyones cup of tea though, due to the way it deals with linking.
For what it's worth: I haven't had these problems with dasm although I found it necessary to improve it (dasm-2.20.11-r323-20090221-tlr) to achieve what I wanted.
Error reporting is below par but I find my self returning to it because I'm used to it and that some others mentioned here (notably kickasm) aren't good enough at resolving forward references.
I use external programs in perl and c extensively for code generation.
If I were to pick from scratch today I would probably pick 64tass. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
Quote:I found it necessary to improve it
thats another "nice" dasm feature - everyone produced his own fork with its own unique bugs^H^H^H^Hfeatures =) |
... 6 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 - Next |