• 締切済み

CASL(2)

CASLの練習で2つわからないのがあって質問します。 ・KAZU番地の値を2で割った商をSHOU番地へ、余りをAMARI番地へ格納するプログラム (商はわかるんですけど、余りがわかりません) ・一桁の10進数を2進数に変換するプログラム どなたかわかる方、ご回答おねがいします!

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

ちょっとCASLを調べました。 かなり適当に書いたので参考までに >余りがわかりません AND(論理積)を使って   LD GR1,KAZU   AND GR1,=1   ST GR1,AMARI   RET AMARI DS 1 KAZU DC ?? >・一桁の10進数を2進数に変換するプログラム     LD GR1,=0     LD GR2,KAZU MODORU LAD GR1,1,GR1   ;インクリメント     LD GR3,GR2    ;GR3=GR2     AND GR3,=1    ;論理積     ST GR3,KOTAE,GR1  ;2進数にする     SRL GR2,1      ;右シフト     CPA GR1,=16     ;GR1と16比較     JMI GR1 MODORU   ;GR1<16ならMODORU     RET KOTAE DS 16        ;2進数を格納する場所16個確保 KAZU DC ??

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

その問題はおそらくAND(論理積)とシフトを使って欲しいのだと思います。 1)KAZUと1のAND(論理積)で2で割った余りは求まります。商は一回シフトするだけですね。 2)右シフトしつつ1のAND(論理積)を使えば2進数にかわります。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

1)商が出来ればKAZUに残っている残りを余りに移せばいいです。 2)8,4,2,1を順に引いていき引けた所だけビット1を立てればいいです。