目次
このマニュアルについて
I はじめの一歩
1 はじめに
1.1 TataraとTanrenとは
1.2 名前の由来
1.3 できること
1.4 必要なもの
1.5 次に読むところ
2 アセンブラーとリンカーのしくみ
2.1 2つの段階
2.2 アセンブラーがすること
2.3 アセンブラーにわからないこと
2.4 リンカーがすること
2.5 実例
2.5.1 TATARAがMAIN.ASから作るもの
2.5.2 TATARAがPUTSTR.ASから作るもの
2.5.3 TANRENがすること
2.6 コードとデータ:セグメント
2.7 2つの段階に分ける利点
2.8 この章で出てきた用語
3 インストール
3.1 配布されるもの
3.2 ファイルの置き場所
3.3 インストールの手順
3.4 PATHとTATARAの設定
3.5 インストールの確認
3.6 アップデート
4 最初のプログラム
4.1 始める前に
4.2 プログラム
4.3 アセンブルする
4.4 リンクする
4.5 実行する
4.6 ビルド・ファイル
4.7 2つのモジュールからなるプログラム
4.8 次に読む章
II アセンブラー Tatara
5 TATARAの実行
5.1 コマンド・ライン
5.2 ファイル名
5.2.1 拡張子は付け加えられない
5.2.2 オブジェクト・ファイルを省く
5.2.3 オブジェクト・ファイルが書き出されるとき
5.2.4 オブジェクト・ファイルとソースを同じにはできない
5.3 オプション
5.3.1 診断用のオプション
5.4 TATARAが表示するもの
5.4.1 バナーと要約行
5.4.2 使い方の画面
5.5 リスティング
5.6 TATARAが実行を始めないとき
6 ソースの書式
6.1 行
6.2 4つのフィールド
6.3 ラベルを書く場所
6.4 コメント
6.5 大文字と小文字
6.6 スペース、タブ、行の長さ、行末
6.6.1 スペースとタブ
6.6.2 行の長さ
6.6.3 行末
6.6.4 Ctrl-Z
7 名前
7.1 名前に使える文字
7.2 長さ
7.3 大文字と小文字
7.4 届きにくい名前
7.4.1 疑問符2つで始まる名前
7.4.2 ドル記号だけの場合
8 式
8.1 値は16ビット
8.2 数
8.3 文字
8.4 名前とロケーション・カウンター
8.5 演算子
8.5.1 優先順位
8.6 値の種類
9 命令
9.1 命令セット
9.2 オペランド
9.2.1 値とかっこ
9.2.2 インデックス・レジスター
9.3 相対ジャンプ
9.4 R800の命令
9.4.1 R800のニーモニック
9.5 未公開命令
9.5.1 インデックス・ハーフの仕組み
9.5.2 プログラムが当てにできないこと
9.5.3 綴りと名前
9.6 オペランドが正しくないとき
10 セグメントとロケーション・カウンター
10.1 ロケーション・カウンター
10.2 コード、データ、アブソリュート
10.3 ORG
10.4 領域の確保:DS
10.5 名前付きセグメント
10.6 トランジェント・データ・セグメント
10.6.1 しくみ
10.6.2 安全に使うために
10.7 メッセージ
11 データ
11.1 DB:バイト
11.2 文字列
11.3 DW:ワード
11.4 DC:自分で終わりを示す文字列
11.5 別の名前
11.6 メッセージ
12 シンボルの定義と共有
12.1 名前に値を与える3つの方法
12.2 ラベル
12.3 EQU
12.4 DEFL
12.5 モジュールどうしで名前を共有する
12.6 ENDと開始アドレス
12.7 メッセージ
13 ファイルの取り込み
13.1 INCLUDE
13.2 TATARAが探す場所
13.3 環境変数TATARA
13.4 ファイル名の中のパス
13.5 ファイルを取り込むファイル
13.6 同じファイルを2回取り込む
13.7 インクルード・ファイルの中のEND
13.8 メッセージ
14 インクルード・ファイル
14.1 ファイルの中身
14.2 取り込み方
14.3 MSXDOS.INCとsystemマクロ
14.4 BIOS.INCとSUBROM.INC
14.5 ERRORS.INC
14.6 そのほかのファイル
14.6.1 HOOKS.INC
14.6.2 WORKAREA.INC
14.6.3 PORTS.INC
14.6.4 EXTBIO.INC
14.6.5 ASCII.INC
15 条件付きアセンブル
15.1 IF、ELSE、ENDIF
15.2 2つのパス
15.3 IFDEFとIFNDEF
15.4 IF1とIF2
15.5 IFB、IFNB、IFIDN、IFDIF
15.6 入れ子
15.7 メッセージ
16 マクロ
16.1 マクロの定義と使用
16.2 引数
16.3 &によるテキストの連結
16.4 本体の中のコメント
16.5 LOCAL
16.6 EXITM
16.7 マクロの中のマクロ
16.8 大文字と小文字
16.9 メッセージ
17 繰り返しブロック
17.1 REPT
17.2 IRP
17.3 IRPC
17.4 LOCAL、EXITM、入れ子
17.5 メッセージ
18 リスティング
18.1 リスティングの1行
18.2 ページ
18.2.1 最後のページ
18.3 リスティングを止める、再開する
18.4 マクロの展開
18.5 アセンブルされない行
18.6 メッセージ
19 シンボル表の出力と診断用スイッチ
19.1 シンボル表
19.2 シンボル表の読み方
19.2.1 セクション
19.2.2 シンボルの行
19.2.3 値を持たない名前
19.3 シンボル表とリスティング
19.4 診断用スイッチ
19.4.1 /F:各行のフィールド
19.4.2 /M:マクロの定義
19.4.3 /H:使用中のメモリ
20 エラーメッセージ
20.1 メッセージの内容
20.2 TATARAは最初のエラーで止まる
20.3 経路
20.3.1 経路の読み方
20.3.2 定義し直されたマクロ
20.4 第2パスで見つかるエラー
20.5 内部エラー
III リンカー Tanren
21 TANRENの実行
21.1 コマンド・ライン
21.1.1 オブジェクト・ファイルの順序
21.1.2 名前の間の空白
21.2 出力ファイル
21.3 オプション
21.4 TANRENが表示するもの
21.5 127文字のコマンド・ライン
21.6 TANRENが始まらないとき
22 リンク・ファイル
22.1 最初のリンク・ファイル
22.2 リンク・ファイルの書き方
22.2.1 コマンド・ラインに収まらない大きなプログラム
22.3 リンク・ファイルとコマンド・ライン
22.4 メッセージ
23 TANRENがオブジェクト・ファイルを探す場所
23.1 3つの場所
23.2 環境変数TANREN
23.3 名前の中のパス
23.4 出力ファイルの書き出し先
23.5 メッセージ
24 プログラムの配置
24.1 コードが先、データがあと
24.1.1 ファイルに書き出されるもの
24.2 名前付きセグメント
24.3 コードとデータを動かす:/P:と/D:
24.4 モジュールをまたぐトランジェント・セグメント
24.5 アブソリュート・セグメント
24.6 メッセージ
25 モジュール間のシンボル
25.1 名前の対応のさせかた
25.2 外部の名前の値
25.3 どのモジュールも定義していない名前
25.4 2回定義された名前
25.5 大文字と小文字
25.6 すべてのモジュールがリンクされる
25.7 /Mの表示のすべて
25.8 メッセージ
26 出力形式
26.1 TANRENが書き出すもの
26.2 .COMのプログラム
26.3 ほかのアドレス用のイメージ
26.4 BLOAD用のファイル: /B
26.5 エントリー・アドレス
26.6 ROMイメージ
26.7 プログラムの大きさの限度
26.8 書き出すものがないとき
26.9 メッセージ
27 リンカーのエラーメッセージ
27.1 メッセージの形
27.2 TANRENは最初のエラーで止まる
27.3 壊れたオブジェクト・ファイル
27.3.1 終わりのあとのバイト
27.4 セグメント
27.4.1 1つのモジュールの限度
27.5 メッセージ
IV 実例
28 複数のモジュールからなるプログラム
28.1 この例
28.2 2つのモジュール
28.3 リンク・ファイル
28.4 作って実行する
28.5 TANRENがしたこと
28.6 試してみること
28.6.1 PUBLICを外す
28.6.2 モジュールの順番を逆にする
28.6.3 1つのモジュールだけを/Cでアセンブルする
29 トランジェント・セグメントで共有する作業用変数
29.1 この例
29.2 ソース
29.3 作る
29.4 シンボル表を読む
29.5 マップを読む
29.6 試してみること
29.6.1 別のグループのラベルどうしを引き算する
29.6.2 別のモジュールでグループを加える
29.6.3 別のモジュールからグループに加える
29.6.4 TRANSIENTを忘れる
30 マクロとリスティングのモード
30.1 この例
30.2 ソース
30.3 作って実行する
30.4 3つのリスティングのモード
30.4.1 標準の.XALL
30.4.2 .LALL
30.4.3 .SALL
30.5 試してみること
30.5.1 LOCALを外す
30.5.2 &を外す
31 長いシンボル名と大文字・小文字を区別する名前
31.1 この例
31.2 ソース
31.3 作る
31.4 2つのファイルを読む
31.5 モジュールをまたぐ長いシンボル名
31.6 マクロの名前と/C
32 MSX-BASICのBLOAD用のバイナリ
32.1 この例
32.2 ソース
32.3 作る
32.4 BASICから実行する
32.5 ファイルを置ける場所
32.6 試してみること
32.6.1 コードをTANRENに置かせる
32.6.2 USRで呼び出す
32.6.3 /Bを外す
33 16 KBのROMカートリッジ
33.1 この例
33.2 ソース
33.2.1 ヘッダー
33.2.2 INIT
33.2.3 最後の2行
33.3 作る
33.4 実行する
33.5 試してみること
33.5.1 INITから戻る
33.5.2 IDを壊す
33.5.3 カートリッジをTANRENに置かせる
34 複数のディレクトリにまたがるプロジェクト
34.1 この例
34.2 ソース
34.3 作って実行する
34.4 試してみること
34.4.1 TATARAからLIBを外す
34.4.2 TATARAに相対パスのディレクトリを書く
34.4.3 別のディレクトリから作る
34.4.4 オブジェクト・ファイルを分けて置く
35 TATARAとTANRENを自身のソースからビルドする
35.1 ソース
35.2 BUILD.BAT
35.3 実行する
35.4 ツール自身でツールをビルドする
A 疑似命令リファレンス
A.1 用途ごとの疑似命令
A.1.1 データ
A.1.2 名前
A.1.3 セグメントとロケーション・カウンター
A.1.4 ファイルとソースの終わり
A.1.5 条件付きアセンブル
A.1.6 マクロと繰り返しブロック
A.1.7 リスティング
A.2 アルファベット順の疑似命令
A.2.1 ドットで始まる疑似命令
A.3 疑似命令の行のラベル
A.4 別名
B 命令一覧
B.1 表の読み方
B.2 8ビットのロード
B.3 16ビットのロード、PUSHとPOP
B.4 交換、ブロック転送、サーチ
B.5 8ビットの算術演算と論理演算
B.6 汎用とCPU制御
B.7 16ビットの算術演算
B.8 ローテートとシフト
B.9 ビットのセット、リセット、テスト
B.10 ジャンプ
B.11 コール、リターン、リスタート
B.12 入出力
B.13 未公開命令
B.14 R800のかけ算
B.15 受け付けない書き方
C 演算子と優先順位
C.1 演算子
C.2 範囲の端
C.3 値
C.3.1 数、文字、ロケーション・カウンター
C.3.2 値の種類
D エラーメッセージ
D.1 メッセージの形
D.2 TATARAのメッセージ
D.3 TANRENのメッセージ
D.4 TANRENの警告とお知らせ
E 制限値
E.1 TATARA
E.2 TANREN
E.3 コマンド・ライン
E.4 決まった制限のないもの
F .troオブジェクト・ファイルの形式
F.1 オブジェクト・ファイルが伝えること
F.2 例
F.3 ファイルの構成
F.4 レコード
F.5 TANRENがオブジェクト・ファイルを読む方法
G メモリ
G.1 メモリ・マップ
G.2 マッパーに置くもの
G.3 プログラムを作るのにツールが必要とするメモリの量
G.4 マッパーがいっぱいになったとき
H ハードウェアの入手先
H.1 ツールに必要なもの
H.2 カートリッジ
H.3 メーカーと購入先
H.4 入手のしやすさ
I 環境変数
I.1 環境変数の設定
I.2 PATH
I.3 TATARA
I.4 TANREN
I.5 両方に共通の規則
J M80とのソースの互換性
J.1 そのまま使えるもの
J.2 TATARAが受け付けないM80の疑似命令
J.3 そのほかの書き方
J.4 TATARAが加えるもの
J.5 そのほかの違い
J.6 ソースの変換
K インクルード・ファイル
K.1 MSXDOS.INC
K.2 ERRORS.INC
K.3 BIOS.INC
K.4 WORKAREA.INC
K.5 SUBROM.INC
K.6 HOOKS.INC
K.7 PORTS.INC
K.8 ASCII.INC
K.9 EXTBIO.INC
K.10 参考文献
L 用語集
I はじめの一歩
1 はじめに
1.1 TataraとTanrenとは
1.2 名前の由来
1.3 できること
1.4 必要なもの
1.5 次に読むところ
2 アセンブラーとリンカーのしくみ
2.1 2つの段階
2.2 アセンブラーがすること
2.3 アセンブラーにわからないこと
2.4 リンカーがすること
2.5 実例
2.5.1 TATARAがMAIN.ASから作るもの
2.5.2 TATARAがPUTSTR.ASから作るもの
2.5.3 TANRENがすること
2.6 コードとデータ:セグメント
2.7 2つの段階に分ける利点
2.8 この章で出てきた用語
3 インストール
3.1 配布されるもの
3.2 ファイルの置き場所
3.3 インストールの手順
3.4 PATHとTATARAの設定
3.5 インストールの確認
3.6 アップデート
4 最初のプログラム
4.1 始める前に
4.2 プログラム
4.3 アセンブルする
4.4 リンクする
4.5 実行する
4.6 ビルド・ファイル
4.7 2つのモジュールからなるプログラム
4.8 次に読む章
II アセンブラー Tatara
5 TATARAの実行
5.1 コマンド・ライン
5.2 ファイル名
5.2.1 拡張子は付け加えられない
5.2.2 オブジェクト・ファイルを省く
5.2.3 オブジェクト・ファイルが書き出されるとき
5.2.4 オブジェクト・ファイルとソースを同じにはできない
5.3 オプション
5.3.1 診断用のオプション
5.4 TATARAが表示するもの
5.4.1 バナーと要約行
5.4.2 使い方の画面
5.5 リスティング
5.6 TATARAが実行を始めないとき
6 ソースの書式
6.1 行
6.2 4つのフィールド
6.3 ラベルを書く場所
6.4 コメント
6.5 大文字と小文字
6.6 スペース、タブ、行の長さ、行末
6.6.1 スペースとタブ
6.6.2 行の長さ
6.6.3 行末
6.6.4 Ctrl-Z
7 名前
7.1 名前に使える文字
7.2 長さ
7.3 大文字と小文字
7.4 届きにくい名前
7.4.1 疑問符2つで始まる名前
7.4.2 ドル記号だけの場合
8 式
8.1 値は16ビット
8.2 数
8.3 文字
8.4 名前とロケーション・カウンター
8.5 演算子
8.5.1 優先順位
8.6 値の種類
9 命令
9.1 命令セット
9.2 オペランド
9.2.1 値とかっこ
9.2.2 インデックス・レジスター
9.3 相対ジャンプ
9.4 R800の命令
9.4.1 R800のニーモニック
9.5 未公開命令
9.5.1 インデックス・ハーフの仕組み
9.5.2 プログラムが当てにできないこと
9.5.3 綴りと名前
9.6 オペランドが正しくないとき
10 セグメントとロケーション・カウンター
10.1 ロケーション・カウンター
10.2 コード、データ、アブソリュート
10.3 ORG
10.4 領域の確保:DS
10.5 名前付きセグメント
10.6 トランジェント・データ・セグメント
10.6.1 しくみ
10.6.2 安全に使うために
10.7 メッセージ
11 データ
11.1 DB:バイト
11.2 文字列
11.3 DW:ワード
11.4 DC:自分で終わりを示す文字列
11.5 別の名前
11.6 メッセージ
12 シンボルの定義と共有
12.1 名前に値を与える3つの方法
12.2 ラベル
12.3 EQU
12.4 DEFL
12.5 モジュールどうしで名前を共有する
12.6 ENDと開始アドレス
12.7 メッセージ
13 ファイルの取り込み
13.1 INCLUDE
13.2 TATARAが探す場所
13.3 環境変数TATARA
13.4 ファイル名の中のパス
13.5 ファイルを取り込むファイル
13.6 同じファイルを2回取り込む
13.7 インクルード・ファイルの中のEND
13.8 メッセージ
14 インクルード・ファイル
14.1 ファイルの中身
14.2 取り込み方
14.3 MSXDOS.INCとsystemマクロ
14.4 BIOS.INCとSUBROM.INC
14.5 ERRORS.INC
14.6 そのほかのファイル
14.6.1 HOOKS.INC
14.6.2 WORKAREA.INC
14.6.3 PORTS.INC
14.6.4 EXTBIO.INC
14.6.5 ASCII.INC
15 条件付きアセンブル
15.1 IF、ELSE、ENDIF
15.2 2つのパス
15.3 IFDEFとIFNDEF
15.4 IF1とIF2
15.5 IFB、IFNB、IFIDN、IFDIF
15.6 入れ子
15.7 メッセージ
16 マクロ
16.1 マクロの定義と使用
16.2 引数
16.3 &によるテキストの連結
16.4 本体の中のコメント
16.5 LOCAL
16.6 EXITM
16.7 マクロの中のマクロ
16.8 大文字と小文字
16.9 メッセージ
17 繰り返しブロック
17.1 REPT
17.2 IRP
17.3 IRPC
17.4 LOCAL、EXITM、入れ子
17.5 メッセージ
18 リスティング
18.1 リスティングの1行
18.2 ページ
18.2.1 最後のページ
18.3 リスティングを止める、再開する
18.4 マクロの展開
18.5 アセンブルされない行
18.6 メッセージ
19 シンボル表の出力と診断用スイッチ
19.1 シンボル表
19.2 シンボル表の読み方
19.2.1 セクション
19.2.2 シンボルの行
19.2.3 値を持たない名前
19.3 シンボル表とリスティング
19.4 診断用スイッチ
19.4.1 /F:各行のフィールド
19.4.2 /M:マクロの定義
19.4.3 /H:使用中のメモリ
20 エラーメッセージ
20.1 メッセージの内容
20.2 TATARAは最初のエラーで止まる
20.3 経路
20.3.1 経路の読み方
20.3.2 定義し直されたマクロ
20.4 第2パスで見つかるエラー
20.5 内部エラー
III リンカー Tanren
21 TANRENの実行
21.1 コマンド・ライン
21.1.1 オブジェクト・ファイルの順序
21.1.2 名前の間の空白
21.2 出力ファイル
21.3 オプション
21.4 TANRENが表示するもの
21.5 127文字のコマンド・ライン
21.6 TANRENが始まらないとき
22 リンク・ファイル
22.1 最初のリンク・ファイル
22.2 リンク・ファイルの書き方
22.2.1 コマンド・ラインに収まらない大きなプログラム
22.3 リンク・ファイルとコマンド・ライン
22.4 メッセージ
23 TANRENがオブジェクト・ファイルを探す場所
23.1 3つの場所
23.2 環境変数TANREN
23.3 名前の中のパス
23.4 出力ファイルの書き出し先
23.5 メッセージ
24 プログラムの配置
24.1 コードが先、データがあと
24.1.1 ファイルに書き出されるもの
24.2 名前付きセグメント
24.3 コードとデータを動かす:/P:と/D:
24.4 モジュールをまたぐトランジェント・セグメント
24.5 アブソリュート・セグメント
24.6 メッセージ
25 モジュール間のシンボル
25.1 名前の対応のさせかた
25.2 外部の名前の値
25.3 どのモジュールも定義していない名前
25.4 2回定義された名前
25.5 大文字と小文字
25.6 すべてのモジュールがリンクされる
25.7 /Mの表示のすべて
25.8 メッセージ
26 出力形式
26.1 TANRENが書き出すもの
26.2 .COMのプログラム
26.3 ほかのアドレス用のイメージ
26.4 BLOAD用のファイル: /B
26.5 エントリー・アドレス
26.6 ROMイメージ
26.7 プログラムの大きさの限度
26.8 書き出すものがないとき
26.9 メッセージ
27 リンカーのエラーメッセージ
27.1 メッセージの形
27.2 TANRENは最初のエラーで止まる
27.3 壊れたオブジェクト・ファイル
27.3.1 終わりのあとのバイト
27.4 セグメント
27.4.1 1つのモジュールの限度
27.5 メッセージ
IV 実例
28 複数のモジュールからなるプログラム
28.1 この例
28.2 2つのモジュール
28.3 リンク・ファイル
28.4 作って実行する
28.5 TANRENがしたこと
28.6 試してみること
28.6.1 PUBLICを外す
28.6.2 モジュールの順番を逆にする
28.6.3 1つのモジュールだけを/Cでアセンブルする
29 トランジェント・セグメントで共有する作業用変数
29.1 この例
29.2 ソース
29.3 作る
29.4 シンボル表を読む
29.5 マップを読む
29.6 試してみること
29.6.1 別のグループのラベルどうしを引き算する
29.6.2 別のモジュールでグループを加える
29.6.3 別のモジュールからグループに加える
29.6.4 TRANSIENTを忘れる
30 マクロとリスティングのモード
30.1 この例
30.2 ソース
30.3 作って実行する
30.4 3つのリスティングのモード
30.4.1 標準の.XALL
30.4.2 .LALL
30.4.3 .SALL
30.5 試してみること
30.5.1 LOCALを外す
30.5.2 &を外す
31 長いシンボル名と大文字・小文字を区別する名前
31.1 この例
31.2 ソース
31.3 作る
31.4 2つのファイルを読む
31.5 モジュールをまたぐ長いシンボル名
31.6 マクロの名前と/C
32 MSX-BASICのBLOAD用のバイナリ
32.1 この例
32.2 ソース
32.3 作る
32.4 BASICから実行する
32.5 ファイルを置ける場所
32.6 試してみること
32.6.1 コードをTANRENに置かせる
32.6.2 USRで呼び出す
32.6.3 /Bを外す
33 16 KBのROMカートリッジ
33.1 この例
33.2 ソース
33.2.1 ヘッダー
33.2.2 INIT
33.2.3 最後の2行
33.3 作る
33.4 実行する
33.5 試してみること
33.5.1 INITから戻る
33.5.2 IDを壊す
33.5.3 カートリッジをTANRENに置かせる
34 複数のディレクトリにまたがるプロジェクト
34.1 この例
34.2 ソース
34.3 作って実行する
34.4 試してみること
34.4.1 TATARAからLIBを外す
34.4.2 TATARAに相対パスのディレクトリを書く
34.4.3 別のディレクトリから作る
34.4.4 オブジェクト・ファイルを分けて置く
35 TATARAとTANRENを自身のソースからビルドする
35.1 ソース
35.2 BUILD.BAT
35.3 実行する
35.4 ツール自身でツールをビルドする
A 疑似命令リファレンス
A.1 用途ごとの疑似命令
A.1.1 データ
A.1.2 名前
A.1.3 セグメントとロケーション・カウンター
A.1.4 ファイルとソースの終わり
A.1.5 条件付きアセンブル
A.1.6 マクロと繰り返しブロック
A.1.7 リスティング
A.2 アルファベット順の疑似命令
A.2.1 ドットで始まる疑似命令
A.3 疑似命令の行のラベル
A.4 別名
B 命令一覧
B.1 表の読み方
B.2 8ビットのロード
B.3 16ビットのロード、PUSHとPOP
B.4 交換、ブロック転送、サーチ
B.5 8ビットの算術演算と論理演算
B.6 汎用とCPU制御
B.7 16ビットの算術演算
B.8 ローテートとシフト
B.9 ビットのセット、リセット、テスト
B.10 ジャンプ
B.11 コール、リターン、リスタート
B.12 入出力
B.13 未公開命令
B.14 R800のかけ算
B.15 受け付けない書き方
C 演算子と優先順位
C.1 演算子
C.2 範囲の端
C.3 値
C.3.1 数、文字、ロケーション・カウンター
C.3.2 値の種類
D エラーメッセージ
D.1 メッセージの形
D.2 TATARAのメッセージ
D.3 TANRENのメッセージ
D.4 TANRENの警告とお知らせ
E 制限値
E.1 TATARA
E.2 TANREN
E.3 コマンド・ライン
E.4 決まった制限のないもの
F .troオブジェクト・ファイルの形式
F.1 オブジェクト・ファイルが伝えること
F.2 例
F.3 ファイルの構成
F.4 レコード
F.5 TANRENがオブジェクト・ファイルを読む方法
G メモリ
G.1 メモリ・マップ
G.2 マッパーに置くもの
G.3 プログラムを作るのにツールが必要とするメモリの量
G.4 マッパーがいっぱいになったとき
H ハードウェアの入手先
H.1 ツールに必要なもの
H.2 カートリッジ
H.3 メーカーと購入先
H.4 入手のしやすさ
I 環境変数
I.1 環境変数の設定
I.2 PATH
I.3 TATARA
I.4 TANREN
I.5 両方に共通の規則
J M80とのソースの互換性
J.1 そのまま使えるもの
J.2 TATARAが受け付けないM80の疑似命令
J.3 そのほかの書き方
J.4 TATARAが加えるもの
J.5 そのほかの違い
J.6 ソースの変換
K インクルード・ファイル
K.1 MSXDOS.INC
K.2 ERRORS.INC
K.3 BIOS.INC
K.4 WORKAREA.INC
K.5 SUBROM.INC
K.6 HOOKS.INC
K.7 PORTS.INC
K.8 ASCII.INC
K.9 EXTBIO.INC
K.10 参考文献
L 用語集