タグ

ブックマーク / www.yamamo10.jp (8)

  • ソフトウェアー基礎コース (Tiny BASIC Lesson 6: インタプリタの構成)

    Lesson 6インタプリタの構成インタプリタは,どのように動作するか 開発する Tiny BASIC のインタプリタの基構造を示します.このページは,石田晴久著「マイクロコンピュータプログラミング入門 —Tiny BASIC インタプリタ—」の内容です.これを理解するために書きました. 目次 インタプリタの記述方法 どうやって書くか 中間言語 Tiny BASIC インタプリタ 構成図 機械語ルーチン 中間言語ルーチンの機能 ページ作成情報 参考資料 更新履歴 インタプリタの記述方法 どうやって書くか インタプリタは,いろいろな方法で作成できる.C言語みなたいなプログラミング言語を使うこともできるし,機械語で記述することも可能である.ここでは, 中間言語 Tiny BASIC インタプリタ 構成図 図1に BASIC インタプリタの構成図を示します.インタプリタのプログラは左上の IN

  • ソフトウェアー基礎コース (Tiny BASIC Lesson 3: CP/M の システムコール)

    Lesson 3CP/M のシステムコールシステムコールを利用したアセンブリ言語プログラム CP/M 上で動作するプログラムは,システムコール を介して CP/M が提供するシステムサービスを利用できます.ここでは,システムコールとその使い方について説明します. 目次 システムコールについて システムコールの一覧 ページ作成情報 参考資料 更新履歴 システムコールについて システムコールは,CP/M がユーザー提供するサービスプログラムです.主に,CPU から見た外部の機器を操作するときに使います.ユーザーが作成したプログラムが外部デバイスとのデータの送信/受信等を行うときに,システムコールを呼び出します.こうすることにより,外部デバイスの低レベルの操作を意識することなく,外部機器の操作ができます.Lesson 2 の「HELLO WORLD」のプログラム (リスト 1) を使い,システム

    mieki256
    mieki256 2019/05/08
  • ソフトウェアー基礎コース (Tiny BASIC Lesson 2: CP/M によるコンパイル・アセンブル)

    Lesson 2CP/Mによるコンパイル・アセンブルZ80 エミュレーター YAZE-AG YAZE-AG の CP/M の環境を使ってプログラム開発の練習をします.C言語のサンプルプログラムは「Hello World」,アセンブリ言語は「HELLO WORLD」と鈴木哲哉著「古典電脳物語」の Tiny BASIC です. 目次 C言語 CP/M 2.2 でアセンブリ言語開発 準備 プログラム開発例 Zilog Z80 アセンブリー言語開発 MAC で Z80 拡張命令を使う Zilog ニーモニックを使う Tiny BASICのアセンブルと実行 ソースファイルの準備 実行ファイルの作成 プログラムの実行と終了 ページ作成情報 参考資料 更新履歴 C言語 YAZE-AGには,HI Tech Soft社のCコンパイラーが,Hドライブにあります.これを使うと,C言語のプログラムの実行ファイルを

  • Tiny BASICの解説

    はじめにソフトウェアー基礎コースTiny BASIC このページは,「ソフトウェアーの基礎をきっちりと勉強しよう」とコンセプトで作成します.教材は,1970年代のコンピューターのホビーストが熱中したTiny BASICです. 目次 はじめに Tiny BASICとは ページ作成情報 参考資料 更新履歴 はじめに ひとつひとつマシン語の動作は単純です.この単純なマシン語(CPUの命令)から,とても複雑な動作をする OS やプログラミング言語はつくられています.これは,とても興味深いことです.そのため,いつかは自分で OS やプログラミング言語を作成することを思い描く人はたくさんいます.あるいは,それを理解したいと思っている人もたくさんいるでしょう.ひとつひとつのマシン語の理解は簡単ですが,それから OS あるいはプログラミング言語の理解にはとても高いハードルが有ります. 30年以上も昔ですが

  • ソフトウェアー基礎コース (Tiny BASIC Lesson 1:Z80 エミュレーター YAZE)

    Lesson 1開発環境の準備Z80 エミュレーター YAZE Tiny BASICを学習するための開発環境を準備します. 目次 Z80エミュレーター YAZE-AGをインストール LinuxWindows編 YAZE-AGの使い方 起動方法 終了方法 ディスク コマンド ドライブとファイル ビルトインコマンド トランジェントコマンド モニター コマンド/プログラムの追加 追加手順 CP/M 2.2 のために その他 メモリーマップ ページ作成情報 参考資料 更新履歴 Z80エミュレーター どんな環境でも,Tiny BASIC を動かすことはできるでしょう.私は,この言語が作られた当時,1970年代のホビーでコンピューターを使っていたユーザーの環境で動かしたいと考えています.当時のコンピューターを作り,当時の人々の考えを理解したいからです. 当時のパソコンの開発環境といえば,CP/M

  • 8ビット CPU (はじめに)

    はじめに 私の青春時代,この言葉を使うようになったということは大昔のことですが,Z80は栄光のCPUでした.初めて購入したパソコン(マイコン)は Sharp MZ-2000 で,その CPU に Z80 が使われていました.私にとって思い出深い CPU です.当時,BASIC言語はすぐに会得できたので,引き続きマシン語を勉強するつもりでいました.ところが,ひとつずつの命令は理解できるのですが,それが全体として何をやっているのかがさっぱり理解できなかったことを記憶しています.その後に経験を積み,コンピューターの仕組みが少し分かると,マシン語の動作が理解できるようにな気になったものです. 私は数個の Z80 を持っています.少しずつ時間を見て,これを使った パソコン(マイコン)を作ろうと考えています.きっかけは,鈴木哲哉著「古典電脳物語」[参考資料 1]です.この書籍では,古いCPU(8085

    mieki256
    mieki256 2019/04/25
  • 8ビットCPU Z80 (命令セット)

    8ビット CPU Z80命令セット ここでは,Zilog Z80 の命令セット(Instruction Set)について説明します. 目次 はじめに 命令セットの説明の準備 命令の説明に使う記号 フラグレジスター Intel 8080/8085 との比較 転送・交換命令 8 ビット転送 16 ビット転送 ブロック転送 交換 スタック操作命令 ローテート・シフト 左ローテート 右ローテート 左シフト 右シフト 算術演算命令 8ビット算術演算 16ビット算術演算 論理・ビット演算命令 論理演算 ビット操作 サーチ・比較命令 サーチ 比較 分岐命令 ジャンプ コール・リターン CPU 制御命令 動作・割り込み設定 入力 出力 二進化十進 (BCD) 用命令 ページ作成情報 参考資料 更新履歴 はじめに アセンブリ言語でのプログラム開発時のニーモニックの手引きを目指し,このサイトを作成しました.そ

  • FEM 用メッシュジェネレーター Netgen の使いかた

    メッシュ生成Netgen3-D finite element mesh generator 有限要素法に使うメッシュジェネレーター Netgen のインストールと使い方を説明します. 目次 はじめに インストール Linux Windows とりあえず実行してみよう 解くべき問題 (ラプラス方程式) メッシュ生成 有限要素法の計算 二次元のメッシュ生成 ページ作成情報 参考資料 更新履歴 はじめに 有限要素法 (FIM: Finite Element Method) のプログラム作成で,最も面倒なのはメッシュ生成の部分です.以前は自分でメッシュ生成のプログラムも書いていましたが,しばらくプログラム作成に離れると,メッシュ生成のソースコードの修正が面倒になりました.そんな折,急ぎで有限要素法のプログラムの作成が必要となりました.「自作するかフリーのプログラム使うか?」選択に迫られました.時間

  • 1