そのコンパイラではvolatile書いても最適化された。ASMでも当然書いたよ。ふつうvolatileは
「変数の属性」として書くが上のような文脈では*(volatile*)(--p)=0; とか書くことになる。
μチップ用のクロスコンパイラでは隅々までANSI並にサポートはされてないようだ。
@(R+)のほうが@(R)より遅いからASM程の速度は出せないが命令数でほぼ同等に
納まったのが上の書き方だったということ。スレタイの主旨からしたらgoto文の使用法に関する
議論でしょ。だからこういうケースはどういう書き方をするのがいいと思うか?と投げてみた。
それに対してミクロ的だとかASMで書けとかいうのはスレ違いでしょ。