本文へスキップ
《 A Engineer Den 》知的冒険の旅へ出かけよう
ある技術者の書斎
ホーム
電子書籍
伝説の8080エミュレーターとALTAIR
#4 伝説の8080エミュレーターとALTAIR【目次】
Super machine revival #4 DEC TOPS-20 Legendary 8080 emulator and ALTAIR
【 書籍 】
【 概要 】
【 構成 】
【 目次 】
【 見本 】
【 改訂 】
目次
はじめに
第1章 魔法の箱AltairとPDP-10
1.1 マイクロソフト誕生
クロス開発 vs. セルフ開発
1.2 Altair探訪
1.2.1 Altair 8800とは
1.2.2 魔法の箱 Altair
1.3 超マシンPDP-10
1.3.1 PDP-10マシンとは
1.3.2 PDP-10ファミリー
1.3.3 時を超えて復活
1.4 知的冒険の旅
第2章 BASICとギークな少年
2.1 BASICの起源
2.1.1 思考を助ける対話型言語
2.1.2 タイムシェアリング
BASIC言語は、インタプリタ型?
2.2 ギークな少年の出会い
2.2.1 初めてのコンピューター
2.2.2 PDP-10マシンとの出会い
BASICとゲーム
2.3 ふたりの大冒険
2.3.1 小さなコンピューター 4004
2.3.2 8008でBASICを実現できるか
2.3.3 8080ならBASICを実現できる
2.3.4 Altair BASICの開発
電卓戦争から生まれた4004
精工舎のプログラム電卓
2.4 模倣するエミュレーター
2.4.1 エミュレーターとは
2.4.2 8008エミュレーター
2.4.3 8080エミュレーター
PDP-10で開発したBASIC
第3章 伝説の8080エミュレーター
3.1 エミュレーターの謎
昔話 8080開発環境
3.2 驚きの真実
3.2.1 アセンブラ
3.2.2 エミュレーター
3.2.3 デバッガ
3.2.4 素晴らしい開発環境
3.3 PDP-10命令とUUO
3.3.1 PDP-10命令フォーマット
3.3.2 UUOトラップとハンドル
3.4 8080エミュレーターの原型
3.4.1 実験的なエミュレーター
3.4.2 36ビット内の8080マシン語
3.4.3 エミュレーターの構造
3.4.4 実験的なエミュレーターのソースコード
3.4.5 8080プログラムのアセンブル
3.4.6 PDP-10で8080が走る
カメレオン・エミュレーター
第4章 8080エミュレーターを作ろう
4.1 エミュレーターの概要
4.1.1 エミュレーターの目標
4.1.2 8080エミュレーターの制限
4.2 8080プロセッサー
4.2.1 8080レジスタとメモリー
4.2.2 フラグレジスタ
4.2.3 8080リセットの動作
4.3 8080命令セット
4.3.1 命令フォーマット
4.3.2 命令セットの概要
4.3.3 転送命令
4.3.4 演算命令
4.3.5 ローテイト命令
4.3.6 スタック命令
4.3.7 サブルーチン制御命令
4.3.8 ジャンプ命令
4.3.9 入出力命令
4.3.10 その他の命令
4.4 エミュレーターの設計
4.4.1 8080エミュレーターの構成
4.4.2 PDP-10マシン内の8080
4.4.3 命令エミュレートの設計
4.4.4 入出力デバイスエミュレートの設計
4.4.5 オブジェクトコード出力の設計
4.5 命令エミュレートの詳細
4.5.1 エミュレーターのハンドラ
4.5.2 転送命令
4.5.3 共通演算ルーチン
4.5.4 8ビット算術演算命令
4.5.5 論理演算命令
4.5.6 増減演算命令(8ビット)
4.5.7 算術演算命令(16ビット)
4.5.8 ローテイト命令
4.5.9 スタック命令
4.5.10 ジャンプ命令
4.5.11 サブルーチン制御命令
4.5.12 入出力命令
4.5.13 その他の命令
4.6 エミュレーターのソースコード
4.6.1 モジュールの一覧
4.6.2 エミュレーターシンボルUNV定義
4.6.3 8080命令マクロUNV定義
4.6.4 命令エミュレート
4.6.5 入出力デバイスエミュレート(ダミー)
4.6.6 オブジェクトコード出力
4.7 エミュレーターの実行
4.7.1 ユニバーサルファイルのアセンブル
4.7.2 エミュレーターのアセンブル
4.7.3 8080プログラムの記述方法
4.7.4 8080用プログラムのアセンブル
4.7.5 EXECコマンドで8080実行
4.7.6 DEBUGコマンドで8080デバッグ
4.8 オブジェクトコード出力
4.8.1 PDP-10マシン内の8080マシン語
4.8.2 オブジェクトコードの出力方法
第5章 8080アセンブラで数式電卓
5.1 数式電卓を作ろう
5.1.1 数式電卓の概要
5.1.2 数式電卓の仕様
5.1.3 構文ダイアグラム
lexとyacc
5.2 数式電卓の設計
5.2.1 数式電卓の構成
5.2.2 字句解析と構文解析
5.2.3 演算の実行
5.2.4 再帰下降法による設計
5.2.5 再帰下降法による実行
5.2.6 エラーコード
5.3 数式解析部の設計
5.3.1 数式電卓
5.3.2 構文解析 式
5.3.3 構文解析 項
5.3.4 構文解析 因子
5.3.5 構文解析 一次子
5.3.6 字句解析 初期化
5.3.7 字句解析 トークン取得
線形探索アルゴリズム(番兵法)
5.4 演算ライブラリ部の設計
5.4.1 概要
5.4.2 数値の表現
2の補数表現
5.4.3 演算ライブラリの一覧
5.4.4 共通モジュール
5.4.5 計算用スタック操作
5.4.6 加算アルゴリズム
5.4.7 減算アルゴリズム
5.4.8 乗算アルゴリズム
5.4.9 除算と剰余アルゴリズム
5.4.10 数値変換アルゴリズム
5.5 入出力管理の設計
5.5.1 概要
5.5.2 基本入出力
5.5.3 入出力ライブラリ
5.6 数式電卓のソースコード
5.6.1 モジュールの一覧
5.6.2 電卓シンボルUNV定義
5.6.3 数式電卓メイン
5.6.4 演算ライブラリ
5.6.5 入出力ライブラリ
5.6.6 基本入出力
5.6.7 データ領域定義
5.7 数式電卓のテスト
5.7.1 電卓シンボルUNV定義
5.7.2 入出力管理
5.7.3 演算ライブラリ部
5.8 数式電卓の実行
5.8.1 モジュールの一覧
5.8.2 電卓シンボルUNV作成
5.8.3 数式電卓のアセンブル
5.8.4 数式電卓のビルドと実行
5.8.5 数式電卓のメモリーマップ
第6章 エンハンスドAltair入出力
6.1 端末入出力方法
6.1.1 完成までもう少し
6.1.2 端末アクセス方法は
6.1.3 MITS社へ問い合わせ
6.1.4 端末の接続
6.1.5 88-2SIOボードの仕様
6.1.6 SIOボードの制御方法
6.2 数式電卓の完成版
6.2.1 数式電卓のモジュール構成
6.2.2 基本入出力(Altair用)
6.2.3 完成まであと一歩
6.3 エンハンスド・エミュレーター
6.3.1 IN/OUT命令の実行
6.3.2 入出力デバイスエミュレートの設計
6.3.3 入出力デバイスエミュレートのソースコード
6.3.4 入出力デバイスのビルドとテスト
6.3.5 数式電卓の実行環境
6.3.6 数式電卓のビルドと実行
第7章 Altairで歴史的瞬間へ
7.1 続・ふたりの大冒険
7.1.1 Altairマシンで動作するか?
7.1.2 慌てて書いたブートストラップローダ
7.1.3 動くかブートストラップローダ
7.1.4 BASICは動作するか
7.1.5 一発動作でライセンス契約
ブートストラップローダとは
7.2 Altairシミュレーター
7.2.1 Altairマシンで数式電卓を実行
7.2.2 simHとは
7.2.3 Altair simHのインストール
7.2.4 simHのコマンド
7.3 ブートストラップローダを作る
7.3.1 ブートローダ
7.3.2 紙テープのフォーマット
7.3.3 ブートローダの設計
7.3.4 ブートローダのメモリーマップ
7.3.5 ブートローダのプログラム
7.3.6 ブートローダのアセンブル
7.3.7 ブートローダのテスト
7.3.8 ブートローダのオブジェクトコード
7.4 Altairマシンで数式電卓
7.4.1 Altairマシンの設定
7.4.2 ブートローダの設定
7.4.3 Altairマシンにオブジェクトコードを配置
7.4.4 Altairマシンで数式電卓を実行
オブジェクトコードの転送
付録A マニュアル
A.1 User's Guide
A.2 Commands Reference Manual
A.3 Monitor Calls User's Guide
付録B エディターの操作
B.1 EMACSの操作
B.2 ラインエディターの操作
付録C TOPS-20起動と停止
C.1 TOPS-20ブートアップ起動
C.2 TOPS-20ログイン
C.3 TOPS-20ログアウト
C.4 TOPS-20シャットダウン停止
付録D アカウント登録
D.1 ユーザーアカウント登録
付録E ASCIIコード
E.1 ASCIIコード表
E.2 ASCIIコードのシンボル
付録F Altair simHコマンド
F.1 終了とヘルプコマンド
F.1.1 終了コマンド
F.1.2 システム実行 コマンド
F.1.3 ヘルプ コマンド
F.2 CPU/メモリー/レジスタ設定
F.2.1 CPU設定 コマンド
F.2.2 メモリー表示/変更 コマンド
F.2.3 対話型メモリー表示/変更 コマンド
F.2.4 レジスタ表示/変更 コマンド
F.3 デバイスの管理
F.3.1 デバイスの接続
F.3.2 デバイスの状態表示
F.3.3 デバイスの切断
F.3.4 デバイスの接続/切断の例
F.3.5 Serial I/O Cardの設定 コマンド
F.3.6 デバイスリセット コマンド
F.4 ブレークポイント コマンド
F.4.1 ブレークポイント設定 コマンド
F.4.2 ブレークポイント解除 コマンド
F.4.3 ブレークポイント確認 コマンド
F.4.4 ブレークポイントコマンドの使用例
F.5 プログラムの実行 コマンド
F.5.1 シミュレート開始と停止
F.5.2 実行(RUN)コマンド
F.5.3 進行(GO)コマンド
F.5.4 再開(CONT)コマンド
F.5.5 ステップ実行(STEP)コマンド
F.5.6 手続き実行(NEXT)コマンド
F.5.7 ブート(BOOT)コマンド
F.5.8 コマンドファイルの実行
付録G ソースコードの入手方法
G.1 ソースコードの入手
G.2 ディレクトリの説明
G.2.1 実験的なエミュレーター
G.2.2 伝説の8080エミュレーター
G.2.3 8080数式電卓
G.2.4 数式電卓 lex / yacc
G.2.5 Altair ブートローダー
G.2.6 Altair simH ブート一式
おわりに
参考文献
索引
著者紹介
著者書籍 一覧
奥付
このページの先頭へ
contents
ホーム
home
著者紹介
profile
電子書籍
ebook
トピック
topic
リンク
link
バナースペース
電子書籍
ebook
トピック
topic
著者ページ
author
ある技術者の書斎
ホーム
home
探究心と好奇心の扉を開いて
知的冒険の旅に出かけよう