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

📄 simpleio.lis

📁 chipcom公司CC1100无线模块底层驱动程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0328           L96:
 0328 6936              cpi R22,105
 032A E0E0              ldi R30,0
 032C 7E07              cpc R23,R30
 032E 09F4              brne X23
 0330 78C0              rjmp L90
 0332           X23:
 0332 89E6              ldi R24,105
 0334 90E0              ldi R25,0
 0336 8617              cp R24,R22
 0338 9707              cpc R25,R23
 033A 5CF0              brlt L100
 033C           L99:
 033C 6336              cpi R22,99
 033E E0E0              ldi R30,0
 0340 7E07              cpc R23,R30
 0342 09F4              brne X24
 0344 2FC0              rjmp L76
 0346           X24:
 0346 6436              cpi R22,100
 0348 E0E0              ldi R30,0
 034A 7E07              cpc R23,R30
 034C 09F4              brne X25
 034E 69C0              rjmp L90
 0350           X25:
 0350 7CC0              rjmp L70
 0352           L100:
 0352 6F36              cpi R22,111
 0354 E0E0              ldi R30,0
 0356 7E07              cpc R23,R30
 0358 09F4              brne X26
 035A 73C0              rjmp L94
 035C           X26:
 035C 6F36              cpi R22,111
 035E E0E0              ldi R30,0
 0360 7E07              cpc R23,R30
 0362 0CF4              brge X27
 0364 72C0              rjmp L70
 0366           X27:
 0366           L101:
 0366 6337              cpi R22,115
 0368 E0E0              ldi R30,0
 036A 7E07              cpc R23,R30
 036C 09F4              brne X28
 036E 39C0              rjmp L83
 0370           X28:
 0370 6537              cpi R22,117
 0372 E0E0              ldi R30,0
 0374 7E07              cpc R23,R30
 0376 09F4              brne X29
 0378 58C0              rjmp L91
 037A           X29:
 037A 6837              cpi R22,120
 037C E0E0              ldi R30,0
 037E 7E07              cpc R23,R30
 0380 09F4              brne X30
 0382 57C0              rjmp L92
 0384           X30:
 0384 62C0              rjmp L70
 0386           X11:
 0386                   .dbline 166
 0386           ;             {
 0386           L73:
 0386                   .dbline 168
 0386           ;                 case '\000':
 0386           ;                     return(--f);
 0386 8F85              ldd R24,y+15
 0388 9889              ldd R25,y+16
 038A 0197              sbiw R24,1
 038C 988B              std y+16,R25
 038E 8F87              std y+15,R24
 0390 8C01              movw R16,R24
 0392 82C0              rjmp L62
 0394           L74:
 0394                   .dbline 170
 0394           ;                 case '%':
 0394           ;                     putchar('%');
 0394 05E2              ldi R16,37
 0396 34DE              rcall _putchar
 0398                   .dbline 171
 0398           ;                     return(f);
 0398 0F85              ldd R16,y+15
 039A 1889              ldd R17,y+16
 039C 7DC0              rjmp L62
 039E           L75:
 039E                   .dbline 172
 039E           ;                 case '-': leftjust = TRUE;
 039E 41E0              ldi R20,1
 03A0 50E0              ldi R21,0
 03A2                   .dbline 173
 03A2           ;                     break;
 03A2 56C0              rjmp L71
 03A4           L76:
 03A4                   .dbline 175
 03A4           ;                 case 'c':
 03A4           ;                     {
 03A4                   .dbline 176
 03A4           ;                       if (leftjust) putchar(a & 0x7f);
 03A4 4030              cpi R20,0
 03A6 4507              cpc R20,R21
 03A8 29F0              breq L77
 03AA           X12:
 03AA                   .dbline 176
 03AA 0989              ldd R16,y+17
 03AC 1A89              ldd R17,y+18
 03AE 0F77              andi R16,127
 03B0 1070              andi R17,0
 03B2 26DE              rcall _putchar
 03B4           L77:
 03B4                   .dbline 177
 03B4           ;                       if (fieldwidth > 0) PutRepChar(fill, fieldwidth - 1);
 03B4 2224              clr R2
 03B6 3324              clr R3
 03B8 0B80              ldd R0,y+3
 03BA 1C80              ldd R1,y+4
 03BC 2014              cp R2,R0
 03BE 3104              cpc R3,R1
 03C0 2CF4              brge L79
 03C2                   .dbline 177
 03C2 9001              movw R18,R0
 03C4 2150              subi R18,1
 03C6 3040              sbci R19,0
 03C8 0E2D              mov R16,R14
 03CA 46DE              rcall _PutRepChar
 03CC           L79:
 03CC                   .dbline 178
 03CC           ;                       if (!leftjust) putchar(a & 0x7f);
 03CC 4030              cpi R20,0
 03CE 4507              cpc R20,R21
 03D0 29F4              brne L81
 03D2           X13:
 03D2                   .dbline 178
 03D2 0989              ldd R16,y+17
 03D4 1A89              ldd R17,y+18
 03D6 0F77              andi R16,127
 03D8 1070              andi R17,0
 03DA 12DE              rcall _putchar
 03DC           L81:
 03DC                   .dbline 179
 03DC           ;                       return(f);
 03DC 0F85              ldd R16,y+15
 03DE 1889              ldd R17,y+16
 03E0 5BC0              rjmp L62
 03E2           L83:
 03E2                   .dbline 182
 03E2           ;                     }
 03E2           ;                 case 's':
 03E2           ;                     {
 03E2                   .dbline 183
 03E2           ;                         if (leftjust) putstr((char *) a);
 03E2 4030              cpi R20,0
 03E4 4507              cpc R20,R21
 03E6 19F0              breq L84
 03E8           X14:
 03E8                   .dbline 183
 03E8 0989              ldd R16,y+17
 03EA 1A89              ldd R17,y+18
 03EC 19DE              rcall _putstr
 03EE           L84:
 03EE                   .dbline 184
 03EE           ;                         if (fieldwidth > strlen((char *) a))
 03EE 0989              ldd R16,y+17
 03F0 1A89              ldd R17,y+18
 03F2 23DE              rcall _strlen
 03F4 0B80              ldd R0,y+3
 03F6 1C80              ldd R1,y+4
 03F8 0015              cp R16,R0
 03FA 1105              cpc R17,R1
 03FC 4CF4              brge L86
 03FE                   .dbline 185
 03FE           ;                               PutRepChar(fill, fieldwidth - strlen((char *)a));
 03FE 0989              ldd R16,y+17
 0400 1A89              ldd R17,y+18
 0402 1BDE              rcall _strlen
 0404 2B81              ldd R18,y+3
 0406 3C81              ldd R19,y+4
 0408 201B              sub R18,R16
 040A 310B              sbc R19,R17
 040C 0E2D              mov R16,R14
 040E 24DE              rcall _PutRepChar
 0410           L86:
 0410                   .dbline 186
 0410           ;                         if (!leftjust) putstr((char *) a);
 0410 4030              cpi R20,0
 0412 4507              cpc R20,R21
 0414 19F4              brne L88
 0416           X15:
 0416                   .dbline 186
 0416 0989              ldd R16,y+17
 0418 1A89              ldd R17,y+18
 041A 02DE              rcall _putstr
 041C           L88:
 041C                   .dbline 187
 041C           ;                         return(f);
 041C 0F85              ldd R16,y+15
 041E 1889              ldd R17,y+16
 0420 3BC0              rjmp L62
 0422           L90:
 0422                   .dbline 191
 0422           ;                     }
 0422           ;                 case 'd':
 0422           ;                 case 'i':
 0422           ;                     radix = -10;break;
 0422 86EF              ldi R24,-10
 0424 9FEF              ldi R25,-1
 0426 5C01              movw R10,R24
 0428                   .dbline 191
 0428 13C0              rjmp L71
 042A           L91:
 042A                   .dbline 193
 042A           ;                 case 'u':
 042A           ;                     radix = 10;break;
 042A 8AE0              ldi R24,10
 042C 90E0              ldi R25,0
 042E 5C01              movw R10,R24
 0430                   .dbline 193
 0430 0FC0              rjmp L71
 0432           L92:
 0432                   .dbline 195
 0432           ;                 case 'x':
 0432           ;                     radix = 16;break;
 0432 80E1              ldi R24,16
 0434 90E0              ldi R25,0
 0436 5C01              movw R10,R24
 0438                   .dbline 195
 0438 0BC0              rjmp L71
 043A           L93:
 043A                   .dbline 197
 043A           ;                 case 'X':
 043A           ;                     radix = 16;break;
 043A 80E1              ldi R24,16
 043C 90E0              ldi R25,0
 043E 5C01              movw R10,R24
 0440                   .dbline 197
 0440 07C0              rjmp L71
 0442           L94:
 0442                   .dbline 199
 0442           ;                 case 'o':
 0442           ;                     radix = 8;break;
 0442 88E0              ldi R24,8
 0444 90E0              ldi R25,0
 0446 5C01              movw R10,R24
 0448                   .dbline 199
 0448 03C0              rjmp L71
 044A           L70:
 044A                   .dbline 201
 044A           ;                 default :
 044A           ;                     radix = 3;break;/* unknown switch! */
 044A 83E0              ldi R24,3
 044C 90E0              ldi R25,0
 044E 5C01              movw R10,R24
 0450                   .dbline 201
 0450           L71:
 0450                   .dbline 203
 0450           ;             }
 0450           ;         }
 0450           L69:
 0450                   .dbline 204
 0450           ;         if (radix) break;
 0450 AA20              tst R10
 0452 11F4              brne X16
 0454 BB20              tst R11
 0456 09F0              breq L102
 0458           X16:
 0458                   .dbline 204
 0458 09C0              rjmp L67
 045A           L102:
 045A                   .dbline 205
 045A           L66:
 045A                   .dbline 157
 045A EF85              ldd R30,y+15
 045C F889              ldd R31,y+16
 045E 2190              ld R2,Z+
 0460 F88B              std y+16,R31
 0462 EF87              std y+15,R30
 0464 C22C              mov R12,R2
 0466 CC20              tst R12
 0468 09F0              breq X31
 046A 29CF              rjmp L65
 046C           X31:
 046C           L67:
 046C                   .dbline 206
 046C           ;     }
 046C           ;     if (leftjust) fieldwidth = -fieldwidth;
 046C 4030              cpi R20,0
 046E 4507              cpc R20,R21
 0470 41F0              breq L104
 0472           X17:
 0472                   .dbline 206
 0472 8B81              ldd R24,y+3
 0474 9C81              ldd R25,y+4
 0476 8095              com R24
 0478 9095              com R25
 047A 8F5F              subi R24,0xFF
 047C 9F4F              sbci R25,0xFF
 047E 9C83              std y+4,R25
 0480 8B83              std y+3,R24
 0482           L104:
 0482                   .dbline 207
 0482           ;     PutNumber(a, radix, fieldwidth, fill);
 0482 EA82              std y+2,R14
 0484 0B80              ldd R0,y+3
 0486 1C80              ldd R1,y+4
 0488 1982              std y+1,R1
 048A 0882              std y+0,R0
 048C 9501              movw R18,R10
 048E 0989              ldd R16,y+17
 0490 1A89              ldd R17,y+18
 0492 04DE              rcall _PutNumber
 0494                   .dbline 208
 0494           ;     return(f);
 0494 0F85              ldd R16,y+15
 0496 1889              ldd R17,y+16
 0498                   .dbline -2
 0498           L62:
 0498 2596              adiw R28,5
 049A 00D0              rcall pop_gset5
 049C 2496              adiw R28,4
 049E                   .dbline 0 ; func end
 049E 0895              ret
 04A0                   .dbsym r fill 14 c
 04A0                   .dbsym r leftjust 20 I
 04A0                   .dbsym l fieldwidth 3 I
 04A0                   .dbsym r radix 10 I
 04A0                   .dbsym r c 12 c
 04A0                   .dbsym l a 17 I
 04A0                   .dbsym l f 15 pc
 04A0                   .dbend
 04A0                   .dbfunc e printf _printf fV
 04A0           ;           argP -> R20,R21
 04A0           ;              f -> y+2
                        .even
 04A0           _printf::
 04A0 00D0              rcall push_arg4
 04A2 00D0              rcall push_gset1
 04A4                   .dbline -1
 04A4                   .dbline 216
 04A4           ; }
 04A4           ; 
 04A4           ; #define vaStart(list, param) list = (char*)((int)&param + sizeof(param))
 04A4           ; #define vaArg(list, type) ((type *)(list += sizeof(type)))[-1]
 04A4           ; #define vaEnd(list)
 04A4           ; 
 04A4           ; void printf(char *f, ...)       /* variable arguments */
 04A4           ; {
 04A4                   .dbline 219
 04A4           ;       char *argP;
 04A4           ; 
 04A4           ;       vaStart(argP,f);                /* point at the end of the format string */
 04A4 AE01              movw R20,R28
 04A6 4E5F              subi R20,254  ; offset = 2
 04A8 5F4F              sbci R21,255
 04AA 4E5F              subi R20,254  ; offset = 2
 04AC 5F4F              sbci R21,255
 04AE 1AC0              rjmp L108
 04B0           L107:
 04B0                   .dbline 221
 04B0           ;       while (*f)
 04B0           ;       {                       /* this works because args are all ints */
 04B0                   .dbline 222
 04B0           ;               if (*f == '%')
 04B0 EA81              ldd R30,y+2
 04B2 FB81              ldd R31,y+3
 04B4 8081              ldd R24,z+0
 04B6 8532              cpi R24,37
 04B8 79F4              brne L110
 04BA                   .dbline 223
 04BA           ;                       f = FormatItem(f + 1, vaArg(argP, int));
 04BA CA01              movw R24,R20
 04BC 0296              adiw R24,2
 04BE AC01              movw R20,R24
 04C0 FC01              movw R30,R24
 04C2 3297              sbiw R30,2
 04C4 2081              ldd R18,z+0
 04C6 3181              ldd R19,z+1
 04C8 0A81              ldd R16,y+2
 04CA 1B81              ldd R17,y+3
 04CC 0F5F              subi R16,255  ; offset = 1
 04CE 1F4F              sbci R17,255
 04D0 E0DE              rcall _FormatItem
 04D2 1B83              std y+3,R17
 04D4 0A83              std y+2,R16
 04D6 06C0              rjmp L111
 04D8           L110:
 04D8                   .dbline 225
 04D8           ;               else
 04D8           ;                       putchar(*f++);
 04D8 EA81              ldd R30,y+2
 04DA FB81              ldd R31,y+3
 04DC 0191              ld R16,Z+
 04DE FB83              std y+3,R31
 04E0 EA83              std y+2,R30
 04E2 8EDD              rcall _putchar
 04E4           L111:
 04E4                   .dbline 226
 04E4           L108:
 04E4                   .dbline 220
 04E4 EA81              ldd R30,y+2
 04E6 FB81              ldd R31,y+3
 04E8 2080              ldd R2,z+0
 04EA 2220              tst R2
 04EC 09F7              brne L107
 04EE                   .dbline 227
 04EE           ;       }
 04EE           ;       vaEnd(argP);
 04EE                   .dbline -2
 04EE           L106:
 04EE 00D0              rcall pop_gset1
 04F0 2496              adiw R28,4
 04F2                   .dbline 0 ; func end
 04F2 0895              ret
 04F4                   .dbsym r argP 20 pc
 04F4                   .dbsym l f 2 pc
 04F4                   .dbend

⌨️ 快捷键说明

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