ニャオニャオ21世紀

雑記と、MSXぽいアプリ開発と、ゲーム関係、身体(身体意識など)、ライフハックほか雑記を綴っています

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第19回 EX エクスチェンジ命令

今回は、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 自作ゲームの中で、

 ループが使われいます。

私の場合は、ループに必要なところだけ学んで作りました。

 

はやくループの説明をしたいですね〜。

ループを作るには、ジャンプを、さらにフラグの知識が

必要になってきます。

 

次回はフラグをやろうかな。

 

それでは〜。

 

スポンサーリンク

 

 

 

「ニャオニャオ21世紀は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。 広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。 Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください