📄 main.lis
字号:
0004 ;
0004 ; BYTE UART_BUFFER[PPP_BUFFER_SIZE+3];
0004 ; extern BYTE *ptrBUFFER=UART_BUFFER;
0004 ; static WORD MRU=PPP_BUFFER_SIZE;
0004 ; extern BYTE PPPStatus;
0004 ; extern UART_ptr;
0004 ; static WORD j=0;
0004 ; #pragma interrupt_handler uart_inter:31
0004 ; void uart_inter(void)
0004 ; {
0004 .dbline 22
0004 ; static BYTE i=0;
0004 ; UCSR1B&=~(1<<RXCIE1);
0004 80919A00 lds R24,154
0008 8F77 andi R24,127
000A 80939A00 sts 154,R24
000E .dbline 23
000E ; i=getchar();
000E 0E940000 xcall _getchar
0012 00930E00 sts L2,R16
0016 .dbline 24
0016 ; if(j>(PPP_BUFFER_SIZE+3))
0016 83EB ldi R24,1203
0018 94E0 ldi R25,4
001A 20900C00 lds R2,_j
001E 30900D00 lds R3,_j+1
0022 8215 cp R24,R2
0024 9305 cpc R25,R3
0026 30F4 brsh L3
0028 .dbline 25
0028 ; {
0028 .dbline 26
0028 ; j=0;
0028 2224 clr R2
002A 3324 clr R3
002C 30920D00 sts _j+1,R3
0030 20920C00 sts _j,R2
0034 .dbline 27
0034 ; }
0034 L3:
0034 .dbline 28
0034 ; UART_BUFFER[j]=i;
0034 80E0 ldi R24,<_UART_BUFFER
0036 90E0 ldi R25,>_UART_BUFFER
0038 E0910C00 lds R30,_j
003C F0910D00 lds R31,_j+1
0040 E80F add R30,R24
0042 F91F adc R31,R25
0044 20900E00 lds R2,L2
0048 2082 std z+0,R2
004A .dbline 29
004A ; j++;
004A 80910C00 lds R24,_j
004E 90910D00 lds R25,_j+1
0052 0196 adiw R24,1
0054 90930D00 sts _j+1,R25
0058 80930C00 sts _j,R24
005C .dbline 30
005C ; UCSR1B|=(1<<RXCIE1);
005C 80919A00 lds R24,154
0060 8068 ori R24,128
0062 80939A00 sts 154,R24
0066 .dbline -2
0066 .dbline 31
0066 ; }
0066 L1:
0066 0E940000 xcall pop_lset
006A .dbline 0 ; func end
006A 1895 reti
006C .dbend
006C .dbfunc e main _main fV
006C ; i -> R20,R21
.even
006C _main::
006C .dbline -1
006C .dbline 34
006C ;
006C ; void main (void)
006C ; {
006C .dbline 36
006C ; WORD i;
006C ; uart_init();
006C 0E940000 xcall _uart_init
0070 .dbline 37
0070 ; PPPInit();
0070 0E940000 xcall _PPPInit
0074 .dbline 38
0074 ; modem ();
0074 2ED0 xcall _modem
0076 .dbline 39
0076 ; for(i=0;i<(PPP_BUFFER_SIZE+3);i++)
0076 4427 clr R20
0078 5527 clr R21
007A 09C0 xjmp L9
007C L6:
007C .dbline 40
007C .dbline 41
007C 80E0 ldi R24,<_UART_BUFFER
007E 90E0 ldi R25,>_UART_BUFFER
0080 FA01 movw R30,R20
0082 E80F add R30,R24
0084 F91F adc R31,R25
0086 2224 clr R2
0088 2082 std z+0,R2
008A .dbline 42
008A L7:
008A .dbline 39
008A 4F5F subi R20,255 ; offset = 1
008C 5F4F sbci R21,255
008E L9:
008E .dbline 39
008E 433B cpi R20,179
0090 E4E0 ldi R30,4
0092 5E07 cpc R21,R30
0094 98F3 brlo L6
0096 .dbline 43
0096 ; {
0096 ; UART_BUFFER[i]='\0';
0096 ; }
0096 ; j=0;
0096 2224 clr R2
0098 3324 clr R3
009A 30920D00 sts _j+1,R3
009E 20920C00 sts _j,R2
00A2 .dbline 44
00A2 ; LCPREQPacket(MRU);
00A2 00910A00 lds R16,_MRU
00A6 10910B00 lds R17,_MRU+1
00AA 0E940000 xcall _LCPREQPacket
00AE 0FC0 xjmp L11
00B0 L10:
00B0 .dbline 47
00B0 ;
00B0 ; while(1)
00B0 ; {
00B0 .dbline 48
00B0 ; if(UART_BUFFER[UART_ptr]!='\0')
00B0 80E0 ldi R24,<_UART_BUFFER
00B2 90E0 ldi R25,>_UART_BUFFER
00B4 E0910000 lds R30,_UART_ptr
00B8 F0910100 lds R31,_UART_ptr+1
00BC E80F add R30,R24
00BE F91F adc R31,R25
00C0 2080 ldd R2,z+0
00C2 2220 tst R2
00C4 11F0 breq L13
00C6 .dbline 49
00C6 ; {
00C6 .dbline 50
00C6 ; ProcPPPReceive ();
00C6 0E940000 xcall _ProcPPPReceive
00CA .dbline 51
00CA ; }
00CA L13:
00CA .dbline 52
00CA 0E940000 xcall _PPPEntry
00CE .dbline 53
00CE L11:
00CE .dbline 46
00CE F0CF xjmp L10
00D0 X0:
00D0 .dbline -2
00D0 .dbline 54
00D0 ; PPPEntry();
00D0 ; }
00D0 ; }
00D0 L5:
00D0 .dbline 0 ; func end
00D0 0895 ret
00D2 .dbsym r i 20 i
00D2 .dbend
00D2 .dbfunc e modem _modem fV
00D2 ; k -> R20
.even
00D2 _modem::
00D2 0E940000 xcall push_gset1
00D6 .dbline -1
00D6 .dbline 59
00D6 ;
00D6 ;
00D6 ;
00D6 ; void modem (void)
00D6 ; {
00D6 .dbline 60
00D6 ; BYTE k=1;
00D6 41E0 ldi R20,1
00D8 11C0 xjmp L17
00DA L16:
00DA .dbline 62
00DA ; while(k)
00DA ; {
00DA .dbline 63
00DA ; putstr("CLIENT");
00DA 00E0 ldi R16,<L19
00DC 10E0 ldi R17,>L19
00DE 0E940000 xcall _putstr
00E2 .dbline 64
00E2 ; delay_ms(100);
00E2 04E6 ldi R16,100
00E4 10E0 ldi R17,0
00E6 20D0 xcall _delay_ms
00E8 .dbline 65
00E8 ; if(strstr(UART_BUFFER,"CLIENTSERVER") != NULL)
00E8 20E0 ldi R18,<L22
00EA 30E0 ldi R19,>L22
00EC 00E0 ldi R16,<_UART_BUFFER
00EE 10E0 ldi R17,>_UART_BUFFER
00F0 0E940000 xcall _strstr
00F4 0030 cpi R16,0
00F6 0107 cpc R16,R17
00F8 09F0 breq L20
00FA X1:
00FA .dbline 66
00FA ; {
00FA .dbline 67
00FA ; k=0;
00FA 4427 clr R20
00FC .dbline 68
00FC ; }
00FC L20:
00FC .dbline 69
00FC L17:
00FC .dbline 61
00FC 4423 tst R20
00FE 69F7 brne L16
0100 .dbline -2
0100 .dbline 70
0100 ; }
0100 ; }
0100 L15:
0100 0E940000 xcall pop_gset1
0104 .dbline 0 ; func end
0104 0895 ret
0106 .dbsym r k 20 c
0106 .dbend
0106 .dbfunc e delay_1ms _delay_1ms fV
0106 ; i -> R16,R17
.even
0106 _delay_1ms::
0106 0E940000 xcall push_gset2
010A .dbline -1
010A .dbline 73
010A ;
010A ; void delay_1ms(void)
010A ; { unsigned int i;
010A .dbline 74
010A 01E0 ldi R16,1
010C 10E0 ldi R17,0
010E 02C0 xjmp L27
0110 L24:
0110 .dbline 74
0110 L25:
0110 .dbline 74
0110 0F5F subi R16,255 ; offset = 1
0112 1F4F sbci R17,255
0114 L27:
0114 .dbline 74
0114 ; for(i=1;i<(unsigned int)(xtal*143-2);i++);
0114 4EEF ldi R20,254
0116 5FE7 ldi R21,127
0118 67ED ldi R22,215
011A 7EE3 ldi R23,62
011C 0417 cp R16,R20
011E 1507 cpc R17,R21
0120 B8F3 brlo L24
0122 .dbline -2
0122 .dbline 75
0122 ; }
0122 L23:
0122 0E940000 xcall pop_gset2
0126 .dbline 0 ; func end
0126 0895 ret
0128 .dbsym r i 16 i
0128 .dbend
0128 .dbfunc e delay_ms _delay_ms fV
0128 ; i -> R20,R21
0128 ; n -> R22,R23
.even
0128 _delay_ms::
0128 0E940000 xcall push_gset2
012C B801 movw R22,R16
012E .dbline -1
012E .dbline 77
012E ; void delay_ms(unsigned int n )
012E ; {
012E .dbline 78
012E ; unsigned int i=0;
012E 4427 clr R20
0130 5527 clr R21
0132 03C0 xjmp L30
0134 L29:
0134 .dbline 80
0134 .dbline 80
0134 E8DF xcall _delay_1ms
0136 .dbline 81
0136 4F5F subi R20,255 ; offset = 1
0138 5F4F sbci R21,255
013A .dbline 82
013A L30:
013A .dbline 79
013A ; while(i<n)
013A 4617 cp R20,R22
013C 5707 cpc R21,R23
013E D0F3 brlo L29
0140 .dbline -2
0140 .dbline 83
0140 ; {delay_1ms();
0140 ; i++;
0140 ; }
0140 ; }
0140 L28:
0140 0E940000 xcall pop_gset2
0144 .dbline 0 ; func end
0144 0895 ret
0146 .dbsym r i 20 i
0146 .dbsym r n 22 i
0146 .dbend
.area bss(ram, con, rel)
0000 .dbfile G:\sppp\main.c
0000 _UART_BUFFER::
0000 .blkb 1203
04B3 .dbsym e UART_BUFFER _UART_BUFFER A[1203:1203]c
.area data(ram, con, rel)
000F .dbfile G:\sppp\main.c
000F L22:
000F .blkb 13
.area idata
000F 434C49454E5453455256455200 .byte 'C,'L,'I,'E,'N,'T,'S,'E,'R,'V,'E,'R,0
.area data(ram, con, rel)
001C .dbfile G:\sppp\main.c
001C L19:
001C .blkb 7
.area idata
001C 434C49454E5400 .byte 'C,'L,'I,'E,'N,'T,0
.area data(ram, con, rel)
0023 .dbfile G:\sppp\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -