回答受付が終了しました

ID非公開

2022/6/28 17:00

11回答

CASL2で10進数の文字を2進数の数値に変換したいのですが、空欄にはどんなコードを書けば良いか教えてください。

画像

回答(1件)

0

JMI ERROR gr2<文字の0なら分岐する。数字の0以下ということは、文字じゃないから。 ※gr2-文字の0の計算結果がマイナスなら分岐させています。 JPL ERROR gr2>文字の9なら分岐する。数字の9以上ということは、文字じゃないから。 ※gr2-文字の9の計算結果がプラスなら分岐させています。 SLL GR0,2 ある数を10倍する場合、普通にループでやったらえらいことになるので 2倍+8倍の計算をやって、簡略化しています。 ※1ビット左シフトすると2倍、これをいったんどっかに保存しておいて ※さらに2ビット左シフトすると、2倍が4倍に、さらに8倍になる。 ※さいごに2倍したものと、8倍したものを足せば10倍 LD GR2,0,GR1 次の文字を取り込んでいます。 GR1は、NUM配列のアドレスが収納されていますので、その中身を取り出してます。