;=============================================================== ; アセンブラチャート生成 option file ; Zilog Z80 series ;=============================================================== ; ソース解析モードの指定 ; アセンブラソース解析方法を指定します ; モードの種類は3タイプ(混在可)です ; /mode = macro ------ 構造化マクロ解析(XASS-V仕様) ; comment ---- 機能コメント解析 ; operation -- 命令語解析 ;=============================================================== ;/mode=operation comment ;=============================================================== ; モジュールの分割モード ; /module = mcall --- ファイル内でコールされているラベルをモジュールの ; 先頭として分割 ; = mret ---- リターン命令の後に出現するラベルがどこから ; も分岐してこないラベルならモジュールの先頭 ; と判断 ;=============================================================== /module=mcall mret /csect = sect code ;=============================================================== ; コード以外のセクション定義(コード部の終了) ; この定義によりコードセクションの終了をします ; /dsect=命令 オペランド.. ; 例)/dsect = sect data dumy stak ;   /dsect = end ; /dsect = ends ; /dsect = dseg ; ; /dsect = .text ; ;=============================================================== /dsect=SECT COMM /dsect=END ;=============================================================== ; データ擬似命令定義(分岐ラベルの制御) ; 定数データのラベルを分岐ラベルと区別させるために定義します ; /data = 擬似命令 ; 例)/data = db ; /data = dw ; /data = ds ; /data = FLOAT ; /data = DFLOAT ; ;=============================================================== ;/data = ;=============================================================== ; グローバル疑似命令定義 ;   グローバル疑似命令を定義します ;    /global = 命令 ;=============================================================== /global=global ;=============================================================== ; 分岐ラベル指定 ; 分岐ラベルの記述様式を指定します ; /label = ラベル記述様式1 ラベル記述様式2.. ; ; label1 --- ラベル名: (ラベル名:equ.. は除外) ; label2 --- ラベル名 equ * ; label3 --- ラベル名 equ $ ; label4 --- ラベル名: equ * ; label5 --- ラベル名: equ $ ; label6 --- ラベル名 (1カラム目から記述されている ; ものはラベルとみなす) ; ; デフォルトは、label1、label2、label3です ;=============================================================== /label=label1 ;=============================================================== ; 処理の分割方法 ; アセンブラソースを逆生成チャートの処理ボックスへどう分割するか ; を指定します ; /proc = モード ; comment --- ソース中のコメントが出現する度に1ボックス作成 ; step --- ソース中のアセンブラ1命令に対し,1ボックス作成 ; blank --- ソース中のブランクが出現する度に1ボックス作成 ; mark --- 機能コメント";++[]"で指定した範囲を ; 1ボックスとして作成 ; ;=============================================================== /proc=blank ;=============================================================== ; 無条件ジャンプ命令の定義 ; 無条件分岐命令を定義します ; /goto = 命令 /status /delay = n ; ; nは遅延スロットの数を指定してください ;=============================================================== /goto=jr /goto=jr.x ;=============================================================== ; 条件ジャンプ命令の定義 ; 条件分岐命令を定義します ; /gotoc = 命令 コンディションオペランド... コンディション情報 /delay = n ; ; nは遅延スロットの数を指定してください ;=============================================================== /gotoc=jp nz /NE /gotoc=jp z /Z /gotoc=jp m /MI /gotoc=jp p /gotoc=jp mi /MI /gotoc=jp c /C /gotoc=jp nc /NC /gotoc=djnz ;=============================================================== ; サブルーチンコール命令の定義 ; サブルーチンコール命令を定義します ; /call = 命令 /ststus /delay = n ; ; nは遅延スロットの数を指定してください ;=============================================================== ;/call = ;=============================================================== ; 条件コール命令の定義 ; 条件コール命令を定義します ; /callc = 命令 コンデイションオペランド コンディション情報 /delay = n ; ; nは遅延スロットの数を指定してください ;=============================================================== /call=call ;=============================================================== ; リターン命令の定義 ; リターン命令を定義します ; /return = 命令 /ststus /delay = n ; ; nは遅延スロットの数を指定してください(nは0〜9) ;=============================================================== /return=ret ;=============================================================== ; アキュムレータとの演算(コンペア)命令の定義 ; 条件分岐命令の直前のアキュムレータとオペランドをコンペアする命令を定義します ; /compa = 命令 アキュムレータ /rev ; ; /revを指定するとアキュムレータとオペランド並びを逆に表示できます ;=============================================================== /compa=cp a ;=============================================================== ; 演算(コンペア)命令の定義 ; 条件分岐命令の直前の演算(コンペア)命令の定義します ; ; /comp = 命令 /rev ; ; /revを指定するとオペランド1とオペランド2の並びを逆に表示できます ;=============================================================== /comp=add /comp=or