Skip to content

Latest commit

 

History

History
36 lines (22 loc) · 1.53 KB

README.md

File metadata and controls

36 lines (22 loc) · 1.53 KB

8086インタプリタ

概要

  • フロッピーディスクイメージ(1.40MB)を読み込み、8086の機械語命令を実行します。
  • ディスクイメージを圧縮して埋め込めるので、ideoneなどのオンライン実行ツールで実行できます。
  • ディスクイメージを圧縮したデータはbase64形式で埋め込みます。

ライセンス

MITライセンスです。 http://opensource.org/licenses/MIT

This software is released under the MIT License, see LICENSE.txt.

先頭のディスクイメージのみの変更は、インタプリタの改変とはみなされません。

使い方

インタプリタ本体

  • 引数を指定して起動すると、その引数のファイルをディスクイメージとして読み込みます。
  • 引数を指定せずに起動すると、埋め込まれたデイスクイメージを用いて起動します。
  • hlt命令を実行すると、インタプリタが終了します。

独自形式圧縮ソフト(components/compress.c)

$ compress input_file output_file operation

operationはcまたはdを指定し、cならば圧縮、dならば解凍を行います。

行っている圧縮は単純に入力の00は連続している00の数に置き換え、そうでない部分はそのまま格納するものです。

注意点

  • バグが無い保証はありません。
  • 8086に無い命令、例えばpushdや1バイトの即値を2バイトに拡張するand/or/xor演算などには対応しません。