Yamamoto's Laboratory
はじめに
 
Lesson
 
 
コンピューター Tiny BASIC (はじめに)

はじめにソフトウェア基礎コースTiny BASIC

このページは,「ソフトウェアの基礎をきっちりと勉強しよう」というコンセプトで作成しています.教材は,1970年代のコンピューター愛好家が熱中した Tiny BASIC です.

目次


はじめに

マシン語の命令は,一つ一つを見ると単純です.しかし,その単純な命令を組み合わせることで,OS やプログラミング言語のような複雑なソフトウェアが作られています.これは,とても興味深いことです.

自分で OS やプログラミング言語を作ってみたい,あるいは少なくともその仕組みを理解したい,と考える人は多いでしょう.個々の命令の理解は難しくありませんが,そこから OS やプログラミング言語の全体像を理解するには高いハードルがあります.

私は,初めてパソコンに触れたときから,その動作原理を理解したいと考えていました.そこで,最も小さく,構造を追いやすい教材として Tiny BASIC を学ぶことにしました.このページでは,その学習の過程で分かったことを整理して説明します.

この解説が,コンピューターの仕組みに興味を持つ人の助けになれば幸いです.完成したソフトウェアを使うだけでなく,その内部で何が起きているのかを知ることは,プログラミングを深く理解するための大切な出発点です.

学習の流れ

このコースでは,現代のパソコン上に 1970 年代の小さな開発環境を再現し,その中で Tiny BASIC を動かしながら仕組みを追います.最初に Z80 エミュレーターと CP/M の使い方を確認し,次にアセンブラでプログラムを作り,最後に Tiny BASIC のインタプリタの構造を読み解きます.

Tiny BASIC を教材にした学習の流れ
Tiny BASIC を教材にした学習の流れ

この図のように,Tiny BASIC はハードウェア寄りの知識とプログラミング言語の知識をつなぐ教材です.小さなプログラムなので,CPU,メモリー,入出力,構文解析,実行処理の関係を一通り見渡すことができます.

Tiny BASIC とは

Intel 8008 は,1972 年に登場した最初期の 8 ビット・マイクロプロセッサーです.その後,1974 年に Intel 8080 が登場し,8 ビット・マイクロコンピューターは実用性を高めました.1975 年には Altair 8800 が発売され,個人がマイクロコンピューターを所有して使う時代が始まります.

そのような時代に作られた小さな BASIC インタプリタが Tiny BASIC です.多くの実装は 2 – 3 [kByte] 程度に収まるように作られており,限られたメモリーしかない 8 ビット・マイクロコンピューターでも動作しました.

BASIC (Beginner's All-purpose Symbolic Instruction Code) は,1964 年にアメリカのダートマス大学で John Kemeny と Thomas Kurtz らによって開発されました.BASIC は,人間がコンピューターと対話しながら命令を入力し,処理結果をすぐに確認できる言語です.現在の Perl や Python などにも対話的に実行できる環境があります.一方,C 言語などでは,一般にソースプログラムを機械語に翻訳してから実行します.

1970 年代中頃から,マイクロプロセッサーと周辺 IC が入手しやすくなり,個人でもコンピューターを自作できるようになりました.この流れの中で,個人向けの小さな高級言語として Tiny BASIC が広まりました.1976 年には Dr. Dobb's Journal が Tiny BASIC の実装を紹介し,Dick Whipple と John Arnold による版や,Li-Chen Wang による Palo Alto Tiny BASIC などが知られるようになりました.

日本では,東大版と電大版の Tiny BASIC が有名です.前者は石田晴久著「マイクロコンピュータープログラミング入門」(近代科学社, 1978 年),後者は安田寿明著「マイ・コンピューターをつかう」(講談社ブルーバックス, 1978 年)に説明があります.

さまざまな Tiny BASIC が開発されましたが,多くの実装に共通する代表的な特徴は次のとおりです.

  • 扱えるデータ型は,2 バイト整数が中心です.
  • 配列機能は限定的で,代表的な実装では @ 配列だけを使います.
  • スクリーンエディターやグラフィック機能は,基本的には持ちません.

このように,Tiny BASIC は機能を絞った小さな言語です.そのため,全体のプログラムを読み通しやすく,インタプリタの基本構造を学ぶ教材に向いています.このサイトでは,開発環境の準備から Tiny BASIC のアセンブル,実行,インタプリタ構造の理解までを順に説明します.

ページ作成情報

参考資料

  1. 石田晴久, マイクロコンピュータープログラミング入門 — Tiny BASIC インタプリタ —, 1978 年, (株)近代科学社.
  2. 安田寿明, マイ・コンピューターをつかう — 周辺機器と活用の実際 —, 1978 年, 講談社ブルーバックス.
  3. Dartmouth College: BASIC at Dartmouth.
  4. Intel: The Intel 8008.
  5. Intel Newsroom: 50 Years Ago, the Influential Intel 8080.
  6. Dr. Dobb's: The Return of Tiny Basic.

更新履歴

2010年 05月 ページの新規作成.
2010年 10月 13日 「Tiny BASIC とは」を追記.
2026年 05月 29日 文章を修正し,学習の流れと図を追加.


no counter