main_frame.lst
来自「mega128平台下」· LST 代码 · 共 2,086 行 · 第 1/5 页
LST
2,086 行
05A4 2F40 MOV R20,R16
05A5 2F04 MOV R16,R20
05A6 DEA6 RCALL _halSpiReadReg
05A7 9300015D STS rd_reg,R16
05A9 940E0DF2 CALL pop_gset1
05AB 9508 RET
_CC1100_readStatus:
address --> R20
05AC 940E0DEF CALL push_gset1
05AE 2F40 MOV R20,R16
05AF 2F04 MOV R16,R20
05B0 DF01 RCALL _halSpiReadStatus
05B1 940E0DF2 CALL pop_gset1
05B3 9508 RET
_CC1100_readBurstReg:
count --> Y+5
buffer --> R22
addr --> R20
05B4 940E0DED CALL push_gset2
05B6 01B9 MOVW R22,R18
05B7 2F40 MOV R20,R16
05B8 9721 SBIW R28,1
05B9 800D LDD R0,Y+5
05BA 8208 STD Y+0,R0
05BB 019B MOVW R18,R22
05BC 2F04 MOV R16,R20
05BD DEBC RCALL _halSpiReadBurstReg
05BE E001 LDI R16,1
05BF 9621 ADIW R28,1
05C0 940E0DDB CALL pop_gset2
05C2 9508 RET
_CC1100_setInterrupt:
flag --> R20
05C3 940E0DEF CALL push_gset1
05C5 2F40 MOV R20,R16
05C6 2344 TST R20
05C7 F449 BNE 0x05D1
05C8 E082 LDI R24,2
05C9 BF88 OUT 0x38,R24
05CA E088 LDI R24,0x8
05CB 9380006A STS 0x6A,R24
05CD 2422 CLR R2
05CE BE2A OUT 0x3A,R2
05CF BE29 OUT 0x39,R2
05D0 C012 RJMP 0x05E3
05D1 3041 CPI R20,1
05D2 F461 BNE 0x05DF
05D3 E082 LDI R24,2
05D4 BF88 OUT 0x38,R24
05D5 E088 LDI R24,0x8
05D6 9380006A STS 0x6A,R24
05D8 2422 CLR R2
05D9 BE2A OUT 0x3A,R2
05DA E082 LDI R24,2
05DB BF89 OUT 0x39,R24
05DC E304 LDI R16,0x34
05DD DDC8 RCALL _halSpiStrobe
05DE C004 RJMP 0x05E3
05DF 3042 CPI R20,2
05E0 F411 BNE 0x05E3
05E1 E304 LDI R16,0x34
05E2 DDC3 RCALL _halSpiStrobe
05E3 E001 LDI R16,1
05E4 940E0DF2 CALL pop_gset1
05E6 9508 RET
_CC1100_sendRFburst:
size --> R22
txPtr --> R20
05E7 940E0DED CALL push_gset2
05E9 2F62 MOV R22,R18
05EA 01A8 MOVW R20,R16
05EB 2700 CLR R16
05EC DFD6 RCALL _CC1100_setInterrupt
05ED E306 LDI R16,0x36
05EE DDB7 RCALL _halSpiStrobe
05EF 2F26 MOV R18,R22
05F0 018A MOVW R16,R20
05F1 DE38 RCALL _halRfSendPacket
05F2 9180010C LDS R24,SEND_DONE
05F4 3081 CPI R24,1
05F5 F449 BNE 0x05FF
05F6 2422 CLR R2
05F7 9220010C STS SEND_DONE,R2
05F9 E001 LDI R16,1
05FA E010 LDI R17,0
05FB 940E0161 CALL _CC1100_sendDone
05FD E001 LDI R16,1
05FE DFC4 RCALL _CC1100_setInterrupt
05FF E001 LDI R16,1
0600 940E0DDB CALL pop_gset2
0602 9508 RET
_CC1100_change_channr:
channr_NO --> R20
0603 940E0DEF CALL push_gset1
0605 2F40 MOV R20,R16
0606 2F24 MOV R18,R20
0607 E00A LDI R16,0xA
0608 DD7C RCALL _halSpiWriteReg
0609 940E0DF2 CALL pop_gset1
060B 9508 RET
_led_init:
060C B385 IN R24,0x15
060D 6780 ORI R24,0x70
060E BB85 OUT 0x15,R24
060F 9508 RET
_led0Off:
0610 9AAC SBI 0x15,4
0611 9180010D LDS R24,ledsOn
0613 6180 ORI R24,0x10
0614 9380010D STS ledsOn,R24
0616 9508 RET
_led0On:
0617 98AC CBI 0x15,4
0618 9180010D LDS R24,ledsOn
061A 7E8F ANDI R24,0xEF
061B 9380010D STS ledsOn,R24
061D 9508 RET
_led0Toggle:
061E 9020010D LDS R2,ledsOn
0620 FE24 SBRS R2,4
0621 C002 RJMP 0x0624
0622 DFF4 RCALL _led0On
0623 C001 RJMP 0x0625
0624 DFEB RCALL _led0Off
0625 9508 RET
_led1Off:
0626 9AAD SBI 0x15,5
0627 9180010D LDS R24,ledsOn
0629 6280 ORI R24,0x20
062A 9380010D STS ledsOn,R24
062C 9508 RET
_led1On:
062D 98AD CBI 0x15,5
062E 9180010D LDS R24,ledsOn
0630 7D8F ANDI R24,0xDF
0631 9380010D STS ledsOn,R24
0633 9508 RET
_led1Toggle:
0634 9020010D LDS R2,ledsOn
0636 FE25 SBRS R2,5
0637 C002 RJMP 0x063A
0638 DFF4 RCALL _led1On
0639 C001 RJMP 0x063B
063A DFEB RCALL _led1Off
063B 9508 RET
_led2Off:
063C 9AAE SBI 0x15,6
063D 9180010D LDS R24,ledsOn
063F 6480 ORI R24,0x40
0640 9380010D STS ledsOn,R24
0642 9508 RET
_led2On:
0643 98AE CBI 0x15,6
0644 9180010D LDS R24,ledsOn
0646 7B8F ANDI R24,0xBF
0647 9380010D STS ledsOn,R24
0649 9508 RET
_led2Toggle:
064A 9020010D LDS R2,ledsOn
064C FE26 SBRS R2,6
064D C002 RJMP 0x0650
064E DFF4 RCALL _led2On
064F C001 RJMP 0x0651
0650 DFEB RCALL _led2Off
0651 9508 RET
_atomic_start:
result --> R16
0652 B70F IN R16,0x3F
0653 94F8 BCLR 7
0654 9508 RET
_atomic_end:
oldSreg --> R16
0655 BF0F OUT 0x3F,R16
0656 9508 RET
_TOSH_wait:
0657 9508 RET
_TOSH_sleep:
0658 9508 RET
_sched_init:
i --> R20
0659 940E0DEF CALL push_gset1
065B 2422 CLR R2
065C 9220017E STS TOSH_sched_free,R2
065E 9220017F STS TOSH_sched_full,R2
0660 2744 CLR R20
0661 2755 CLR R21
0662 E002 LDI R16,2
0663 E010 LDI R17,0
0664 019A MOVW R18,R20
0665 940E0D9B CALL empy16s
0667 01F8 MOVW R30,R16
0668 E880 LDI R24,0x80
0669 E091 LDI R25,1
066A 0FE8 ADD R30,R24
066B 1FF9 ADC R31,R25
066C 2422 CLR R2
066D 2433 CLR R3
066E 8231 STD Z+1,R3
066F 8220 STD Z+0,R2
0670 5F4F SUBI R20,0xFF
0671 4F5F SBCI R21,0xFF
0672 3048 CPI R20,0x8
0673 E0E0 LDI R30,0
0674 075E CPC R21,R30
0675 F364 BLT 0x0662
0676 940E0DF2 CALL pop_gset1
0678 9508 RET
_post:
fInterruptFlags --> R20
tmp --> R10
tp --> R22
0679 940E0DEB CALL push_gset3
067B 01B8 MOVW R22,R16
067C DFD5 RCALL _atomic_start
067D 2F40 MOV R20,R16
067E 90A0017E LDS R10,TOSH_sched_free
0680 E082 LDI R24,2
0681 9D8A MUL R24,R10
0682 01F0 MOVW R30,R0
0683 E880 LDI R24,0x80
0684 E091 LDI R25,1
0685 0FE8 ADD R30,R24
0686 1FF9 ADC R31,R25
0687 8020 LDD R2,Z+0
0688 8031 LDD R3,Z+1
0689 2022 TST R2
068A F4A1 BNE 0x069F
068B 2033 TST R3
068C F491 BNE 0x069F
068D 2D8A MOV R24,R10
068E 5F8F SUBI R24,0xFF
068F 7087 ANDI R24,7
0690 9380017E STS TOSH_sched_free,R24
0692 E082 LDI R24,2
0693 9D8A MUL R24,R10
0694 01F0 MOVW R30,R0
0695 E880 LDI R24,0x80
0696 E091 LDI R25,1
0697 0FE8 ADD R30,R24
0698 1FF9 ADC R31,R25
0699 8371 STD Z+1,R23
069A 8360 STD Z+0,R22
069B 2F04 MOV R16,R20
069C DFB8 RCALL _atomic_end
069D E001 LDI R16,1
069E C003 RJMP 0x06A2
069F 2F04 MOV R16,R20
06A0 DFB4 RCALL _atomic_end
06A1 2700 CLR R16
06A2 940E0DDE CALL pop_gset3
06A4 9508 RET
_TOSH_run_next_task:
fInterruptFlags --> R22
func --> R20
old_full --> R10
06A5 940E0DEB CALL push_gset3
06A7 DFAA RCALL _atomic_start
06A8 2F60 MOV R22,R16
06A9 90A0017F LDS R10,TOSH_sched_full
06AB E082 LDI R24,2
06AC 9D8A MUL R24,R10
06AD 01F0 MOVW R30,R0
06AE E880 LDI R24,0x80
06AF E091 LDI R25,1
06B0 0FE8 ADD R30,R24
06B1 1FF9 ADC R31,R25
06B2 8140 LDD R20,Z+0
06B3 8151 LDD R21,Z+1
06B4 3040 CPI R20,0
06B5 0745 CPC R20,R21
06B6 F429 BNE 0x06BC
06B7 2F06 MOV R16,R22
06B8 DF9C RCALL _atomic_end
06B9 2700 CLR R16
06BA 2711 CLR R17
06BB C017 RJMP 0x06D3
06BC E082 LDI R24,2
06BD 9D8A MUL R24,R10
06BE 01F0 MOVW R30,R0
06BF E880 LDI R24,0x80
06C0 E091 LDI R25,1
06C1 0FE8 ADD R30,R24
06C2 1FF9 ADC R31,R25
06C3 2422 CLR R2
06C4 2433 CLR R3
06C5 8231 STD Z+1,R3
06C6 8220 STD Z+0,R2
06C7 2D8A MOV R24,R10
06C8 5F8F SUBI R24,0xFF
06C9 7087 ANDI R24,7
06CA 9380017F STS TOSH_sched_full,R24
06CC 2F06 MOV R16,R22
06CD DF87 RCALL _atomic_end
06CE 01FA MOVW R30,R20
06CF 940E0E06 CALL xicall
06D1 E001 LDI R16,1
06D2 E010 LDI R17,0
06D3 940E0DDE CALL pop_gset3
06D5 9508 RET
_run_task:
06D6 DFCE RCALL _TOSH_run_next_task
06D7 3000 CPI R16,0
06D8 0701 CPC R16,R17
06D9 F7E1 BNE 0x06D6
06DA DF7D RCALL _TOSH_sleep
06DB DF7B RCALL _TOSH_wait
06DC 9508 RET
___nesc_enable_interrupt:
06DD 9478 BSET 7
06DE 9508 RET
_start_T0:
t_count --> R10
count --> R10
type --> R12
06DF 940E0DE9 CALL push_gset4
06E1 0159 MOVW R10,R18
06E2 2EC0 MOV R12,R16
06E3 2D8C MOV R24,R12
06E4 3081 CPI R24,1
06E5 F421 BNE 0x06EA
06E6 E081 LDI R24,1
06E7 938001BF STS T0+2,R24
06E9 C003 RJMP 0x06ED
06EA 2422 CLR R2
06EB 922001BF STS T0+2,R2
06ED 0115 MOVW R2,R10
06EE 2444 CLR R4
06EF 2455 CLR R5
06F0 923001C1 STS 0x1C1,R3
06F2 922001C0 STS T0+3,R2
06F4 925001C3 STS 0x1C3,R5
06F6 924001C2 STS 0x1C2,R4
06F8 2444 CLR R4
06F9 2455 CLR R5
06FA 923001C5 STS 0x1C5,R3
06FC 922001C4 STS 0x1C4,R2
06FE 925001C7 STS 0x1C7,R5
0700 924001C6 STS 0x1C6,R4
0702 E844 LDI R20,0x84
0703 E053 LDI R21,3
0704 E060 LDI R22,0
0705 E070 LDI R23,0
0706 904001C6 LDS R4,0x1C6
0708 905001C7 LDS R5,0x1C7
070A 902001C4 LDS R2,0x1C4
070C 903001C5 LDS R3,0x1C5
070E 1542 CP R20,R2
070F 0553 CPC R21,R3
0710 0564 CPC R22,R4
0711 0575 CPC R23,R5
0712 F498 BCC 0x0726
0713 E844 LDI R20,0x84
0714 E053 LDI R21,3
0715 E060 LDI R22,0
0716 E070 LDI R23,0
0717 1A24 SUB R2,R20
0718 0A35 SBC R3,R21
0719 0A46 SBC R4,R22
071A 0A57 SBC R5,R23
071B 923001C5 STS 0x1C5,R3
071D 922001C4 STS 0x1C4,R2
071F 925001C7 STS 0x1C7,R5
0721 924001C6 STS 0x1C6,R4
0723 2422 CLR R2
0724 BE22 OUT 0x32,R2
0725 C03D RJMP 0x0763
0726 904001C6 LDS R4,0x1C6
0728 905001C7 LDS R5,0x1C7
072A 902001C4 LDS R2,0x1C4
072C 903001C5 LDS R3,0x1C5
072E E040 LDI R20,0
072F E051 LDI R21,1
0730 E060 LDI R22,0
0731 E070 LDI R23,0
0732 925A ST R5,-Y
0733 924A ST R4,-Y
0734 923A ST R3,-Y
0735 922A ST R2,-Y
0736 018A MOVW R16,R20
0737 019B MOVW R18,R22
0738 940E0DAB CALL empy32s
073A EE48 LDI R20,0xE8
073B E053 LDI R21,3
073C E060 LDI R22,0
073D E070 LDI R23,0
073E 937A ST R23,-Y
073F 936A ST R22,-Y
0740 935A ST R21,-Y
0741 934A ST R20,-Y
0742 940E0D2A CALL div32u
0744 0118 MOVW R2,R16
0745 0129 MOVW R4,R18
0746 E041 LDI R20,1
0747 E050 LDI R21,0
0748 E060 LDI R22,0
0749 E070 LDI R23,0
074A 1A24 SUB R2,R20
074B 0A35 SBC R3,R21
074C 0A46 SBC R4,R22
074D 0A57 SBC R5,R23
074E 2CA2 MOV R10,R2
074F E040 LDI R20,0
0750 E050 LDI R21,0
0751 E060 LDI R22,0
0752 E070 LDI R23,0
0753 935001C5 STS 0x1C5,R21
0755 934001C4 STS 0x1C4,R20
0757 937001C7 STS 0x1C7,R23
0759 936001C6 STS 0x1C6,R22
075B 2D82 MOV R24,R2
075C 2799 CLR R25
075D 7090 ANDI R25,0
075E EFEF LDI R30,0xFF
075F E0F0 LDI R31,0
0760 1BE8 SUB R30,R24
0761 0BF9 SBC R31,R25
0762 BFE2 OUT 0x32,R30
0763 E085 LDI R24,5
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?