4
GCCコンパイラが一部のコードを省略しているのはなぜですか?
GCCコンパイラが近隣のまったく同じコードを保持しながら、なぜコードの一部を切り取るのか理解できません。 Cコード: #define setb_SYNCO do{(PORTA|= (1<<0));} while(0); ISR(INT0_vect){ unsigned char i; i = 10; while(i>0)i--; // first pause - omitted setb_SYNCO; setb_GATE; i=30; clrb_SYNCO; while(i>0)i--; // second pause - preserved clrb_GATE; } LSSの対応する部分(コンパイラーによって作成されたアセンブラーファイル): ISR(INT0_vect){ a4: 1f 92 push r1 a6: 0f 92 push r0 a8: 0f b6 in r0, 0x3f …