• 締切済み

CASLIIでかけ算

CASLIIでかけ算をしたいのですが、どのようなプログラムを組めばよいのでしょうか?

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

こんな感じ ;GR1 x ;GR2 y ;GR0 SUM=x*y ;符号無し乗算,オーバーフロー検査なし MULT START PUSH 0,GR1 PUSH 0,GR2 LAD GR0,0 ;SUM=0 CPL GR1,ZERO JZE EXIT ;x=0なら終了 TEST CPL GR2,ZERO JZE EXIT ;yが0になったら終了 SRL GR2,1 ;最下位ビットがOVビットに入る JOV ADD ;yの最下位ビットが立っているか? JUMP SHIFT ADD ADDL GR0,GR1 ;SUM=SUM+x SHIFT SLL GR1,1 ;x=x*2 JUMP TEST EXIT POP GR2 POP GR1 RET ZERO DC 0 END

  • tar938
  • ベストアンサー率0% (0/11)
回答No.1

足し算を繰り返す (2*3=2+2+2) または 算術左シフト演算をする (4倍なら、左に2ビットシフト。 6倍なら左に2ビットシフトしたものに、左に1ビットシフトしたものを加える。)

morinokumachan
質問者

お礼

回答ありがとうございます。 あと カウンタを使った掛け算でどの数字を入れても出来るようにするにはどうしたらいいのでしょうか? 何も知らなくてすいません。

関連するQ&A