📄 main_frame.lst
字号:
0173 B823 OUT 0x03,R2
0174 B822 OUT 0x02,R2
0175 92200062 STS 0x62,R2
0177 92200061 STS 0x61,R2
0179 92200065 STS 0x65,R2
017B E083 LDI R24,3
017C 93800064 STS 0x64,R24
017E 9508 RET
_uart0_init:
017F 2422 CLR R2
0180 B82A OUT 0x0A,R2
0181 B82B OUT 0x0B,R2
0182 E086 LDI R24,6
0183 93800095 STS 0x95,R24
0185 E087 LDI R24,7
0186 B989 OUT 0x09,R24
0187 92200090 STS 0x90,R2
0189 E188 LDI R24,0x18
018A B98A OUT 0x0A,R24
018B 9508 RET
_init_devices:
018C 94F8 BCLR 7
018D 2422 CLR R2
018E BE2C OUT 0x3C,R2
018F 9220006D STS 0x6D,R2
0191 DFD7 RCALL _port_init
0192 940E0768 CALL _led_init
0194 940E0C13 CALL _T0_init
0196 940E0C78 CALL _T2_init
0198 940E0C46 CALL _T1_init
019A 940E0CA9 CALL _T3_init
019C 940E0696 CALL _CC1100_init
019E DFE0 RCALL _uart0_init
019F 2422 CLR R2
01A0 BE25 OUT 0x35,R2
01A1 9220006A STS 0x6A,R2
01A3 BE2A OUT 0x3A,R2
01A4 BE29 OUT 0x39,R2
01A5 BE27 OUT 0x37,R2
01A6 9220007D STS 0x7D,R2
01A8 9478 BSET 7
01A9 9508 RET
_delay_1ms:
01AA 940E12C3 CALL push_gset2
01AC 01B8 MOVW R22,R16
01AD E041 LDI R20,1
01AE E050 LDI R21,0
01AF C002 RJMP 0x01B2
01B0 5F4F SUBI R20,0xFF
01B1 4F5F SBCI R21,0xFF
01B2 E80F LDI R16,0x8F
01B3 E010 LDI R17,0
01B4 019B MOVW R18,R22
01B5 940E1271 CALL empy16s
01B7 01C8 MOVW R24,R16
01B8 9702 SBIW R24,2
01B9 1748 CP R20,R24
01BA 0759 CPC R21,R25
01BB F3A0 BCS 0x01B0
01BC 940E12B1 CALL pop_gset2
01BE 9508 RET
_delay_x:
01BF 940E12C3 CALL push_gset2
01C1 01B8 MOVW R22,R16
01C2 2744 CLR R20
01C3 2755 CLR R21
01C4 C005 RJMP 0x01CA
01C5 E007 LDI R16,7
01C6 E010 LDI R17,0
01C7 DFE2 RCALL _delay_1ms
01C8 5F4F SUBI R20,0xFF
01C9 4F5F SBCI R21,0xFF
01CA 1746 CP R20,R22
01CB 0757 CPC R21,R23
01CC F3C0 BCS 0x01C5
01CD 940E12B1 CALL pop_gset2
01CF 9508 RET
_main:
01D0 9120010A LDS R18,node_num
01D2 2733 CLR R19
01D3 91000108 LDS R16,T
01D5 91100109 LDS R17,T+1
01D7 940E11E6 CALL div16u
01D9 0198 MOVW R18,R16
01DA E002 LDI R16,2
01DB E010 LDI R17,0
01DC 940E1271 CALL empy16s
01DE 930001E4 STS T_p_node,R16
01E0 DFAB RCALL _init_devices
01E1 90200101 LDS R2,LOCAL_GID
01E3 E082 LDI R24,2
01E4 9D82 MUL R24,R2
01E5 2D00 MOV R16,R0
01E6 5001 SUBI R16,1
01E7 5F06 SUBI R16,0xF6
01E8 940E0733 CALL _CC1100_change_channr
01EA 2422 CLR R2
01EB 2433 CLR R3
01EC 923001E4 STS T_p_node,R3
01EE 922001E3 STS sleep_flag,R2
01F0 940E03B5 CALL _sched_init
01F2 E001 LDI R16,1
01F3 940E06F3 CALL _CC1100_setInterrupt
01F5 940E100A CALL _PowerEnable
01F7 C002 RJMP 0x01FA
01F8 940E0432 CALL _run_task
01FA CFFD RJMP 0x01F8
01FB 9508 RET
_param_init:
01FC 9508 RET
_eeprom_write:
01FD 99E1 SBIC 0x1C,1
01FE CFFE RJMP _eeprom_write
01FF BB1F OUT 0x1F,R17
0200 BB0E OUT 0x1E,R16
0201 BB2D OUT 0x1D,R18
0202 9AE2 SBI 0x1C,2
0203 9AE1 SBI 0x1C,1
0204 9508 RET
_eeprom_read:
0205 99E1 SBIC 0x1C,1
0206 CFFE RJMP _eeprom_read
0207 BB1F OUT 0x1F,R17
0208 BB0E OUT 0x1E,R16
0209 9AE0 SBI 0x1C,0
020A B30D IN R16,0x1D
020B 9508 RET
_T1_timeout:
020C 940E0790 CALL _led1Toggle
020E 91200108 LDS R18,T
0210 91300109 LDS R19,T+1
0212 E001 LDI R16,1
0213 940E0999 CALL _start_T0
0215 940E0760 CALL _CC1100_sleep
0217 9508 RET
_CC1100_sendDone:
0218 9180010C LDS R24,send_seq
021A 5F8F SUBI R24,0xFF
021B 9380010C STS send_seq,R24
021D 9508 RET
_CC1100_receive:
021E 940E12BF CALL push_gset4
0220 E166 LDI R22,0x16
0221 E072 LDI R23,2
0222 01AB MOVW R20,R22
0223 01FA MOVW R30,R20
0224 8165 LDD R22,Z+5
0225 01FA MOVW R30,R20
0226 80A3 LDD R10,Z+3
0227 80B4 LDD R11,Z+4
0228 90200101 LDS R2,LOCAL_GID
022A 2433 CLR R3
022B 2C32 MOV R3,R2
022C 2422 CLR R2
022D 90400100 LDS R4,LOCAL_ID
022F 2455 CLR R5
0230 0131 MOVW R6,R2
0231 0C64 ADD R6,R4
0232 1C75 ADC R7,R5
0233 14A6 CP R10,R6
0234 04B7 CPC R11,R7
0235 F049 BEQ 0x023F
0236 01C5 MOVW R24,R10
0237 3F8F CPI R24,0xFF
0238 EFEF LDI R30,0xFF
0239 079E CPC R25,R30
023A F021 BEQ 0x023F
023B 1582 CP R24,R2
023C 0593 CPC R25,R3
023D F009 BEQ 0x023F
023E C0B4 RJMP 0x02F3
023F 2777 CLR R23
0240 316D CPI R22,0x1D
0241 E0E0 LDI R30,0
0242 077E CPC R23,R30
0243 F409 BNE 0x0245
0244 C07F RJMP 0x02C4
0245 E18D LDI R24,0x1D
0246 E090 LDI R25,0
0247 1786 CP R24,R22
0248 0797 CPC R25,R23
0249 F074 BLT 0x0258
024A 3062 CPI R22,2
024B E0E0 LDI R30,0
024C 077E CPC R23,R30
024D F079 BEQ 0x025D
024E 3064 CPI R22,4
024F E0E0 LDI R30,0
0250 077E CPC R23,R30
0251 F139 BEQ 0x0279
0252 3065 CPI R22,5
0253 E0E0 LDI R30,0
0254 077E CPC R23,R30
0255 F409 BNE 0x0257
0256 C09C RJMP 0x02F3
0257 C09B RJMP 0x02F3
0258 3362 CPI R22,0x32
0259 E0E0 LDI R30,0
025A 077E CPC R23,R30
025B F139 BEQ 0x0283
025C C096 RJMP 0x02F3
025D B76F IN R22,0x3F
025E 94F8 BCLR 7
025F 90200103 LDS R2,SYNC_FLAG
0261 2022 TST R2
0262 F4A1 BNE 0x0277
0263 940E077A CALL _led0Toggle
0265 E081 LDI R24,1
0266 93800103 STS SYNC_FLAG,R24
0268 01FA MOVW R30,R20
0269 80A6 LDD R10,Z+6
026A 91200100 LDS R18,LOCAL_ID
026C 2733 CLR R19
026D EB08 LDI R16,0xB8
026E E01B LDI R17,0xB
026F 940E1271 CALL empy16s
0271 0198 MOVW R18,R16
0272 2700 CLR R16
0273 940E0A32 CALL _start_T1
0275 940E0760 CALL _CC1100_sleep
0277 BF6F OUT 0x3F,R22
0278 C07A RJMP 0x02F3
0279 940E077A CALL _led0Toggle
027B 940E0C08 CALL _stop_T3
027D 940E0760 CALL _CC1100_sleep
027F E081 LDI R24,1
0280 9380010C STS send_seq,R24
0282 C070 RJMP 0x02F3
0283 B76F IN R22,0x3F
0284 94F8 BCLR 7
0285 90200103 LDS R2,SYNC_FLAG
0287 2022 TST R2
0288 F009 BEQ 0x028A
0289 C038 RJMP 0x02C2
028A E081 LDI R24,1
028B 93800103 STS SYNC_FLAG,R24
028D 01FA MOVW R30,R20
028E 80A6 LDD R10,Z+6
028F 01FA MOVW R30,R20
0290 80C1 LDD R12,Z+1
0291 90200100 LDS R2,LOCAL_ID
0293 142C CP R2,R12
0294 F4C0 BCC 0x02AD
0295 2C3C MOV R3,R12
0296 1832 SUB R3,R2
0297 902001E4 LDS R2,T_p_node
0299 9C32 MUL R3,R2
029A 0110 MOVW R2,R0
029B 2D2A MOV R18,R10
029C 2733 CLR R19
029D EF04 LDI R16,0xF4
029E E011 LDI R17,1
029F 940E1271 CALL empy16s
02A1 0E20 ADD R2,R16
02A2 1E31 ADC R3,R17
02A3 91200108 LDS R18,T
02A5 91300109 LDS R19,T+1
02A7 1922 SUB R18,R2
02A8 0933 SBC R19,R3
02A9 2700 CLR R16
02AA 940E0A32 CALL _start_T1
02AC C013 RJMP 0x02C0
02AD 90200100 LDS R2,LOCAL_ID
02AF 182C SUB R2,R12
02B0 903001E4 LDS R3,T_p_node
02B2 9C23 MUL R2,R3
02B3 0110 MOVW R2,R0
02B4 2D2A MOV R18,R10
02B5 2733 CLR R19
02B6 EF04 LDI R16,0xF4
02B7 E011 LDI R17,1
02B8 940E1271 CALL empy16s
02BA 1A20 SUB R2,R16
02BB 0A31 SBC R3,R17
02BC 0191 MOVW R18,R2
02BD 2700 CLR R16
02BE 940E0A32 CALL _start_T1
02C0 940E0760 CALL _CC1100_sleep
02C2 BF6F OUT 0x3F,R22
02C3 C02F RJMP 0x02F3
02C4 01FA MOVW R30,R20
02C5 8026 LDD R2,Z+6
02C6 92200100 STS LOCAL_ID,R2
02C8 2D22 MOV R18,R2
02C9 2733 CLR R19
02CA 2700 CLR R16
02CB 2711 CLR R17
02CC DF30 RCALL _eeprom_write
02CD 01FA MOVW R30,R20
02CE 8027 LDD R2,Z+7
02CF 92200101 STS LOCAL_GID,R2
02D1 2D22 MOV R18,R2
02D2 2733 CLR R19
02D3 2700 CLR R16
02D4 2711 CLR R17
02D5 DF27 RCALL _eeprom_write
02D6 01FA MOVW R30,R20
02D7 8420 LDD R2,Z+8
02D8 2433 CLR R3
02D9 92300109 STS T+1,R3
02DB 92200108 STS T,R2
02DD 0191 MOVW R18,R2
02DE 2700 CLR R16
02DF 2711 CLR R17
02E0 DF1C RCALL _eeprom_write
02E1 01FA MOVW R30,R20
02E2 8421 LDD R2,Z+9
02E3 9220010A STS node_num,R2
02E5 2D22 MOV R18,R2
02E6 2733 CLR R19
02E7 2700 CLR R16
02E8 2711 CLR R17
02E9 DF13 RCALL _eeprom_write
02EA 01FA MOVW R30,R20
02EB 8422 LDD R2,Z+10
02EC 92200104 STS ALARM_TMP,R2
02EE 2D22 MOV R18,R2
02EF 2733 CLR R19
02F0 2700 CLR R16
02F1 2711 CLR R17
02F2 DF0A RCALL _eeprom_write
02F3 940E12B7 CALL pop_gset4
02F5 9508 RET
_resend:
02F6 9508 RET
_T2_timeout:
02F7 9508 RET
_T3_timeout:
02F8 9180010B LDS R24,timeout
02FA 5F8F SUBI R24,0xFF
02FB 9380010B STS timeout,R24
02FD E082 LDI R24,2
02FE 9020010B LDS R2,timeout
0300 1582 CP R24,R2
0301 F078 BCS 0x0311
0302 912001E5 LDS R18,node_data
0304 2733 CLR R19
0305 5F2F SUBI R18,0xFF
0306 4F3F SBCI R19,0xFF
0307 EE05 LDI R16,0xE5
0308 E011 LDI R17,1
0309 940E0470 CALL _CC1100_send
030B EF24 LDI R18,0xF4
030C E031 LDI R19,1
030D 2700 CLR R16
030E 940E0B69 CALL _start_T3
0310 C007 RJMP 0x0318
0311 940E0C08 CALL _stop_T3
0313 940E0760 CALL _CC1100_sleep
0315 2422 CLR R2
0316 9220010B STS timeout,R2
0318 9508 RET
_T0_timeout:
0319 940E12BF CALL push_gset4
031B 24AA CLR R10
031C 24AA CLR R10
031D 94A3 INC R10
031E 2D2A MOV R18,R10
031F 2733 CLR R19
0320 E101 LDI R16,0x11
0321 E011 LDI R17,1
0322 940E1412 CALL _printf
0324 9180010F LDS R24,sync_count
0326 91900110 LDS R25,sync_count+1
0328 9701 SBIW R24,1
0329 93900110 STS sync_count+1,R25
032B 9380010F STS sync_count,R24
032D 3080 CPI R24,0
032E 0789 CPC R24,R25
032F F4D9 BNE 0x034B
0330 940E0A2A CALL _stop_T0
0332 902001E4 LDS R2,T_p_node
0334 9030010A LDS R3,node_num
0336 9C32 MUL R3,R2
0337 91200108 LDS R18,T
0339 91300109 LDS R19,T+1
033B 1920 SUB R18,R0
033C 0931 SBC R19,R1
033D 2700 CLR R16
033E 940E0999 CALL _start_T0
0340 2422 CLR R2
0341 92200103 STS SYNC_FLAG,R2
0343 E18E LDI R24,0x1E
0344 E090 LDI R25,0
0345 93900110 STS sync_count+1,R25
0347 9380010F STS sync_count,R24
0349 940E073C CALL _CC1100_wakeup
034B 940E0943 CALL _get_tmp
034D 2EC0 MOV R12,R16
034E 9180010D LDS R24,count
0350 9190010E LDS R25,count+1
0352 9601 ADIW R24,1
0353 9390010E STS count+1,R25
0355 9380010D STS count,R24
0357 90200104 LDS R2,ALARM_TMP
0359 1620 CP R2,R16
035A F440 BCC 0x0363
035B EE40 LDI R20,0xE0
035C E953 LDI R21,0x93
035D E064 LDI R22,4
035E E070 LDI R23,0
035F 019A MOVW R18,R20
0360 2700 CLR R16
0361 940E0B69 CALL _start_T3
0363 E383 LDI R24,0x33
0364 2EA8 MOV R10,R24
0365 E08C LDI R24,0xC
0366 938001E5 STS node_data,R24
0368 90200100 LDS R2,LOCAL_ID
036A 922001E6 STS node_data+1,R2
036C 90200101 LDS R2,LOCAL_GID
036E 922001E7 STS node_data+2,R2
0370 2433 CLR R3
0371 2C32 MOV R3,R2
0372 2422 CLR R2
0373 923001E9 STS 0x1E9,R3
0375 922001E8 STS node_data+3,R2
0377 E382 LDI R24,0x32
0378 938001EA STS 0x1EA,R24
037A 9020010C LDS R2,send_seq
037C 922001EB STS 0x1EB,R2
037E 92C001EC STS 0x1EC,R12
0380 2D8A MOV R24,R10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -