インライン アセンブリ ステートメントに C を入力すると、XC8 コンパイラはそれをコードに 2 回挿入します。例えば
asm("NOP");
結果は
NOP
NOP
コードで。
編集:NOPだけではありません。すべてのステートメントが 2 倍になります
asm("DECFSZ WREG");
asm("GOTO $-2");
結果は
DECFSZ WREG
DECFSZ WREG
GOTO $-2
GOTO $-2
最適化はオフです。コードは PIC16F1934 マイクロプロセッサ用です。MPLAB X を使用しています。
どうすればそれを防ぐことができますか?