📄 ppp.lst
字号:
0752 93BF PUSH R27
0753 81A0 LDD R26,Z+0
0754 81B1 LDD R27,Z+1
0755 01FD MOVW R30,R26
0756 91BF POP R27
0757 91AF POP R26
0758 9631 ADIW R30,1
0759 EA87 LDI R24,0xA7
075A E09A LDI R25,0xA
075B 0FE8 ADD R30,R24
075C 1FF9 ADC R31,R25
075D 8020 LDD R2,Z+0
075E 903005FD LDS R3,0x5FD
0760 0C32 ADD R3,R2
0761 923005FD STS 0x5FD,R3
(0235) OutBuffer[length1+2]=MRU>>8;
0763 EF86 LDI R24,0xF6
0764 E095 LDI R25,5
0765 ADEE LDD R30,Y+62
0766 ADFF LDD R31,Y+63
0767 9632 ADIW R30,2
0768 0FE8 ADD R30,R24
0769 1FF9 ADC R31,R25
076A 9020012F LDS R2,0x12F
076C 90300130 LDS R3,0x130
076E 2C23 MOV R2,R3
076F 2433 CLR R3
0770 8220 STD Z+0,R2
(0236) OutBuffer[length1+3]=MRU;
0771 ADEE LDD R30,Y+62
0772 ADFF LDD R31,Y+63
0773 9633 ADIW R30,3
0774 0FE8 ADD R30,R24
0775 1FF9 ADC R31,R25
0776 9020012F LDS R2,0x12F
0778 90300130 LDS R3,0x130
077A 8220 STD Z+0,R2
(0237) length1+=InBuffer[temp_buffer2[i]+1];
077B E082 LDI R24,2
077C 9F86 MUL R24,R22
077D 01F0 MOVW R30,R0
077E 01CE MOVW R24,R28
077F 9602 ADIW R24,2
0780 0FE8 ADD R30,R24
0781 1FF9 ADC R31,R25
0782 93AF PUSH R26
0783 93BF PUSH R27
0784 81A0 LDD R26,Z+0
0785 81B1 LDD R27,Z+1
0786 01FD MOVW R30,R26
0787 91BF POP R27
0788 91AF POP R26
0789 9631 ADIW R30,1
078A EA87 LDI R24,0xA7
078B E09A LDI R25,0xA
078C 0FE8 ADD R30,R24
078D 1FF9 ADC R31,R25
078E 8020 LDD R2,Z+0
078F 2433 CLR R3
0790 AC0E LDD R0,Y+62
0791 AC1F LDD R1,Y+63
0792 0C02 ADD R0,R2
0793 1C13 ADC R1,R3
0794 AE1F STD Y+63,R1
0795 AE0E STD Y+62,R0
(0238) nak=1;
0796 24EE CLR R14
0797 94E3 INC R14
(0239) }
(0240)
(0241) }
(0242) if(temp_buffer1[i]==LCP_OPT_ASYNC_MAP)
0798 01CE MOVW R24,R28
0799 968A ADIW R24,0x2A
079A 2FE6 MOV R30,R22
079B 27FF CLR R31
079C 0FE8 ADD R30,R24
079D 1FF9 ADC R31,R25
079E 8180 LDD R24,Z+0
079F 3082 CPI R24,2
07A0 F009 BEQ 0x07A2
07A1 C098 RJMP 0x083A
(0243) {
(0244) if((InBuffer[temp_buffer2[i]+2]!=0x00)||
07A2 E082 LDI R24,2
07A3 9F86 MUL R24,R22
07A4 01F0 MOVW R30,R0
07A5 01CE MOVW R24,R28
07A6 9602 ADIW R24,2
07A7 0FE8 ADD R30,R24
07A8 1FF9 ADC R31,R25
07A9 8020 LDD R2,Z+0
07AA 8031 LDD R3,Z+1
07AB EA87 LDI R24,0xA7
07AC E09A LDI R25,0xA
07AD 01F1 MOVW R30,R2
07AE 9632 ADIW R30,2
07AF 0FE8 ADD R30,R24
07B0 1FF9 ADC R31,R25
07B1 8040 LDD R4,Z+0
07B2 2044 TST R4
07B3 F4B1 BNE 0x07CA
07B4 01F1 MOVW R30,R2
07B5 9633 ADIW R30,3
07B6 0FE8 ADD R30,R24
07B7 1FF9 ADC R31,R25
07B8 8040 LDD R4,Z+0
07B9 2044 TST R4
07BA F479 BNE 0x07CA
07BB 01F1 MOVW R30,R2
07BC 9634 ADIW R30,4
07BD 0FE8 ADD R30,R24
07BE 1FF9 ADC R31,R25
07BF 8040 LDD R4,Z+0
07C0 2044 TST R4
07C1 F441 BNE 0x07CA
07C2 01F1 MOVW R30,R2
07C3 9635 ADIW R30,5
07C4 0FE8 ADD R30,R24
07C5 1FF9 ADC R31,R25
07C6 8020 LDD R2,Z+0
07C7 2022 TST R2
07C8 F409 BNE 0x07CA
07C9 C070 RJMP 0x083A
(0245) (InBuffer[temp_buffer2[i]+3]!=0x00)||
(0246) (InBuffer[temp_buffer2[i]+4]!=0x00)||
(0247) (InBuffer[temp_buffer2[i]+5]!=0x00)
(0248) )
(0249) {
(0250) Move (&InBuffer[temp_buffer2[i]],&OutBuffer[length1],InBuffer[temp_buffer2[i]+1]);
07CA E082 LDI R24,2
07CB 9F86 MUL R24,R22
07CC 01F0 MOVW R30,R0
07CD 01CE MOVW R24,R28
07CE 9602 ADIW R24,2
07CF 0FE8 ADD R30,R24
07D0 1FF9 ADC R31,R25
07D1 8020 LDD R2,Z+0
07D2 8031 LDD R3,Z+1
07D3 EA87 LDI R24,0xA7
07D4 E09A LDI R25,0xA
07D5 01F1 MOVW R30,R2
07D6 9631 ADIW R30,1
07D7 0FE8 ADD R30,R24
07D8 1FF9 ADC R31,R25
07D9 8040 LDD R4,Z+0
07DA 2455 CLR R5
07DB 8259 STD Y+1,R5
07DC 8248 STD Y+0,R4
07DD EF86 LDI R24,0xF6
07DE E095 LDI R25,5
07DF AD2E LDD R18,Y+62
07E0 AD3F LDD R19,Y+63
07E1 0F28 ADD R18,R24
07E2 1F39 ADC R19,R25
07E3 EA87 LDI R24,0xA7
07E4 E09A LDI R25,0xA
07E5 0181 MOVW R16,R2
07E6 0F08 ADD R16,R24
07E7 1F19 ADC R17,R25
07E8 DC77 RCALL _Move
(0251) OutBuffer[7]+=InBuffer[temp_buffer2[i]+1];
07E9 E082 LDI R24,2
07EA 9F86 MUL R24,R22
07EB 01F0 MOVW R30,R0
07EC 01CE MOVW R24,R28
07ED 9602 ADIW R24,2
07EE 0FE8 ADD R30,R24
07EF 1FF9 ADC R31,R25
07F0 93AF PUSH R26
07F1 93BF PUSH R27
07F2 81A0 LDD R26,Z+0
07F3 81B1 LDD R27,Z+1
07F4 01FD MOVW R30,R26
07F5 91BF POP R27
07F6 91AF POP R26
07F7 9631 ADIW R30,1
07F8 EA87 LDI R24,0xA7
07F9 E09A LDI R25,0xA
07FA 0FE8 ADD R30,R24
07FB 1FF9 ADC R31,R25
07FC 8020 LDD R2,Z+0
07FD 903005FD LDS R3,0x5FD
07FF 0C32 ADD R3,R2
0800 923005FD STS 0x5FD,R3
(0252) OutBuffer[length1+2]=0x00;
0802 EF86 LDI R24,0xF6
0803 E095 LDI R25,5
0804 ADEE LDD R30,Y+62
0805 ADFF LDD R31,Y+63
0806 9632 ADIW R30,2
0807 0FE8 ADD R30,R24
0808 1FF9 ADC R31,R25
0809 2422 CLR R2
080A 8220 STD Z+0,R2
(0253) OutBuffer[length1+3]=0x00;
080B ADEE LDD R30,Y+62
080C ADFF LDD R31,Y+63
080D 9633 ADIW R30,3
080E 0FE8 ADD R30,R24
080F 1FF9 ADC R31,R25
0810 8220 STD Z+0,R2
(0254) OutBuffer[length1+4]=0x00;
0811 ADEE LDD R30,Y+62
0812 ADFF LDD R31,Y+63
0813 9634 ADIW R30,4
0814 0FE8 ADD R30,R24
0815 1FF9 ADC R31,R25
0816 8220 STD Z+0,R2
(0255) OutBuffer[length1+5]=0x00;
0817 ADEE LDD R30,Y+62
0818 ADFF LDD R31,Y+63
0819 9635 ADIW R30,5
081A 0FE8 ADD R30,R24
081B 1FF9 ADC R31,R25
081C 8220 STD Z+0,R2
(0256) length1+=InBuffer[temp_buffer2[i]+1];
081D E082 LDI R24,2
081E 9F86 MUL R24,R22
081F 01F0 MOVW R30,R0
0820 01CE MOVW R24,R28
0821 9602 ADIW R24,2
0822 0FE8 ADD R30,R24
0823 1FF9 ADC R31,R25
0824 93AF PUSH R26
0825 93BF PUSH R27
0826 81A0 LDD R26,Z+0
0827 81B1 LDD R27,Z+1
0828 01FD MOVW R30,R26
0829 91BF POP R27
082A 91AF POP R26
082B 9631 ADIW R30,1
082C EA87 LDI R24,0xA7
082D E09A LDI R25,0xA
082E 0FE8 ADD R30,R24
082F 1FF9 ADC R31,R25
0830 8020 LDD R2,Z+0
0831 2433 CLR R3
0832 AC0E LDD R0,Y+62
0833 AC1F LDD R1,Y+63
0834 0C02 ADD R0,R2
0835 1C13 ADC R1,R3
0836 AE1F STD Y+63,R1
0837 AE0E STD Y+62,R0
(0257) nak=1;
0838 24EE CLR R14
0839 94E3 INC R14
083A 9563 INC R22
083B 156A CP R22,R10
083C F408 BCC 0x083E
083D CEC4 RJMP 0x0702
(0258) }//end of if((InBuffer[temp_buffer2[i]+2]!==0x00)||...
(0259) }//end of if(temp_buffer1[i]==02)
(0260) }//end of for(i=0;i<j;i++)
(0261) if(nak==1)
083E 2D8E MOV R24,R14
083F 3081 CPI R24,1
0840 F451 BNE 0x084B
(0262) {
(0263) OutBuffer [4] = LCP_CONFIG_NAK;
0841 E083 LDI R24,3
0842 938005FA STS 0x5FA,R24
(0264) ProcPPPSend ((BYTE *)OutBuffer, OutBuffer[7] + 6);
0844 912005FD LDS R18,0x5FD
0846 5F2A SUBI R18,0xFA
0847 EF06 LDI R16,0xF6
0848 E015 LDI R17,5
0849 DC89 RCALL _ProcPPPSend
(0265) return;
084A C114 RJMP 0x095F
(0266) }
(0267)
(0268) for(i=0;i<j;i++)
084B 2766 CLR R22
084C C063 RJMP 0x08B0
(0269) {
(0270) if((temp_buffer1[i]==LCP_OPT_MAGIC))
084D 01CE MOVW R24,R28
084E 968A ADIW R24,0x2A
084F 2FE6 MOV R30,R22
0850 27FF CLR R31
0851 0FE8 ADD R30,R24
0852 1FF9 ADC R31,R25
0853 8180 LDD R24,Z+0
0854 3085 CPI R24,5
0855 F009 BEQ 0x0857
0856 C058 RJMP 0x08AF
(0271) {
(0272) remote_magic_num[0]=InBuffer[temp_buffer2[i]+2];
0857 E082 LDI R24,2
0858 9F86 MUL R24,R22
0859 01F0 MOVW R30,R0
085A 01CE MOVW R24,R28
085B 9602 ADIW R24,2
085C 0FE8 ADD R30,R24
085D 1FF9 ADC R31,R25
085E 93AF PUSH R26
085F 93BF PUSH R27
0860 81A0 LDD R26,Z+0
0861 81B1 LDD R27,Z+1
0862 01FD MOVW R30,R26
0863 91BF POP R27
0864 91AF POP R26
0865 9632 ADIW R30,2
0866 EA87 LDI R24,0xA7
0867 E09A LDI R25,0xA
0868 0FE8 ADD R30,R24
0869 1FF9 ADC R31,R25
086A 8020 LDD R2,Z+0
086B 92200127 STS 0x127,R2
(0273) remote_magic_num[1]=InBuffer[temp_buffer2[i]+3];
086D E082 LDI R24,2
086E 9F86 MUL R24,R22
086F 01F0 MOVW R30,R0
0870 01CE MOVW R24,R28
0871 9602 ADIW R24,2
0872 0FE8 ADD R30,R24
0873 1FF9 ADC R31,R25
0874 93AF PUSH R26
0875 93BF PUSH R27
0876 81A0 LDD R26,Z+0
0877 81B1 LDD R27,Z+1
0878 01FD MOVW R30,R26
0879 91BF POP R27
087A 91AF POP R26
087B 9633 ADIW R30,3
087C EA87 LDI R24,0xA7
087D E09A LDI R25,0xA
087E 0FE8 ADD R30,R24
087F 1FF9 ADC R31,R25
0880 8020 LDD R2,Z+0
0881 92200128 STS 0x128,R2
(0274) remote_magic_num[2]=InBuffer[temp_buffer2[i]+4];
0883 E082 LDI R24,2
0884 9F86 MUL R24,R22
0885 01F0 MOVW R30,R0
0886 01CE MOVW R24,R28
0887 9602 ADIW R24,2
0888 0FE8 ADD R30,R24
0889 1FF9 ADC R31,R25
088A 93AF PUSH R26
088B 93BF PUSH R27
088C 81A0 LDD R26,Z+0
088D 81B1 LDD R27,Z+1
088E 01FD MOVW R30,R26
088F 91BF POP R27
0890 91AF POP R26
0891 9634 ADIW R30,4
0892 EA87 LDI R24,0xA7
0893 E09A LDI R25,0xA
0894 0FE8 ADD R30,R24
0895 1FF9 ADC R31,R25
0896 8020 LDD R2,Z+0
0897 92200129 STS 0x129,R2
(0275) remote_magic_num[3]=InBuffer[temp_buffer2[i]+5];
0899 E082 LDI R24,2
089A 9F86 MUL R24,R22
089B 01F0 MOVW R30,R0
089C 01CE MOVW R24,R28
089D 9602 ADIW R24,2
089E 0FE8 ADD R30,R24
089F 1FF9 ADC R31,R25
08A0 93AF PUSH R26
08A1 93BF PUSH R27
08A2 81A0 LDD R26,Z+0
08A3 81B1 LDD R27,Z+1
08A4 01FD MOVW R30,R26
08A5 91BF POP R27
08A6 91AF POP R26
08A7 9635 ADIW R30,5
08A8 EA87 LDI R24,0xA7
08A9 E09A LDI R25,0xA
08AA 0FE8 ADD R30,R24
08AB 1FF9 ADC R31,R25
08AC 8020 LDD R2,Z+0
08AD 9220012A STS 0x12A,R2
08AF 9563 INC R22
08B0 156A CP R22,R10
08B1 F408 BCC 0x08B3
08B2 CF9A RJMP 0x084D
(0276) }
(0277) }
(0278)
(0279) Move (InBuffer, OutBuffer, InBuffer[7]+4);
08B3 91800AAE LDS R24,0xAAE
08B5 2799 CLR R25
08B6 9604 ADIW R24,4
08B7 8399 STD Y+1,R25
08B8 8388 STD Y+0,R24
08B9 EF26 LDI R18,0xF6
08BA E035 LDI R19,5
08BB EA07 LDI R16,0xA7
08BC E01A LDI R17,0xA
08BD DBA2 RCALL _Move
(0280) OutBuffer [4] = LCP_CONFIG_ACK;
08BE E082 LDI R24,2
08BF 938005FA STS 0x5FA,R24
(0281) ProcPPPSend ((BYTE *)OutBuffer, OutBuffer[7] + 6);
08C1 912005FD LDS R18,0x5FD
08C3 5F2A SUBI R18,0xFA
08C4 EF06 LDI R16,0xF6
08C5 E015 LDI R17,5
08C6 DC0C RCALL _ProcPPPSend
(0282) break;
08C7 C097 RJMP 0x095F
(0283) //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(0284) case LCP_CONFIG_ACK:
(0285)
(0286) while(length0)
(0287) {
(0288) temp_buffer1[j]=InBuffer[length1];
08C8 EA87 LDI R24,0xA7
08C9 E09A LDI R25,0xA
08CA ADEE LDD R30,Y+62
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -