main_frame.lst
来自「mega128平台下」· LST 代码 · 共 2,086 行 · 第 1/5 页
LST
2,086 行
0228 8022 LDD R2,Z+2
0229 9220011D STS 0x11D,R2
022B 01FA MOVW R30,R20
022C 8026 LDD R2,Z+6
022D 9220011E STS 0x11E,R2
022F 2422 CLR R2
0230 9220011F STS Data,R2
0232 92200120 STS Data+1,R2
0234 9120011B LDS R18,0x11B
0236 2733 CLR R19
0237 E10B LDI R16,0x1B
0238 E011 LDI R17,1
0239 940E0CC5 CALL _serial_put
023B 940E0DDE CALL pop_gset3
023D 9508 RET
_uart_receive_CMD:
n --> R20
sync_seqno --> R20
msg_crc --> Y+1
INIT_NODE_MSG --> Y+1
ASK_MSG --> Y+1
RTC_TIMER1 --> R20
RTC_TIMER0 --> R20
CMD_type --> R20
command --> R22
023E 940E0DED CALL push_gset2
0240 01B8 MOVW R22,R16
0241 01FB MOVW R30,R22
0242 8142 LDD R20,Z+2
0243 2755 CLR R21
0244 3145 CPI R20,0x15
0245 E0E0 LDI R30,0
0246 075E CPC R21,R30
0247 F049 BEQ 0x0251
0248 3149 CPI R20,0x19
0249 E0E0 LDI R30,0
024A 075E CPC R21,R30
024B F051 BEQ 0x0256
024C 314A CPI R20,0x1A
024D E0E0 LDI R30,0
024E 075E CPC R21,R30
024F F141 BEQ 0x0278
0250 C051 RJMP 0x02A2
0251 01FB MOVW R30,R22
0252 8143 LDD R20,Z+3
0253 01FB MOVW R30,R22
0254 8144 LDD R20,Z+4
0255 C04C RJMP 0x02A2
0256 2744 CLR R20
0257 2755 CLR R21
0258 E08C LDI R24,0xC
0259 9380014C STS SYNC_MSG,R24
025B 2422 CLR R2
025C 9220014D STS SYNC_MSG+1,R2
025E 9220014E STS SYNC_MSG+2,R2
0260 EF8F LDI R24,0xFF
0261 EF9F LDI R25,0xFF
0262 93900150 STS 0x150,R25
0264 9380014F STS SYNC_MSG+3,R24
0266 E081 LDI R24,1
0267 93800151 STS 0x151,R24
0269 93400152 STS 0x152,R20
026B E02D LDI R18,0xD
026C E40C LDI R16,0x4C
026D E011 LDI R17,1
026E 940E02BD CALL _CC1100_send
0270 EF24 LDI R18,0xF4
0271 E031 LDI R19,1
0272 2700 CLR R16
0273 940E06DF CALL _start_T0
0275 940E061E CALL _led0Toggle
0277 C02A RJMP 0x02A2
0278 2744 CLR R20
0279 2755 CLR R21
027A E08C LDI R24,0xC
027B 9380014C STS SYNC_MSG,R24
027D 2422 CLR R2
027E 9220014D STS SYNC_MSG+1,R2
0280 9220014E STS SYNC_MSG+2,R2
0282 2433 CLR R3
0283 92300150 STS 0x150,R3
0285 9220014F STS SYNC_MSG+3,R2
0287 E08A LDI R24,0xA
0288 93800151 STS 0x151,R24
028A 01CB MOVW R24,R22
028B 9603 ADIW R24,3
028C 01FA MOVW R30,R20
028D 0FE8 ADD R30,R24
028E 1FF9 ADC R31,R25
028F 8020 LDD R2,Z+0
0290 E582 LDI R24,0x52
0291 E091 LDI R25,1
0292 01FA MOVW R30,R20
0293 0FE8 ADD R30,R24
0294 1FF9 ADC R31,R25
0295 8220 STD Z+0,R2
0296 5F4F SUBI R20,0xFF
0297 4F5F SBCI R21,0xFF
0298 E085 LDI R24,5
0299 E090 LDI R25,0
029A 1784 CP R24,R20
029B 0795 CPC R25,R21
029C F76C BGE 0x028A
029D E02D LDI R18,0xD
029E E40C LDI R16,0x4C
029F E011 LDI R17,1
02A0 940E02BD CALL _CC1100_send
02A2 E001 LDI R16,1
02A3 E010 LDI R17,0
02A4 940E0DDB CALL pop_gset2
02A6 9508 RET
_main:
02A7 DDF1 RCALL _init_devices
02A8 E081 LDI R24,1
02A9 9380010E STS put_done,R24
02AB 940E0659 CALL _sched_init
02AD E001 LDI R16,1
02AE 940E05C3 CALL _CC1100_setInterrupt
02B0 C002 RJMP 0x02B3
02B1 940E06D6 CALL _run_task
02B3 CFFD RJMP 0x02B1
02B4 9508 RET
_GET_OUT:
02B5 9B99 SBIS 0x13,1
02B6 C003 RJMP 0x02BA
02B7 E001 LDI R16,1
02B8 E010 LDI R17,0
02B9 C002 RJMP 0x02BC
02BA 2700 CLR R16
02BB 2711 CLR R17
02BC 9508 RET
_CC1100_send:
size --> R22
txPtr --> R20
02BD 940E0DED CALL push_gset2
02BF 2F62 MOV R22,R18
02C0 01A8 MOVW R20,R16
02C1 2F26 MOV R18,R22
02C2 2733 CLR R19
02C3 018A MOVW R16,R20
02C4 D322 RCALL _CC1100_sendRFburst
02C5 940E0DDB CALL pop_gset2
02C7 9508 RET
_Dly10us:
i --> R16
02C8 2700 CLR R16
02C9 C00B RJMP 0x02D5
02CA 0000 NOP
02CB 0000 NOP
02CC 0000 NOP
02CD 0000 NOP
02CE 0000 NOP
02CF 0000 NOP
02D0 0000 NOP
02D1 0000 NOP
02D2 0000 NOP
02D3 0000 NOP
02D4 9503 INC R16
02D5 300A CPI R16,0xA
02D6 F398 BCS 0x02CA
02D7 9508 RET
_Dly1mS:
i --> R20
j --> R22
l --> R16
02D8 940E0DED CALL push_gset2
02DA C012 RJMP 0x02ED
02DB 2744 CLR R20
02DC 2755 CLR R21
02DD C00B RJMP 0x02E9
02DE 2766 CLR R22
02DF 2777 CLR R23
02E0 C002 RJMP 0x02E3
02E1 5F6F SUBI R22,0xFF
02E2 4F7F SBCI R23,0xFF
02E3 3664 CPI R22,0x64
02E4 E0E0 LDI R30,0
02E5 077E CPC R23,R30
02E6 F3D0 BCS 0x02E1
02E7 5F4F SUBI R20,0xFF
02E8 4F5F SBCI R21,0xFF
02E9 3346 CPI R20,0x36
02EA E0E0 LDI R30,0
02EB 075E CPC R21,R30
02EC F388 BCS 0x02DE
02ED 0118 MOVW R2,R16
02EE 5001 SUBI R16,1
02EF 4010 SBCI R17,0
02F0 2022 TST R2
02F1 F749 BNE 0x02DB
02F2 2033 TST R3
02F3 F739 BNE 0x02DB
02F4 940E0DDB CALL pop_gset2
02F6 9508 RET
_SPI_write:
rd_pin --> R20
i --> R22
spi_status --> R10
value --> R12
02F7 940E0DE9 CALL push_gset4
02F9 2F40 MOV R20,R16
02FA 2766 CLR R22
02FB C036 RJMP 0x0332
02FC 2F84 MOV R24,R20
02FD 7880 ANDI R24,0x80
02FE 3880 CPI R24,0x80
02FF F439 BNE 0x0307
0300 DFC7 RCALL _Dly10us
0301 91800065 LDS R24,0x65
0303 6082 ORI R24,2
0304 93800065 STS 0x65,R24
0306 C007 RJMP 0x030E
0307 91800065 LDS R24,0x65
0309 7F8D ANDI R24,0xFD
030A 93800065 STS 0x65,R24
030C DFBB RCALL _Dly10us
030D DFBA RCALL _Dly10us
030E DFB9 RCALL _Dly10us
030F DFB8 RCALL _Dly10us
0310 DFB7 RCALL _Dly10us
0311 91800065 LDS R24,0x65
0313 6081 ORI R24,1
0314 93800065 STS 0x65,R24
0316 DFB1 RCALL _Dly10us
0317 DFB0 RCALL _Dly10us
0318 DFAF RCALL _Dly10us
0319 DFAE RCALL _Dly10us
031A DFAD RCALL _Dly10us
031B 0F44 LSL R20
031C 0CAA LSL R10
031D DF97 RCALL _GET_OUT
031E 2EC0 MOV R12,R16
031F 2D8C MOV R24,R12
0320 7081 ANDI R24,1
0321 3081 CPI R24,1
0322 F421 BNE 0x0327
0323 2D8A MOV R24,R10
0324 6081 ORI R24,1
0325 2EA8 MOV R10,R24
0326 C003 RJMP 0x032A
0327 2D8A MOV R24,R10
0328 7F8E ANDI R24,0xFE
0329 2EA8 MOV R10,R24
032A 91800065 LDS R24,0x65
032C 7F8E ANDI R24,0xFE
032D 93800065 STS 0x65,R24
032F DF98 RCALL _Dly10us
0330 DF97 RCALL _Dly10us
0331 9563 INC R22
0332 3068 CPI R22,0x8
0333 F408 BCC 0x0335
0334 CFC7 RJMP 0x02FC
0335 2D0A MOV R16,R10
0336 940E0DE1 CALL pop_gset4
0338 9508 RET
_SPI_read:
rd_pin --> R20
value --> R22
i --> R10
0339 940E0DEB CALL push_gset3
033B 2744 CLR R20
033C C025 RJMP 0x0362
033D 91800065 LDS R24,0x65
033F 6081 ORI R24,1
0340 93800065 STS 0x65,R24
0342 0CAA LSL R10
0343 DF84 RCALL _Dly10us
0344 DF83 RCALL _Dly10us
0345 DF82 RCALL _Dly10us
0346 DF81 RCALL _Dly10us
0347 DF80 RCALL _Dly10us
0348 DF6C RCALL _GET_OUT
0349 2F60 MOV R22,R16
034A 2F86 MOV R24,R22
034B 7081 ANDI R24,1
034C 3081 CPI R24,1
034D F421 BNE 0x0352
034E 2D8A MOV R24,R10
034F 6081 ORI R24,1
0350 2EA8 MOV R10,R24
0351 C003 RJMP 0x0355
0352 2D8A MOV R24,R10
0353 7F8E ANDI R24,0xFE
0354 2EA8 MOV R10,R24
0355 DF72 RCALL _Dly10us
0356 DF71 RCALL _Dly10us
0357 91800065 LDS R24,0x65
0359 7F8E ANDI R24,0xFE
035A 93800065 STS 0x65,R24
035C DF6B RCALL _Dly10us
035D DF6A RCALL _Dly10us
035E DF69 RCALL _Dly10us
035F DF68 RCALL _Dly10us
0360 DF67 RCALL _Dly10us
0361 9543 INC R20
0362 3048 CPI R20,0x8
0363 F2C8 BCS 0x033D
0364 2D0A MOV R16,R10
0365 940E0DDE CALL pop_gset3
0367 9508 RET
_spiGetRxTxStatus:
RxTxstatus --> R20
0368 940E0DEF CALL push_gset1
036A 98AA CBI 0x15,2
036B DF49 RCALL _GET_OUT
036C 3000 CPI R16,0
036D 0701 CPC R16,R17
036E F7E1 BNE 0x036B
036F 91800065 LDS R24,0x65
0371 7F8E ANDI R24,0xFE
0372 93800065 STS 0x65,R24
0374 E30D LDI R16,0x3D
0375 DF81 RCALL _SPI_write
0376 2F40 MOV R20,R16
0377 91800065 LDS R24,0x65
0379 7F8E ANDI R24,0xFE
037A 93800065 STS 0x65,R24
037C 91800065 LDS R24,0x65
037E 7F8D ANDI R24,0xFD
037F 93800065 STS 0x65,R24
0381 9AAA SBI 0x15,2
0382 940E0DF2 CALL pop_gset1
0384 9508 RET
_halSpiWriteReg:
value --> R20
addr --> R22
0385 940E0DED CALL push_gset2
0387 2F42 MOV R20,R18
0388 2F60 MOV R22,R16
0389 98AA CBI 0x15,2
038A DF2A RCALL _GET_OUT
038B 3000 CPI R16,0
038C 0701 CPC R16,R17
038D F7E1 BNE 0x038A
038E 91800065 LDS R24,0x65
0390 7F8E ANDI R24,0xFE
0391 93800065 STS 0x65,R24
0393 776F ANDI R22,0x7F
0394 2F06 MOV R16,R22
0395 DF61 RCALL _SPI_write
0396 2F04 MOV R16,R20
0397 DF5F RCALL _SPI_write
0398 91800065 LDS R24,0x65
039A 7F8E ANDI R24,0xFE
039B 93800065 STS 0x65,R24
039D 91800065 LDS R24,0x65
039F 7F8D ANDI R24,0xFD
03A0 93800065 STS 0x65,R24
03A2 9AAA SBI 0x15,2
03A3 940E0DDB CALL pop_gset2
03A5 9508 RET
_halSpiStrobe:
strobe --> R20
03A6 940E0DEF CALL push_gset1
03A8 2F40 MOV R20,R16
03A9 98AA CBI 0x15,2
03AA 91800065 LDS R24,0x65
03AC 7F8E ANDI R24,0xFE
03AD 93800065 STS 0x65,R24
03AF DF05 RCALL _GET_OUT
03B0 3000 CPI R16,0
03B1 0701 CPC R16,R17
03B2 F7E1 BNE 0x03AF
03B3 2F04 MOV R16,R20
03B4 DF42 RCALL _SPI_write
03B5 91800065 LDS R24,0x65
03B7 7F8E ANDI R24,0xFE
03B8 93800065 STS 0x65,R24
03BA 91800065 LDS R24,0x65
03BC 7F8D ANDI R24,0xFD
03BD 93800065 STS 0x65,R24
03BF 9AAA SBI 0x15,2
03C0 940E0DF2 CALL pop_gset1
03C2 9508 RET
_halSpiWriteBurstReg:
value --> R20
j --> R22
i --> R14
count --> R10
buffer --> R12
addr --> R20
03C3 940E0DE7 CALL push_gset5
03C5 0169 MOVW R12,R18
03C6 2F40 MOV R20,R16
03C7 84AA LDD R10,Y+10
03C8 91800065 LDS R24,0x65
03CA 7F8E ANDI R24,0xFE
03CB 93800065 STS 0x65,R24
03CD DEFA RCALL _Dly10us
03CE DEF9 RCALL _Dly10us
03CF 98AA CBI 0x15,2
03D0 6440 ORI R20,0x40
03D1 2F04 MOV R16,R20
03D2 DF24 RCALL _SPI_write
03D3 91800065 LDS R24,0x65
03D5 7F8D ANDI R24,0xFD
03D6 93800065 STS 0x65,R24
03D8 2766 CLR R22
03D9 C013 RJMP 0x03ED
03DA 2FE6 MOV R30,R22
03DB 27FF CLR R31
03DC 0DEC ADD R30,R12
03DD 1DFD ADC R31,R13
03DE 8140 LDD R20,Z+0
03DF 2F04 MOV R16,R20
03E0 DF16 RCALL _SPI_write
03E1 91800065 LDS R24,0x65
03E3 7F8D ANDI R24,0xFD
03E4 93800065 STS 0x65,R24
03E6 24EE CLR R14
03E7 C001 RJMP 0x03E9
03E8 94E3 INC R14
03E9 2D8E MOV R24,R14
03EA 3684 CPI R24,0x64
03EB F3E0 BCS 0x03E8
03EC 9563 INC R22
03ED 156A CP R22,R10
03EE F358 BCS 0x03DA
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?