実現したいこと
ラベルのエラーを直したいです。
発生している問題・分からないこと
9の倍数かどうかを判定するプログラムを作っています。
今まで通りの文法で書いたのですが、なぜか255が無効なラベルだというエラーが出てきます。
どなたか解決して頂きたいです。
コピペで文字間隔がおかしくなっています申し訳ないです。
エラーメッセージ
error
1Invalid label "255"
該当のソースコード
COMETⅡ
1MAIN START 2BUF DS 256 3 4 IN BUF,255 5 ST GR0,BUF+255 6 7LOOP LD GR0,BUF 8 CPA GR0,=0 9 JZE END1 10 11 XOR GR2,GR2 12 LAD GR1,BUF+1 13 14SLOOP LD GR0,0,GR1 15 CPA GR0,=0 16 JZE SUM_END 17 AND GR0,=#000F 18 ADD GR2,GR0 19 LAD GR1,1,GR1 20 JUMP SLOOP 21 22SUM_END LD GR4,=9 23 24D9 CPA GR2,GR4 25 JMI CHECK 26 SUB GR2,GR4 27 JUMP D9 28 29CHECK CPA GR2,=0 30 JZE OK 31 JUMP NG 32 33OK OUT OKMSG,1 34 JUMP LOOP 35 36NG OUT NGMSG,1 37 JUMP LOOP 38 39END1 RET 40 41OKMSG DC '9の倍数です',0 42NGMSG DC '9の倍数ではありません',0 43 END 44 45
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
chatgptによればBUF直後のIN命令がラベル扱いになっているとのこと。
ラベル扱いされないようにTABでそろえてあるのですが、どうもうまくいきません。
補足
特になし
エミュレータ名書いたほうがいいかも。
CASL IIはよく知らないんだけど、多分エミュレータによってはINとかOUT等のマクロが実装されてなくって、単にそれでエラー吐いてる、って事が考えられるんじゃないだろうか。
回答1件
あなたの回答
tips
プレビュー