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

📄 lcdprintf.lst

📁 Working with DS1820 temperature sensor on SAM7 mC. Watch for timings!
💻 LST
📖 第 1 页 / 共 3 页
字号:
 227 0140 1370     		strb	r3, [r2] 228 0142 FB68     		ldr	r3, [r7, #12] 229 0144 0133     		add	r3, r3, #1 230 0146 FB60     		str	r3, [r7, #12] 231              	.L16:  96:LCD/lcdprintf.c ****        }
  97:LCD/lcdprintf.c ****      }
  98:LCD/lcdprintf.c **** #endif
  99:LCD/lcdprintf.c **** 
 100:LCD/lcdprintf.c **** #ifdef USE_LONG
 101:LCD/lcdprintf.c ****     islong=0; //default int value
 232              		.loc 1 101 0 233 0148 3A1C     		mov	r2, r7 234 014a 0D3A     		sub	r2, r2, #13 235 014c 0023     		mov	r3, #0 236 014e 1370     		strb	r3, [r2] 102:LCD/lcdprintf.c **** #ifdef USE_UPPER
 103:LCD/lcdprintf.c ****     if(format_flag=='l' || format_flag=='L') //Long value 
 237              		.loc 1 103 0 238 0150 3B1C     		mov	r3, r7 239 0152 173B     		sub	r3, r3, #23 240 0154 1B78     		ldrb	r3, [r3] 241 0156 6C2B     		cmp	r3, #108 242 0158 04D0     		beq	.L19 243 015a 3B1C     		mov	r3, r7 244 015c 173B     		sub	r3, r3, #23 245 015e 1B78     		ldrb	r3, [r3] 246 0160 4C2B     		cmp	r3, #76 247 0162 0BD1     		bne	.L21 248              	.L19: 104:LCD/lcdprintf.c **** #else
 105:LCD/lcdprintf.c ****     if(format_flag=='l') //Long value 
 106:LCD/lcdprintf.c **** #endif
 107:LCD/lcdprintf.c ****      {
 108:LCD/lcdprintf.c ****       islong=1;
 249              		.loc 1 108 0 250 0164 3A1C     		mov	r2, r7 251 0166 0D3A     		sub	r2, r2, #13 252 0168 0123     		mov	r3, #1 253 016a 1370     		strb	r3, [r2] 109:LCD/lcdprintf.c ****       format_flag = *format++; //get char after 'l' or 'L'
 254              		.loc 1 109 0 255 016c 3A1C     		mov	r2, r7 256 016e 173A     		sub	r2, r2, #23 257 0170 FB68     		ldr	r3, [r7, #12] 258 0172 1B78     		ldrb	r3, [r3] 259 0174 1370     		strb	r3, [r2] 260 0176 FB68     		ldr	r3, [r7, #12] 261 0178 0133     		add	r3, r3, #1 262 017a FB60     		str	r3, [r7, #12] 263              	.L21: 110:LCD/lcdprintf.c ****      }
 111:LCD/lcdprintf.c **** #endif
 112:LCD/lcdprintf.c **** 
 113:LCD/lcdprintf.c ****     switch (format_flag)
 264              		.loc 1 113 0 265 017c 3B1C     		mov	r3, r7 266 017e 173B     		sub	r3, r3, #23 267 0180 1B78     		ldrb	r3, [r3] 268 0182 191C     		mov	r1, r3 269 0184 4339     		sub	r1, r1, #67 270 0186 3022     		mov	r2, #48 271 0188 5242     		neg	r2, r2 272 018a D219     		add	r2, r2, r7 273 018c 1160     		str	r1, [r2] 274 018e 3023     		mov	r3, #48 275 0190 5B42     		neg	r3, r3 276 0192 DB19     		add	r3, r3, r7 277 0194 1B68     		ldr	r3, [r3] 278 0196 352B     		cmp	r3, #53 279 0198 14D8     		bhi	.L22 280 019a 3021     		mov	r1, #48 281 019c 4942     		neg	r1, r1 282 019e C919     		add	r1, r1, r7 283 01a0 0968     		ldr	r1, [r1] 284 01a2 8A00     		lsl	r2, r1, #2 285 01a4 934B     		ldr	r3, .L57 286 01a6 D318     		add	r3, r2, r3 287 01a8 1B68     		ldr	r3, [r3] 288 01aa 9F46     		mov	pc, r3 289              		.section	.rodata 290              		.align	2 291              		.align	2 292              	.L28: 293 0000 AC010000 		.word	.L23 294 0004 16020000 		.word	.L24 295 0008 C4010000 		.word	.L22 296 000c C4010000 		.word	.L22 297 0010 C4010000 		.word	.L22 298 0014 C4010000 		.word	.L22 299 0018 16020000 		.word	.L24 300 001c C4010000 		.word	.L22 301 0020 C4010000 		.word	.L22 302 0024 C4010000 		.word	.L22 303 0028 C4010000 		.word	.L22 304 002c C4010000 		.word	.L22 305 0030 C4010000 		.word	.L22 306 0034 C4010000 		.word	.L22 307 0038 C4010000 		.word	.L22 308 003c C4010000 		.word	.L22 309 0040 D2010000 		.word	.L25 310 0044 C4010000 		.word	.L22 311 0048 28020000 		.word	.L33 312 004c C4010000 		.word	.L22 313 0050 C4010000 		.word	.L22 314 0054 20020000 		.word	.L27 315 0058 C4010000 		.word	.L22 316 005c C4010000 		.word	.L22 317 0060 C4010000 		.word	.L22 318 0064 C4010000 		.word	.L22 319 0068 C4010000 		.word	.L22 320 006c C4010000 		.word	.L22 321 0070 C4010000 		.word	.L22 322 0074 C4010000 		.word	.L22 323 0078 C4010000 		.word	.L22 324 007c C4010000 		.word	.L22 325 0080 AC010000 		.word	.L23 326 0084 16020000 		.word	.L24 327 0088 C4010000 		.word	.L22 328 008c C4010000 		.word	.L22 329 0090 C4010000 		.word	.L22 330 0094 C4010000 		.word	.L22 331 0098 16020000 		.word	.L24 332 009c C4010000 		.word	.L22 333 00a0 C4010000 		.word	.L22 334 00a4 C4010000 		.word	.L22 335 00a8 C4010000 		.word	.L22 336 00ac C4010000 		.word	.L22 337 00b0 C4010000 		.word	.L22 338 00b4 C4010000 		.word	.L22 339 00b8 C4010000 		.word	.L22 340 00bc C4010000 		.word	.L22 341 00c0 D2010000 		.word	.L25 342 00c4 C4010000 		.word	.L22 343 00c8 28020000 		.word	.L33 344 00cc C4010000 		.word	.L22 345 00d0 C4010000 		.word	.L22 346 00d4 20020000 		.word	.L27 347              		.text 348              	.L23: 114:LCD/lcdprintf.c ****     {
 115:LCD/lcdprintf.c **** #ifdef USE_CHAR
 116:LCD/lcdprintf.c ****     case 'c':
 117:LCD/lcdprintf.c **** #ifdef USE_UPPER
 118:LCD/lcdprintf.c ****     case 'C':
 119:LCD/lcdprintf.c **** #endif
 120:LCD/lcdprintf.c ****       format_flag = va_arg(ap,int);
 349              		.loc 1 120 0 350 01ac 3B1C     		mov	r3, r7 351 01ae 283B     		sub	r3, r3, #40 352 01b0 1968     		ldr	r1, [r3] 353 01b2 0A1D     		add	r2, r1, #4 354 01b4 3B1C     		mov	r3, r7 355 01b6 283B     		sub	r3, r3, #40 356 01b8 1A60     		str	r2, [r3] 357 01ba 0B1C     		mov	r3, r1 358 01bc 1B68     		ldr	r3, [r3] 359 01be 3A1C     		mov	r2, r7 360 01c0 173A     		sub	r2, r2, #23 361 01c2 1370     		strb	r3, [r2] 362              	.L22: 121:LCD/lcdprintf.c ****       // no break -> run into default
 122:LCD/lcdprintf.c **** #endif
 123:LCD/lcdprintf.c **** 
 124:LCD/lcdprintf.c ****     default:
 125:LCD/lcdprintf.c ****       lcdmyputchar(format_flag);
 363              		.loc 1 125 0 364 01c4 3B1C     		mov	r3, r7 365 01c6 173B     		sub	r3, r3, #23 366 01c8 1B78     		ldrb	r3, [r3] 367 01ca 181C     		mov	r0, r3 368 01cc FFF7FEFF 		bl	lcdmyputchar 126:LCD/lcdprintf.c ****       continue;
 369              		.loc 1 126 0 370 01d0 54E7     		b	.L8 371              	.L25: 127:LCD/lcdprintf.c **** 
 128:LCD/lcdprintf.c **** #ifdef USE_STRING
 129:LCD/lcdprintf.c **** #ifdef USE_UPPER
 130:LCD/lcdprintf.c ****     case 'S':
 131:LCD/lcdprintf.c **** #endif
 132:LCD/lcdprintf.c ****     case 's':
 133:LCD/lcdprintf.c ****       ptr = (unsigned char*)va_arg(ap,char *);
 372              		.loc 1 133 0 373 01d2 3B1C     		mov	r3, r7 374 01d4 283B     		sub	r3, r3, #40 375 01d6 1968     		ldr	r1, [r3] 376 01d8 0A1D     		add	r2, r1, #4 377 01da 3B1C     		mov	r3, r7 378 01dc 283B     		sub	r3, r3, #40 379 01de 1A60     		str	r2, [r3] 380 01e0 0B1C     		mov	r3, r1 381 01e2 1A68     		ldr	r2, [r3] 382 01e4 3B1C     		mov	r3, r7 383 01e6 143B     		sub	r3, r3, #20 384 01e8 1A60     		str	r2, [r3] 134:LCD/lcdprintf.c ****       while(*ptr) { lcdmyputchar(*ptr); ptr++; }
 385              		.loc 1 134 0 386 01ea 0DE0     		b	.L30 387              	.L31: 388 01ec 3B1C     		mov	r3, r7 389 01ee 143B     		sub	r3, r3, #20 390 01f0 1B68     		ldr	r3, [r3] 391 01f2 1B78     		ldrb	r3, [r3] 392 01f4 181C     		mov	r0, r3 393 01f6 FFF7FEFF 		bl	lcdmyputchar 394 01fa 3A1C     		mov	r2, r7 395 01fc 143A     		sub	r2, r2, #20 396 01fe 3B1C     		mov	r3, r7 397 0200 143B     		sub	r3, r3, #20 398 0202 1B68     		ldr	r3, [r3] 399 0204 0133     		add	r3, r3, #1 400 0206 1360     		str	r3, [r2] 401              	.L30: 402 0208 3B1C     		mov	r3, r7 403 020a 143B     		sub	r3, r3, #20 404 020c 1B68     		ldr	r3, [r3] 405 020e 1B78     		ldrb	r3, [r3] 406 0210 002B     		cmp	r3, #0 407 0212 EBD1     		bne	.L31 135:LCD/lcdprintf.c ****       continue;
 408              		.loc 1 135 0 409 0214 32E7     		b	.L8 410              	.L24: 136:LCD/lcdprintf.c **** #endif
 137:LCD/lcdprintf.c **** 
 138:LCD/lcdprintf.c **** #ifdef USE_OCTAL
 139:LCD/lcdprintf.c ****     case 'o':
 140:LCD/lcdprintf.c **** #ifdef USE_UPPER
 141:LCD/lcdprintf.c ****     case 'O':
 142:LCD/lcdprintf.c **** #endif
 143:LCD/lcdprintf.c ****       base = 8;
 144:LCD/lcdprintf.c ****       lcdmyputchar('0');
 145:LCD/lcdprintf.c ****       goto CONVERSION_LOOP;
 146:LCD/lcdprintf.c **** #endif
 147:LCD/lcdprintf.c **** 
 148:LCD/lcdprintf.c **** #ifdef USE_INTEGER //don't use %i, is same as %d
 149:LCD/lcdprintf.c ****     case 'i':
 150:LCD/lcdprintf.c **** #ifdef USE_UPPER
 151:LCD/lcdprintf.c ****     case 'I':
 152:LCD/lcdprintf.c **** #endif
 153:LCD/lcdprintf.c **** #endif
 154:LCD/lcdprintf.c ****     case 'd':
 155:LCD/lcdprintf.c **** #ifdef USE_UPPER
 156:LCD/lcdprintf.c ****     case 'D':
 157:LCD/lcdprintf.c **** #endif
 158:LCD/lcdprintf.c ****       issigned=1;
 411              		.loc 1 158 0 412 0216 3A1C     		mov	r2, r7 413 0218 0E3A     		sub	r2, r2, #14 414 021a 0123     		mov	r3, #1 415 021c 1370     		strb	r3, [r2] 159:LCD/lcdprintf.c ****       // no break -> run into next case
 160:LCD/lcdprintf.c ****     case 'u':
 161:LCD/lcdprintf.c **** #ifdef USE_UPPER
 162:LCD/lcdprintf.c ****     case 'U':
 163:LCD/lcdprintf.c **** #endif
 164:LCD/lcdprintf.c **** 
 165:LCD/lcdprintf.c **** //don't insert some case below this if USE_HEX is undefined !
 166:LCD/lcdprintf.c **** //or put       goto CONVERSION_LOOP;  before next case.
 167:LCD/lcdprintf.c **** #ifdef USE_HEX
 168:LCD/lcdprintf.c ****       goto CONVERSION_LOOP;
 416              		.loc 1 168 0 417 021e 03E0     		b	.L33 418              	.L27: 169:LCD/lcdprintf.c ****     case 'x':
 170:LCD/lcdprintf.c **** #ifdef USE_UPPER
 171:LCD/lcdprintf.c ****     case 'X':
 172:LCD/lcdprintf.c **** #endif
 173:LCD/lcdprintf.c ****       base = 16;
 419              		.loc 1 173 0 420 0220 3A1C     		mov	r2, r7 421 0222 163A     		sub	r2, r2, #22 422 0224 1023     		mov	r3, #16 423 0226 1380     		strh	r3, [r2] 424              	.L33: 174:LCD/lcdprintf.c **** #endif
 175:LCD/lcdprintf.c **** 
 176:LCD/lcdprintf.c ****     CONVERSION_LOOP:
 177:LCD/lcdprintf.c **** 
 178:LCD/lcdprintf.c ****       if(issigned) //Signed types
 425              		.loc 1 178 0 426 0228 3B1C     		mov	r3, r7 427 022a 0E3B     		sub	r3, r3, #14 428 022c 1B78     		ldrb	r3, [r3] 429 022e 002B     		cmp	r3, #0 430 0230 33D0     		beq	.L34 179:LCD/lcdprintf.c ****        {
 180:LCD/lcdprintf.c **** #ifdef USE_LONG
 181:LCD/lcdprintf.c ****         if(islong) { s_val = va_arg(ap,long); }
 431              		.loc 1 181 0 432 0232 3B1C     		mov	r3, r7 433 0234 0D3B     		sub	r3, r3, #13 434 0236 1B78     		ldrb	r3, [r3] 435 0238 002B     		cmp	r3, #0 436 023a 0CD0     		beq	.L36 437 023c 3B1C     		mov	r3, r7 438 023e 283B     		sub	r3, r3, #40 439 0240 1968     		ldr	r1, [r3] 440 0242 0A1D     		add	r2, r1, #4 441 0244 3B1C     		mov	r3, r7 442 0246 283B     		sub	r3, r3, #40 443 0248 1A60     		str	r2, [r3] 444 024a 0B1C     		mov	r3, r1 445 024c 3A1C     		mov	r2, r7 446 024e 083A     		sub	r2, r2, #8 447 0250 1B68     		ldr	r3, [r3] 448 0252 1360     		str	r3, [r2] 449 0254 0BE0     		b	.L38 450              	.L36: 182:LCD/lcdprintf.c ****         else { s_val = va_arg(ap,int); }

⌨️ 快捷键说明

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