Код :
Спойлер
Код: Выделить всё
#include <xc.h>
void func1(unsigned int a){
*(unsigned int *)&EEADR = a;
}
void func2(unsigned int a){
EEADR = (a & 0xFF);
EEADRH = (a >> 8);
}
void main(void){
func1(1000);
func2(1000);
while(1){
}
}
Результат :
Спойлер
Код: Выделить всё
!void func1(unsigned int a){
! *(unsigned int *)&EEADR = a;
0xFFD2: MOVFF __pcstackCOMRAM, EEADR
0xFFD4: NOP
0xFFD6: MOVFF 0x2, EEADRH
0xFFD8: NOP
!}
0xFFDA: RETURN 0
Спойлер
Спойлер
Код: Выделить всё
!void func2(unsigned int a){
! EEADR = (a & 0xFF);
0xFFDC: MOVFF __pcstackCOMRAM, EEADR
0xFFDE: NOP
! EEADRH = (a >> 8);
0xFFE0: MOVF 0x2, W, ACCESS
0xFFE2: MOVWF EEADRH, ACCESS
!}
0xFFE4: RETURN 0
Спойлер
Компилятор : XC8 v1.35
