📄 gsb.lis
字号:
0254 .dbline 153
0254 ; flagend = Rcv_cap-1;
0254 4423 tst R20
0256 49F4 brne L65
0258 .dbline 154
0258 ; }
0258 .dbline 154
0258 CE01 movw R24,R28
025A E42F mov R30,R20
025C FF27 clr R31
025E E80F add R30,R24
0260 F91F adc R31,R25
0262 0081 ldd R16,z+0
0264 005D subi R16,208 ; addi 48
0266 13DF xcall _WriteData
0268 .dbline 154
0268 02C0 xjmp L62
026A L65:
026A .dbline 155
026A C394 inc R12
026C .dbline 156
026C L61:
026C .dbline 146
026C CFCF xjmp L60
026E L62:
026E .dbline 157
026E ;
026E ; void read(uchar *porm ,uchar *num) //CMGR,CPBR,num有7个字符
026E ; {
026E CA94 dec R12
0270 .dbline -2
0270 L55:
0270 2596 adiw R28,5
0272 0E940000 xcall pop_gset5
0276 .dbline 0 ; func end
0276 0895 ret
0278 .dbsym l tmp 0 A[5:5]c
0278 .dbsym r i 20 c
0278 .dbsym r N 22 c
0278 .dbsym r num 10 i
0278 .dbsym r x 12 c
0278 .dbsym r y 14 c
0278 .dbend
0278 .dbfunc e Display_Picture _Display_Picture fV
0278 ; i -> R20,R21
0278 ; x -> R22,R23
0278 ; y -> R14,R15
0278 ; j -> R10,R11
0278 ; l -> y+0
0278 ; k -> R12,R13
0278 ; tab -> y+12
.even
0278 _Display_Picture::
0278 1A93 st -y,r17
027A 0A93 st -y,r16
027C 0E940000 xcall push_gset5
0280 2297 sbiw R28,2
0282 .dbline -1
0282 .dbline 161
0282 ; uchar C[] = "AT+C = \r"; //等号后7个空
0282 ; uchar i;
0282 ; i_Rcv = 0;
0282 ; C[4] = porm[0];
0282 .dbline 162
0282 ; C[5] = porm[1];
0282 0024 clr R0
0284 1124 clr R1
0286 1982 std y+1,R1
0288 0882 std y+0,R0
028A .dbline 162
028A 60E8 ldi R22,128
028C 70E0 ldi R23,0
028E .dbline 163
028E ; C[6] = porm[2];
028E 4427 clr R20
0290 5527 clr R21
0292 37C0 xjmp L71
0294 L68:
0294 .dbline 164
0294 ; for(i=0;i<7;i++)
0294 .dbline 165
0294 ; {
0294 AA24 clr R10
0296 BB24 clr R11
0298 80E8 ldi R24,128
029A 90E0 ldi R25,0
029C 7C01 movw R14,R24
029E 27C0 xjmp L75
02A0 L72:
02A0 .dbline 166
02A0 ; C[8+i] = num[i];
02A0 .dbline 167
02A0 ; }
02A0 06E3 ldi R16,54
02A2 06DF xcall _WriteCommand
02A4 .dbline 168
02A4 ;
02A4 0E2D mov R16,R14
02A6 04DF xcall _WriteCommand
02A8 .dbline 169
02A8 ; sendcmd(C,"OK",3000);
02A8 062F mov R16,R22
02AA 02DF xcall _WriteCommand
02AC .dbline 170
02AC ; clearf();
02AC 00E3 ldi R16,48
02AE 00DF xcall _WriteCommand
02B0 .dbline 171
02B0 ; }
02B0 80E1 ldi R24,16
02B2 90E0 ldi R25,0
02B4 6C01 movw R12,R24
02B6 0DC0 xjmp L77
02B8 L76:
02B8 .dbline 173
02B8 2880 ldd R2,y+0
02BA 3980 ldd R3,y+1
02BC C101 movw R24,R2
02BE 0196 adiw R24,1
02C0 9983 std y+1,R25
02C2 8883 std y+0,R24
02C4 F101 movw R30,R2
02C6 0C84 ldd R0,y+12
02C8 1D84 ldd R1,y+13
02CA E00D add R30,R0
02CC F11D adc R31,R1
02CE 0491 lpm R16,Z
02D0 DEDE xcall _WriteData
02D2 L77:
02D2 .dbline 172
02D2 1601 movw R2,R12
02D4 C101 movw R24,R2
02D6 0197 sbiw R24,1
02D8 6C01 movw R12,R24
02DA 2220 tst R2
02DC 69F7 brne L76
02DE 3320 tst R3
02E0 59F7 brne L76
02E2 X3:
02E2 .dbline 174
02E2 L73:
02E2 .dbline 165
02E2 C501 movw R24,R10
02E4 0196 adiw R24,1
02E6 5C01 movw R10,R24
02E8 C701 movw R24,R14
02EA 0196 adiw R24,1
02EC 7C01 movw R14,R24
02EE L75:
02EE .dbline 165
02EE C501 movw R24,R10
02F0 8032 cpi R24,32
02F2 E0E0 ldi R30,0
02F4 9E07 cpc R25,R30
02F6 08F4 brsh X4
02F8 D3CF xjmp L72
02FA X4:
02FA .dbline 175
02FA 68E8 ldi R22,136
02FC 70E0 ldi R23,0
02FE .dbline 176
02FE L69:
02FE .dbline 163
02FE 4F5F subi R20,255 ; offset = 1
0300 5F4F sbci R21,255
0302 L71:
0302 .dbline 163
0302 4230 cpi R20,2
0304 E0E0 ldi R30,0
0306 5E07 cpc R21,R30
0308 08F4 brsh X5
030A C4CF xjmp L68
030C X5:
030C .dbline -2
030C L67:
030C 2296 adiw R28,2
030E 0E940000 xcall pop_gset5
0312 2296 adiw R28,2
0314 .dbline 0 ; func end
0314 0895 ret
0316 .dbsym r i 20 i
0316 .dbsym r x 22 i
0316 .dbsym r y 14 i
0316 .dbsym r j 10 i
0316 .dbsym l l 0 i
0316 .dbsym r k 12 i
0316 .dbsym l tab 12 pkc
0316 .dbend
0316 .dbfunc e Display_Picture32 _Display_Picture32 fV
0316 ; i -> <dead>
0316 ; x -> R22,R23
0316 ; y -> R10,R11
0316 ; j -> R20,R21
0316 ; l -> y+0
0316 ; k -> R14,R15
0316 ; tab -> R12,R13
.even
0316 _Display_Picture32::
0316 0E940000 xcall push_gset5
031A 6801 movw R12,R16
031C 2297 sbiw R28,2
031E .dbline -1
031E .dbline 180
031E ; //发信息
031E ; void sendsms(void)
031E ; {
031E ; uchar C[] = "AT+CMGS=\" \"\r"; //等号后7个空
031E ; uchar i;
031E ; i_Rcv = 0;
031E ; for(i=0;i<11;i++)
031E ; {
031E ; C[9+i] = Phone[i];
031E .dbline 181
031E ; }
031E 0024 clr R0
0320 1124 clr R1
0322 1982 std y+1,R1
0324 0882 std y+0,R0
0326 .dbline 181
0326 60E8 ldi R22,128
0328 70E0 ldi R23,0
032A .dbline 183
032A ; sendcmd(C,"\x3e\x20",500);
032A ; clearf();
032A 4427 clr R20
032C 5527 clr R21
032E 80E8 ldi R24,128
0330 90E0 ldi R25,0
0332 5C01 movw R10,R24
0334 32C0 xjmp L83
0336 L80:
0336 .dbline 184
0336 ; sendcmd(Content,"OK",5000);
0336 .dbline 185
0336 ; clearf();
0336 06E3 ldi R16,54
0338 BBDE xcall _WriteCommand
033A .dbline 186
033A ; }
033A 0A2D mov R16,R10
033C B9DE xcall _WriteCommand
033E .dbline 187
033E ; /*
033E 062F mov R16,R22
0340 B7DE xcall _WriteCommand
0342 .dbline 188
0342 ; void call(void)
0342 00E3 ldi R16,48
0344 B5DE xcall _WriteCommand
0346 .dbline 189
0346 ; {
0346 84E0 ldi R24,4
0348 90E0 ldi R25,0
034A 7C01 movw R14,R24
034C 0BC0 xjmp L85
034E L84:
034E .dbline 191
034E 2880 ldd R2,y+0
0350 3980 ldd R3,y+1
0352 C101 movw R24,R2
0354 0196 adiw R24,1
0356 9983 std y+1,R25
0358 8883 std y+0,R24
035A F101 movw R30,R2
035C EC0D add R30,R12
035E FD1D adc R31,R13
0360 0081 ldd R16,z+0
0362 95DE xcall _WriteData
0364 L85:
0364 .dbline 190
0364 ; uchar C[] = "ATD \x3b\r"; //等号后7个空
0364 1701 movw R2,R14
0366 C101 movw R24,R2
0368 0197 sbiw R24,1
036A 7C01 movw R14,R24
036C 2220 tst R2
036E 79F7 brne L84
0370 3320 tst R3
0372 69F7 brne L84
0374 X6:
0374 .dbline 192
0374 ; uchar i;
0374 ; i_Rcv = 0;
0374 8CE0 ldi R24,12
0376 90E0 ldi R25,0
0378 7C01 movw R14,R24
037A 02C0 xjmp L88
037C L87:
037C .dbline 194
037C 0027 clr R16
037E 87DE xcall _WriteData
0380 L88:
0380 .dbline 193
0380 1701 movw R2,R14
0382 C101 movw R24,R2
0384 0197 sbiw R24,1
0386 7C01 movw R14,R24
0388 2220 tst R2
038A C1F7 brne L87
038C 3320 tst R3
038E B1F7 brne L87
0390 X7:
0390 .dbline 195
0390 L81:
0390 .dbline 183
0390 4F5F subi R20,255 ; offset = 1
0392 5F4F sbci R21,255
0394 C501 movw R24,R10
0396 0196 adiw R24,1
0398 5C01 movw R10,R24
039A L83:
039A .dbline 183
039A 4032 cpi R20,32
039C E0E0 ldi R30,0
039E 5E07 cpc R21,R30
03A0 08F4 brsh X8
03A2 C9CF xjmp L80
03A4 X8:
03A4 .dbline -2
03A4 L79:
03A4 2296 adiw R28,2
03A6 0E940000 xcall pop_gset5
03AA .dbline 0 ; func end
03AA 0895 ret
03AC .dbsym l i 1 i
03AC .dbsym r x 22 i
03AC .dbsym r y 10 i
03AC .dbsym r j 20 i
03AC .dbsym l l 0 i
03AC .dbsym r k 14 i
03AC .dbsym r tab 12 pc
03AC .dbend
03AC .dbfunc e shownum _shownum fI
03AC ; k -> <dead>
03AC ; T -> y+2
03AC ; temp -> R10,R11
03AC ; num -> y+19
03AC ; j -> R22
03AC ; i -> R20
.even
03AC _shownum::
03AC 0E940000 xcall push_gset4
03B0 622F mov R22,R18
03B2 402F mov R20,R16
03B4 2B97 sbiw R28,11
03B6 .dbline -1
03B6 .dbline 211
03B6 ; for(i=0;i<11;i++)
03B6 ; {
03B6 ; C[3+i] = Phone[i];
03B6 ; }
03B6 ; sendcmd(C,"OK",2000);
03B6 ; clearf();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -