Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Примерно вот так:
280 #pragma vector=TIMER0_OVF_vect
281 __interrupt void RTC(void)
\ RTC:
282 {
///////////////////////////////////////////////////////
// Обработчик
\ 00000000 931A ST -Y,R17
\ 00000002 930A ST -Y,R16
\ 00000004 B71F IN R17,0x3F
283 PORTD++;
\ 00000006 B302 IN R16,0x12
\ 00000008 9503 INC R16
\ 0000000A BB02 OUT 0x12,R16
284 PORTB++;
\ 0000000C B308 IN R16,0x18
\ 0000000E 9503 INC R16
\ 00000010 BB08 OUT 0x18,R16
285 _NOP();
\ 00000012 0000 NOP
//////////////////////////////////////////////////////
// Это самодельные команды
286
287 asm("out 0x3F,R17");
\ 00000014 BF1F out 0x3F,R17
288 asm("ld r16,Y+");
\ 00000016 9109 ld r16,Y+
289 asm("ld r17,Y+");
\ 00000018 9119 ld r17,Y+
290 asm("ret");
\ 0000001A 9508 ret
291 }
//////////////////////////////////////////////////////
// Это родные возвраты. Они как мертвый код.
\ 0000001C BF1F OUT 0x3F,R17
\ 0000001E 9109 LD R16,Y+
\ 00000020 9119 LD R17,Y+
\ 00000022 9518 RETI
292