crosassembler

xxlxxl
edited November 2007 in Development
Hi,

i need crossassembler z80 for windows.
1. compile $0000 - $3fff
2. multiple ORGs

could you help me?
Post edited by xxl on

Comments

  • edited November 2007
    Pasmo.

    (And before anyone suggests SjASMPlus... dumping out code with multiple ORGs as a raw binary is exactly where SjASMPlus has weird confusing behaviour, so I wouldn't recommend that...)
  • edited November 2007
    TASM or if code for a Spectrum then use Spins built in assembler.
    I wanna tell you a story 'bout a woman I know...
  • edited November 2007
    gasman wrote: »
    (And before anyone suggests SjASMPlus... dumping out code with multiple ORGs as a raw binary is exactly where SjASMPlus has weird confusing behaviour, so I wouldn't recommend that...)

    I use SjASMPlus.
    Tho' Gasman is correct, it does have some oddness with regards multiple ORG statements... it will compiles the code for the ORG you specify, but at the current address. This is great if you're planning to move the code, but if you're not it can cause a problem.

    If you did opt for SjASMPlus tho', I tend to do the following if I want some code at a specific address:
    BLOCK new_org - $
    Which helps as it gives an error if you've already gone past that point :)
  • edited November 2007
    I use Pasmo
    its idiot proof - i know i have tested it ;)
  • edited November 2007
    I use TASM2. It doesn't care where your ORG points.
    Tip though:

    Create a BAT file with the following in your TASM folder:
    SET TASMOPTS=-80 -b -f00 -lal
    PATH=%PATH%;C:\......\TASM2
    

    Then right click it, create a short cut of it. Copy that shortcut into your Project folder.
    After launching the shortcut dos prompt, all you need then to compile your code is:
    tasm Main.asm Main.bin
    

    The output BIN file is continuous raw binary file starting at your lowest (not first!) ORG address.

    Personally, I create a BAT file in my project file which looks something like this:
    @echo off
    :loop
    cls
    tasm Main.asm Main.bin
    pause
    goto loop
    
    

    Only proviso: Keep your filenames in old 8.3 format.
Sign In or Register to comment.