読み出すためのコードは、下記の通り。用のメモリが割り当てられているか計算する。行目は、a[i]用に割り当てられているメモリのアドレスを求めている。倍を足し合わせたものである。文のコンパイルとそれほど違いはなく、分岐がわずかに複雑になるだけである。i;このプログラムは例えば次のようにコンパイルすればよい。文の制御構造をそのまま分岐命令に置きかえているので分かりやすそう。i;このプログラムは例えば次のようにコンパイルすればよい。文のコンパイルと同様である。文もループ一回あたりの分岐命令の数を減らすことができる・・・らしい(OS/Programmingより引用)う~ん・・・ここまで載せた情報を踏まえて適当にjtales流し読みしてみると、レジスタ計算して値を比較して条件にあったらジャンプ命令を実行する・・・みたいな箇所が多いですね。む~・・・これは骨が折れそうだ。tickのことは置いておいて・・・2chスレでちらっと話題に出てたLevelManagerにでも手を出してみようかとおもいます。その2アセンブリ言語の解析をやる上で押さえておいたほうが良さそうなことをまとめてみました。アキュムレータレジスタ。算術演算操作の結果が格納される。シフトローテート命令?とループ命令に使用される。算術演算操作とi/o操作?に使用される。セグメントモードでのds(データへのポインタ)に格納されたデータを指し示すために使用される。ストリーム操作でのソースへのポインタとして使用される。デスティネーションレジスタ。ストリーム操作でのデスティネーションへのポインタとして使用される。ah、ch、dh、bh(ax、cx、dx、bxのmsb?側8bit)(上記レジスタの情報はWikiより)うん、ポインタとか懐かしい響き。word)分を書き込む。