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

📄 uartmain.lst

📁 Virtual GPS NEMAcode transmitter using serial port, AVR Atmega32 microcontrooler
💻 LST
📖 第 1 页 / 共 4 页
字号:
 1ae:	4e c0       	rjmp	.+156    	; 0x24c <uart_getchar+0x150>
 1b0:	88 31       	cpi	r24, 0x18	; 24
 1b2:	91 05       	cpc	r25, r1
 1b4:	1c f4       	brge	.+6      	; 0x1bc <uart_getchar+0xc0>
 1b6:	45 97       	sbiw	r24, 0x15	; 21
 1b8:	79 f1       	breq	.+94     	; 0x218 <uart_getchar+0x11c>
 1ba:	b3 cf       	rjmp	.-154    	; 0x122 <uart_getchar+0x26>
 1bc:	8f 37       	cpi	r24, 0x7F	; 127
 1be:	91 05       	cpc	r25, r1
 1c0:	21 f0       	breq	.+8      	; 0x1ca <uart_getchar+0xce>
 1c2:	af cf       	rjmp	.-162    	; 0x122 <uart_getchar+0x26>
	  {
	  case 'c' & 0x1f:
	    return -1;
 1c4:	8f ef       	ldi	r24, 0xFF	; 255
 1c6:	9f ef       	ldi	r25, 0xFF	; 255
 1c8:	6e c0       	rjmp	.+220    	; 0x2a6 <uart_getchar+0x1aa>

	  case '\b':
	  case '\x7f':
	    if (cp > b)
 1ca:	f0 e0       	ldi	r31, 0x00	; 0
 1cc:	06 3f       	cpi	r16, 0xF6	; 246
 1ce:	1f 07       	cpc	r17, r31
 1d0:	09 f0       	breq	.+2      	; 0x1d4 <uart_getchar+0xd8>
 1d2:	08 f4       	brcc	.+2      	; 0x1d6 <uart_getchar+0xda>
 1d4:	a6 cf       	rjmp	.-180    	; 0x122 <uart_getchar+0x26>
	      {
		uart_putchar('\b', stream);
 1d6:	b7 01       	movw	r22, r14
 1d8:	88 e0       	ldi	r24, 0x08	; 8
 1da:	0e 94 65 00 	call	0xca <uart_putchar>
		uart_putchar(' ', stream);
 1de:	b7 01       	movw	r22, r14
 1e0:	80 e2       	ldi	r24, 0x20	; 32
 1e2:	0e 94 65 00 	call	0xca <uart_putchar>
		uart_putchar('\b', stream);
 1e6:	b7 01       	movw	r22, r14
 1e8:	88 e0       	ldi	r24, 0x08	; 8
 1ea:	0e 94 65 00 	call	0xca <uart_putchar>
		cp--;
 1ee:	01 50       	subi	r16, 0x01	; 1
 1f0:	10 40       	sbci	r17, 0x00	; 0
	      }
	    break;
 1f2:	97 cf       	rjmp	.-210    	; 0x122 <uart_getchar+0x26>

	  case 'r' & 0x1f:
	    uart_putchar('\r', stream);
 1f4:	b7 01       	movw	r22, r14
 1f6:	8d e0       	ldi	r24, 0x0D	; 13
 1f8:	0e 94 65 00 	call	0xca <uart_putchar>
	    for (cp2 = b; cp2 < cp; cp2++)
 1fc:	c6 ef       	ldi	r28, 0xF6	; 246
 1fe:	d0 e0       	ldi	r29, 0x00	; 0
 200:	c0 16       	cp	r12, r16
 202:	d1 06       	cpc	r13, r17
 204:	08 f0       	brcs	.+2      	; 0x208 <uart_getchar+0x10c>
 206:	8d cf       	rjmp	.-230    	; 0x122 <uart_getchar+0x26>
	      uart_putchar(*cp2, stream);
 208:	b7 01       	movw	r22, r14
 20a:	89 91       	ld	r24, Y+
 20c:	0e 94 65 00 	call	0xca <uart_putchar>
 210:	c0 17       	cp	r28, r16
 212:	d1 07       	cpc	r29, r17
 214:	c8 f3       	brcs	.-14     	; 0x208 <uart_getchar+0x10c>
	    break;
 216:	85 cf       	rjmp	.-246    	; 0x122 <uart_getchar+0x26>

	  case 'u' & 0x1f:
	    while (cp > b)
	      {
		uart_putchar('\b', stream);
		uart_putchar(' ', stream);
		uart_putchar('\b', stream);
		cp--;
 218:	80 e0       	ldi	r24, 0x00	; 0
 21a:	06 3f       	cpi	r16, 0xF6	; 246
 21c:	18 07       	cpc	r17, r24
 21e:	09 f0       	breq	.+2      	; 0x222 <uart_getchar+0x126>
 220:	08 f4       	brcc	.+2      	; 0x224 <uart_getchar+0x128>
 222:	7f cf       	rjmp	.-258    	; 0x122 <uart_getchar+0x26>
 224:	b7 01       	movw	r22, r14
 226:	88 e0       	ldi	r24, 0x08	; 8
 228:	0e 94 65 00 	call	0xca <uart_putchar>
 22c:	b7 01       	movw	r22, r14
 22e:	80 e2       	ldi	r24, 0x20	; 32
 230:	0e 94 65 00 	call	0xca <uart_putchar>
 234:	b7 01       	movw	r22, r14
 236:	88 e0       	ldi	r24, 0x08	; 8
 238:	0e 94 65 00 	call	0xca <uart_putchar>
 23c:	01 50       	subi	r16, 0x01	; 1
 23e:	10 40       	sbci	r17, 0x00	; 0
 240:	e0 e0       	ldi	r30, 0x00	; 0
 242:	06 3f       	cpi	r16, 0xF6	; 246
 244:	1e 07       	cpc	r17, r30
 246:	09 f0       	breq	.+2      	; 0x24a <uart_getchar+0x14e>
 248:	68 f7       	brcc	.-38     	; 0x224 <uart_getchar+0x128>
	      }
	    break;
 24a:	6b cf       	rjmp	.-298    	; 0x122 <uart_getchar+0x26>

	  case 'w' & 0x1f:
	    while (cp > b && cp[-1] != ' ')
	      {
		uart_putchar('\b', stream);
		uart_putchar(' ', stream);
		uart_putchar('\b', stream);
		cp--;
 24c:	f0 e0       	ldi	r31, 0x00	; 0
 24e:	06 3f       	cpi	r16, 0xF6	; 246
 250:	1f 07       	cpc	r17, r31
 252:	09 f0       	breq	.+2      	; 0x256 <uart_getchar+0x15a>
 254:	08 f4       	brcc	.+2      	; 0x258 <uart_getchar+0x15c>
 256:	65 cf       	rjmp	.-310    	; 0x122 <uart_getchar+0x26>
 258:	f8 01       	movw	r30, r16
 25a:	82 91       	ld	r24, -Z
 25c:	8f 01       	movw	r16, r30
 25e:	0f 5f       	subi	r16, 0xFF	; 255
 260:	1f 4f       	sbci	r17, 0xFF	; 255
 262:	80 32       	cpi	r24, 0x20	; 32
 264:	09 f4       	brne	.+2      	; 0x268 <uart_getchar+0x16c>
 266:	5d cf       	rjmp	.-326    	; 0x122 <uart_getchar+0x26>
 268:	b7 01       	movw	r22, r14
 26a:	88 e0       	ldi	r24, 0x08	; 8
 26c:	0e 94 65 00 	call	0xca <uart_putchar>
 270:	b7 01       	movw	r22, r14
 272:	80 e2       	ldi	r24, 0x20	; 32
 274:	0e 94 65 00 	call	0xca <uart_putchar>
 278:	b7 01       	movw	r22, r14
 27a:	88 e0       	ldi	r24, 0x08	; 8
 27c:	0e 94 65 00 	call	0xca <uart_putchar>
 280:	01 50       	subi	r16, 0x01	; 1
 282:	10 40       	sbci	r17, 0x00	; 0
 284:	e3 cf       	rjmp	.-58     	; 0x24c <uart_getchar+0x150>
	      }
	    break;
	  }
      }

  c = *rxp++;
 286:	e0 91 46 01 	lds	r30, 0x0146
 28a:	f0 91 47 01 	lds	r31, 0x0147
 28e:	81 91       	ld	r24, Z+
 290:	f0 93 47 01 	sts	0x0147, r31
 294:	e0 93 46 01 	sts	0x0146, r30
  if (c == '\n')
 298:	8a 30       	cpi	r24, 0x0A	; 10
 29a:	21 f4       	brne	.+8      	; 0x2a4 <uart_getchar+0x1a8>
    rxp = 0;
 29c:	10 92 47 01 	sts	0x0147, r1
 2a0:	10 92 46 01 	sts	0x0146, r1

  return c;
 2a4:	99 27       	eor	r25, r25
 2a6:	df 91       	pop	r29
 2a8:	cf 91       	pop	r28
 2aa:	1f 91       	pop	r17
 2ac:	0f 91       	pop	r16
 2ae:	ff 90       	pop	r15
 2b0:	ef 90       	pop	r14
 2b2:	df 90       	pop	r13
 2b4:	cf 90       	pop	r12
 2b6:	08 95       	ret

000002b8 <fputs>:
 2b8:	ef 92       	push	r14
 2ba:	ff 92       	push	r15
 2bc:	0f 93       	push	r16
 2be:	1f 93       	push	r17
 2c0:	cf 93       	push	r28
 2c2:	df 93       	push	r29
 2c4:	ec 01       	movw	r28, r24
 2c6:	8b 01       	movw	r16, r22
 2c8:	ee 24       	eor	r14, r14
 2ca:	ff 24       	eor	r15, r15
 2cc:	fb 01       	movw	r30, r22
 2ce:	83 81       	ldd	r24, Z+3	; 0x03
 2d0:	81 fd       	sbrc	r24, 1
 2d2:	03 c0       	rjmp	.+6      	; 0x2da <fputs+0x22>
 2d4:	8f ef       	ldi	r24, 0xFF	; 255
 2d6:	9f ef       	ldi	r25, 0xFF	; 255
 2d8:	10 c0       	rjmp	.+32     	; 0x2fa <fputs+0x42>
 2da:	89 91       	ld	r24, Y+
 2dc:	88 23       	and	r24, r24
 2de:	61 f0       	breq	.+24     	; 0x2f8 <fputs+0x40>
 2e0:	f8 01       	movw	r30, r16
 2e2:	20 85       	ldd	r18, Z+8	; 0x08
 2e4:	31 85       	ldd	r19, Z+9	; 0x09
 2e6:	b8 01       	movw	r22, r16
 2e8:	f9 01       	movw	r30, r18
 2ea:	09 95       	icall
 2ec:	89 2b       	or	r24, r25
 2ee:	a9 f3       	breq	.-22     	; 0x2da <fputs+0x22>
 2f0:	8f ef       	ldi	r24, 0xFF	; 255
 2f2:	e8 2e       	mov	r14, r24
 2f4:	f8 2e       	mov	r15, r24
 2f6:	f1 cf       	rjmp	.-30     	; 0x2da <fputs+0x22>
 2f8:	c7 01       	movw	r24, r14
 2fa:	df 91       	pop	r29
 2fc:	cf 91       	pop	r28
 2fe:	1f 91       	pop	r17
 300:	0f 91       	pop	r16
 302:	ff 90       	pop	r15
 304:	ef 90       	pop	r14
 306:	08 95       	ret

00000308 <puts>:
 308:	0f 93       	push	r16
 30a:	1f 93       	push	r17
 30c:	cf 93       	push	r28
 30e:	df 93       	push	r29
 310:	ec 01       	movw	r28, r24
 312:	00 e0       	ldi	r16, 0x00	; 0
 314:	10 e0       	ldi	r17, 0x00	; 0
 316:	e0 91 4a 01 	lds	r30, 0x014A
 31a:	f0 91 4b 01 	lds	r31, 0x014B
 31e:	83 81       	ldd	r24, Z+3	; 0x03
 320:	81 fd       	sbrc	r24, 1
 322:	03 c0       	rjmp	.+6      	; 0x32a <puts+0x22>
 324:	8f ef       	ldi	r24, 0xFF	; 255
 326:	9f ef       	ldi	r25, 0xFF	; 255
 328:	20 c0       	rjmp	.+64     	; 0x36a <puts+0x62>
 32a:	89 91       	ld	r24, Y+
 32c:	88 23       	and	r24, r24
 32e:	71 f0       	breq	.+28     	; 0x34c <puts+0x44>
 330:	e0 91 4a 01 	lds	r30, 0x014A
 334:	f0 91 4b 01 	lds	r31, 0x014B
 338:	20 85       	ldd	r18, Z+8	; 0x08
 33a:	31 85       	ldd	r19, Z+9	; 0x09
 33c:	bf 01       	movw	r22, r30
 33e:	f9 01       	movw	r30, r18
 340:	09 95       	icall
 342:	89 2b       	or	r24, r25
 344:	91 f3       	breq	.-28     	; 0x32a <puts+0x22>
 346:	0f ef       	ldi	r16, 0xFF	; 255
 348:	1f ef       	ldi	r17, 0xFF	; 255
 34a:	ef cf       	rjmp	.-34     	; 0x32a <puts+0x22>
 34c:	e0 91 4a 01 	lds	r30, 0x014A
 350:	f0 91 4b 01 	lds	r31, 0x014B
 354:	20 85       	ldd	r18, Z+8	; 0x08
 356:	31 85       	ldd	r19, Z+9	; 0x09
 358:	bf 01       	movw	r22, r30
 35a:	8a e0       	ldi	r24, 0x0A	; 10
 35c:	f9 01       	movw	r30, r18
 35e:	09 95       	icall
 360:	89 2b       	or	r24, r25
 362:	11 f0       	breq	.+4      	; 0x368 <puts+0x60>
 364:	0f ef       	ldi	r16, 0xFF	; 255
 366:	1f ef       	ldi	r17, 0xFF	; 255
 368:	c8 01       	movw	r24, r16
 36a:	df 91       	pop	r29
 36c:	cf 91       	pop	r28
 36e:	1f 91       	pop	r17
 370:	0f 91       	pop	r16
 372:	08 95       	ret

00000374 <vfprintf>:
 374:	2f 92       	push	r2
 376:	3f 92       	push	r3
 378:	4f 92       	push	r4
 37a:	5f 92       	push	r5
 37c:	6f 92       	push	r6
 37e:	7f 92       	push	r7
 380:	8f 92       	push	r8
 382:	9f 92       	push	r9
 384:	af 92       	push	r10
 386:	bf 92       	push	r11
 388:	cf 92       	push	r12
 38a:	df 92       	push	r13
 38c:	ef 92       	push	r14
 38e:	ff 92       	push	r15
 390:	0f 93       	push	r16
 392:	1f 93       	push	r17
 394:	cf 93       	push	r28
 396:	df 93       	push	r29
 398:	cd b7       	in	r28, 0x3d	; 61
 39a:	de b7       	in	r29, 0x3e	; 62
 39c:	62 97       	sbiw	r28, 0x12	; 18
 39e:	0f b6       	in	r0, 0x3f	; 63
 3a0:	f8 94       	cli
 3a2:	de bf       	out	0x3e, r29	; 62
 3a4:	0f be       	out	0x3f, r0	; 63
 3a6:	cd bf       	out	0x3d, r28	; 61
 3a8:	ee 24       	eor	r14, r14
 3aa:	ff 24       	eor	r15, r15
 3ac:	87 01       	movw	r16, r14
 3ae:	1c 01       	movw	r2, r24
 3b0:	7e 87       	std	Y+14, r23	; 0x0e
 3b2:	6d 87       	std	Y+13, r22	; 0x0d
 3b4:	2a 01       	movw	r4, r20
 3b6:	cc 24       	eor	r12, r12
 3b8:	dd 24       	eor	r13, r13
 3ba:	fc 01       	movw	r30, r24
 3bc:	d7 82       	std	Z+7, r13	; 0x07
 3be:	c6 82       	std	Z+6, r12	; 0x06
 3c0:	83 81       	ldd	r24, Z+3	; 0x03
 3c2:	81 fd       	sbrc	r24, 1
 3c4:	68 c2       	rjmp	.+1232   	; 0x896 <__stack+0x37>
 3c6:	8f ef       	ldi	r24, 0xFF	; 255
 3c8:	9f ef       	ldi	r25, 0xFF	; 255
 3ca:	78 c2       	rjmp	.+1264   	; 0x8bc <__stack+0x5d>
 3cc:	8d 85       	ldd	r24, Y+13	; 0x0d
 3ce:	9e 85       	ldd	r25, Y+14	; 0x0e
 3d0:	01 96       	adiw	r24, 0x01	; 1
 3d2:	9e 87       	std	Y+14, r25	; 0x0e
 3d4:	8d 87       	std	Y+13, r24	; 0x0d
 3d6:	c0 fe       	sbrs	r12, 0
 3d8:	4b c2       	rjmp	.+1174   	; 0x870 <__stack+0x11>
 3da:	8f 85       	ldd	r24, Y+15	; 0x0f
 3dc:	80 53       	subi	r24, 0x30	; 48
 3de:	8a 30       	cpi	r24, 0x0A	; 10
 3e0:	d0 f4       	brcc	.+52     	; 0x416 <vfprintf+0xa2>
 3e2:	9f 85       	ldd	r25, Y+15	; 0x0f
 3e4:	90 33       	cpi	r25, 0x30	; 48
 3e6:	39 f4       	brne	.+14     	; 0x3f6 <vfprintf+0x82>
 3e8:	66 20       	and	r6, r6
 3ea:	29 f4       	brne	.+10     	; 0x3f6 <vfprintf+0x82>
 3ec:	c3 fc       	sbrc	r12, 3
 3ee:	03 c0       	rjmp	.+6      	; 0x3f6 <vfprintf+0x82>
 3f0:	e0 e0       	ldi	r30, 0x00	; 0
 3f2:	f1 e0       	ldi	r31, 0x01	; 1
 3f4:	8d c0       	rjmp	.+282    	; 0x510 <vfprintf+0x19c>
 3f6:	8a e0       	ldi	r24, 0x0A	; 10
 3f8:	68 9e       	mul	r6, r24
 3fa:	60 2c       	mov	r6, r0
 3fc:	11 24       	eor	r1, r1
 3fe:	ff 85       	ldd	r31, Y+15	; 0x0f
 400:	6f 0e       	add	r6, r31
 402:	20 ed       	ldi	r18, 0xD0	; 208
 404:	62 0e       	add	r6, r18
 406:	67 fe       	sbrs	r6, 7
 408:	02 c0       	rjmp	.+4      	; 0x40e <vfprintf+0x9a>
 40a:	5f e7       	ldi	r21, 0x7F	; 127
 40c:	65 2e       	mov	r6, r21
 40e:	c3 fc       	sbrc	r12, 3
 410:	42 c2       	rjmp	.+1156   	; 0x896 <__stack+0x37>
 412:	76 2c       	mov	r7, r6
 414:	40 c2       	rjmp	.+1152   	; 0x896 <__stack+0x37>
 416:	c3 fe       	sbrs	r12, 3
 418:	04 c0       	rjmp	.+8      	; 0x422 <vfprintf+0xae>
 41a:	66 20       	and	r6, r6
 41c:	11 f4       	brne	.+4      	; 0x422 <vfprintf+0xae>
 41e:	41 e0       	ldi	r20, 0x01	; 1
 420:	64 2e       	mov	r6, r20
 422:	ef 85       	ldd	r30, Y+15	; 0x0f
 424:	8e 2f       	mov	r24, r30
 426:	99 27       	eor	r25, r25
 428:	87 fd       	sbrc	r24, 7
 42a:	90 95       	com	r25
 42c:	88 36       	cpi	r24, 0x68	; 104
 42e:	91 05       	cpc	r25, r1
 430:	8c f5       	brge	.+98     	; 0x494 <vfprintf+0x120>
 432:	85 36       	cpi	r24, 0x65	; 101
 434:	91 05       	cpc	r25, r1
 436:	0c f0       	brlt	.+2      	; 0x43a <vfprintf+0xc6>

⌨️ 快捷键说明

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