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

📄 main.lss

📁 我学习AVR的代码例子
💻 LSS
📖 第 1 页 / 共 5 页
字号:
   SENDCOMB(0x04);                            //write address
     3fe:	84 e0       	ldi	r24, 0x04	; 4
     400:	0e 94 a9 00 	call	0x152
   SendByte(Close[0]<<7 | Close[1]<<1 | Close[2]<<5 | Close[3]<<2);
     404:	80 91 79 00 	lds	r24, 0x0079
     408:	99 27       	eor	r25, r25
     40a:	9c 01       	movw	r18, r24
     40c:	36 95       	lsr	r19
     40e:	32 2f       	mov	r19, r18
     410:	22 27       	eor	r18, r18
     412:	37 95       	ror	r19
     414:	27 95       	ror	r18
     416:	80 91 7a 00 	lds	r24, 0x007A
     41a:	99 27       	eor	r25, r25
     41c:	88 0f       	add	r24, r24
     41e:	99 1f       	adc	r25, r25
     420:	28 2b       	or	r18, r24
     422:	80 91 7b 00 	lds	r24, 0x007B
     426:	99 27       	eor	r25, r25
     428:	88 0f       	add	r24, r24
     42a:	99 1f       	adc	r25, r25
     42c:	82 95       	swap	r24
     42e:	92 95       	swap	r25
     430:	90 7f       	andi	r25, 0xF0	; 240
     432:	98 27       	eor	r25, r24
     434:	80 7f       	andi	r24, 0xF0	; 240
     436:	98 27       	eor	r25, r24
     438:	28 2b       	or	r18, r24
     43a:	80 91 7c 00 	lds	r24, 0x007C
     43e:	99 27       	eor	r25, r25
     440:	88 0f       	add	r24, r24
     442:	99 1f       	adc	r25, r25
     444:	88 0f       	add	r24, r24
     446:	99 1f       	adc	r25, r25
     448:	82 2b       	or	r24, r18
     44a:	0e 94 98 00 	call	0x130
   if(N==0)
     44e:	80 91 66 00 	lds	r24, 0x0066
     452:	88 23       	and	r24, r24
     454:	09 f0       	breq	.+2      	; 0x458
     456:	3a c1       	rjmp	.+628    	; 0x6cc
     {
	   a=HIBYTE(hours);
     458:	80 91 86 00 	lds	r24, 0x0086
     45c:	90 91 87 00 	lds	r25, 0x0087
     460:	9c 01       	movw	r18, r24
     462:	35 95       	asr	r19
     464:	27 95       	ror	r18
     466:	35 95       	asr	r19
     468:	27 95       	ror	r18
     46a:	35 95       	asr	r19
     46c:	27 95       	ror	r18
     46e:	35 95       	asr	r19
     470:	27 95       	ror	r18
     472:	20 93 83 00 	sts	0x0083, r18
	   b=HIBYTE(minutes);
     476:	80 91 84 00 	lds	r24, 0x0084
     47a:	90 91 85 00 	lds	r25, 0x0085
     47e:	95 95       	asr	r25
     480:	87 95       	ror	r24
     482:	95 95       	asr	r25
     484:	87 95       	ror	r24
     486:	95 95       	asr	r25
     488:	87 95       	ror	r24
     48a:	95 95       	asr	r25
     48c:	87 95       	ror	r24
     48e:	80 93 74 00 	sts	0x0074, r24
	   if(a==0) a=10;
     492:	22 23       	and	r18, r18
     494:	19 f4       	brne	.+6      	; 0x49c
     496:	8a e0       	ldi	r24, 0x0A	; 10
     498:	80 93 83 00 	sts	0x0083, r24
	   if(b==0) b=10;
     49c:	80 91 74 00 	lds	r24, 0x0074
     4a0:	88 23       	and	r24, r24
     4a2:	19 f4       	brne	.+6      	; 0x4aa
     4a4:	8a e0       	ldi	r24, 0x0A	; 10
     4a6:	80 93 74 00 	sts	0x0074, r24
	   if(M[0]==1)
     4aa:	80 91 7f 00 	lds	r24, 0x007F
     4ae:	81 30       	cpi	r24, 0x01	; 1
     4b0:	09 f0       	breq	.+2      	; 0x4b4
     4b2:	51 c0       	rjmp	.+162    	; 0x556
	     {
		   SENDCOMB(0x2c);                        //Write address
     4b4:	8c e2       	ldi	r24, 0x2C	; 44
     4b6:	0e 94 a9 00 	call	0x152
           SendByte(pgm_read_byte(S+a)|(Fuse1<<4));            //write data
     4ba:	80 91 83 00 	lds	r24, 0x0083
     4be:	e8 2f       	mov	r30, r24
     4c0:	ff 27       	eor	r31, r31
     4c2:	ec 5a       	subi	r30, 0xAC	; 172
     4c4:	ff 4f       	sbci	r31, 0xFF	; 255
     4c6:	24 91       	lpm	r18, Z
     4c8:	80 91 64 00 	lds	r24, 0x0064
     4cc:	99 27       	eor	r25, r25
     4ce:	82 95       	swap	r24
     4d0:	92 95       	swap	r25
     4d2:	90 7f       	andi	r25, 0xF0	; 240
     4d4:	98 27       	eor	r25, r24
     4d6:	80 7f       	andi	r24, 0xF0	; 240
     4d8:	98 27       	eor	r25, r24
     4da:	82 2b       	or	r24, r18
     4dc:	0e 94 98 00 	call	0x130
		   SendByte(pgm_read_byte(S+LOBYTE(hours))|(Fuse2<<4));            //write data	       
     4e0:	80 91 86 00 	lds	r24, 0x0086
     4e4:	e8 2f       	mov	r30, r24
     4e6:	ff 27       	eor	r31, r31
     4e8:	ef 70       	andi	r30, 0x0F	; 15
     4ea:	f0 70       	andi	r31, 0x00	; 0
     4ec:	ec 5a       	subi	r30, 0xAC	; 172
     4ee:	ff 4f       	sbci	r31, 0xFF	; 255
     4f0:	24 91       	lpm	r18, Z
     4f2:	80 91 65 00 	lds	r24, 0x0065
     4f6:	99 27       	eor	r25, r25
     4f8:	82 95       	swap	r24
     4fa:	92 95       	swap	r25
     4fc:	90 7f       	andi	r25, 0xF0	; 240
     4fe:	98 27       	eor	r25, r24
     500:	80 7f       	andi	r24, 0xF0	; 240
     502:	98 27       	eor	r25, r24
     504:	82 2b       	or	r24, r18
     506:	0e 94 98 00 	call	0x130
		   SendByte((pgm_read_byte(S+HIBYTE(minutes))&Tov1)|(1<<4));  //write data
     50a:	80 91 84 00 	lds	r24, 0x0084
     50e:	90 91 85 00 	lds	r25, 0x0085
     512:	95 95       	asr	r25
     514:	87 95       	ror	r24
     516:	95 95       	asr	r25
     518:	87 95       	ror	r24
     51a:	95 95       	asr	r25
     51c:	87 95       	ror	r24
     51e:	95 95       	asr	r25
     520:	87 95       	ror	r24
     522:	e8 2f       	mov	r30, r24
     524:	ff 27       	eor	r31, r31
     526:	ec 5a       	subi	r30, 0xAC	; 172
     528:	ff 4f       	sbci	r31, 0xFF	; 255
     52a:	94 91       	lpm	r25, Z
     52c:	80 91 6f 00 	lds	r24, 0x006F
     530:	89 23       	and	r24, r25
     532:	80 61       	ori	r24, 0x10	; 16
     534:	0e 94 98 00 	call	0x130
	       SendByte(pgm_read_byte(S+LOBYTE(minutes))&Tov1);     //write data
     538:	80 91 84 00 	lds	r24, 0x0084
     53c:	e8 2f       	mov	r30, r24
     53e:	ff 27       	eor	r31, r31
     540:	ef 70       	andi	r30, 0x0F	; 15
     542:	f0 70       	andi	r31, 0x00	; 0
     544:	ec 5a       	subi	r30, 0xAC	; 172
     546:	ff 4f       	sbci	r31, 0xFF	; 255
     548:	94 91       	lpm	r25, Z
     54a:	80 91 6f 00 	lds	r24, 0x006F
     54e:	89 23       	and	r24, r25
     550:	0e 94 98 00 	call	0x130
		   return;
     554:	71 c3       	rjmp	.+1762   	; 0xc38
		 }  
	   if(M[0]==2)
     556:	80 91 7f 00 	lds	r24, 0x007F
     55a:	82 30       	cpi	r24, 0x02	; 2
     55c:	09 f0       	breq	.+2      	; 0x560
     55e:	53 c0       	rjmp	.+166    	; 0x606
	     {
		   SENDCOMB(0x2c);          //Write address
     560:	8c e2       	ldi	r24, 0x2C	; 44
     562:	0e 94 a9 00 	call	0x152
           SendByte((pgm_read_byte(S+a)&Tov1)|(Fuse1<<4));       //write data
     566:	80 91 83 00 	lds	r24, 0x0083
     56a:	e8 2f       	mov	r30, r24
     56c:	ff 27       	eor	r31, r31
     56e:	ec 5a       	subi	r30, 0xAC	; 172
     570:	ff 4f       	sbci	r31, 0xFF	; 255
     572:	94 91       	lpm	r25, Z
     574:	80 91 6f 00 	lds	r24, 0x006F
     578:	29 2f       	mov	r18, r25
     57a:	28 23       	and	r18, r24
     57c:	80 91 64 00 	lds	r24, 0x0064
     580:	99 27       	eor	r25, r25
     582:	82 95       	swap	r24
     584:	92 95       	swap	r25
     586:	90 7f       	andi	r25, 0xF0	; 240
     588:	98 27       	eor	r25, r24
     58a:	80 7f       	andi	r24, 0xF0	; 240
     58c:	98 27       	eor	r25, r24
     58e:	82 2b       	or	r24, r18
     590:	0e 94 98 00 	call	0x130
	       SendByte((pgm_read_byte(S+LOBYTE(hours))&Tov1)|(Fuse2<<4));       //write data
     594:	80 91 86 00 	lds	r24, 0x0086
     598:	e8 2f       	mov	r30, r24
     59a:	ff 27       	eor	r31, r31
     59c:	ef 70       	andi	r30, 0x0F	; 15
     59e:	f0 70       	andi	r31, 0x00	; 0
     5a0:	ec 5a       	subi	r30, 0xAC	; 172
     5a2:	ff 4f       	sbci	r31, 0xFF	; 255
     5a4:	94 91       	lpm	r25, Z
     5a6:	80 91 6f 00 	lds	r24, 0x006F
     5aa:	29 2f       	mov	r18, r25
     5ac:	28 23       	and	r18, r24
     5ae:	80 91 65 00 	lds	r24, 0x0065
     5b2:	99 27       	eor	r25, r25
     5b4:	82 95       	swap	r24
     5b6:	92 95       	swap	r25
     5b8:	90 7f       	andi	r25, 0xF0	; 240
     5ba:	98 27       	eor	r25, r24
     5bc:	80 7f       	andi	r24, 0xF0	; 240
     5be:	98 27       	eor	r25, r24
     5c0:	82 2b       	or	r24, r18
     5c2:	0e 94 98 00 	call	0x130
		   SendByte(pgm_read_byte(S+HIBYTE(minutes))|(1<<4));   //write data
     5c6:	80 91 84 00 	lds	r24, 0x0084
     5ca:	90 91 85 00 	lds	r25, 0x0085
     5ce:	95 95       	asr	r25
     5d0:	87 95       	ror	r24
     5d2:	95 95       	asr	r25
     5d4:	87 95       	ror	r24
     5d6:	95 95       	asr	r25
     5d8:	87 95       	ror	r24
     5da:	95 95       	asr	r25
     5dc:	87 95       	ror	r24
     5de:	e8 2f       	mov	r30, r24
     5e0:	ff 27       	eor	r31, r31
     5e2:	ec 5a       	subi	r30, 0xAC	; 172
     5e4:	ff 4f       	sbci	r31, 0xFF	; 255
     5e6:	84 91       	lpm	r24, Z
     5e8:	80 61       	ori	r24, 0x10	; 16
     5ea:	0e 94 98 00 	call	0x130
	       SendByte(pgm_read_byte(S+LOBYTE(minutes)));          //write data
     5ee:	80 91 84 00 	lds	r24, 0x0084
     5f2:	e8 2f       	mov	r30, r24
     5f4:	ff 27       	eor	r31, r31
     5f6:	ef 70       	andi	r30, 0x0F	; 15
     5f8:	f0 70       	andi	r31, 0x00	; 0
     5fa:	ec 5a       	subi	r30, 0xAC	; 172
     5fc:	ff 4f       	sbci	r31, 0xFF	; 255
     5fe:	84 91       	lpm	r24, Z
     600:	0e 94 98 00 	call	0x130
		   return;
     604:	19 c3       	rjmp	.+1586   	; 0xc38
		 } 
		if(Tov1==0xff) Tov1=1; 
     606:	80 91 6f 00 	lds	r24, 0x006F
     60a:	8f 3f       	cpi	r24, 0xFF	; 255
     60c:	19 f4       	brne	.+6      	; 0x614
     60e:	81 e0       	ldi	r24, 0x01	; 1
     610:	80 93 6f 00 	sts	0x006F, r24
	    SENDCOMB(0x2c);//秒针闪动
     614:	8c e2       	ldi	r24, 0x2C	; 44
     616:	0e 94 a9 00 	call	0x152
        SendByte(pgm_read_byte(S+a)|(Fuse1<<4));            //write data
     61a:	80 91 83 00 	lds	r24, 0x0083
     61e:	e8 2f       	mov	r30, r24
     620:	ff 27       	eor	r31, r31
     622:	ec 5a       	subi	r30, 0xAC	; 172
     624:	ff 4f       	sbci	r31, 0xFF	; 255
     626:	24 91       	lpm	r18, Z
     628:	80 91 64 00 	lds	r24, 0x0064
     62c:	99 27       	eor	r25, r25
     62e:	82 95       	swap	r24
     630:	92 95       	swap	r25
     632:	90 7f       	andi	r25, 0xF0	; 240
     634:	98 27       	eor	r25, r24
     636:	80 7f       	andi	r24, 0xF0	; 240
     638:	98 27       	eor	r25, r24
     63a:	82 2b       	or	r24, r18
     63c:	0e 94 98 00 	call	0x130
	    SendByte(pgm_read_byte(S+LOBYTE(hours))|(Fuse2<<4));            //write data
     640:	80 91 86 00 	lds	r24, 0x0086
     644:	e8 2f       	mov	r30, r24
     646:	ff 27       	eor	r31, r31
     648:	ef 70       	andi	r30, 0x0F	; 15
     64a:	f0 70       	andi	r31, 0x00	; 0
     64c:	ec 5a       	subi	r30, 0xAC	; 172
     64e:	ff 4f       	sbci	r31, 0xFF	; 255
     650:	24 91       	lpm	r18, Z
     652:	80 91 65 00 	lds	r24, 0x0065
     656:	99 27       	eor	r25, r25
     658:	82 95       	swap	r24
     65a:	92 95       	swap	r25
     65c:	90 7f       	andi	r25, 0xF0	; 240
     65e:	98 27       	eor	r25, r24
     660:	80 7f       	andi	r24, 0xF0	; 240
     662:	98 27       	eor	r25, r24
     664:	82 2b       	or	r24, r18
     666:	0e 94 98 00 	call	0x130
		SendByte(pgm_read_byte(S+HIBYTE(minutes))|(Tov1<<4));//write data   
     66a:	80 91 84 00 	lds	r24, 0x0084
     66e:	90 91 85 00 	lds	r25, 0x0085
     672:	95 95       	asr	r25
     674:	87 95       	ror	r24
     676:	95 95       	asr	r25
     678:	87 95       	ror	r24
     67a:	95 95       	asr	r25
     67c:	87 95       	ror	r24
     67e:	95 95       	asr	r25
     680:	87 95       	ror	r24
     682:	e8 2f       	mov	r30, r24
     684:	ff 27       	eor	r31, r31
     686:	ec 5a       	subi	r30, 0xAC	; 172
     688:	ff 4f       	sbci	r31, 0xFF	; 255
     68a:	24 91       	lpm	r18, Z
     68c:	80 91 6f 00 	lds	r24, 0x006F
     690:	99 27       	eor	r25, r25
     692:	82 95       	swap	r24
     694:	92 95       	swap	r25
     696:	90 7f       	andi	r25, 0xF0	; 240
     698:	98 27       	eor	r25, r24
     69a:	80 7f       	andi	r24, 0xF0	; 240
     69c:	98 27       	eor	r25, r24
     69e:	82 2b       	or	r24, r18
     6a0:	0e 94 98 00 	call	0x130
		SendByte(pgm_read_byte(S+LOBYTE(minutes)));          //write data
     6a4:	80 91 84 00 	lds	r24, 0x0084
     6a8:	e8 2f       	mov	r30, r24
     6aa:	ff 27       	eor	r31, r31
     6ac:	ef 70       	andi	r30, 0x0F	; 15
     6ae:	f0 70       	andi	r31, 0x00	; 0
     6b0:	ec 5a       	subi	r30, 0xAC	; 172
     6b2:	ff 4f       	sbci	r31, 0xFF	; 255
     6b4:	84 91       	lpm	r24, Z
     6b6:	0e 94 98 00 	call	0x130
		if(Tov1==1) Tov1=0xff;
     6ba:	80 91 6f 00 	lds	r24, 0x006F
     6be:	81 30       	cpi	r24, 0x01	; 1
     6c0:	09 f0       	breq	.+2      	; 0x6c4
     6c2:	ba c2       	rjmp	.+1396   	; 0xc38
     6c4:	8f ef       	ldi	r24, 0xFF	; 255
     6c6:	80 93 6f 00 	sts	0x006F, r24
		return;                                
     6ca:	b6 c2       	rjmp	.+1388   	; 0xc38
	 }
   if(N==1)
     6cc:	80 91 66 00 	lds	r24, 0x0066
     6d0:	81 30       	cpi	r24, 0x01	; 1
     6d2:	09 f0       	breq	.+2      	; 0x6d6
     6d4:	22 c1       	rjmp	.+580    	; 0x91a
     {
	   a=HIBYTE(month);
     6d6:	80 91 60 00 	lds	r24, 0x0060
     6da:	90 91 61 00 	lds	r25, 0x0061
     6de:	9c 01       	movw	r18, r24
     6e0:	35 95       	asr	r19
     6e2:	27 95       	ror	r18
     6e4:	35 95       	asr	r19
     6e6:	27 95       	ror	r18
     6e8:	35 95       	asr	r19
     6ea:	27 95       	ror	r18
     6ec:	35 95       	asr	r19
     6ee:	27 95       	ror	r18
     6f0:	20 93 83 00 	sts	0x0083, r18
	   b=HIBYTE(date);
     6f4:	80 91 62 00 	lds	r24, 0x0062
     6f8:	90 91 63 00 	lds	r25, 0x0063
     6fc:	95 95       	asr	r25
     6fe:	87 95       	ror	r24
     700:	95 95       	asr	r25
     702:	87 95       	ror	r24
     704:	95 95       	asr	r25
     706:	87 95       	ror	r24
     708:	95 95       	asr	r25
     70a:	87 95       	ror	r24
     70c:	80 93 74 00 	sts	0x0074, r24

⌨️ 快捷键说明

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