EX(エクスチェンジ)命令です。
MSX FANに載っているマシン語を解析しているときに
でてきました。
結構使うのでしょうか?
値を入れ替えるという命令です。
EX (SP) , HL
これは、スタックトップの値と、HLレジスタの内容を入れ替えます。
うん?スタックトップ?
>スタックはメモリの中に取られ、そのアドレスをSPが指しています。そのSPが
>指しているところを"スタックトップ"といいます。
だそうです。
例:
PUSH BC
EX (SP) , HL
POP BC
BCレジスタとHLレジスタの内容の交換を行っています。
なお、なんでもレジスタの値を入れ替えることができない模様。
これは残念!
HLレジスタとDEレジスタの入れ替えだけはできるそう。
マシンコード
EX AF , AF' 08
EX DE , HL EB
EX (SP) , HL E3
EX (SP) , IX DD E3
EX (SP) , IY FD E3
EXX D9
最初の
EX AF , AF'というのが、MSX FANにたくさんでてきました。
これはなにかと調べたところ、AF'というのは裏レジスタ?みたいです。
AFレジスタの値を一時的に、退避させておく時に使うみたいです。
今日は解りやすかったのではないでしょうか?
マシン語って、ひとつひとつやっていけば、それほど難しくないですね。
アルゴリズムとかが長くなって大変なのかな?
マシン語レポートも大分やってきました。
あとは、
・論理演算
・マシン語の計算
・Fレジスタの使い方
・比較命令
・ジャンプ
・ループの作り方
・ビット単位のデータ操作
・I / Oポートの利用
うーん結構ありますね〜。
今作っているMSX BASIC 自作ゲームの中で、
ループが使われいます。
私の場合は、ループに必要なところだけ学んで作りました。
はやくループの説明をしたいですね〜。
ループを作るには、ジャンプを、さらにフラグの知識が
必要になってきます。
次回はフラグをやろうかな。
それでは〜。
スポンサーリンク
MSX BASIC + マシン語のための情報はこちらへ〜