Tatara

第1章
はじめに

1.1 TataraとTanrenとは

TataraとTanrenは、Z80のアセンブリ言語で書いたプログラムを、MSXで動くプログラムにするために必要な2つのツールです。

Tataraはアセンブラーです。ld a,5やcall 5のような命令を並べたテキスト・ファイル、つまり自分で書いたプログラムを読み込み、Z80プロセッサーが理解できるマシン語に変換します。

Tanrenはリンカーです。Tataraが作ったマシン語を1つまたは複数のファイルから受け取って結合し、それぞれの部分をメモリのどこに置くかを決めて、実行できる完成したプログラムを書き出します。

なぜツールが1つではなく2つなのか、それぞれが何をするのかについては、2章で詳しく説明します。

どちらのツールも、MSX-DOS2またはNextorのもとで、MSXそのものの上で動きます。プログラムを書き、アセンブルし、リンクし、実行するまでを同じマシンで行うことができ、ほかのコンピューターは必要ありません。MSXのエミュレーター上でも同じように動きます。

Tataraが読むアセンブリ言語は、MicrosoftのMACRO-80と同じものです。MACRO-80は、CP/Mや初期のMSXの時代に、多くのソフトウェアの開発に使われたアセンブラーです。そのため、MACRO-80向けに書かれたプログラムや書籍は、Tataraでも利用できます。両者の違いは付録Jにまとめてあります。

1.2 名前の由来

2つの名前は、日本刀を作る伝統的な方法から取ったものです。

たたらは、粘土で作った炉です。この炉に砂鉄と木炭を入れて燃やし、3日ほどかけて玉鋼(たまはがね)を作ります。玉鋼は強いものの形のない粗い鋼のかたまりで、まだ刀ではありません。

鍛錬は、そのあとに続く鍛造の作業です。刀匠は玉鋼を熱し、打ち、折り返すことを何度もくり返して、完成した刀に仕上げます。この言葉は、ふだんの日本語では訓練や修練という意味でも使われます。

2つのツールは、プログラムに対してこれと同じ2つの仕事をします(図1.1)。自分で書いたソース・ファイルが原料です。TATARAはそれをオブジェクト・ファイルにします。オブジェクト・ファイルは本物のマシン語ですが、まだ実行できるプログラムではありません。玉鋼がまだ刀ではないのと同じです。TANRENは1つ以上のオブジェクト・ファイルを受け取り、それを鍛えて完成したプログラムにします。2章では、このたとえをもとに説明を進めます。

PIC

図 1.1: 原料から完成した刀へ、ソース・ファイルから完成したプログラムへ

1.3 できること

最初に読むときのために、主な機能を簡単に挙げておきます。それぞれの項目は、示した章で詳しく説明します。

1.4 必要なもの

TataraとTanrenを使うには、次のものが必要です。

MSX-DOS2またはNextorが動くMSX2以降の機種であれば、どれでも使えます。これらを動かせるMSXエミュレーターでもかまいません。

1.5 次に読むところ

2章では、アセンブラーとリンカーが何をするのか、なぜプログラムを2つの段階で作るのかを説明します。3章でツールをインストールし、4章でそれを使って最初のプログラムを作り、実行します。