📄 main_frame.lst
字号:
0381 2799 CLR R25
0382 2F89 MOV R24,R25
0383 2799 CLR R25
0384 FD87 SBRC R24,7
0385 9590 COM R25
0386 7090 ANDI R25,0
0387 938001ED STS 0x1ED,R24
0389 2D8A MOV R24,R10
038A 7F8F ANDI R24,0xFF
038B 938001EE STS 0x1EE,R24
038D EF8F LDI R24,0xFF
038E EF9F LDI R25,0xFF
038F 939001F0 STS 0x1F0,R25
0391 938001EF STS 0x1EF,R24
0393 940E07A6 CALL _led2Toggle
0395 940E073C CALL _CC1100_wakeup
0397 912001E5 LDS R18,node_data
0399 2733 CLR R19
039A 5F2F SUBI R18,0xFF
039B 4F3F SBCI R19,0xFF
039C EE05 LDI R16,0xE5
039D E011 LDI R17,1
039E 940E0470 CALL _CC1100_send
03A0 EF24 LDI R18,0xF4
03A1 E031 LDI R19,1
03A2 2700 CLR R16
03A3 940E0B69 CALL _start_T3
03A5 940E12B7 CALL pop_gset4
03A7 9508 RET
_atomic_start:
result --> R16
03A8 B70F IN R16,0x3F
03A9 94F8 BCLR 7
03AA 9508 RET
_atomic_end:
oldSreg --> R16
03AB BF0F OUT 0x3F,R16
03AC 9508 RET
_TOSH_wait:
03AD 0000 NOP
03AE 0000 NOP
03AF 9508 RET
_TOSH_sleep:
03B0 B785 IN R24,0x35
03B1 6280 ORI R24,0x20
03B2 BF85 OUT 0x35,R24
03B3 9588 SLEEP
03B4 9508 RET
_sched_init:
i --> R20
03B5 940E12C5 CALL push_gset1
03B7 2422 CLR R2
03B8 92200203 STS TOSH_sched_free,R2
03BA 92200204 STS TOSH_sched_full,R2
03BC 2744 CLR R20
03BD 2755 CLR R21
03BE E002 LDI R16,2
03BF E010 LDI R17,0
03C0 019A MOVW R18,R20
03C1 940E1271 CALL empy16s
03C3 01F8 MOVW R30,R16
03C4 E085 LDI R24,5
03C5 E092 LDI R25,2
03C6 0FE8 ADD R30,R24
03C7 1FF9 ADC R31,R25
03C8 2422 CLR R2
03C9 2433 CLR R3
03CA 8231 STD Z+1,R3
03CB 8220 STD Z+0,R2
03CC 5F4F SUBI R20,0xFF
03CD 4F5F SBCI R21,0xFF
03CE 3048 CPI R20,0x8
03CF E0E0 LDI R30,0
03D0 075E CPC R21,R30
03D1 F364 BLT 0x03BE
03D2 940E12C8 CALL pop_gset1
03D4 9508 RET
_post:
03D5 940E12C1 CALL push_gset3
03D7 01B8 MOVW R22,R16
03D8 DFCF RCALL _atomic_start
03D9 2F40 MOV R20,R16
03DA 90A00203 LDS R10,TOSH_sched_free
03DC E082 LDI R24,2
03DD 9D8A MUL R24,R10
03DE 01F0 MOVW R30,R0
03DF E085 LDI R24,5
03E0 E092 LDI R25,2
03E1 0FE8 ADD R30,R24
03E2 1FF9 ADC R31,R25
03E3 8020 LDD R2,Z+0
03E4 8031 LDD R3,Z+1
03E5 2022 TST R2
03E6 F4A1 BNE 0x03FB
03E7 2033 TST R3
03E8 F491 BNE 0x03FB
03E9 2D8A MOV R24,R10
03EA 5F8F SUBI R24,0xFF
03EB 7087 ANDI R24,7
03EC 93800203 STS TOSH_sched_free,R24
03EE E082 LDI R24,2
03EF 9D8A MUL R24,R10
03F0 01F0 MOVW R30,R0
03F1 E085 LDI R24,5
03F2 E092 LDI R25,2
03F3 0FE8 ADD R30,R24
03F4 1FF9 ADC R31,R25
03F5 8371 STD Z+1,R23
03F6 8360 STD Z+0,R22
03F7 2F04 MOV R16,R20
03F8 DFB2 RCALL _atomic_end
03F9 E001 LDI R16,1
03FA C003 RJMP 0x03FE
03FB 2F04 MOV R16,R20
03FC DFAE RCALL _atomic_end
03FD 2700 CLR R16
03FE 940E12B4 CALL pop_gset3
0400 9508 RET
_TOSH_run_next_task:
fInterruptFlags --> R22
func --> R20
old_full --> R10
0401 940E12C1 CALL push_gset3
0403 DFA4 RCALL _atomic_start
0404 2F60 MOV R22,R16
0405 90A00204 LDS R10,TOSH_sched_full
0407 E082 LDI R24,2
0408 9D8A MUL R24,R10
0409 01F0 MOVW R30,R0
040A E085 LDI R24,5
040B E092 LDI R25,2
040C 0FE8 ADD R30,R24
040D 1FF9 ADC R31,R25
040E 8140 LDD R20,Z+0
040F 8151 LDD R21,Z+1
0410 3040 CPI R20,0
0411 0745 CPC R20,R21
0412 F429 BNE 0x0418
0413 2F06 MOV R16,R22
0414 DF96 RCALL _atomic_end
0415 2700 CLR R16
0416 2711 CLR R17
0417 C017 RJMP 0x042F
0418 E082 LDI R24,2
0419 9D8A MUL R24,R10
041A 01F0 MOVW R30,R0
041B E085 LDI R24,5
041C E092 LDI R25,2
041D 0FE8 ADD R30,R24
041E 1FF9 ADC R31,R25
041F 2422 CLR R2
0420 2433 CLR R3
0421 8231 STD Z+1,R3
0422 8220 STD Z+0,R2
0423 2D8A MOV R24,R10
0424 5F8F SUBI R24,0xFF
0425 7087 ANDI R24,7
0426 93800204 STS TOSH_sched_full,R24
0428 2F06 MOV R16,R22
0429 DF81 RCALL _atomic_end
042A 01FA MOVW R30,R20
042B 940E12DC CALL xicall
042D E001 LDI R16,1
042E E010 LDI R17,0
042F 940E12B4 CALL pop_gset3
0431 9508 RET
_run_task:
0432 DFCE RCALL _TOSH_run_next_task
0433 3000 CPI R16,0
0434 0701 CPC R16,R17
0435 F7E1 BNE 0x0432
0436 918002D8 LDS R24,T1+1
0438 3081 CPI R24,1
0439 F041 BEQ 0x0442
043A 918002C9 LDS R24,T2+1
043C 3081 CPI R24,1
043D F021 BEQ 0x0442
043E 918002BA LDS R24,T3+1
0440 3081 CPI R24,1
0441 F409 BNE 0x0443
0442 C006 RJMP 0x0449
0443 DFBD RCALL _TOSH_run_next_task
0444 3000 CPI R16,0
0445 0701 CPC R16,R17
0446 F7E1 BNE 0x0443
0447 DF68 RCALL _TOSH_sleep
0448 DF64 RCALL _TOSH_wait
0449 9508 RET
___nesc_enable_interrupt:
044A 9478 BSET 7
044B 9508 RET
_SET_CLOCK:
044C 91800065 LDS R24,0x65
044E 6081 ORI R24,1
044F 93800065 STS 0x65,R24
0451 9508 RET
_CLEAR_CLOCK:
0452 91800065 LDS R24,0x65
0454 7F8E ANDI R24,0xFE
0455 93800065 STS 0x65,R24
0457 9508 RET
_SET_IN:
0458 91800065 LDS R24,0x65
045A 6082 ORI R24,2
045B 93800065 STS 0x65,R24
045D 9508 RET
_CLEAR_IN:
045E 91800065 LDS R24,0x65
0460 7F8D ANDI R24,0xFD
0461 93800065 STS 0x65,R24
0463 9508 RET
_SET_CSN:
0464 9AAA SBI 0x15,2
0465 9508 RET
_CLEAR_CSN:
0466 98AA CBI 0x15,2
0467 9508 RET
_GET_OUT:
0468 9B99 SBIS 0x13,1
0469 C003 RJMP 0x046D
046A E001 LDI R16,1
046B E010 LDI R17,0
046C C002 RJMP 0x046F
046D 2700 CLR R16
046E 2711 CLR R17
046F 9508 RET
_CC1100_send:
0470 940E12C3 CALL push_gset2
0472 2F62 MOV R22,R18
0473 01A8 MOVW R20,R16
0474 2F26 MOV R18,R22
0475 2733 CLR R19
0476 018A MOVW R16,R20
0477 D29F RCALL _CC1100_sendRFburst
0478 940E12B1 CALL pop_gset2
047A 9508 RET
_Dly10us:
047B 2700 CLR R16
047C C00B RJMP 0x0488
047D 0000 NOP
047E 0000 NOP
047F 0000 NOP
0480 0000 NOP
0481 0000 NOP
0482 0000 NOP
0483 0000 NOP
0484 0000 NOP
0485 0000 NOP
0486 0000 NOP
0487 9503 INC R16
0488 300A CPI R16,0xA
0489 F398 BCS 0x047D
048A 9508 RET
_Dly1mS:
048B 940E12C3 CALL push_gset2
048D C012 RJMP 0x04A0
048E 2744 CLR R20
048F 2755 CLR R21
0490 C00B RJMP 0x049C
0491 2766 CLR R22
0492 2777 CLR R23
0493 C002 RJMP 0x0496
0494 5F6F SUBI R22,0xFF
0495 4F7F SBCI R23,0xFF
0496 3664 CPI R22,0x64
0497 E0E0 LDI R30,0
0498 077E CPC R23,R30
0499 F3D0 BCS 0x0494
049A 5F4F SUBI R20,0xFF
049B 4F5F SBCI R21,0xFF
049C 3346 CPI R20,0x36
049D E0E0 LDI R30,0
049E 075E CPC R21,R30
049F F388 BCS 0x0491
04A0 0118 MOVW R2,R16
04A1 5001 SUBI R16,1
04A2 4010 SBCI R17,0
04A3 2022 TST R2
04A4 F749 BNE 0x048E
04A5 2033 TST R3
04A6 F739 BNE 0x048E
04A7 940E12B1 CALL pop_gset2
04A9 9508 RET
_SPI_write:
04AA 940E12BF CALL push_gset4
04AC 2F40 MOV R20,R16
04AD 2766 CLR R22
04AE C026 RJMP 0x04D5
04AF 2F84 MOV R24,R20
04B0 7880 ANDI R24,0x80
04B1 3880 CPI R24,0x80
04B2 F419 BNE 0x04B6
04B3 DFC7 RCALL _Dly10us
04B4 DFA3 RCALL _SET_IN
04B5 C003 RJMP 0x04B9
04B6 DFA7 RCALL _CLEAR_IN
04B7 DFC3 RCALL _Dly10us
04B8 DFC2 RCALL _Dly10us
04B9 DFC1 RCALL _Dly10us
04BA DFC0 RCALL _Dly10us
04BB DFBF RCALL _Dly10us
04BC DF8F RCALL _SET_CLOCK
04BD DFBD RCALL _Dly10us
04BE DFBC RCALL _Dly10us
04BF DFBB RCALL _Dly10us
04C0 DFBA RCALL _Dly10us
04C1 DFB9 RCALL _Dly10us
04C2 0F44 LSL R20
04C3 0CAA LSL R10
04C4 DFA3 RCALL _GET_OUT
04C5 2EC0 MOV R12,R16
04C6 2D8C MOV R24,R12
04C7 7081 ANDI R24,1
04C8 3081 CPI R24,1
04C9 F421 BNE 0x04CE
04CA 2D8A MOV R24,R10
04CB 6081 ORI R24,1
04CC 2EA8 MOV R10,R24
04CD C003 RJMP 0x04D1
04CE 2D8A MOV R24,R10
04CF 7F8E ANDI R24,0xFE
04D0 2EA8 MOV R10,R24
04D1 DF80 RCALL _CLEAR_CLOCK
04D2 DFA8 RCALL _Dly10us
04D3 DFA7 RCALL _Dly10us
04D4 9563 INC R22
04D5 3068 CPI R22,0x8
04D6 F2C0 BCS 0x04AF
04D7 2D0A MOV R16,R10
04D8 940E12B7 CALL pop_gset4
04DA 9508 RET
_SPI_read:
04DB 940E12C1 CALL push_gset3
04DD 2744 CLR R20
04DE C01D RJMP 0x04FC
04DF DF6C RCALL _SET_CLOCK
04E0 0CAA LSL R10
04E1 DF99 RCALL _Dly10us
04E2 DF98 RCALL _Dly10us
04E3 DF97 RCALL _Dly10us
04E4 DF96 RCALL _Dly10us
04E5 DF95 RCALL _Dly10us
04E6 DF81 RCALL _GET_OUT
04E7 2F60 MOV R22,R16
04E8 2F86 MOV R24,R22
04E9 7081 ANDI R24,1
04EA 3081 CPI R24,1
04EB F421 BNE 0x04F0
04EC 2D8A MOV R24,R10
04ED 6081 ORI R24,1
04EE 2EA8 MOV R10,R24
04EF C003 RJMP 0x04F3
04F0 2D8A MOV R24,R10
04F1 7F8E ANDI R24,0xFE
04F2 2EA8 MOV R10,R24
04F3 DF87 RCALL _Dly10us
04F4 DF86 RCALL _Dly10us
04F5 DF5C RCALL _CLEAR_CLOCK
04F6 DF84 RCALL _Dly10us
04F7 DF83 RCALL _Dly10us
04F8 DF82 RCALL _Dly10us
04F9 DF81 RCALL _Dly10us
04FA DF80 RCALL _Dly10us
04FB 9543 INC R20
04FC 3048 CPI R20,0x8
04FD F308 BCS 0x04DF
04FE 2D0A MOV R16,R10
04FF 940E12B4 CALL pop_gset3
0501 9508 RET
_spiGetRxTxStatus:
0502 940E12C5 CALL push_gset1
0504 DF61 RCALL _CLEAR_CSN
0505 DF62 RCALL _GET_OUT
0506 3000 CPI R16,0
0507 0701 CPC R16,R17
0508 F7E1 BNE 0x0505
0509 DF48 RCALL _CLEAR_CLOCK
050A E30D LDI R16,0x3D
050B DF9E RCALL _SPI_write
050C 2F40 MOV R20,R16
050D DF44 RCALL _CLEAR_CLOCK
050E DF4F RCALL _CLEAR_IN
050F DF54 RCALL _SET_CSN
0510 2F04 MOV R16,R20
0511 940E12C8 CALL pop_gset1
0513 9508 RET
_halSpiWriteReg:
0514 940E12C3 CALL push_gset2
0516 2F42 MOV R20,R18
0517 2F60 MOV R22,R16
0518 DF4D RCALL _CLEAR_CSN
0519 DF4E RCALL _GET_OUT
051A 3000 CPI R16,0
051B 0701 CPC R16,R17
051C F7E1 BNE 0x0519
051D DF34 RCALL _CLEAR_CLOCK
051E 776F ANDI R22,0x7F
051F 2F06 MOV R16,R22
0520 DF89 RCALL _SPI_write
0521 2F04 MOV R16,R20
0522 DF87 RCALL _SPI_write
0523 DF2E RCALL _CLEAR_CLOCK
0524 DF39 RCALL _CLEAR_IN
0525 DF3E RCALL _SET_CSN
0526 940E12B1 CALL pop_gset2
0528 9508 RET
_halSpiStrobe:
0529 940E12C5 CALL push_gset1
052B 2F40 MOV R20,R16
052C DF39 RCALL _CLEAR_CSN
052D DF24 RCALL _CLEAR_CLOCK
052E DF39 RCALL _GET_OUT
052F 3000 CPI R16,0
0530 0701 CPC R16,R17
0531 F7E1 BNE 0x052E
0532 2F04 MOV R16,R20
0533 DF76 RCALL _SPI_write
0534 DF1D RCALL _CLEAR_CLOCK
0535 DF28 RCALL _CLEAR_IN
0536 DF2D RCALL _SET_CSN
0537 940E12C8 CALL pop_gset1
0539 9508 RET
_halSpiWriteBurstReg:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -