📄 ppp.lis
字号:
049E BACF xjmp L73
04A0 X16:
04A0 X7:
04A0 .dbline 204
04A0 ; {
04A0 ; temp_buffer1[j]=InBuffer[length1];//读取LCP 协商类型
04A0 ; temp_buffer2[j]=length1; //读取LCP 各个协商类型在缓冲中的位置
04A0 ; length0-=InBuffer[length1+1]; //
04A0 ; length1+=InBuffer[length1+1]; //
04A0 ; j++;
04A0 ; }//end of while(length0)
04A0 ; Move (InBuffer, OutBuffer, 8);
04A0 88E0 ldi R24,8
04A2 90E0 ldi R25,0
04A4 9983 std y+1,R25
04A6 8883 std y+0,R24
04A8 20E0 ldi R18,<_OutBuffer
04AA 30E0 ldi R19,>_OutBuffer
04AC 00E0 ldi R16,<_InBuffer
04AE 10E0 ldi R17,>_InBuffer
04B0 DFDD xcall _Move
04B2 .dbline 205
04B2 ; length1=8;
04B2 88E0 ldi R24,8
04B4 90E0 ldi R25,0
04B6 9FAF std y+63,R25
04B8 8EAF std y+62,R24
04BA .dbline 206
04BA ; OutBuffer[7]=4;
04BA 84E0 ldi R24,4
04BC 80930F00 sts _OutBuffer+7,R24
04C0 .dbline 207
04C0 ; for(i=0;i<j;i++)
04C0 6627 clr R22
04C2 67C0 xjmp L80
04C4 L77:
04C4 .dbline 208
04C4 ; {
04C4 .dbline 209
04C4 ; if(!((temp_buffer1[i]==LCP_OPT_MRU)
04C4 CE01 movw R24,R28
04C6 8A96 adiw R24,42
04C8 E62F mov R30,R22
04CA FF27 clr R31
04CC E80F add R30,R24
04CE F91F adc R31,R25
04D0 2080 ldd R2,z+0
04D2 3324 clr R3
04D4 822D mov R24,R2
04D6 8130 cpi R24,1
04D8 09F4 brne X17
04DA 5AC0 xjmp L81
04DC X17:
04DC 8230 cpi R24,2
04DE 09F4 brne X18
04E0 57C0 xjmp L81
04E2 X18:
04E2 8530 cpi R24,5
04E4 09F4 brne X19
04E6 54C0 xjmp L81
04E8 X19:
04E8 .dbline 212
04E8 ; ||(temp_buffer1[i]==LCP_OPT_ASYNC_MAP)
04E8 ; ||(temp_buffer1[i]==LCP_OPT_MAGIC)))
04E8 ; {
04E8 .dbline 213
04E8 ; Move (&InBuffer[temp_buffer2[i]],&OutBuffer[length1],InBuffer[temp_buffer2[i]+1]);
04E8 82E0 ldi R24,2
04EA 869F mul R24,R22
04EC F001 movw R30,R0
04EE CE01 movw R24,R28
04F0 0296 adiw R24,2
04F2 E80F add R30,R24
04F4 F91F adc R31,R25
04F6 2080 ldd R2,z+0
04F8 3180 ldd R3,z+1
04FA 80E0 ldi R24,<_InBuffer
04FC 90E0 ldi R25,>_InBuffer
04FE F101 movw R30,R2
0500 3196 adiw R30,1
0502 E80F add R30,R24
0504 F91F adc R31,R25
0506 4080 ldd R4,z+0
0508 5524 clr R5
050A 5982 std y+1,R5
050C 4882 std y+0,R4
050E 80E0 ldi R24,<_OutBuffer
0510 90E0 ldi R25,>_OutBuffer
0512 2EAD ldd R18,y+62
0514 3FAD ldd R19,y+63
0516 280F add R18,R24
0518 391F adc R19,R25
051A 80E0 ldi R24,<_InBuffer
051C 90E0 ldi R25,>_InBuffer
051E 8101 movw R16,R2
0520 080F add R16,R24
0522 191F adc R17,R25
0524 A5DD xcall _Move
0526 .dbline 214
0526 ; OutBuffer[7]+=InBuffer[temp_buffer2[i]+1];
0526 82E0 ldi R24,2
0528 869F mul R24,R22
052A F001 movw R30,R0
052C CE01 movw R24,R28
052E 0296 adiw R24,2
0530 E80F add R30,R24
0532 F91F adc R31,R25
0534 AF93 push R26
0536 BF93 push R27
0538 A081 ldd R26,z+0
053A B181 ldd R27,z+1
053C FD01 movw R30,R26
053E BF91 pop R27
0540 AF91 pop R26
0542 3196 adiw R30,1
0544 80E0 ldi R24,<_InBuffer
0546 90E0 ldi R25,>_InBuffer
0548 E80F add R30,R24
054A F91F adc R31,R25
054C 2080 ldd R2,z+0
054E 30900F00 lds R3,_OutBuffer+7
0552 320C add R3,R2
0554 30920F00 sts _OutBuffer+7,R3
0558 .dbline 215
0558 ; length1+=InBuffer[temp_buffer2[i]+1];
0558 82E0 ldi R24,2
055A 869F mul R24,R22
055C F001 movw R30,R0
055E CE01 movw R24,R28
0560 0296 adiw R24,2
0562 E80F add R30,R24
0564 F91F adc R31,R25
0566 AF93 push R26
0568 BF93 push R27
056A A081 ldd R26,z+0
056C B181 ldd R27,z+1
056E FD01 movw R30,R26
0570 BF91 pop R27
0572 AF91 pop R26
0574 3196 adiw R30,1
0576 80E0 ldi R24,<_InBuffer
0578 90E0 ldi R25,>_InBuffer
057A E80F add R30,R24
057C F91F adc R31,R25
057E 2080 ldd R2,z+0
0580 3324 clr R3
0582 0EAC ldd R0,y+62
0584 1FAC ldd R1,y+63
0586 020C add R0,R2
0588 131C adc R1,R3
058A 1FAE std y+63,R1
058C 0EAE std y+62,R0
058E .dbline 216
058E ; rej = 1;
058E 41E0 ldi R20,1
0590 .dbline 217
0590 ; }//end of if((temp_buffer1[i]!=0x01)||(temp_buffer1[i]!=0x02)||(temp_buffer1[i]!=0x05))
0590 L81:
0590 .dbline 218
0590 L78:
0590 .dbline 207
0590 6395 inc R22
0592 L80:
0592 .dbline 207
0592 6A15 cp R22,R10
0594 08F4 brsh X20
0596 96CF xjmp L77
0598 X20:
0598 .dbline 219
0598 ; }//end of for(i=0;i<j;i++)
0598 ; if(rej == 1)
0598 4130 cpi R20,1
059A 51F4 brne L84
059C .dbline 220
059C ; {
059C .dbline 221
059C ; OutBuffer [4] = LCP_CONFIG_REJECT;
059C 84E0 ldi R24,4
059E 80930C00 sts _OutBuffer+4,R24
05A2 .dbline 222
05A2 ; ProcPPPSend ((BYTE *)OutBuffer, OutBuffer[7] + 6);
05A2 20910F00 lds R18,_OutBuffer+7
05A6 2A5F subi R18,250 ; addi 6
05A8 00E0 ldi R16,<_OutBuffer
05AA 10E0 ldi R17,>_OutBuffer
05AC D4DD xcall _ProcPPPSend
05AE .dbline 223
05AE ; return;
05AE 5FC2 xjmp L62
05B0 L84:
05B0 .dbline 226
05B0 ; }//end of if(rej == 1)
05B0 ;
05B0 ; for(i=0;i<j;i++)
05B0 6627 clr R22
05B2 39C1 xjmp L91
05B4 L88:
05B4 .dbline 227
05B4 ; {
05B4 .dbline 228
05B4 ; if(temp_buffer1[i]==LCP_OPT_MRU)
05B4 CE01 movw R24,R28
05B6 8A96 adiw R24,42
05B8 E62F mov R30,R22
05BA FF27 clr R31
05BC E80F add R30,R24
05BE F91F adc R31,R25
05C0 8081 ldd R24,z+0
05C2 8130 cpi R24,1
05C4 09F0 breq X21
05C6 8CC0 xjmp L92
05C8 X21:
05C8 .dbline 229
05C8 ; {
05C8 .dbline 231
05C8 ;
05C8 ; if(((((WORD)InBuffer[temp_buffer2[i]+2])<<8)+InBuffer [temp_buffer2[i]+3])>MRU)
05C8 82E0 ldi R24,2
05CA 869F mul R24,R22
05CC F001 movw R30,R0
05CE CE01 movw R24,R28
05D0 0296 adiw R24,2
05D2 E80F add R30,R24
05D4 F91F adc R31,R25
05D6 2080 ldd R2,z+0
05D8 3180 ldd R3,z+1
05DA 80E0 ldi R24,<_InBuffer
05DC 90E0 ldi R25,>_InBuffer
05DE F101 movw R30,R2
05E0 3396 adiw R30,3
05E2 E80F add R30,R24
05E4 F91F adc R31,R25
05E6 4080 ldd R4,z+0
05E8 F101 movw R30,R2
05EA 3296 adiw R30,2
05EC E80F add R30,R24
05EE F91F adc R31,R25
05F0 2080 ldd R2,z+0
05F2 322C mov R3,R2
05F4 242C mov R2,R4
05F6 40900C00 lds R4,_MRU
05FA 50900D00 lds R5,_MRU+1
05FE 4214 cp R4,R2
0600 5304 cpc R5,R3
0602 08F0 brlo X22
0604 6DC0 xjmp L94
0606 X22:
0606 .dbline 232
0606 ; {
0606 .dbline 233
0606 ; Move (&InBuffer[temp_buffer2[i]],&OutBuffer[length1],InBuffer[temp_buffer2[i]+1]);
0606 82E0 ldi R24,2
0608 869F mul R24,R22
060A F001 movw R30,R0
060C CE01 movw R24,R28
060E 0296 adiw R24,2
0610 E80F add R30,R24
0612 F91F adc R31,R25
0614 2080 ldd R2,z+0
0616 3180 ldd R3,z+1
0618 80E0 ldi R24,<_InBuffer
061A 90E0 ldi R25,>_InBuffer
061C F101 movw R30,R2
061E 3196 adiw R30,1
0620 E80F add R30,R24
0622 F91F adc R31,R25
0624 4080 ldd R4,z+0
0626 5524 clr R5
0628 5982 std y+1,R5
062A 4882 std y+0,R4
062C 80E0 ldi R24,<_OutBuffer
062E 90E0 ldi R25,>_OutBuffer
0630 2EAD ldd R18,y+62
0632 3FAD ldd R19,y+63
0634 280F add R18,R24
0636 391F adc R19,R25
0638 80E0 ldi R24,<_InBuffer
063A 90E0 ldi R25,>_InBuffer
063C 8101 movw R16,R2
063E 080F add R16,R24
0640 191F adc R17,R25
0642 16DD xcall _Move
0644 .dbline 234
0644 ; OutBuffer[7]+=InBuffer[temp_buffer2[i]+1];
0644 82E0 ldi R24,2
0646 869F mul R24,R22
0648 F001 movw R30,R0
064A CE01 movw R24,R28
064C 0296 adiw R24,2
064E E80F add R30,R24
0650 F91F adc R31,R25
0652 AF93 push R26
0654 BF93 push R27
0656 A081 ldd R26,z+0
0658 B181 ldd R27,z+1
065A FD01 movw R30,R26
065C BF91 pop R27
065E AF91 pop R26
0660 3196 adiw R30,1
0662 80E0 ldi R24,<_InBuffer
0664 90E0 ldi R25,>_InBuffer
0666 E80F add R30,R24
0668 F91F adc R31,R25
066A 2080 ldd R2,z+0
066C 30900F00 lds R3,_OutBuffer+7
0670 320C add R3,R2
0672 30920F00 sts _OutBuffer+7,R3
0676 .dbline 235
0676 ; OutBuffer[length1+2]=MRU>>8;
0676 80E0 ldi R24,<_OutBuffer
0678 90E0 ldi R25,>_OutBuffer
067A EEAD ldd R30,y+62
067C FFAD ldd R31,y+63
067E 3296 adiw R30,2
0680 E80F add R30,R24
0682 F91F adc R31,R25
0684 20900C00 lds R2,_MRU
0688 30900D00 lds R3,_MRU+1
068C 232C mov R2,R3
068E 3324 clr R3
0690 2082 std z+0,R2
0692 .dbline 236
0692 ; OutBuffer[length1+3]=MRU;
0692 EEAD ldd R30,y+62
0694 FFAD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -