General Category > Programming

BASM: Best ASseMbler in my desk room.

(1/4) > >>

krusty:
Hello,
these last months, I have worked on the Benediction cross ASseMbler that will be used in our next production.I have not yet tested it in real-world conditions, so ATM I have truly no idea of its efficiency/usability.
I write this message to let anyone give it some try and provide me feedback to fix potential bugs and eventually bring more features for its real official release.I guess the official release will be accompanied by a graphic version of basm for those that are not yet ready to use command line tools.


Its aim is not to replace rasm that is a really fast and good assembler. But it can be used in contexts where rasm cannot play. BTW it is not 100%compatible with rasm code.

Of course, there is no documentation ready yet, but you can get most of its possibilities in the files named good_xxx.asm of this directory https://github.com/cpcsdk/rust.cpclib/tree/master/basm/tests/asm.
Among what is not (yet) available for rasm you can check the section, basic, or iterate examples.
Note that basm uses two assembling passes by default, but can stop at the first pass if there is no need to do another one or add additional ones if necessary (which makes the ifused example compatible with basm but not rasm)

Here is its usage

USAGE:
    basm.exe [FLAGS] [OPTIONS] <--inline <INLINE>|INPUT> [--]

FLAGS:
        --basic               Request a Basic header (the very first instruction has to be the LOCOMOTIVE directive.
        --binary              Request a binary header
    -i, --case-insensitive    Configure the assembler to be case insensitive.
        --db                  Write a db list on screen (usefull to get the value of an opcode)
        --snapshot            Generate a snapshot
        --Werror              Warning are considered to be errors
    -h, --help                Prints help information
    -V, --version             Prints version information

OPTIONS:
    -I, --include <INCLUDE_DIRECTORIES>...    Provide additional directories used to search files.
        --inline <INLINE>                     Z80 code is provided inline
        --lst <LISTING_OUTPUT>                Filename of the listing output.
    -l <LOAD_SYMBOLS>...                      Load symbols from the given file
    -o, --output <OUTPUT>                     Filename of the output.
        --sym <SYMBOLS_OUTPUT>                Filename of the output symbols file.

ARGS:
    <INPUT>    Input file to read.

I have included the current windows release here https://ufile.io/rbg1k0es : for those that want to build it themselves, the sources are available here and the command is here https://www.cpcwiki.eu/forum/programming/basm-best-assembler-in-my-desk-room/msg207962/#msg207962

Feel free to create issues here https://github.com/cpcsdk/rust.cpclib/issues or post a message in the forum if it does not assemble your code as you expect (and provide a minimum asm code that reproduce it).

roudoudou:
People should hurry up for 《char》asm name  (basm, zasm, rasm, sjasm, vasm, tasm, dasm, ...)


Congratz for this first public release

zhulien:
liked... what happened to the like button anyway?

Targhan:
Cool. But I don't think I would switch to yet another assembler... unless you can show me things you can do better than Rasm!

Sid_:
Hi Krusty,
where can I find the sources to compile it on macOS and linux ?

Navigation

[0] Message Index

[#] Next page

Go to full version
Powered by SMFPacks Reactions Mod
Powered by SMFPacks Alerts Pro Mod
Powered by SMFPacks Mentions Pro Mod