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

📄 sim340.lis

📁 本实例实现GSM模块的发送短消息
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 02B2 E00D              add R30,R0
 02B4 F11D              adc R31,R1
 02B6 2080              ldd R2,z+0
 02B8 CE01              movw R24,R28
 02BA 0896              adiw R24,8
 02BC EE81              ldd R30,y+6
 02BE FF81              ldd R31,y+7
 02C0 E80F              add R30,R24
 02C2 F91F              adc R31,R25
 02C4 2082              std z+0,R2
 02C6                   .dbline 153
 02C6           L19:
 02C6                   .dbline 150
 02C6 8E81              ldd R24,y+6
 02C8 9F81              ldd R25,y+7
 02CA 0196              adiw R24,1
 02CC 9F83              std y+7,R25
 02CE 8E83              std y+6,R24
 02D0           L21:
 02D0                   .dbline 150
 02D0 2E80              ldd R2,y+6
 02D2 3F80              ldd R3,y+7
 02D4 FE01              movw R30,R28
 02D6 E15B              subi R30,177  ; addi 591
 02D8 FD4F              sbci R31,253
 02DA 0080              ldd R0,z+0
 02DC 1180              ldd R1,z+1
 02DE 2014              cp R2,R0
 02E0 3104              cpc R3,R1
 02E2 04F3              brlt L18
 02E4                   .dbline 154
 02E4           ;     {
 02E4           ;       chrTmp[i] = pPhone[i];   //暂时存放电话号码
 02E4           ;     }
 02E4           ;     chrTmp[phonelen] = 'F';      
 02E4 CE01              movw R24,R28
 02E6 0896              adiw R24,8
 02E8 F001              movw R30,R0
 02EA E80F              add R30,R24
 02EC F91F              adc R31,R25
 02EE 86E4              ldi R24,70
 02F0 8083              std z+0,R24
 02F2                   .dbline 155
 02F2           ;     phonelen += 1;
 02F2 C001              movw R24,R0
 02F4 0196              adiw R24,1
 02F6 FE01              movw R30,R28
 02F8 E15B              subi R30,177  ; addi 591
 02FA FD4F              sbci R31,253
 02FC 9183              std z+1,R25
 02FE 8083              std z+0,R24
 0300                   .dbline 157
 0300           ;     // 将电话号码按照规范的顺序作成
 0300           ;     n = 0;
 0300 2224              clr R2
 0302 3324              clr R3
 0304 FE01              movw R30,R28
 0306 E851              subi R30,24  ; addi 232
 0308 FF4F              sbci R31,255
 030A 3182              std z+1,R3
 030C 2082              std z+0,R2
 030E                   .dbline 158
 030E           ;     for(i = 0;i < phonelen / 2;i++)    //把电话号码转换为PDU的格式
 030E 3F82              std y+7,R3
 0310 2E82              std y+6,R2
 0312 43C0              xjmp L25
 0314           L22:
 0314                   .dbline 159
 0314                   .dbline 160
 0314 FE01              movw R30,R28
 0316 E851              subi R30,24  ; addi 232
 0318 FF4F              sbci R31,255
 031A 2080              ldd R2,z+0
 031C 3180              ldd R3,z+1
 031E C101              movw R24,R2
 0320 0196              adiw R24,1
 0322 FE01              movw R30,R28
 0324 E851              subi R30,24  ; addi 232
 0326 FF4F              sbci R31,255
 0328 9183              std z+1,R25
 032A 8083              std z+0,R24
 032C 2E81              ldd R18,y+6
 032E 3F81              ldd R19,y+7
 0330 02E0              ldi R16,2
 0332 10E0              ldi R17,0
 0334 0E940000          xcall empy16s
 0338 F801              movw R30,R16
 033A CE01              movw R24,R28
 033C 0996              adiw R24,9
 033E E80F              add R30,R24
 0340 F91F              adc R31,R25
 0342 4080              ldd R4,z+0
 0344 CE01              movw R24,R28
 0346 8C52              subi R24,44  ; offset = 212
 0348 9F4F              sbci R25,255
 034A F101              movw R30,R2
 034C E80F              add R30,R24
 034E F91F              adc R31,R25
 0350 4082              std z+0,R4
 0352                   .dbline 161
 0352 FE01              movw R30,R28
 0354 E851              subi R30,24  ; addi 232
 0356 FF4F              sbci R31,255
 0358 2080              ldd R2,z+0
 035A 3180              ldd R3,z+1
 035C C101              movw R24,R2
 035E 0196              adiw R24,1
 0360 FE01              movw R30,R28
 0362 E851              subi R30,24  ; addi 232
 0364 FF4F              sbci R31,255
 0366 9183              std z+1,R25
 0368 8083              std z+0,R24
 036A 2E81              ldd R18,y+6
 036C 3F81              ldd R19,y+7
 036E 02E0              ldi R16,2
 0370 10E0              ldi R17,0
 0372 0E940000          xcall empy16s
 0376 F801              movw R30,R16
 0378 CE01              movw R24,R28
 037A 0896              adiw R24,8
 037C E80F              add R30,R24
 037E F91F              adc R31,R25
 0380 4080              ldd R4,z+0
 0382 CE01              movw R24,R28
 0384 8C52              subi R24,44  ; offset = 212
 0386 9F4F              sbci R25,255
 0388 F101              movw R30,R2
 038A E80F              add R30,R24
 038C F91F              adc R31,R25
 038E 4082              std z+0,R4
 0390                   .dbline 162
 0390           L23:
 0390                   .dbline 158
 0390 8E81              ldd R24,y+6
 0392 9F81              ldd R25,y+7
 0394 0196              adiw R24,1
 0396 9F83              std y+7,R25
 0398 8E83              std y+6,R24
 039A           L25:
 039A                   .dbline 158
 039A 22E0              ldi R18,2
 039C 30E0              ldi R19,0
 039E FE01              movw R30,R28
 03A0 E15B              subi R30,177  ; addi 591
 03A2 FD4F              sbci R31,253
 03A4 0081              ldd R16,z+0
 03A6 1181              ldd R17,z+1
 03A8 0E940000          xcall div16s
 03AC 2E80              ldd R2,y+6
 03AE 3F80              ldd R3,y+7
 03B0 2016              cp R2,R16
 03B2 3106              cpc R3,R17
 03B4 0CF4              brge X1
 03B6 AECF              xjmp L22
 03B8           X1:
 03B8                   .dbline 163
 03B8           ;     {
 03B8           ;       phoneTemp[n++] = chrTmp[2 * i + 1];
 03B8           ;       phoneTemp[n++] = chrTmp[2 * i];
 03B8           ;     }
 03B8           ;     copy(chrTemp,0,chrInfo,0,6);    //将源数组的内容拷贝到目的数组
 03B8 86E0              ldi R24,6
 03BA 90E0              ldi R25,0
 03BC 9D83              std y+5,R25
 03BE 8C83              std y+4,R24
 03C0 2224              clr R2
 03C2 3324              clr R3
 03C4 3B82              std y+3,R3
 03C6 2A82              std y+2,R2
 03C8 CE01              movw R24,R28
 03CA 8E58              subi R24,142  ; offset = 370
 03CC 9E4F              sbci R25,254
 03CE 9983              std y+1,R25
 03D0 8883              std y+0,R24
 03D2 2227              clr R18
 03D4 3327              clr R19
 03D6 8E01              movw R16,R28
 03D8 0450              subi R16,4  ; offset = 252
 03DA 1F4F              sbci R17,255
 03DC 84D2              xcall _copy
 03DE                   .dbline 164
 03DE           ;     nOff = 6;                     //上一次的数组长度
 03DE 86E0              ldi R24,6
 03E0 90E0              ldi R25,0
 03E2 FE01              movw R30,R28
 03E4 EE52              subi R30,46  ; addi 210
 03E6 FF4F              sbci R31,255
 03E8 9183              std z+1,R25
 03EA 8083              std z+0,R24
 03EC                   .dbline 165
 03EC           ;     chrTemp[nOff] = '8';
 03EC CE01              movw R24,R28
 03EE 8450              subi R24,4  ; offset = 252
 03F0 9F4F              sbci R25,255
 03F2 DE01              movw R26,R28
 03F4 AE52              subi R26,46  ; addi 210
 03F6 BF4F              sbci R27,255
 03F8 ED91              ld R30,x+
 03FA FC91              ld R31,x
 03FC E80F              add R30,R24
 03FE F91F              adc R31,R25
 0400 88E3              ldi R24,56
 0402 8083              std z+0,R24
 0404                   .dbline 166
 0404           ;     nOff += 1;
 0404 FE01              movw R30,R28
 0406 EE52              subi R30,46  ; addi 210
 0408 FF4F              sbci R31,255
 040A 8081              ldd R24,z+0
 040C 9181              ldd R25,z+1
 040E 0196              adiw R24,1
 0410 FE01              movw R30,R28
 0412 EE52              subi R30,46  ; addi 210
 0414 FF4F              sbci R31,255
 0416 9183              std z+1,R25
 0418 8083              std z+0,R24
 041A                   .dbline 167
 041A           ;     chrTemp[nOff] = '1';
 041A CE01              movw R24,R28
 041C 8450              subi R24,4  ; offset = 252
 041E 9F4F              sbci R25,255
 0420 DE01              movw R26,R28
 0422 AE52              subi R26,46  ; addi 210
 0424 BF4F              sbci R27,255
 0426 ED91              ld R30,x+
 0428 FC91              ld R31,x
 042A E80F              add R30,R24
 042C F91F              adc R31,R25
 042E 81E3              ldi R24,49
 0430 8083              std z+0,R24
 0432                   .dbline 168
 0432           ;     nOff += 1;
 0432 FE01              movw R30,R28
 0434 EE52              subi R30,46  ; addi 210
 0436 FF4F              sbci R31,255
 0438 8081              ldd R24,z+0
 043A 9181              ldd R25,z+1
 043C 0196              adiw R24,1
 043E FE01              movw R30,R28
 0440 EE52              subi R30,46  ; addi 210
 0442 FF4F              sbci R31,255
 0444 9183              std z+1,R25
 0446 8083              std z+0,R24
 0448                   .dbline 170
 0448           ;     //设置电话号码
 0448           ;     copy(chrTemp,nOff,phoneTemp,0,phonelen);    //将源数组的内容拷贝到目的数组
 0448 FE01              movw R30,R28
 044A E15B              subi R30,177  ; addi 591
 044C FD4F              sbci R31,253
 044E 0080              ldd R0,z+0
 0450 1180              ldd R1,z+1
 0452 1D82              std y+5,R1
 0454 0C82              std y+4,R0
 0456 2224              clr R2
 0458 3324              clr R3
 045A 3B82              std y+3,R3
 045C 2A82              std y+2,R2
 045E CE01              movw R24,R28
 0460 8C52              subi R24,44  ; offset = 212
 0462 9F4F              sbci R25,255
 0464 9983              std y+1,R25
 0466 8883              std y+0,R24
 0468 FE01              movw R30,R28
 046A EE52              subi R30,46  ; addi 210
 046C FF4F              sbci R31,255
 046E 2081              ldd R18,z+0
 0470 3181              ldd R19,z+1
 0472 8E01              movw R16,R28
 0474 0450              subi R16,4  ; offset = 252
 0476 1F4F              sbci R17,255
 0478 36D2              xcall _copy
 047A                   .dbline 171
 047A           ;     nOff += phonelen;
 047A FE01              movw R30,R28
 047C EE52              subi R30,46  ; addi 210
 047E FF4F              sbci R31,255
 0480 2080              ldd R2,z+0
 0482 3180              ldd R3,z+1
 0484 FE01              movw R30,R28
 0486 E15B              subi R30,177  ; addi 591
 0488 FD4F              sbci R31,253
 048A 0080              ldd R0,z+0
 048C 1180              ldd R1,z+1
 048E 200C              add R2,R0
 0490 311C              adc R3,R1
 0492 FE01              movw R30,R28
 0494 EE52              subi R30,46  ; addi 210
 0496 FF4F              sbci R31,255
 0498 3182              std z+1,R3
 049A 2082              std z+0,R2
 049C                   .dbline 172
 049C           ;     chrTemp[nOff] = '0';   //设置协议标识
 049C CE01              movw R24,R28
 049E 8450              subi R24,4  ; offset = 252
 04A0 9F4F              sbci R25,255
 04A2 F101              movw R30,R2
 04A4 E80F              add R30,R24
 04A6 F91F              adc R31,R25
 04A8 80E3              ldi R24,48
 04AA 8083              std z+0,R24
 04AC                   .dbline 173
 04AC           ;     nOff += 1;
 04AC C101              movw R24,R2
 04AE 0196              adiw R24,1
 04B0 FE01              movw R30,R28
 04B2 EE52              subi R30,46  ; addi 210
 04B4 FF4F              sbci R31,255
 04B6 9183              std z+1,R25
 04B8 8083              std z+0,R24
 04BA                   .dbline 174
 04BA           ;     chrTemp[nOff] = '0';
 04BA CE01              movw R24,R28
 04BC 8450              subi R24,4  ; offset = 252
 04BE 9F4F              sbci R25,255
 04C0 DE01              movw R26,R28
 04C2 AE52              subi R26,46  ; addi 210
 04C4 BF4F              sbci R27,255
 04C6 ED91              ld R30,x+
 04C8 FC91              ld R31,x
 04CA E80F              add R30,R24
 04CC F91F              adc R31,R25
 04CE 80E3              ldi R24,48
 04D0 8083              std z+0,R24
 04D2                   .dbline 175
 04D2           ;     nOff += 1;
 04D2 FE01              movw R30,R28
 04D4 EE52              subi R30,46  ; addi 210
 04D6 FF4F              sbci R31,255
 04D8 8081              ldd R24,z+0
 04DA 9181              ldd R25,z+1
 04DC 0196              adiw R24,1
 04DE FE01              movw R30,R28
 04E0 EE52              subi R30,46  ; addi 210
 04E2 FF4F              sbci R31,255
 04E4 9183              std z+1,R25
 04E6 8083              std z+0,R24
 04E8                   .dbline 177
 04E8           ;     
 04E8           ;     nContent_Len = nLen;
 04E8 FE01              movw R30,R28

⌨️ 快捷键说明

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