プログラミング的{7}
第 1 章 プログラムとは何か
第 1 節 あみだくじ
第 2 節 人生ゲーム
第 1 項 基礎編(1) 番地(アドレス)
第 1 項 基礎編(2) 三つ進む
第 1 項 基礎編(3) どっちに進む ?
コラム 中級コース:ジャンプあれこれ
今回は 「番地を示す方法」 の お話です。 これは中級者向けですので難しいと思ったら読み飛ばして構いません。 が、ちょっと面白いゲームが作れるようになるはずです。 いろいろ見えてきたら、また戻ってきてください。
少し難しい言い方が出てきますが、分からないときには お母さんやお父さんや学校の先生に聞いてみてください。
コンピュータの場合、原則的にはマスはルーレットを くるくる回して進むわけではなく、ひとつひとつ順に次のマスに進みます。 全部が 「1」 と書かれたルーレットを回す、そんなイメージですね。 *1)
ひとつ進む
マスに こう書いてあった場合、これはジャンプとは言いません。 どちらかと言えば 「次」 でしょうか。
ある番地に飛ぶ|ある番地まで進む戻る
マスに こう書いてあった場合、コンピュータの分野では これを 「ジャンプ」 と呼びます。 現在位置がどこであっても そこに移動するので正確には 「絶対ジャンプ」 と呼びます。
三つ進む|三つ戻る
マスに こう書いてあった場合、いま居るところ(番地)を起点にしますから、コンピュータの分野では これを 「相対ジャンプ」 と呼びます。
これらの 「番地を示す方法」 は コンピュータの分野では 「アドレッシング」 と呼びます。 英語で表現しただけですね。 日本語では 「番地修飾」 とか単に 「修飾」 と言ったりします。 *2)
いま紹介したジャンプはどれも行き先の情報を いま居るマスに書いてありました。 これを コンピュータの分野では 「直接アドレッシング」 と呼びます。
ここから少し難しくというか、ややこしくなります。
ある番地のマスに書いてある数字のぶんだけ進む戻る
マスに こう書いてあった場合、ゲームで通過するマスではなくゲーム進行とは関係の無いマス(表とかでも構いません)に情報(数字)が書いてあり、そのマスを見てから次の動作をする方法を コンピュータの分野では 「間接アドレッシング」 と呼びます。
ちょっとイメージが湧きにくいと思いますが、実際の例を 次の 「オリジナルマシンを作ろう」 のところで お話します。
これまで お話した 「ジャンプ」 と 「分岐」 は、どちらも そのマスに来たら次は 「その次」 ではなくて 「どこか離れたところ」 に移動します。 前回は違うもののように紹介しましたが、
条件の無い分岐 = ジャンプ
ですね。
だんだん混乱してきましたか ?
次の項に行けば 少し見えてくると思いますので、また戻ってきてください。
次回予告(maybe 10/5)
第 1 章 プログラムとは何か
第 1 節 あみだくじ
第 2 節 人生ゲーム
第 1 項 基礎編(1) 番地(アドレス)
第 1 項 基礎編(2) 三つ進む
第 1 項 基礎編(3) どっちに進む ?
コラム 中級コース:ジャンプあれこれ
第 2 項 応用編 オリジナルマシンを作ろう
*1) 原則的なノイマン型と呼ばれるコンピュータの場合です。 あくまで基本形であり、必ずそうしなければならないわけではありません。
*2) 修飾という言葉は あまり使わないので分かりにくいと思いますが、「住所|あて先 を付ける」 という動詞の address の動名詞の "ing" に 「あて先の付け方 = 飾りつけ」 という意味を込めたと思えば、そう遠くないと思います。 なかなか粋な訳語ですね。
*
この記事が気に入ったらサポートをしてみませんか?