Дорого всем . . .
File main.c
#include <avr32/io.h>
extern void fun(void);
int main(void)
{
while(1)
{
fun();
}
}
File Assembly1.s
#include <avr32/io.h>
.global fun
fun:
mov r2, 0
mov r3, 0
st.d r0++, r2
cp r0, r1
ld.d r4, r2++
st.d r0++, r4
дизассемлер при отладке
mov r2, 0
8000010C mov R2, 0
mov r3, 0
8000010E mov R3, 0
st.d r0++, r2
80000110 st.d R0++, R1
cp r0, r1
80000112 cp.w R0, R1
ld.d r4, r2++
80000114 ld.d R2, R2++
st.d r0++, r4
80000116 st.d R0++, R2
подскажите материал/ссылку/документик где описывается почему компилятор заменяет регистры, в последних двух командах (r4-r2), и как отключить в настройках компилятора . . .
в всяко разных доках Atmel не нашел . . .
Спасибо