| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
Dasm rorg directive
Hi, I'm looking for a DASM cross assembler version newer than 2.12 for DOS/Win with correctly working rorg directive. All newer versions I found on the net can't assemble the lower attached test source. I found it ages ago on one of the famous Fred Fish disks and I don't want to switch to another one :( I tried to contact one of the new maintainers, but I got no response. Anybody here has a working version or knows the dasm sourcecode a bit and has time to fix it?
processor 6502
org $c000
Main subroutine
sei
jsr Test
jmp nmi
Test subroutine
ldx #nmi_end-nmi_start-1
.loop lda nmi_start,x
sta nmi,x
dex
bpl .loop
rts
nmi_start subroutine
RORG $02
nmi subroutine
.1 INC $d020
jmp .1
rend
nmi_end
|
|
| |
Danzig
Registered: Jun 2002 Posts: 440 |
switch to kickassembler and explore a whole new world for you :D sorry, not the advise you expected but really: give it a try! |
| |
iAN CooG
Registered: May 2002 Posts: 3197 |
Quote: Hi, I'm looking for a DASM cross assembler version newer than 2.12 for DOS/Win with correctly working rorg directive. All newer versions I found on the net can't assemble the lower attached test source. I found it ages ago on one of the famous Fred Fish disks and I don't want to switch to another one :( I tried to contact one of the new maintainers, but I got no response. Anybody here has a working version or knows the dasm sourcecode a bit and has time to fix it?
processor 6502
org $c000
Main subroutine
sei
jsr Test
jmp nmi
Test subroutine
ldx #nmi_end-nmi_start-1
.loop lda nmi_start,x
sta nmi,x
dex
bpl .loop
rts
nmi_start subroutine
RORG $02
nmi subroutine
.1 INC $d020
jmp .1
rend
nmi_end
Grab my version, I just compiled it fine.
http://iancoog.altervista.org/
org $c000
Main subroutine
sei
jsr Test
jmp nmi
Test subroutine
ldx #nmi_end-nmi_start-1
.loop lda nmi_start,x
sta nmi,x
dex
bpl .loop
rts
nmi_start subroutine
RORG $02
nmi subroutine
.1 inc $d020
jmp .1
REND
nmi_end
dasm "x.s" -o"x.prg" -v2 -l"x.lst"
------- FILE x.s LEVEL 1 PASS 3
1 c000 org $c000
2 c000
3 c000 Main subroutine
4 c000 78 sei
5 c001 20 07 c0 jsr Test
6 c004 4c 02 00 jmp nmi
7 c007
8 c007 Test subroutine
9 c007 a2 05 ldx #nmi_end-nmi_start-1
10 c009 bd 12 c0 .loop lda nmi_start,x
11 c00c 95 02 sta nmi,x
12 c00e ca dex
13 c00f 10 f8 bpl .loop
14 c011 60 rts
15 c012
16 c012
17 c012 nmi_start subroutine
18 c012
19 c012 0000 RORG $02
20 c012 0000 nmi subroutine
21 c012 0002 ee 20 d0 .1 inc $d020
22 c015 0005 4c 02 00 jmp .1
23 c018 REND
24 c018
25 c018 nmi_end
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
It doesn't assemble in dasm V2.20.10, but not due to the rorg directive.
It rather fails because it assumes "sta nmi,x" is 3 bytes long in the first pass and in the second pass nmi_start has then moved one byte.
It probably behaves wrong in this sense.
If you force it to long by .wx it works. I think you can force it to zp too, but I don't remember how. |
| |
iAN CooG
Registered: May 2002 Posts: 3197 |
Quote: It doesn't assemble in dasm V2.20.10, but not due to the rorg directive.
It rather fails because it assumes "sta nmi,x" is 3 bytes long in the first pass and in the second pass nmi_start has then moved one byte.
It probably behaves wrong in this sense.
If you force it to long by .wx it works. I think you can force it to zp too, but I don't remember how.
the other dasms around sux. mine rulz. end of the story.
:D |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
any version of dasm sucks arse, fact =P |
| |
iAN CooG
Registered: May 2002 Posts: 3197 |
Quote: any version of dasm sucks arse, fact =P
hmpf. you're not even worth a reply
OMFG I replied anyway!1 /o\ |
| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
Thx iAN CooG! I'll give it a try. I think DASM is still a good assembler and I like the way it handles local labels and I didn't find an assembler which offers this the same way. Perhaps I was too lazy to look deep enough... |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
:o)
does yours give some half sane error messages at least? i have to use dasm for work atm and its inability to even print meaningful errors drives my nuts =)
thcm: many assemblers support "cheap" local labels :) dasm really doesnt have any special features at all. |
| |
The Human Code Machine
Registered: Sep 2005 Posts: 112 |
@Groepaz: For me the SUBROUTINE is special enough and I like the simplicity and readability of my good old trusted DASM assembler. I don't like the high level stuff like the script stuff used in kickassembler. I also don't like the way local labels are handled, but that's just my personal taste. Thx everybody for the help. |
| |
iAN CooG
Registered: May 2002 Posts: 3197 |
Quote: :o)
does yours give some half sane error messages at least? i have to use dasm for work atm and its inability to even print meaningful errors drives my nuts =)
thcm: many assemblers support "cheap" local labels :) dasm really doesnt have any special features at all.
Huh, depends on what do you mean by sane =)
Any example of weird messages?
I have to remember that I stripped from my build any other processor, it's 6502 only, so no need to write processor 6502 on top anymore -it's simply ignored - so if you use it for some microcontroller coding with different cpu it's no use for you. I only need coding in asm for the C64 =) |
... 15 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 - Next |