код:
Код
//-------------------------------------------------------------------
void x () __attribute__ ((naked));
void x ()
{
volatile uint8_t PIN_[2]={
(uint8_t)(&PINB),
(uint8_t)(&PIND)
};
volatile uint8_t tmp1= *(volatile uint8_t *)((uint16_t)PIN_[0]);
PIN_[0]=(uint8_t)(&PIND);
volatile uint8_t tmp2= *(volatile uint8_t *)((uint16_t)PIN_[0]);
PIN_[0]=(uint8_t)(&PINC);
volatile uint8_t tmp3= *(volatile uint8_t *)((uint16_t)PIN_[0]);
}
листинг .lss
Код
//-------------------------------------------------------------------
void x () __attribute__ ((naked));
void x ()
{
1c2: 83 e2 ldi r24, 0x23; 35
1c4: 8c 83 std Y+4, r24; 0x04
1c6: 99 e2 ldi r25, 0x29; 41
1c8: 9d 83 std Y+5, r25; 0x05
volatile uint8_t PIN_[2]={
(uint8_t)(&PINB),
(uint8_t)(&PIND)
};
volatile uint8_t tmp1= *(volatile uint8_t *)((uint16_t)PIN_[0]);
1ca: ec 81 ldd r30, Y+4; 0x04
1cc: ff 27 eor r31, r31
1ce: 80 81 ld r24, Z
1d0: 89 83 std Y+1, r24; 0x01
PIN_[0]=(uint8_t)(&PIND);
1d2: 9c 83 std Y+4, r25; 0x04
volatile uint8_t tmp2= *(volatile uint8_t *)((uint16_t)PIN_[0]);
1d4: ec 81 ldd r30, Y+4; 0x04
1d6: ff 27 eor r31, r31
1d8: 80 81 ld r24, Z
1da: 8a 83 std Y+2, r24; 0x02
PIN_[0]=(uint8_t)(&PINC);
1dc: 86 e2 ldi r24, 0x26; 38
1de: 8c 83 std Y+4, r24; 0x04
volatile uint8_t tmp3= *(volatile uint8_t *)((uint16_t)PIN_[0]);
1e0: ec 81 ldd r30, Y+4; 0x04
1e2: ff 27 eor r31, r31
1e4: 80 81 ld r24, Z
1e6: 8b 83 std Y+3, r24; 0x03
Какие выводы? К примеру mov уже не пресутствует

А это ваще правильный код, мне в данный момент некогда разглядывать его.