私は次のアセンブリコードを持っています:
__asm__ __volatile__ (
"1: subi %0, 1" "\n\t"
"brne 1b"
: "=d" (__count)
: "M" (__count));
これにより、次のコンパイラ出力が生成されます
ce: 81 50 subi r24, 0x01 ; 1
d0: f1 f7 brne .-4 ; 0xce <main>
d2: 80 e0 ldi r24, 0x00 ; 0
d4: 90 e0 ldi r25, 0x00 ; 0
どうすれば次のことを達成できますか?
ce: 81 50 subi r16, 0x01 ; 1
d0: f1 f7 brne .-4 ; 0xce <main>
d2: 80 e0 ldi r16, 0x00 ; 0
r24:r25の代わりにr16を使用するようにコンパイラーに指示することさえ可能ですか?そうすれば、ldir25,0x00行で使用されるサイクルカウントを1つ減らすことができます。
ありがとうジャック