ノスタルジックIT:ITmediaオルタナティブ・ブログ (RSS) ノスタルジックIT

私がパソコンを使い始めて四半世紀、昔のテクノロジーに思いを馳せながら

PC-6001とカセットテープレコーダーを買ってもらったら、まだまだ小学生、やっぱりゲームがしたくなるものです。おこづかいを貯めていくつかゲームを買って遊んでいました。親から見たらせっかくIT投資したのにゲームで遊んでばっかりで、と思っていたかもしれません。

いくつか買ったゲームの中で、ちょっと変わったものがありました。それは某A社の「オリオン/クエスト」というものです。「オリオン」は、セガのスペースハリアーみたいなものでしょうか、「クエスト」は迷路ゲームです。両方とも当時には珍しい3Dゲームでした。

今でこそ3Dゲームは当たり前ですが、当時は演算速度や描画速度が極端に遅く、3Dでしかもアニメーションを実現するのは大変なことだったので、ソフトウェアも高度にチューニングされていました。しかし、このゲームの最も特筆すべきは、その技術内容(ソースコード)を操作マニュアルに記載して、解説までしていたことです。

ちょっとだけその解説を紹介します。変数Aに0を代入するということをしたい場合、普通の言語ですとA=0などと書きます。これがZ80アセンブラになるとLD A, 00Hなどと書くわけですが、それをXOR Aと書くと、より速くなる、というのが高速化テクニックの一例です。

ここからは私の補足ですが、LD命令の場合、命令で1バイト、代入する値(00H)を格納するのに1バイトの合計2バイトを使ってしまうわけですが、XOR Aはこれで1バイト命令なのでプログラムを読み込む時間が短くなり、速くなります。

XOR Aというのは、変数A(実際にはアキュムレーターといいますが)に対して同じAとの排他的論理和を取って、結果をAに代入せよという命令です。同じ値同士のXORですから2進数に分解して考えると0 XOR 0、または1 XOR 1のパターンしかないわけですが、どちらも結果は0になります。したがってXOR Aは必ず0になります。こういう性質を使ったテクニックなのです。

こんなテクニックを小学生が読んでもちんぷんかんぷんだったわけですが、このわけのわからなさが非常に印象に残り、のちに中学生になってアセンブラ(機械語)にはまるきっかけになったのかもしれません。

Y.Nagaya

Special

- PR -
コメント

コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/22739383

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

長谷 幸雄

長谷 幸雄

IT関連企業に勤務するシステムエンジニア。Web関連のことなら基盤からコンテンツまで、大体何でも対応する。いつまでも技術屋でいたいと思う今日このごろ。

詳しいプロフィール

最近のコメント
最近のトラックバック
カレンダー
2011年3月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー
  • OS(1件)
エンタープライズ・ピックアップ

news094.gif ストレス社会との付き合い方
政府がメンタルヘルス検査の義務化を検討しています。しかしうつになった後だけではなく、なる前の予防も大切なのではないでしょうか。(5/24)

news094.gif 「思いやり経営」のススメ
産学・NPO連携の民間団体が先頃、「思いやり経営」という観点で評価した指標や企業ランキングを発表した。企業のマネジメント力を知る手立てとして注目されそうだ。(5/24)

news094.gif テレワークが労働者のマインドを変える
テレワークが普及すると、労働者の評価は従来の「時間×生産性」から「成果」へと変化する。時間や場所を自分の裁量でコントロールできる変わりに、成果を最大化するために労働をマネジメントする能力とマインドが労働者には必要になる。(5/23)

news094.gif 求む、クックパッド男子
高身長も高学歴も高収入もいらない。私が男性に求めるのは「料理の腕」だけです。(5/18)

news094.gif 37歳の常識――我々は一生学び続ける
学び続けなければ衰退するのみだ。(5/18)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ