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

📄 myusart.lss

📁 atmega128单片机的串口通讯程序
💻 LSS
📖 第 1 页 / 共 5 页
字号:
     46c:	80 e0       	ldi	r24, 0x00	; 0
     46e:	90 e0       	ldi	r25, 0x00	; 0
     470:	a0 e8       	ldi	r26, 0x80	; 128
     472:	b3 e4       	ldi	r27, 0x43	; 67
     474:	80 83       	st	Z, r24
     476:	91 83       	std	Z+1, r25	; 0x01
     478:	a2 83       	std	Z+2, r26	; 0x02
     47a:	b3 83       	std	Z+3, r27	; 0x03
 */
void
_delay_ms(double __ms)
{
	uint16_t __ticks;
	double __tmp = ((F_CPU) / 4e3) * __ms;
     47c:	8e 01       	movw	r16, r28
     47e:	0f 55       	subi	r16, 0x5F	; 95
     480:	1f 4f       	sbci	r17, 0xFF	; 255
     482:	fe 01       	movw	r30, r28
     484:	eb 55       	subi	r30, 0x5B	; 91
     486:	ff 4f       	sbci	r31, 0xFF	; 255
     488:	20 e0       	ldi	r18, 0x00	; 0
     48a:	30 e0       	ldi	r19, 0x00	; 0
     48c:	4a e7       	ldi	r20, 0x7A	; 122
     48e:	55 e4       	ldi	r21, 0x45	; 69
     490:	60 81       	ld	r22, Z
     492:	71 81       	ldd	r23, Z+1	; 0x01
     494:	82 81       	ldd	r24, Z+2	; 0x02
     496:	93 81       	ldd	r25, Z+3	; 0x03
     498:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     49c:	dc 01       	movw	r26, r24
     49e:	cb 01       	movw	r24, r22
     4a0:	f8 01       	movw	r30, r16
     4a2:	80 83       	st	Z, r24
     4a4:	91 83       	std	Z+1, r25	; 0x01
     4a6:	a2 83       	std	Z+2, r26	; 0x02
     4a8:	b3 83       	std	Z+3, r27	; 0x03
	if (__tmp < 1.0)
     4aa:	fe 01       	movw	r30, r28
     4ac:	ef 55       	subi	r30, 0x5F	; 95
     4ae:	ff 4f       	sbci	r31, 0xFF	; 255
     4b0:	20 e0       	ldi	r18, 0x00	; 0
     4b2:	30 e0       	ldi	r19, 0x00	; 0
     4b4:	40 e8       	ldi	r20, 0x80	; 128
     4b6:	5f e3       	ldi	r21, 0x3F	; 63
     4b8:	60 81       	ld	r22, Z
     4ba:	71 81       	ldd	r23, Z+1	; 0x01
     4bc:	82 81       	ldd	r24, Z+2	; 0x02
     4be:	93 81       	ldd	r25, Z+3	; 0x03
     4c0:	0e 94 d4 10 	call	0x21a8	; 0x21a8 <__ltsf2>
     4c4:	88 23       	and	r24, r24
     4c6:	44 f4       	brge	.+16     	; 0x4d8 <info_display+0x376>
		__ticks = 1;
     4c8:	fe 01       	movw	r30, r28
     4ca:	e1 56       	subi	r30, 0x61	; 97
     4cc:	ff 4f       	sbci	r31, 0xFF	; 255
     4ce:	81 e0       	ldi	r24, 0x01	; 1
     4d0:	90 e0       	ldi	r25, 0x00	; 0
     4d2:	91 83       	std	Z+1, r25	; 0x01
     4d4:	80 83       	st	Z, r24
     4d6:	64 c0       	rjmp	.+200    	; 0x5a0 <info_display+0x43e>
	else if (__tmp > 65535)
     4d8:	fe 01       	movw	r30, r28
     4da:	ef 55       	subi	r30, 0x5F	; 95
     4dc:	ff 4f       	sbci	r31, 0xFF	; 255
     4de:	20 e0       	ldi	r18, 0x00	; 0
     4e0:	3f ef       	ldi	r19, 0xFF	; 255
     4e2:	4f e7       	ldi	r20, 0x7F	; 127
     4e4:	57 e4       	ldi	r21, 0x47	; 71
     4e6:	60 81       	ld	r22, Z
     4e8:	71 81       	ldd	r23, Z+1	; 0x01
     4ea:	82 81       	ldd	r24, Z+2	; 0x02
     4ec:	93 81       	ldd	r25, Z+3	; 0x03
     4ee:	0e 94 74 10 	call	0x20e8	; 0x20e8 <__gtsf2>
     4f2:	18 16       	cp	r1, r24
     4f4:	0c f0       	brlt	.+2      	; 0x4f8 <info_display+0x396>
     4f6:	43 c0       	rjmp	.+134    	; 0x57e <info_display+0x41c>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
     4f8:	fe 01       	movw	r30, r28
     4fa:	eb 55       	subi	r30, 0x5B	; 91
     4fc:	ff 4f       	sbci	r31, 0xFF	; 255
     4fe:	20 e0       	ldi	r18, 0x00	; 0
     500:	30 e0       	ldi	r19, 0x00	; 0
     502:	40 e2       	ldi	r20, 0x20	; 32
     504:	51 e4       	ldi	r21, 0x41	; 65
     506:	60 81       	ld	r22, Z
     508:	71 81       	ldd	r23, Z+1	; 0x01
     50a:	82 81       	ldd	r24, Z+2	; 0x02
     50c:	93 81       	ldd	r25, Z+3	; 0x03
     50e:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     512:	dc 01       	movw	r26, r24
     514:	cb 01       	movw	r24, r22
     516:	8e 01       	movw	r16, r28
     518:	01 56       	subi	r16, 0x61	; 97
     51a:	1f 4f       	sbci	r17, 0xFF	; 255
     51c:	bc 01       	movw	r22, r24
     51e:	cd 01       	movw	r24, r26
     520:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     524:	dc 01       	movw	r26, r24
     526:	cb 01       	movw	r24, r22
     528:	f8 01       	movw	r30, r16
     52a:	91 83       	std	Z+1, r25	; 0x01
     52c:	80 83       	st	Z, r24
     52e:	1f c0       	rjmp	.+62     	; 0x56e <info_display+0x40c>
     530:	fe 01       	movw	r30, r28
     532:	e3 56       	subi	r30, 0x63	; 99
     534:	ff 4f       	sbci	r31, 0xFF	; 255
     536:	80 e9       	ldi	r24, 0x90	; 144
     538:	91 e0       	ldi	r25, 0x01	; 1
     53a:	91 83       	std	Z+1, r25	; 0x01
     53c:	80 83       	st	Z, r24
     53e:	fe 01       	movw	r30, r28
     540:	e3 56       	subi	r30, 0x63	; 99
     542:	ff 4f       	sbci	r31, 0xFF	; 255
     544:	80 81       	ld	r24, Z
     546:	91 81       	ldd	r25, Z+1	; 0x01
     548:	01 97       	sbiw	r24, 0x01	; 1
     54a:	f1 f7       	brne	.-4      	; 0x548 <info_display+0x3e6>
     54c:	fe 01       	movw	r30, r28
     54e:	e3 56       	subi	r30, 0x63	; 99
     550:	ff 4f       	sbci	r31, 0xFF	; 255
     552:	91 83       	std	Z+1, r25	; 0x01
     554:	80 83       	st	Z, r24
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     556:	de 01       	movw	r26, r28
     558:	a1 56       	subi	r26, 0x61	; 97
     55a:	bf 4f       	sbci	r27, 0xFF	; 255
     55c:	fe 01       	movw	r30, r28
     55e:	e1 56       	subi	r30, 0x61	; 97
     560:	ff 4f       	sbci	r31, 0xFF	; 255
     562:	80 81       	ld	r24, Z
     564:	91 81       	ldd	r25, Z+1	; 0x01
     566:	01 97       	sbiw	r24, 0x01	; 1
     568:	11 96       	adiw	r26, 0x01	; 1
     56a:	9c 93       	st	X, r25
     56c:	8e 93       	st	-X, r24
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
     56e:	fe 01       	movw	r30, r28
     570:	e1 56       	subi	r30, 0x61	; 97
     572:	ff 4f       	sbci	r31, 0xFF	; 255
     574:	80 81       	ld	r24, Z
     576:	91 81       	ldd	r25, Z+1	; 0x01
     578:	00 97       	sbiw	r24, 0x00	; 0
     57a:	d1 f6       	brne	.-76     	; 0x530 <info_display+0x3ce>
     57c:	27 c0       	rjmp	.+78     	; 0x5cc <info_display+0x46a>
			__ticks --;
		}
		return;
	}
	else
		__ticks = (uint16_t)__tmp;
     57e:	8e 01       	movw	r16, r28
     580:	01 56       	subi	r16, 0x61	; 97
     582:	1f 4f       	sbci	r17, 0xFF	; 255
     584:	fe 01       	movw	r30, r28
     586:	ef 55       	subi	r30, 0x5F	; 95
     588:	ff 4f       	sbci	r31, 0xFF	; 255
     58a:	60 81       	ld	r22, Z
     58c:	71 81       	ldd	r23, Z+1	; 0x01
     58e:	82 81       	ldd	r24, Z+2	; 0x02
     590:	93 81       	ldd	r25, Z+3	; 0x03
     592:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     596:	dc 01       	movw	r26, r24
     598:	cb 01       	movw	r24, r22
     59a:	f8 01       	movw	r30, r16
     59c:	91 83       	std	Z+1, r25	; 0x01
     59e:	80 83       	st	Z, r24
     5a0:	de 01       	movw	r26, r28
     5a2:	a5 56       	subi	r26, 0x65	; 101
     5a4:	bf 4f       	sbci	r27, 0xFF	; 255
     5a6:	fe 01       	movw	r30, r28
     5a8:	e1 56       	subi	r30, 0x61	; 97
     5aa:	ff 4f       	sbci	r31, 0xFF	; 255
     5ac:	80 81       	ld	r24, Z
     5ae:	91 81       	ldd	r25, Z+1	; 0x01
     5b0:	8d 93       	st	X+, r24
     5b2:	9c 93       	st	X, r25
     5b4:	fe 01       	movw	r30, r28
     5b6:	e5 56       	subi	r30, 0x65	; 101
     5b8:	ff 4f       	sbci	r31, 0xFF	; 255
     5ba:	80 81       	ld	r24, Z
     5bc:	91 81       	ldd	r25, Z+1	; 0x01
     5be:	01 97       	sbiw	r24, 0x01	; 1
     5c0:	f1 f7       	brne	.-4      	; 0x5be <info_display+0x45c>
     5c2:	fe 01       	movw	r30, r28
     5c4:	e5 56       	subi	r30, 0x65	; 101
     5c6:	ff 4f       	sbci	r31, 0xFF	; 255
     5c8:	91 83       	std	Z+1, r25	; 0x01
     5ca:	80 83       	st	Z, r24
	data_write(data_03,42);	_delay_ms(256);
     5cc:	89 e7       	ldi	r24, 0x79	; 121
     5ce:	91 e0       	ldi	r25, 0x01	; 1
     5d0:	6a e2       	ldi	r22, 0x2A	; 42
     5d2:	0e 94 8d 00 	call	0x11a	; 0x11a <data_write>
     5d6:	fe 01       	movw	r30, r28
     5d8:	e9 56       	subi	r30, 0x69	; 105
     5da:	ff 4f       	sbci	r31, 0xFF	; 255
     5dc:	80 e0       	ldi	r24, 0x00	; 0
     5de:	90 e0       	ldi	r25, 0x00	; 0
     5e0:	a0 e8       	ldi	r26, 0x80	; 128
     5e2:	b3 e4       	ldi	r27, 0x43	; 67
     5e4:	80 83       	st	Z, r24
     5e6:	91 83       	std	Z+1, r25	; 0x01
     5e8:	a2 83       	std	Z+2, r26	; 0x02
     5ea:	b3 83       	std	Z+3, r27	; 0x03
 */
void
_delay_ms(double __ms)
{
	uint16_t __ticks;
	double __tmp = ((F_CPU) / 4e3) * __ms;
     5ec:	8e 01       	movw	r16, r28
     5ee:	0d 56       	subi	r16, 0x6D	; 109
     5f0:	1f 4f       	sbci	r17, 0xFF	; 255
     5f2:	fe 01       	movw	r30, r28
     5f4:	e9 56       	subi	r30, 0x69	; 105
     5f6:	ff 4f       	sbci	r31, 0xFF	; 255
     5f8:	20 e0       	ldi	r18, 0x00	; 0
     5fa:	30 e0       	ldi	r19, 0x00	; 0
     5fc:	4a e7       	ldi	r20, 0x7A	; 122
     5fe:	55 e4       	ldi	r21, 0x45	; 69
     600:	60 81       	ld	r22, Z
     602:	71 81       	ldd	r23, Z+1	; 0x01
     604:	82 81       	ldd	r24, Z+2	; 0x02
     606:	93 81       	ldd	r25, Z+3	; 0x03
     608:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     60c:	dc 01       	movw	r26, r24
     60e:	cb 01       	movw	r24, r22
     610:	f8 01       	movw	r30, r16
     612:	80 83       	st	Z, r24
     614:	91 83       	std	Z+1, r25	; 0x01
     616:	a2 83       	std	Z+2, r26	; 0x02
     618:	b3 83       	std	Z+3, r27	; 0x03
	if (__tmp < 1.0)
     61a:	fe 01       	movw	r30, r28
     61c:	ed 56       	subi	r30, 0x6D	; 109
     61e:	ff 4f       	sbci	r31, 0xFF	; 255
     620:	20 e0       	ldi	r18, 0x00	; 0
     622:	30 e0       	ldi	r19, 0x00	; 0
     624:	40 e8       	ldi	r20, 0x80	; 128
     626:	5f e3       	ldi	r21, 0x3F	; 63
     628:	60 81       	ld	r22, Z
     62a:	71 81       	ldd	r23, Z+1	; 0x01
     62c:	82 81       	ldd	r24, Z+2	; 0x02
     62e:	93 81       	ldd	r25, Z+3	; 0x03
     630:	0e 94 d4 10 	call	0x21a8	; 0x21a8 <__ltsf2>
     634:	88 23       	and	r24, r24
     636:	44 f4       	brge	.+16     	; 0x648 <info_display+0x4e6>
		__ticks = 1;
     638:	fe 01       	movw	r30, r28
     63a:	ef 56       	subi	r30, 0x6F	; 111
     63c:	ff 4f       	sbci	r31, 0xFF	; 255
     63e:	81 e0       	ldi	r24, 0x01	; 1
     640:	90 e0       	ldi	r25, 0x00	; 0
     642:	91 83       	std	Z+1, r25	; 0x01
     644:	80 83       	st	Z, r24
     646:	64 c0       	rjmp	.+200    	; 0x710 <info_display+0x5ae>
	else if (__tmp > 65535)
     648:	fe 01       	movw	r30, r28
     64a:	ed 56       	subi	r30, 0x6D	; 109
     64c:	ff 4f       	sbci	r31, 0xFF	; 255
     64e:	20 e0       	ldi	r18, 0x00	; 0
     650:	3f ef       	ldi	r19, 0xFF	; 255
     652:	4f e7       	ldi	r20, 0x7F	; 127
     654:	57 e4       	ldi	r21, 0x47	; 71
     656:	60 81       	ld	r22, Z
     658:	71 81       	ldd	r23, Z+1	; 0x01
     65a:	82 81       	ldd	r24, Z+2	; 0x02
     65c:	93 81       	ldd	r25, Z+3	; 0x03
     65e:	0e 94 74 10 	call	0x20e8	; 0x20e8 <__gtsf2>
     662:	18 16       	cp	r1, r24
     664:	0c f0       	brlt	.+2      	; 0x668 <info_display+0x506>
     666:	43 c0       	rjmp	.+134    	; 0x6ee <info_display+0x58c>
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
     668:	fe 01       	movw	r30, r28
     66a:	e9 56       	subi	r30, 0x69	; 105
     66c:	ff 4f       	sbci	r31, 0xFF	; 255
     66e:	20 e0       	ldi	r18, 0x00	; 0
     670:	30 e0       	ldi	r19, 0x00	; 0
     672:	40 e2       	ldi	r20, 0x20	; 32
     674:	51 e4       	ldi	r21, 0x41	; 65
     676:	60 81       	ld	r22, Z
     678:	71 81       	ldd	r23, Z+1	; 0x01
     67a:	82 81       	ldd	r24, Z+2	; 0x02
     67c:	93 81       	ldd	r25, Z+3	; 0x03
     67e:	0e 94 7a 0f 	call	0x1ef4	; 0x1ef4 <__mulsf3>
     682:	dc 01       	movw	r26, r24
     684:	cb 01       	movw	r24, r22
     686:	8e 01       	movw	r16, r28
     688:	0f 56       	subi	r16, 0x6F	; 111
     68a:	1f 4f       	sbci	r17, 0xFF	; 255
     68c:	bc 01       	movw	r22, r24
     68e:	cd 01       	movw	r24, r26
     690:	0e 94 a4 0d 	call	0x1b48	; 0x1b48 <__fixunssfsi>
     694:	dc 01       	movw	r26, r24
     696:	cb 01       	movw	r24, r22
     698:	f8 01       	movw	r30, r16
     69a:	91 83       	std	Z+1, r25	; 0x01
     69c:	80 83       	st	Z, r24
     69e:	1f c0       	rjmp	.+62     	; 0x6de <info_display+0x57c>
     6a0:	fe 01       	movw	r30, r28
     6a2:	e1 57       	subi	r30, 0x71	; 113
     6a4:	ff 4f       	sbci	r31, 0xFF	; 255
     6a6:	80 e9       	ldi	r24, 0x90	; 144
     6a8:	91 e0       	ldi	r25, 0x01	; 1
     6aa:	91 83       	std	Z+1, r25	; 0x01
     6ac:	80 83       	st	Z, r24
     6ae:	fe 01       	movw	r30, r28
     6b0:	e1 57       	subi	r30, 0x71	; 113
     6b2:	ff 4f       	sbci	r31, 0xFF	; 255
     6b4:	80 81       	ld	r24, Z
     6b6:	91 81       	ldd	r25, Z+1	; 0x01
     6b8:	01 97       	sbiw	r24, 0x01	; 1
     6ba:	f1 f7       	brne	.-4      	; 0x6b8 <info_display+0x556>
     6bc:	fe 01       	movw	r30, r28
     6be:	e1 57       	subi	r30, 0x71	; 113
     6c0:	ff 4f       	sbci	r31, 0xFF	; 255
     6c2:	91 83       	std	Z+1, r25	; 0x01
     6c4:	80 83       	st	Z, r24

⌨️ 快捷键说明

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