• 締切済み

マイクロプログラム

R0←R0÷R1,R1←R0 mod R1 (R0,R1は8ビット) というマイクロプログラムをつくらなければいけないんですけど、 R0からR6まで使って良くて、ただしR3はスタックポインターとして使うので使用できないんです。 機械語プログラムでは、簡単なんですけど、 マイクロプログラムだと、 8回繰り返すというカウンタはどのようにして作れば、 又は考えればいいんですか? 知っている方、どうか教えてください。

みんなの回答

回答No.1

「マイクロプログラム」だけでは、的確な回答ができないと思います。 機械語プログラムを習われたのなら、命令セットアーキテクチャの数だけ機械 語が存在していることくらいわかりますよね? 一つの命令セットアーキテクチャを異なるマイクロプログラム言語で実現する ことも可能ですから、原理上、マイクロプログラム言語は、それより多く存在 し得るのです。 でも、スピード重視のマイクロプログラムだと、ループなんかせずに展開する 方がいいと思いますけど。カウンタ使ってループするより、8個並べちゃいけ ないんでしょうか?容量に制限はありますか?

kakera
質問者

お礼

ご回答、ありがとうございましたm(_ _)m 実は、R0:R1←R0×R1の機械語命令をつくらないといけなかったんです(^^; レジスターに00000001をいれて、左にシフトしていって、 フラグが立ったらループを出るというふうに 作ってみました。上手くうごくかはわかりませんが・・・(^^; 8コ並べるのもありですね・・・。気が付きませんでした・・(--; ちょっとそれでも作ってみます。 本当にありがとうございました。

関連するQ&A