CASL2で、A÷Bの割算を、シフト演算と使って求めたいのですが、A<Bの場合、余りはAとなるという処理の書き方がわからないです。ソースコードは、以下まで完成しております。
また、GR0は商、GR1は余りの格納に使用しており、最終的な計算結果はQUOに商、REMに余りをST命令で格納しています。
CASL2
1PGM START 2 CALL INIT 3 LD GR1,A 4 LD GR2,B 5 CPA GR1,=0 6 JZE ANS 7 CPA GR2,=0 8 JZE ANS 9COM CPA GR1,GR2 10 JMI ANS 11 CALL DIV 12 JUMP COM 13ANS ST GR0,QUO 14 ST GR1,REM 15 RET 16A DC 9 17B DC 2 18QUO DS 1 19REM DS 1 20 END 21INIT START 22 LD GR0,=0 23 LD GR1,=0 24 LD GR2,=0 25 RET 26 END 27DIV START 28 SUBA GR1,GR2 29 ADDA GR0,=1 30 RET 31 END