Improved dasm. (dasm-2.20.11-r323-20090221-tlr)

You need an actual VIC.

Moderator: Moderators

Post Reply
tlr
Vic 20 Nerd
Posts: 567
Joined: Mon Oct 04, 2004 10:53 am

Improved dasm. (dasm-2.20.11-r323-20090221-tlr)

Post by tlr »

This has been sitting on my hd for a long time now.

I initially wrote the patches to be able to assemble zp code for Datapop! but as it has been my default assembler it may be required for other stuff as well (such as DMA Loader II).

Link: dasm-2.20.11-r323-20090221-tlr

Code: Select all

README.tlr
----------

This document describes a set of patches for dasm written by tlr.
They are based on dasm-2.20.11-r323
(r323 in the Subversion repository at http://dasm-dillon.sourceforge.net/)


1: Forced operands now really force.  Previously a .z wouldn't hard set
   the instruction size to 2, leading to strange problems in some cases.

  before:
    sta.z $1000   ->   8D 00 10  STA $1000
  now:
    sta.z $1000   ->   Error!

  It would also lead to problems with code in zero page.
  The code below would previously fail with:
    test2.asm (5): error: Label mismatch...
    --> i1 0023                  

  ----------
        processor 6502
        org       $0020
        inc.z     i1+1
  i1:
        lda       #0
        rts
  ----------


2: Forced extensions try to keep the addressing mode of the instruction.
   This affects extensions b,z,d and w,e,a.
   Using extensions like .wx, .wy and similar will override the addressing
   mode like in previous versions.

  before:
    ldx.w $24,y   ->   AE 24 00  LDX $0024
  now:
    ldx.w $24,y   ->   BE 24 00  LDX $0024,Y

3: C64 DTV2/3 instruction support

   processor DTV
   bra  <rel>   ($12)
   sac  #<imm>  ($32)
   sir  #<imm>  ($42)

4: Filenames for include directives may be symbols.

   include, incdir, incbin now takes symbols as arguments.
   This means unquoted strings are no longer allowed.
   The symbol must be defined at the time of the include statement.

  ----------
  FNAME eqm "file2.i"
        include "file1.i"
        include FNAME
  ----------

5: incbin directives may have offset and length.

  incbin <file>[,<offset>[,<length>]]

  ----------
  FNAME eqm "file4.bin"
  a:
        incbin  "file1.bin"
  b:
        incbin  "file2.prg",2
        incbin  "file3.bin",0,16
        incbin  FNAME, 0, b-a
  ----------
Post Reply