Z80/6809他汎用クロスマクロアセンブラAASM

サンプルプログラム用に使用しているアセンブラ(AASM)について

AASMはこちら(Electric House)で公開配布されている汎用マクロアセンブラです
マクロで色々なCPUに対応するコードを書くことができたりします

サンプルプログラムはAASM(Version 3.73)を独自改造したバージョンで開発しています
HEXツール(hex2bin)は独自製作物です

(原作者さまとしても)無保証です
何か問題が起きても責任は負いません
自己判断で使用して下さい
非公式ビルドなので原作者さまへの問い合わせはご遠慮下さい

詳細マニュアル等はオリジナル配布サイトからダウンロードしてください
http://www9.plala.or.jp/sagae_/download.html#aasm

AASM改造版のダウンロード

ファイル コメント 容量 日時
aasm373.7z 汎用マクロアセンブラ 59K 2021/05/05 00:29
aasm373.7z 汎用マクロアセンブラ 59K 2020/04/14 19:04
aasm373.7z 汎用マクロアセンブラ 58K 2020/04/06 18:20
aasm373.7z 汎用マクロアセンブラ 58K 2020/03/31 21:10

アーカイブ内容
AASM.EXE改造版AASM(Windowsコマンドプロンプト用)
AASM.MACZ80用マクロ
6809.MAC6809用マクロ
_PASS88.INC PASS88風マクロ
_PASS77.INCPASS77(笑)風マクロ
hex2bin.exe.hexファイルをバイナリファイルに変換
readme.txtいつもの
改造版AASM追加変更内容

fcb,fcc,fdbを追加
    fcb,fccはdbとしてfdbはdwとして使えます

繰り返し(rept〜endm)マクロ追加
    rept    16
        ldi ; ldi×16
    endm

constの機能拡張
    文字列の後に{数値}でenumのような事が可能です
    const _A = A,B{4},C{8},D
    ;   A=0
    ;   B=4
    ;   C=8
    ;   D=9

ローカルラベル(@)追加
    参照は@[fb][n]
    @f1つ先の@
@f22つ先の@
@b1つ前の@
@b3 3つ前の@
    ld  a,(@f2) ; A
    jr  @f      ; @
@:              ; @
    jr  @b      ; @
@:              ; A
    db  0

ローカルラベル2(@@)追加
    ラベル内のみに有効な重複可能なローカルラベル
    @@labelとする
sub1:
    jr  @@_l    ; @を参照
@@_l:           ; @
sub2:
    jr  @@_l    ; Aを参照
@@_l:           ; A

その他メモリリーク等修正しています

付属のマクロ

AASM.MACはオリジナルに独自の命令を追加しています
    ;   Z80の命令にはないけど
    ld  bc, de

6809用のマクロ(6809.MAC)は独自で作ったテスト版です
バグが含まれているかもなのでテスト使用歓迎いたします

_pass88(77).incを使う事によりPC-88用のアセンブラPASS88で採用されていた
if〜fi/rpt〜rpte
等の記述ができるようになります
6809用では8086アセンブラっぽい記述になってる所もあります(フラグや(no)jumps)
マクロなのでフラグや命令を自由にに変更できます

Z80版
;
;   for Z80
;
;   aasm test.asm
;

include "_pass88.inc"

    org 100h

    ld  b, 8
    or  a
    if  nz
        ld  b, 16
    fi
    rpt
        inc a
    rpte    djnz
    ret

6809版
;
;   for 6809
;
;   aasm -t -m -m6809.mac test.asm
;

include "_pass77.inc"

    org $100

    ldb #8
    tsta
    if  nz      ; neとも書けます
        ldb #16
    fi
    rpt
        inca
        decb
    jumps       ; l付きジャンプに
    rpte    nz  ; lbneになります
    nojumps     ; l無しに
    rts


[PR]

【中古】バッジ・ピンズ 桜ねね 「NEW GAME! カンバッジ vol.2」

NEW GAME! ぷっくりバッジコレクション 桜ねね グッズ

【新品】NEW GAME 娘TYPE-9月号- B2タペストリー 涼風青葉 桜ねね