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