⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppp.lis

📁 AVR单片机系统开发经典实例部分源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 026E           ;       else
 026E           ;               strcpy((char*)ScratchPad, "\nR");
 026E 20E0              ldi R18,<L44
 0270 30E0              ldi R19,>L44
 0272 00E0              ldi R16,<_ScratchPad
 0274 10E0              ldi R17,>_ScratchPad
 0276 0E940000          xcall _strcpy
 027A           L42:
 027A                   .dbline 239
 027A           ;       strcat((char*)ScratchPad, "X: Protocol: ");
 027A 20E0              ldi R18,<L45
 027C 30E0              ldi R19,>L45
 027E 00E0              ldi R16,<_ScratchPad
 0280 10E0              ldi R17,>_ScratchPad
 0282 0E940000          xcall _strcat
 0286                   .dbline 240
 0286           ;       switch (Protocol)
 0286 C701              movw R24,R14
 0288 8132              cpi R24,33
 028A E0E8              ldi R30,128
 028C 9E07              cpc R25,R30
 028E D9F0              breq L49
 0290 8132              cpi R24,33
 0292 E0E8              ldi R30,128
 0294 9E07              cpc R25,R30
 0296 8CF1              brlt L46
 0298           L52:
 0298 C701              movw R24,R14
 029A 8132              cpi R24,33
 029C E0EC              ldi R30,192
 029E 9E07              cpc R25,R30
 02A0 29F0              breq L48
 02A2 8332              cpi R24,35
 02A4 E0EC              ldi R30,192
 02A6 9E07              cpc R25,R30
 02A8 D9F0              breq L50
 02AA 27C0              xjmp L46
 02AC           X0:
 02AC                   .dbline 241
 02AC           ;       {
 02AC           L48:
 02AC                   .dbline 242
 02AC           ;               case PPP_LCP    :       rstrcpy((char*)ScratchPad + strlen((char*)ScratchPad), LCPStr);
 02AC 00E0              ldi R16,<_ScratchPad
 02AE 10E0              ldi R17,>_ScratchPad
 02B0 0E940000          xcall _strlen
 02B4 20E0              ldi R18,<_LCPStr
 02B6 30E0              ldi R19,>_LCPStr
 02B8 80E0              ldi R24,<_ScratchPad
 02BA 90E0              ldi R25,>_ScratchPad
 02BC 080F              add R16,R24
 02BE 191F              adc R17,R25
 02C0 0E940000          xcall _rstrcpy
 02C4                   .dbline 243
 02C4           ;                                                       break;
 02C4 2DC0              xjmp L47
 02C6           L49:
 02C6                   .dbline 244
 02C6           ;               case PPP_IPCP   :       rstrcpy((char*)ScratchPad + strlen((char*)ScratchPad), IPCPStr);
 02C6 00E0              ldi R16,<_ScratchPad
 02C8 10E0              ldi R17,>_ScratchPad
 02CA 0E940000          xcall _strlen
 02CE 20E0              ldi R18,<_IPCPStr
 02D0 30E0              ldi R19,>_IPCPStr
 02D2 80E0              ldi R24,<_ScratchPad
 02D4 90E0              ldi R25,>_ScratchPad
 02D6 080F              add R16,R24
 02D8 191F              adc R17,R25
 02DA 0E940000          xcall _rstrcpy
 02DE                   .dbline 245
 02DE           ;                                                       break;
 02DE 20C0              xjmp L47
 02E0           L50:
 02E0                   .dbline 246
 02E0           ;               case PPP_PAP    :       rstrcpy((char*)ScratchPad + strlen((char*)ScratchPad), PAPStr);
 02E0 00E0              ldi R16,<_ScratchPad
 02E2 10E0              ldi R17,>_ScratchPad
 02E4 0E940000          xcall _strlen
 02E8 20E0              ldi R18,<_PAPStr
 02EA 30E0              ldi R19,>_PAPStr
 02EC 80E0              ldi R24,<_ScratchPad
 02EE 90E0              ldi R25,>_ScratchPad
 02F0 080F              add R16,R24
 02F2 191F              adc R17,R25
 02F4 0E940000          xcall _rstrcpy
 02F8                   .dbline 247
 02F8           ;                                                       break;
 02F8 13C0              xjmp L47
 02FA           L46:
 02FA                   .dbline 248
 02FA           ;               default                 :       sprintf((char*)ScratchPad + strlen((char*)ScratchPad), "%04x\n", Protocol);
 02FA 00E0              ldi R16,<_ScratchPad
 02FC 10E0              ldi R17,>_ScratchPad
 02FE 0E940000          xcall _strlen
 0302 F982              std y+1,R15
 0304 E882              std y+0,R14
 0306 20E0              ldi R18,<L51
 0308 30E0              ldi R19,>L51
 030A 80E0              ldi R24,<_ScratchPad
 030C 90E0              ldi R25,>_ScratchPad
 030E 080F              add R16,R24
 0310 191F              adc R17,R25
 0312 0E940000          xcall _sprintf
 0316                   .dbline 249
 0316           ;                                                       return SendDebugStr((char*)ScratchPad);
 0316 00E0              ldi R16,<_ScratchPad
 0318 10E0              ldi R17,>_ScratchPad
 031A 0E940000          xcall _SendDebugStr
 031E 8BC2              xjmp L34
 0320           L47:
 0320                   .dbline 251
 0320           ;       }
 0320           ;       sprintf((char*)ScratchPad + strlen((char*)ScratchPad), " [%04x]", Protocol);
 0320 00E0              ldi R16,<_ScratchPad
 0322 10E0              ldi R17,>_ScratchPad
 0324 0E940000          xcall _strlen
 0328 F982              std y+1,R15
 032A E882              std y+0,R14
 032C 20E0              ldi R18,<L53
 032E 30E0              ldi R19,>L53
 0330 80E0              ldi R24,<_ScratchPad
 0332 90E0              ldi R25,>_ScratchPad
 0334 080F              add R16,R24
 0336 191F              adc R17,R25
 0338 0E940000          xcall _sprintf
 033C                   .dbline 252
 033C           ;       if (!SendDebugStr((char*)ScratchPad)) return false;
 033C 00E0              ldi R16,<_ScratchPad
 033E 10E0              ldi R17,>_ScratchPad
 0340 0E940000          xcall _SendDebugStr
 0344 0023              tst R16
 0346 11F4              brne L54
 0348                   .dbline 252
 0348 0027              clr R16
 034A 75C2              xjmp L34
 034C           L54:
 034C                   .dbline 257
 034C           ; 
 034C           ;       // ********************
 034C           ;       // display the code header
 034C           ; 
 034C           ;       CodeHeader = (T_CodeHeader *)(MainBuffer + i);
 034C 80E0              ldi R24,<_MainBuffer
 034E 90E0              ldi R25,>_MainBuffer
 0350 4A85              ldd R20,y+10
 0352 5B85              ldd R21,y+11
 0354 480F              add R20,R24
 0356 591F              adc R21,R25
 0358                   .dbline 258
 0358           ;       i += sizeof(T_CodeHeader);
 0358 8A85              ldd R24,y+10
 035A 9B85              ldd R25,y+11
 035C 0496              adiw R24,4
 035E 9B87              std y+11,R25
 0360 8A87              std y+10,R24
 0362                   .dbline 260
 0362           ; 
 0362           ;       if (!SendDebugRStr(CodeStr)) return false;
 0362 00E0              ldi R16,<_CodeStr
 0364 10E0              ldi R17,>_CodeStr
 0366 0E940000          xcall _SendDebugRStr
 036A 0023              tst R16
 036C 11F4              brne L56
 036E                   .dbline 260
 036E 0027              clr R16
 0370 62C2              xjmp L34
 0372           L56:
 0372                   .dbline 261
 0372           ;       switch (CodeHeader->Code)
 0372 FA01              movw R30,R20
 0374 A080              ldd R10,z+0
 0376 BB24              clr R11
 0378 C501              movw R24,R10
 037A 8130              cpi R24,1
 037C E0E0              ldi R30,0
 037E 9E07              cpc R25,R30
 0380 09F4              brne X3
 0382 2EC0              xjmp L61
 0384           X3:
 0384 8230              cpi R24,2
 0386 E0E0              ldi R30,0
 0388 9E07              cpc R25,R30
 038A 09F4              brne X4
 038C 30C0              xjmp L62
 038E           X4:
 038E 8330              cpi R24,3
 0390 E0E0              ldi R30,0
 0392 9E07              cpc R25,R30
 0394 09F4              brne X5
 0396 32C0              xjmp L63
 0398           X5:
 0398 8430              cpi R24,4
 039A E0E0              ldi R30,0
 039C 9E07              cpc R25,R30
 039E 09F4              brne X6
 03A0 34C0              xjmp L64
 03A2           X6:
 03A2 8530              cpi R24,5
 03A4 E0E0              ldi R30,0
 03A6 9E07              cpc R25,R30
 03A8 09F4              brne X7
 03AA 36C0              xjmp L65
 03AC           X7:
 03AC 8630              cpi R24,6
 03AE E0E0              ldi R30,0
 03B0 9E07              cpc R25,R30
 03B2 09F4              brne X8
 03B4 38C0              xjmp L66
 03B6           X8:
 03B6 8730              cpi R24,7
 03B8 E0E0              ldi R30,0
 03BA 9E07              cpc R25,R30
 03BC 09F4              brne X9
 03BE 3AC0              xjmp L67
 03C0           X9:
 03C0 8830              cpi R24,8
 03C2 E0E0              ldi R30,0
 03C4 9E07              cpc R25,R30
 03C6 09F4              brne X10
 03C8 3CC0              xjmp L68
 03CA           X10:
 03CA 8930              cpi R24,9
 03CC E0E0              ldi R30,0
 03CE 9E07              cpc R25,R30
 03D0 09F4              brne X11
 03D2 3EC0              xjmp L69
 03D4           X11:
 03D4 8A30              cpi R24,10
 03D6 E0E0              ldi R30,0
 03D8 9E07              cpc R25,R30
 03DA 09F4              brne X12
 03DC 40C0              xjmp L70
 03DE           X12:
 03DE 46C0              xjmp L58
 03E0           X1:
 03E0                   .dbline 262
 03E0           ;       {
 03E0           L61:
 03E0                   .dbline 263
 03E0           ;               case PPP_CREQ   :       rstrcpy((char*)ScratchPad, CREQStr);
 03E0 20E0              ldi R18,<_CREQStr
 03E2 30E0              ldi R19,>_CREQStr
 03E4 00E0              ldi R16,<_ScratchPad
 03E6 10E0              ldi R17,>_ScratchPad
 03E8 0E940000          xcall _rstrcpy
 03EC                   .dbline 264
 03EC           ;                                                       break;
 03EC 45C0              xjmp L59
 03EE           L62:
 03EE                   .dbline 265
 03EE           ;               case PPP_CACK   :       rstrcpy((char*)ScratchPad, CACKStr);
 03EE 20E0              ldi R18,<_CACKStr
 03F0 30E0              ldi R19,>_CACKStr
 03F2 00E0              ldi R16,<_ScratchPad
 03F4 10E0              ldi R17,>_ScratchPad
 03F6 0E940000          xcall _rstrcpy
 03FA                   .dbline 266
 03FA           ;                                                       break;
 03FA 3EC0              xjmp L59
 03FC           L63:
 03FC                   .dbline 267
 03FC           ;               case PPP_CNAK   :       rstrcpy((char*)ScratchPad, CNAKStr);
 03FC 20E0              ldi R18,<_CNAKStr
 03FE 30E0              ldi R19,>_CNAKStr
 0400 00E0              ldi R16,<_ScratchPad
 0402 10E0              ldi R17,>_ScratchPad
 0404 0E940000          xcall _rstrcpy
 0408                   .dbline 268
 0408           ;                                                       break;
 0408 37C0              xjmp L59
 040A           L64:
 040A                   .dbline 269
 040A           ;               case PPP_CREJ   :       rstrcpy((char*)ScratchPad, CREJStr);
 040A 20E0              ldi R18,<_CREJStr
 040C 30E0              ldi R19,>_CREJStr

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -