📄 atmega32.lst
字号:
(0036) }
(0037) }
(0038)
(0039)
(0040) #elif defined(SYSE)
(0041)
(0042) #pragma interrupt ISRHigh save=PROD,section(".tmpdata")
(0043)
(0044) void ISRHigh( void )
(0045) {
(0046) if ( INTCONbits.TMR0IE && INTCONbits.TMR0IF ) {
(0047) INTCONbits.TMR0IF = 0;
(0048) TMR0 -= TMR0_RELOAD;
(0049)
(0050) OSTimer();
(0051) }
(0052) }
(0053)
(0054) #pragma code IntVectorHigh = 0x08
(0055) void IntVectorHigh( void )
(0056) {
(0057) _asm
(0058) goto ISRHigh
(0059) _endasm
(0060) }
(0061)
(0062)
(0063)
(0064) #elif defined(SYSI)
(0065)
(0066) /* Reload values for Timer0 - 5msec interrupts for Oscillator at 11.0592 MHz */
(0067) /* This code courtesy Michael Stepanov. */
(0068) #define TIMER_H 238 /* TH0 reload value */
(0069) #define TIMER_L 0 /* TL0 reload value */
(0070)
(0071)
(0072) void timer0 (void) interrupt 1 using 2
(0073) {
(0074) /* stop, reload and start timer. */
(0075) TR0 = 0;
(0076) TH0 = TIMER_H;
(0077) TL0 = TIMER_L;
(0078) TR0 = 1;
(0079)
(0080) OSTimer();
(0081) }
(0082)
(0083)
(0084) #elif defined(SYSL)
(0085)
(0086) ROM_VECTOR(NMI, IntVector);
(0087) ROM_VECTOR(INT1, IntVector);
(0088) ROM_VECTOR(INT2, IntVector);
(0089) ROM_VECTOR(INT3, IntVector);
(0090) ROM_VECTOR(INT4, IntVector);
(0091) ROM_VECTOR(INT5, IntVector);
(0092) ROM_VECTOR(INT6, IntVector);
(0093) ROM_VECTOR(INT7, IntVector);
(0094)
(0095) #pragma interrupt_level 1
(0096) void fast interrupt IntVector( void )
(0097) {
(0098) OSTimer();
(0099) }
(0100)
(0101)
(0102)
(0103) #elif defined(SYSM)
(0104)
(0105) ROM_VECTOR(0x0B, timer0);
(0106)
(0107) interrupt void timer0 ( void)
(0108) {
(0109) OSTimer();
(0110) }
(0111)
(0112)
(0113) #elif defined(SYSQ) || defined(SYSR) || defined(SYSS) || defined (SYSX) \
(0114) || defined(SYSAB) /* MSP430 */
(0115)
(0116) #if defined(SYSQ)
(0117) #if (__VER__ < 200)
(0118) interrupt[TIMERA0_VECTOR] void Timer_A (void)
(0119) #else
(0120) #pragma vector=TIMERA0_VECTOR
(0121) __interrupt void Timer_A (void)
(0122) #endif
(0123) #elif defined(SYSR)
(0124) interrupt[TIMERA0_VECTOR] void Timer_A (void)
(0125) #elif defined(SYSS)
(0126) #pragma interrupt_handler Timer_A:TIMERA0_VECTOR
(0127) void Timer_A (void)
(0128) #elif defined(SYSX)
(0129) void Timer_A (void) __interrupt[TIMERA0_VECTOR]
(0130) #elif defined(SYSAB)
(0131) void interrupt Timer_A (void) @ TIMER_A_CC0_VCTR
(0132) #endif
(0133) {
(0134) TACCR0 += 10000;
(0135) OSTimer();
(0136) }
(0137)
(0138)
(0139) #elif defined(SYST) /* M68HC11 */
(0140)
(0141) #pragma interrupt_handler intVector
(0142)
(0143) void intVector ( void )
(0144) {
(0145) /* clear RTIF */
(0146) TFLG2 |= 0b01000000;
(0147)
(0148) OSTimer();
(0149) }
(0150)
(0151)
(0152) #pragma abs_address:0x00EB /* RTI BUFFALO 3.4 EVB11 */
(0153)
(0154) asm(" jmp _intVector");
(0155)
(0156) #pragma end_abs_address
(0157)
(0158)
(0159) #elif defined(SYSU) /* Z8 Encore */
(0160)
(0161) #pragma interrupt
(0162) void IntVector(void)
(0163) {
(0164) OSTimer();
(0165) }
(0166)
(0167)
(0168) #elif defined(SYSV) /* AVR + ICCAVR */
(0169)
(0170) #pragma interrupt_handler IntVector:iv_TIMER0_OVF IntVector:iv_TIMER0_COMP
(0171)
(0172) void IntVector(void)
(0173) {
(0174) OSTimer();
FILE: <library>
027B 940E02AF CALL _OSTimer
027D 940E0567 CALL pop_lset
027F 9518 RETI
_OSDispatch:
0280 93C000DA STS 0xDA,R28
0282 93D000DB STS 0xDB,R29
0284 91E000B6 LDS R30,RS485_status+1
0286 91F000B7 LDS R31,RS485_status+2
0288 8181 LDD R24,Z+1
0289 7090 ANDI R25,0
028A 1BC8 SUB R28,R24
028B 0BD9 SBC R29,R25
028C 81A2 LDD R26,Z+2
028D 81B3 LDD R27,Z+3
028E 2FEA MOV R30,R26
028F 2FFB MOV R31,R27
0290 C2B6 RJMP xicall
_OSCtxSw:
0291 B60F IN R0,0x3F
0292 920A ST R0,-Y
0293 94F8 BCLR 7
0294 91E000B6 LDS R30,RS485_status+1
0296 91F000B7 LDS R31,RS485_status+2
0298 8302 STD Z+2,R16
0299 8313 STD Z+3,R17
029A 918000DA LDS R24,0xDA
029C 919000DB LDS R25,0xDB
029E 1B8C SUB R24,R28
029F 0B9D SBC R25,R29
02A0 3081 CPI R24,1
02A1 F029 BEQ 0x02A7
02A2 0FC8 ADD R28,R24
02A3 1FD9 ADC R29,R25
02A4 920A ST R0,-Y
02A5 958A DEC R24
02A6 8381 STD Z+1,R24
02A7 B78D IN R24,0x3D
02A8 B79E IN R25,0x3E
02A9 9602 ADIW R24,2
02AA BF8D OUT 0x3D,R24
02AB BF9E OUT 0x3E,R25
02AC 9009 LD R0,Y+
02AD BE0F OUT 0x3F,R0
02AE 9508 RET
_OSTimer:
02AF 918000D9 LDS R24,0xD9
02B1 3F8F CPI R24,0xFF
02B2 F420 BCC 0x02B7
02B3 5F8F SUBI R24,0xFF
02B4 938000D9 STS 0xD9,R24
02B6 C002 RJMP 0x02B9
02B7 E001 LDI R16,1
02B8 C001 RJMP 0x02BA
02B9 2700 CLR R16
02BA 9508 RET
_OSSched:
02BB B60F IN R0,0x3F
02BC 94F8 BCLR 7
02BD 920A ST R0,-Y
02BE 95A8 WDR
02BF C036 RJMP 0x02F6
02C0 902000D5 LDS R2,0xD5
02C2 903000D6 LDS R3,0xD6
02C4 923000B7 STS RS485_status+2,R3
02C6 922000B6 STS RS485_status+1,R2
02C8 918000B6 LDS R24,RS485_status+1
02CA 919000B7 LDS R25,RS485_status+2
02CC 9604 ADIW R24,4
02CD 2FE8 MOV R30,R24
02CE 2FF9 MOV R31,R25
02CF 8040 LDD R4,Z+0
02D0 8051 LDD R5,Z+1
02D1 925000D6 STS 0xD6,R5
02D3 924000D5 STS 0xD5,R4
02D5 2444 CLR R4
02D6 2455 CLR R5
02D7 8251 STD Z+1,R5
02D8 8240 STD Z+0,R4
02D9 91E000B6 LDS R30,RS485_status+1
02DB 91F000B7 LDS R31,RS485_status+2
02DD 8180 LDD R24,Z+0
02DE 788F ANDI R24,0x8F
02DF 6580 ORI R24,0x50
02E0 8380 STD Z+0,R24
02E1 EC2D LDI R18,0xCD
02E2 E030 LDI R19,0
02E3 2F0E MOV R16,R30
02E4 2F1F MOV R17,R31
02E5 D09F RCALL _OSInsPrioQ
02E6 902000D5 LDS R2,0xD5
02E8 903000D6 LDS R3,0xD6
02EA 2022 TST R2
02EB F441 BNE 0x02F4
02EC 2033 TST R3
02ED F431 BNE 0x02F4
02EE 2422 CLR R2
02EF 2433 CLR R3
02F0 923000D4 STS 0xD4,R3
02F2 922000D3 STS 0xD3,R2
02F4 9478 BSET 7
02F5 94F8 BCLR 7
02F6 902000D5 LDS R2,0xD5
02F8 903000D6 LDS R3,0xD6
02FA 2022 TST R2
02FB F009 BEQ 0x02FD
02FC CFC3 RJMP 0x02C0
02FD 2033 TST R3
02FE F009 BEQ 0x0300
02FF CFC0 RJMP 0x02C0
0300 C04C RJMP 0x034D
0301 918000D9 LDS R24,0xD9
0303 5081 SUBI R24,1
0304 938000D9 STS 0xD9,R24
0306 902000D7 LDS R2,0xD7
0308 903000D8 LDS R3,0xD8
030A 923000B7 STS RS485_status+2,R3
030C 922000B6 STS RS485_status+1,R2
030E 902000B6 LDS R2,RS485_status+1
0310 903000B7 LDS R3,RS485_status+2
0312 2022 TST R2
0313 F411 BNE 0x0316
0314 2033 TST R3
0315 F141 BEQ 0x033E
0316 918000B6 LDS R24,RS485_status+1
0318 919000B7 LDS R25,RS485_status+2
031A 9606 ADIW R24,6
031B 2FE8 MOV R30,R24
031C 2FF9 MOV R31,R25
031D 8180 LDD R24,Z+0
031E 5081 SUBI R24,1
031F 8380 STD Z+0,R24
0320 C01D RJMP 0x033E
0321 91E000B6 LDS R30,RS485_status+1
0323 91F000B7 LDS R31,RS485_status+2
0325 8024 LDD R2,Z+4
0326 8035 LDD R3,Z+5
0327 923000D8 STS 0xD8,R3
0329 922000D7 STS 0xD7,R2
032B 8180 LDD R24,Z+0
032C 788F ANDI R24,0x8F
032D 6580 ORI R24,0x50
032E 8380 STD Z+0,R24
032F EC2D LDI R18,0xCD
0330 E030 LDI R19,0
0331 2F0E MOV R16,R30
0332 2F1F MOV R17,R31
0333 D051 RCALL _OSInsPrioQ
0334 902000D7 LDS R2,0xD7
0336 903000D8 LDS R3,0xD8
0338 923000B7 STS RS485_status+2,R3
033A 922000B6 STS RS485_status+1,R2
033C 9478 BSET 7
033D 94F8 BCLR 7
033E 902000B6 LDS R2,RS485_status+1
0340 903000B7 LDS R3,RS485_status+2
0342 2022 TST R2
0343 F411 BNE 0x0346
0344 2033 TST R3
0345 F039 BEQ 0x034D
0346 91E000B6 LDS R30,RS485_status+1
0348 91F000B7 LDS R31,RS485_status+2
034A 8026 LDD R2,Z+6
034B 2022 TST R2
034C F2A1 BEQ 0x0321
034D 902000D9 LDS R2,0xD9
034F 2022 TST R2
0350 F009 BEQ 0x0352
0351 CFAF RJMP 0x0301
0352 902000CD LDS R2,0xCD
0354 903000CE LDS R3,0xCE
0356 923000B7 STS RS485_status+2,R3
0358 922000B6 STS RS485_status+1,R2
035A 902000B6 LDS R2,RS485_status+1
035C 903000B7 LDS R3,RS485_status+2
035E 2022 TST R2
035F F411 BNE 0x0362
0360 2033 TST R3
0361 F0E9 BEQ 0x037F
0362 91E000CD LDS R30,0xCD
0364 91F000CE LDS R31,0xCE
0366 8024 LDD R2,Z+4
0367 8035 LDD R3,Z+5
0368 923000CE STS 0xCE,R3
036A 922000CD STS 0xCD,R2
036C 9478 BSET 7
036D DF12 RCALL _OSDispatch
036E 94F8 BCLR 7
036F 91E000B6 LDS R30,RS485_status+1
0371 91F000B7 LDS R31,RS485_status+2
0373 8180 LDD R24,Z+0
0374 9582 SWAP R24
0375 708F ANDI R24,0xF
0376 7087 ANDI R24,7
0377 3085 CPI R24,5
0378 F449 BNE 0x0382
0379 EC2D LDI R18,0xCD
037A E030 LDI R19,0
037B 2F0E MOV R16,R30
037C 2F1F MOV R17,R31
037D D007 RCALL _OSInsPrioQ
037E C003 RJMP 0x0382
037F 9478 BSET 7
0380 D0C0 RCALL _OSIdlingHook
0381 94F8 BCLR 7
0382 9009 LD R0,Y+
0383 BE0F OUT 0x3F,R0
0384 9508 RET
_OSInsPrioQ:
0385 D1A8 RCALL push_gset2
0386 9721 SBIW R28,1
0387 2FE2 MOV R30,R18
0388 2FF3 MOV R31,R19
0389 8140 LDD R20,Z+0
038A 8151 LDD R21,Z+1
038B 3040 CPI R20,0
038C 0745 CPC R20,R21
038D F461 BNE 0x039A
038E 2FE2 MOV R30,R18
038F 2FF3 MOV R31,R19
0390 8311 STD Z+1,R17
0391 8300 STD Z+0,R16
0392 2422 CLR R2
0393 2433 CLR R3
0394 2FE0 MOV R30,R16
0395 2FF1 MOV R31,R17
0396 8235 STD Z+5,R3
0397 8224 STD Z+4,R2
0398 2700 CLR R16
0399 C05F RJMP 0x03F9
039A 2766 CLR R22
039B 2777 CLR R23
039C ED87 LDI R24,0xD7
039D E090 LDI R25,0
039E 1728 CP R18,R24
039F 0739 CPC R19,R25
03A0 F051 BEQ 0x03AB
03A1 2F64 MOV R22,R20
03A2 2F75 MOV R23,R21
03A3 2FE4 MOV R30,R20
03A4 2FF5 MOV R31,R21
03A5 8144 LDD R20,Z+4
03A6 8155 LDD R21,Z+5
03A7 3040 CPI R20,0
03A8 0745 CPC R20,R21
03A9 F7B9 BNE 0x03A1
03AA C03D RJMP 0x03E8
03AB 2FE4 MOV R30,R20
03AC 2FF5 MOV R31,R21
03AD 8026 LDD R2,Z+6
03AE 8228 STD Y+0,R2
03AF C010 RJMP 0x03C0
03B0 2F64 MOV R22,R20
03B1 2F75 MOV R23,R21
03B2 2FE4 MOV R30,R20
03B3 2FF5 MOV R31,R21
03B4 8144 LDD R20,Z+4
03B5 8155 LDD R21,Z+5
03B6 3040 CPI R20,0
03B7 0745 CPC R20,R21
03B8 F409 BNE 0x03BA
03B9 C00C RJMP 0x03C6
03BA 2FE4 MOV R30,R20
03BB 2FF5 MOV R31,R21
03BC 8026 LDD R2,Z+6
03BD 8038 LDD R3,Y+0
03BE 0C32 ADD R3,R2
03BF 8238 STD Y+0,R3
03C0 8028 LDD R2,Y+0
03C1 2FE0 MOV R30,R16
03C2 2FF1 MOV R31,R17
03C3 8036 LDD R3,Z+6
03C4 1432 CP R3,R2
03C5 F750 BCC 0x03B0
03C6 3040 CPI R20,0
03C7 0745 CPC R20,R21
03C8 F031 BEQ 0x03CF
03C9 2FE4 MOV R30,R20
03CA 2FF5 MOV R31,R21
03CB 8026 LDD R2,Z+6
03CC 8038 LDD R3,Y+0
03CD 1832 SUB R3,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -