チョコさん_stkinitの中を確認していただいてありがとうございます。>その最初で「MOV [SP+3],#0」とやっているので,>Kirin様が懸念した問題はございません。ごめんなさい、先頭の1行見落としていました。でも、よくよく考えると、>その最初で「MOV [SP+3],#0」とやるべきなのは、hdwinitで方ですよね?!だって、hdwinitを先に通過するんですもの。ちなみに、hdwinitをCALLして、RETしたら1/2の確率でパリティエラーが発生しそうですけれどもなぜ、hdwinitでは「MOV [SP+3],#0」してないんでしょうか?リセット初期値がRPERDIS=0なので、高頻度でチップが動作しない問題が発生しそうですけど、大丈夫なのかなぁ。まぁ、幸いな事にそんな現象に嵌ったことはないので無用な心配かもしれませんけども。
Yandooさん 以下の様にコードを直したらどうでしょう? MOV A,RESF CMP0 A SKZ LOOP: BR $LOOP
MOV A,RESF CMP0 A SKZ LOOP: BR $LOOP
Yandooさん 動いてよかったですね。
コンパイラの違いで、ブランチ先ラベルなど若干記述方法に違いがあるようです。ふだんからアセンブラを使っていないとなかなか難しいと思います。 ただ、「\,」は昔、掲示板の仕様変更の際に、カンマの前に勝手にバックスラッシュが追加されてしまったためかふぇルネで「\,」が出てきたら「,」と読み替えてください。