空気も読まずに質問です。

該当するスレが見つからなかったもんですからここで質問します。
アセンブリの命令で'imul'というMic-1には
実装されていない掛け算のmicroinstructionを
作りたいのですが、下のであってますでしょうか?
アイディアは間違ってないと思うんですが
テンポラリー変数としてOPCをこんな風に使ってよいものか分かりません。

imul1 OPC = MAR = SP = SP-1; rd
imul2 H = TOS
imul3 MDR = TOS = MDR + OPC
imul4 Z = H = H-1; if (Z) goto imul5
else goto imul3
imul5 TOS = MDR; wr; goto Main1