Dreamcast Developer's
Documentation

はじめに
  ├ 本書の内容
  ├ ご注意
  ├ 商標
  ├ 改版履歴
 ├ 他のマニュアルとの関係
 ├ 制限事項
 ├ テクニカルサポートご案内
1 インストール編
1 セットアップ
1-1 セットアッププログラムの実行
1-2 インストール後のイメージ
2 環境変数の設定
2-1 開発ツールで使用する環境変数
 ├2-1-1 環境変数の設定
2 アセンブラ編
3 アセンブルファイルの指定
3-1 ファイル名の指定
3-2 コマンドラインによる引数の指定方法
3-3 プロンプトによる引数の指定方法
4 オプションスイッチ
  ├ -I 識別子(大文字/小文字)を区別しない指定
  ├ -D デバッグ情報の出力指定
  ├ -J 分岐命令の最適化をしない指定
  ├ -N 著作権表示を抑制する指定
  ├ -R 予約語ファイルの指定
  ├ -P 作業用バッファサイズの指定
  ├ -? オプション一覧の表示
5 環境変数と予約語ファイル
5-1 環境変数
5-2 予約語ファイル
6 エラー一覧
6-1 警告
6-2 エラー
6-3 致命的なエラー
7 リストファイルの書式
3 リンケージローダ編
8 リンクのファイル指定
8-1 ファイル名の指定
8-2 コマンドラインによる引数の指定方法
8-3 プロンプトによる引数の指定方法
  ├ デフォルトの応答
8-4 リンク時に参照されるファイル
9 オプションスイッチ
  ├ -B=bank number LC86800シリーズフラッシュメモリ用HEXファイルの作成
  ├ -C=address CSEGローディングアドレスの指定方法
  ├ -D=address DSEGローディングアドレスの指定方法
  ├ -E DSEGのアドレス多重定義を許す
  ├ -I 大文字と小文字を区別しない
  ├ -P ローディングマップの作成
  ├ -L ローカリシンボルリストの作成
  ├ -W オペランドデータに関する警告メッセージの表示指定
  ├ -A,-F,-O,-R //aname{d024CSEG FREEブロックの最適化ローディング
  ├ -S シンボルのソート処理に関する指定
10 オブジェクトの配置
10-1 -Aオプション
10-2 -A -Fオプション
10-3 -A -Oオプション
10-4 -A -Rオプション
11 エラー一覧
11-1 致命的なエラー
11-2 致命的ではないエラー
4 ライブラリマネージャ編
12 プログラムの起動
12-1 ファイル名の指定
12-2 コマンドラインによる引数の指定方法
 ├12-2-1 オプション指定
 ├12-2-2 コマンドライン実行例
12-3 プロンプトによる操作
 ├12-3-1 プロンプトラインの拡張
 ├12-3-2 デフォルトの応答
13 エラー一覧
14 クロスリファレンス
5 EVA toHEX編
15 プログラムの起動
15-1 ファイル名の指定
15-2 引数の指定方法
15-3 オプション指定
  ├ /I 変換中の表示情報を抑止
16 エラー一覧
16-1 致命的なエラー
6 HEX toBIN編
17 プログラムの起動
17-1 ファイル名の指定
17-2 引数の指定方法
18 エラー一覧
18-1 致命的なエラー
7 MAKE編
19 MAKEの概要
19-1 MAKEの実行
 ├19-1-1 ビルドの優先順位
 ├19-1-2 コマンドラインオプション
  ├ /E 外部マクロを優先する
  ├ /I 終了コードを無視して最後まで実行
  ├ /N コマンドを実行せず経過のみを表示
  ├ /R ルールファイルの読み込みを禁止
  ├ /S コマンドの表示を抑止
  ├ /? ヘルプの表示
19-2 MAKE記述ファイル
 ├19-2-1 記述ブロック
  ├ 依存記述行
  ├ 継続行の使用例
  ├ コマンドブロック
  ├ 擬似ターゲット
 ├19-2-2 マクロ
  ├ ユーザーマクロ定義
  ├ 内部マクロと外部マクロ
  ├ ユーザーマクロ参照
 ├19-2-3 ディレクティブ
19-3 推論規則
 ├19-3-1 メイクルールファイル
8 コーディング編
20 アセンブラの文法
20-1 ステートメント
20-2 ラベル名およびシンボル名
20-3 コメント
20-4 演算子
20-5 数値定数
20-6 文字定数
20-7 文字列定数
20-8 特殊シンボル
21 アセンブラ疑似命令
  ├ ORG オリジンの指定
  ├ WORLD コードを格納するROMの選択
  ├ CSEG コードセグメントの開始宣言
  ├ DSEG データセグメントの開始宣言
  ├ END プログラムの終了
  ├ PUBLIC //aname{d012外部定義名の指定
  ├ EXTERN 外部参照名の指定
  ├ OTHER_SIDE_SYMBOL CHANGE命令用ジャンプ先ラベルの宣言
  ├ EQU 値の割当
  ├ SET 一時的な値の割当
  ├ DB バイトデータの定義
  ├ DW ワードデータの定義
  ├ DC 文字列データの定義
  ├ DS バイト領域の定義
  ├ MACRO マクロ定義
  ├ REPT 繰り返しマクロ
  ├ IRP 連続マクロ
  ├ IRPC 文字列マクロ
  ├ ENDM マクロ定義の終了
  ├ EXITM マクロ展開の中断
  ├ LOCAL ローカルラベルの定義
  ├ IFDEF 定義済みならば//aname{d014アセンブルする
  ├ IFNDEF 未定義ならばアセンブルする
  ├ IFB オペランドが空白ならばアセンブルする
  ├ IFNB オペランドが空白でなければアセンブルする
  ├ IFE 式の値が0ならばアセンブルする
  ├ IFNE 式の値が0でなければアセンブルする
  ├ IFIDN 2つの文字列が等しければアセンブルする
  ├ IFDIF 2つの文字列が異なればアセンブルする
  ├ ELSE IFの条件の逆でアセンブルする
  ├ ENDIF 条件付きアセンブルの終了
  ├ .PRINTX アセンブル中のディスプレイ上への表示
  ├ .LIST //aname{d015リストの出力
  ├ .XLIST リストの出力中断
  ├ .MACRO //aname{d016マクロ展開の出力
  ├ .XMACRO マクロ展開の出力中断
  ├ .IF //aname{d017条件スキップの出力
  ├ .XIF 条件スキップの出力中断
  ├ INCLUDE ファイルの読み込み
  ├ TITLE リストタイトルの指定
  ├ PAGE 改ページ
  ├ CHIP アセンブル対象チップの定義
  ├ COMMENT オブジェクトファイルへのコメント
  ├ WIDTH リストファイルの桁数指定
  ├ BANK RAM領域のバンク指定
  ├ CHANGE フラッシュメモリ///aname{d013ROMをまたぐジャンプ
  ├ RADIX デフォルトの基数の指定
  ├ JMPO 最適なJMP命令の発生
  ├ BRO 最適なBR命令の発生
  ├ CALLO 最適なCALL命令の発生
  ├ BZO アドレスエラーの発生しないBZ命令の発生
  ├ BNZO アドレスエラーの発生しないBNZ命令の発生
  ├ BPO アドレスエラーの発生しないBP命令の発生
  ├ BPCO アドレスエラーの発生しないBPC命令の発生
  ├ BNO アドレスエラーの発生しないBN命令の発生
  ├ DBNZO アドレスエラーの発生しないDBNZ命令の発生
  ├ BEO アドレスエラーの発生しないBE命令の発生
  ├ BNEO アドレスエラーの発生しないBNE命令の発生
22 LC86K命令概要
22-1 命令概要
 ├22-1-1 算術演算命令
 ├22-1-2 論理演算命令
 ├22-1-3 データ転送命令
 ├22-1-4 ジャンプ命令
 ├22-1-5 条件分岐命令
 ├22-1-6 サブルーチン命令
 ├22-1-7 ビット操作命令
 ├22-1-8 その他の命令
 ├22-1-9 マクロ命令
 ├22-1-10 アドレッシング
 ├22-1-11 プログラムメモリのアドレッシング
 ├22-1-12 RAMと特殊機能レジスタ(SFR)のアドレッシング
23 命令セットリファレンス
 ├ 算術演算命令
  ├ ADD #i8 ADD immediate data to accumulator
  ├ ADD d9 ADD direct byte to accumulator
  ├ ADD @Rj ADD indirect byte to accumulator
  ├ ADDC #i8 ADD immediate data and carry flag to accumulator
  ├ ADDC d9 ADD direct byte and carry flag to accumulator
  ├ ADDC @Rj ADD indirect byte and carry flag to accumulator
  ├ SUB #i8 Subtract immediate data from accumulator
  ├ SUB d9 Subtract direct byte from accumulator
  ├ SUB @Rj Subtract indirect byte from accumulator
  ├ SUBC #i8 Subtract immediate data and carry flag from accumulator
  ├ SUBC d9 Subtract direct byte and carry flag from accumulator
  ├ SUBC @Rj Subtract indirect byte and carry flag from accumulator
  ├ INC d9 Increment direct byte
  ├ INC @Rj Increment indirect byte
  ├ DEC d9 Decrement direct byte
  ├ DEC @Rj Decrement indirect byte
  ├ MUL Multiply accumulator and c register times b register
  ├ DIV Divide accumulator and c register by b register
 ├ 論理演算命令
  ├ AND #i8 AND immediate data to accumulator
  ├ AND d9 AND direct byte to accumulator
  ├ AND @Rj AND indirect byte to accumulator
  ├ OR #i8 OR immediate data to accumulator
  ├ OR d9 OR direct byte to accumulator
  ├ OR @Rj OR indirect byte to accumulator
  ├ XOR #i8 XOR immediate data to accumulator
  ├ XOR d9 XOR direct byte to accumulator
  ├ XOR @Rj XOR indirect byte to accumulator
  ├ ROL Rotate accumulator left
  ├ ROLC Rotate accumulator left through the carry flag
  ├ ROR Rotate accumulator right
  ├ RORC Rotate accumulator right through the carry flag
 ├ データ転送命令
  ├ LD d9 Load direct byte to accumulator
  ├ LD @Rj Load indirect byte to accumulator
  ├ ST d9 Store direct byte to accumulator
  ├ ST @Rj Store indirect byte to accumulator
  ├ MOV #i8,d9 Move immediate data to direct byte
  ├ MOV #i8,@Rj Move immediate data to indirect byte
  ├ LDC Load code byte relative to TRR to accumulator
  ├ PUSH d9 Push direct byte to stack
  ├ POP d9 Pop direct byte from stack
  ├ XCH d9 Exchange direct byte with accumulator
  ├ XCH @Rj Exchange indirect byte with accumulator
 ├ ジャンプ命令
  ├ JMP a12 Jump near absolute address
  ├ JMPF a16 Jump far absolute address
  ├ BR r8 Branch near relative address
  ├ BRF r16 Branch far relative address
 ├ 条件分岐命令
  ├ BZ r8 Branch near relative address if accumulator is zero
  ├ BNZ r8 Branch near relative address if accumulator is not zero
  ├ BP d9,b3,r8 Branch near relative address if direct ビット is positive
  ├ BPC d9,b3,r8 Branch near relative address if direct ビット is positive,and clear
  ├ BN d9,b3,r8 Branch near relative address if direct ビット is negative
  ├ DBNZ d9,r8 Decrement direct byte and branch near relative address if direct バイト is not zero
  ├ DBNZ @Rj,r8 Decrement indirect byte and branch near relative address if indirect バイト is not zero
  ├ BE #i8,r8 Compare immediate data to accumulator and branch near relative address if equal
  ├ BE d9,r8 Compare direct byte to accumulator and branch near relative address if equal
  ├ BE @Rj,#i8,r8 Compare immediate data to indirect byte and branch near relative address if equal
  ├ BNE #i8,r8 Compare immediate data to accumulator and branch near rlative address if not equal
  ├ BNE d9,r8 Compare direct byte to accumulator and branch near relative address if not equal
  ├ BNE @Rj,#i8,r8 Compare immediate data to indirect byte and branch near relative address if not equal
 ├ サブルーチン命令
  ├ CALL a12 Near absolute subroutine CALL
  ├ CALLF a16 Far absolute subroutine CALL
  ├ CALLR r16 Far relative subroutine CALL
  ├ RET Return for subroutine
  ├ RETI Return for interrupt
 ├ ビット操作命令
  ├ CLR1 d9,b3 Clear direct ビット
  ├ SET1 d9,b3 Set direct ビット
  ├ NOT1 d9,b3 Not direct ビット
 ├ その他の命令
  ├ NOP No operation
 ├ マクロ命令
  ├ CHANGE 〈ラベル名(またはアドレス)〉 プログラムモードの切り替え
24 LC86K命令セット一覧

TOP MENU

(C)SEGA ENTERPRISES, LTD., 1998