10011001------------------100100000赤文字の1は、9ビット目になります。この場合Aレジスタには、8ビット目までが入ります。この場合は、00100000です。9ビット目の1はどうなるかというと、Fレジスタに情報がはいるそうです。!この本では、Fレジスタに入った1については、とりあえず考えないことにしております(~~;ちょっと知りたかったけど、またでてくるのかなぁ?続いて、8ビットの引き算です。こちらも、演算結果はAレジスタです。CAレジスタから、Cレジスタの内容を引き、Aレジスタにいれます。0CHこちらは、Aレジスタから、0CHという数値を引いて、Aレジスタに入れます。学生の頃はこういうたくさんの桁同士の引き算を、紙の上でやっていたのだけどなぁ;(10進数で、ですけど。)まったく覚えていないw調べる気力もないwみなさんは覚えているもんですかねぇ?小さい値から、大きい値を引くとマイナスになります。マイナスというのは2の補数表示で表されます。調べないと忘れてるなぁ。ちなみにこのブログでは、まだ書いていません。n16ビットの足し算・引き算16ビットの場合は、演算が行われるレジスタが、HL、IX、IYになります。いつものAレジスタじゃないんですね。(結果が16ビットになるから)しかも、8ビットの場合のように、数値を直接、足したり、引いたりできないそうです。BCHLレジスタの内容と、BCレジスタの内容を足して、HLレジスタに入れます。使えるレジスタは、BC、DEレジスタ、またはHLレジスタになります。BCHLレジスタの内容から、BCレジスタの内容を引いて、HLレジスタに入れます。8ビットの時のSUBとは命令が変わるんだそうです。CYフラグが関わってきます。いう命令を実行しなければいけないそうです。DEのようにするそうです。するのかというと、CYフラグを0にするためだそうです。上のリンク先でしっかり書いてありました(^^;引き算についても。72まとめ足し算と引き算はわかりました!あとは掛け算と割り算ですねぇ。掛け算は、同じ数を足し続ける方法でできます。他にもシフトというものがあります。こちらはそのうち書きたいと思います。・マシン語プログラムの応用と、3つの章を残すのみとなりました。マシン語の基礎なので、これが済んだら実際にプログラムを書いて経験値を高めなければいけません。FANなどのBASICゲームのリストに載っているプログラムの解析ですかね。BASICのプログラムの中に、一部マシン語を利用しているものが多いので勉強になりそうです。それらの本のBASICゲームに、DATA文の中の16進数の羅列をみたことがあると思いますが、あれがマシン語だったりします。(ただのデータかもしれないので、どこからがマシン語なのかよくみないといけませんが)あれをハンド逆アセンブラして、解析をしようかなぁと思っています。Z80の逆アセンブラのツールってどっかにあるのかな?ありそうでなのでそれを使ってもいいですが。いずれは、ハイドライドとかトリトーンのようなゲームをフルマシン語で作ってみたいですね〜。名作20本をレビューしてみました^^www.nyaonyao21.comPCエンジンにも買い取り価格の高いゲームがたくさんあります。はてなブログPro個人ゲームアプリ開発者のnyaonyao21です。アプリ開発・ブログ等で生活しています。