☆☆あなたにささげる機械語プログラム010010110110

ソーラー 「あのアセンブリを・・・」


ニーモ 「ねえ、ねえ、いいでしょ。いっしょに遊びましょうよ。」


しゅしゅんと羽をふるわすと


それにすぐ呼応して


波のように一瞬できらめく光の輪がひろがっていく。


ニーモ 「まず、機械語プログラムをつくってみてよ。」


楽しそうに話しかけるニーモ。


ソーラー 「は あああ・・


機械語なんて・・・とても・・・


まったくわからないんです・・・」


ニーモ 「今のパソコンで使われている機械語でなくて


あなたが、


こころの中で想い描いた仮想の機械マシン機械マシン語でいいの。」


ソーラー 「うーん。それなら・・・いいよっ。やってみよう。」


ニーモ 「さあ、さ、どうやってプログラムをくみあげるの?」


興味津津でこちらをみつめてくるニーモ。


ソーラー 「ふふーん。つくってみました。これなんかどうかな?


あなたにささげます。ニーモ


機械語プログラム010010110110です。」


ニーモ 「ねえ、これ、どういう意味なの。」


以下ソーラーさんの創造です。


ソーラー 「うん。 私が思い描いた


マシン語、機械語の説明をいたします。


機械語でかかれたプログラムは普通 


0100010000111111110111100000000000001111111101100000000


100111111000000000000011111111011000000000000000010000111


11000000000000000000000111111101010100101010100101010011


(この1と0のあつまりでかかれたプログラムをバイナリといいます。)


のように表示されます。


このプログラムは 最初の文字0からはじまるよ。


まず一番最初に0という命令をコンピュータにつたえ


そしてつぎの命令は10,つぎの命令は0010, 次は0001,

次は11

次は・・・と


つぎつぎと命令をコンピュータに伝えていくんだよね。」


ニーモ 「ふん、ふん。」


ソーラー 


「たとえば 機械語プログラム010010110110について


次のように機械語の命令とコンピューターの


動作が対応していたらどうだろう。」


うなずくニーモ


ソーラー


「まず最初の0でコンピュータの電卓をたちあげる。


つぎの100で足し算をするところに場所を移動する


100>>>足し算をするところ


101>>>引き算をするところ


110>>>掛け算をするところ


111>>>割り算をするところ


という具合になっていたりするんだな。」


ソーラー 「で、 つぎの10と11という命令で


数値計算 例えば 2+3の


2と3を格納する箱、いれものを用意する。


□+□


命令10は左の箱(□)を呼び出す


命令11は右の箱(□)を呼び出す


そして


つぎの01と10の命令で


01を(01は二進数で2を意味する)左の箱(□)に代入する。


10を(10は二進数で3を意味する)右の箱(□)に代入する。


これで2+3のできあがり。


あとはコンピューターが2と3を箱(□)に両方とも代入した瞬間に


すぐ計算するシステムなら


2+3=5のできあがり。


つまり


この機械語プログラム010010110110は


2+3=5を計算するプログラムなんです。」




  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る