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

📄 timers.lss

📁 Avr_atmel_小型OS
💻 LSS
📖 第 1 页 / 共 2 页
字号:
 268:	19 d0       	rcall	.+50     	; 0x29c <lpm_inc>
 26a:	0c 92       	st	X, r0
 26c:	17 d0       	rcall	.+46     	; 0x29c <lpm_inc>
 26e:	0e 92       	st	-X, r0
 270:	40 e0       	ldi	r20, 0x00	; 0
 272:	40 e0       	ldi	r20, 0x00	; 0
 274:	51 e2       	ldi	r21, 0x21	; 33

00000276 <PushRegisters>:
 276:	4e 93       	st	-X, r20
 278:	5a 95       	dec	r21
 27a:	e9 f7       	brne	.-6      	; 0x276 <PushRegisters>
 27c:	11 97       	sbiw	r26, 0x01	; 1
 27e:	0e d0       	rcall	.+28     	; 0x29c <lpm_inc>
 280:	80 2d       	mov	r24, r0
 282:	0c d0       	rcall	.+24     	; 0x29c <lpm_inc>
 284:	90 2d       	mov	r25, r0
 286:	0a d0       	rcall	.+20     	; 0x29c <lpm_inc>
 288:	e8 2f       	mov	r30, r24
 28a:	f9 2f       	mov	r31, r25
 28c:	a4 83       	std	Z+4, r26	; 0x04
 28e:	b5 83       	std	Z+5, r27	; 0x05
 290:	03 82       	std	Z+3, r0	; 0x03
 292:	a0 e6       	ldi	r26, 0x60	; 96
 294:	a2 83       	std	Z+2, r26	; 0x02
 296:	41 83       	std	Z+1, r20	; 0x01
 298:	40 83       	st	Z, r20
 29a:	08 95       	ret

0000029c <lpm_inc>:
 29c:	c8 95       	lpm
 29e:	31 96       	adiw	r30, 0x01	; 1
 2a0:	08 95       	ret

000002a2 <AvrXResume>:
 2a2:	f8 94       	cli
 2a4:	48 df       	rcall	.-368    	; 0x136 <IntProlog>
 2a6:	78 94       	sei
 2a8:	e8 2f       	mov	r30, r24
 2aa:	f9 2f       	mov	r31, r25
 2ac:	22 81       	ldd	r18, Z+2	; 0x02
 2ae:	2f 7d       	andi	r18, 0xDF	; 223
 2b0:	22 83       	std	Z+2, r18	; 0x02
 2b2:	26 ff       	sbrs	r18, 6
 2b4:	03 c0       	rjmp	.+6      	; 0x2bc <ar00>
 2b6:	2f 7b       	andi	r18, 0xBF	; 191
 2b8:	22 83       	std	Z+2, r18	; 0x02
 2ba:	01 d0       	rcall	.+2      	; 0x2be <_QueuePid>

000002bc <ar00>:
 2bc:	8a cf       	rjmp	.-236    	; 0x1d2 <_Epilog>

000002be <_QueuePid>:
 2be:	e8 2f       	mov	r30, r24
 2c0:	f9 2f       	mov	r31, r25
 2c2:	3f ef       	ldi	r19, 0xFF	; 255
 2c4:	22 81       	ldd	r18, Z+2	; 0x02
 2c6:	20 73       	andi	r18, 0x30	; 48
 2c8:	e1 f4       	brne	.+56     	; 0x302 <_qpSUSPEND>
 2ca:	cf 93       	push	r28
 2cc:	df 93       	push	r29
 2ce:	43 81       	ldd	r20, Z+3	; 0x03
 2d0:	c0 ed       	ldi	r28, 0xD0	; 208
 2d2:	d0 e0       	ldi	r29, 0x00	; 0
 2d4:	2f b7       	in	r18, 0x3f	; 63
 2d6:	f8 94       	cli

000002d8 <_qp00>:
 2d8:	33 95       	inc	r19
 2da:	ec 2f       	mov	r30, r28
 2dc:	fd 2f       	mov	r31, r29
 2de:	c0 81       	ld	r28, Z
 2e0:	d1 81       	ldd	r29, Z+1	; 0x01
 2e2:	20 96       	adiw	r28, 0x00	; 0
 2e4:	19 f0       	breq	.+6      	; 0x2ec <_qp01>
 2e6:	5b 81       	ldd	r21, Y+3	; 0x03
 2e8:	45 17       	cp	r20, r21
 2ea:	b0 f7       	brcc	.-20     	; 0x2d8 <_qp00>

000002ec <_qp01>:
 2ec:	91 83       	std	Z+1, r25	; 0x01
 2ee:	80 83       	st	Z, r24
 2f0:	f9 2f       	mov	r31, r25
 2f2:	e8 2f       	mov	r30, r24
 2f4:	d1 83       	std	Z+1, r29	; 0x01
 2f6:	c0 83       	st	Z, r28
 2f8:	df 91       	pop	r29
 2fa:	cf 91       	pop	r28
 2fc:	83 2f       	mov	r24, r19
 2fe:	2f bf       	out	0x3f, r18	; 63
 300:	08 95       	ret

00000302 <_qpSUSPEND>:
 302:	83 2f       	mov	r24, r19
 304:	20 64       	ori	r18, 0x40	; 64
 306:	22 83       	std	Z+2, r18	; 0x02
 308:	08 95       	ret

0000030a <AvrXWaitMessageAck>:
 30a:	8e 5f       	subi	r24, 0xFE	; 254
 30c:	9f 4f       	sbci	r25, 0xFF	; 255

0000030e <AvrXWaitSemaphore>:
 30e:	e8 2f       	mov	r30, r24
 310:	f9 2f       	mov	r31, r25
 312:	f8 94       	cli
 314:	20 81       	ld	r18, Z
 316:	31 81       	ldd	r19, Z+1	; 0x01
 318:	21 50       	subi	r18, 0x01	; 1
 31a:	30 40       	sbci	r19, 0x00	; 0
 31c:	19 f4       	brne	.+6      	; 0x324 <aws01>
 31e:	20 83       	st	Z, r18
 320:	31 83       	std	Z+1, r19	; 0x01
 322:	18 95       	reti

00000324 <aws01>:
 324:	08 df       	rcall	.-496    	; 0x136 <IntProlog>
 326:	e0 ed       	ldi	r30, 0xD0	; 208
 328:	f0 e0       	ldi	r31, 0x00	; 0
 32a:	73 81       	ldd	r23, Z+3	; 0x03
 32c:	62 81       	ldd	r22, Z+2	; 0x02
 32e:	3c d0       	rcall	.+120    	; 0x3a8 <_RemoveObject>
 330:	e8 2f       	mov	r30, r24
 332:	f9 2f       	mov	r31, r25
 334:	2b d0       	rcall	.+86     	; 0x38c <_AppendObject>
 336:	4d cf       	rjmp	.-358    	; 0x1d2 <_Epilog>

00000338 <AvrXAckMessage>:
 338:	8e 5f       	subi	r24, 0xFE	; 254
 33a:	9f 4f       	sbci	r25, 0xFF	; 255

0000033c <AvrXSetSemaphore>:
 33c:	0c d0       	rcall	.+24     	; 0x356 <AvrXIntSetSemaphore>
 33e:	90 91 d6 00 	lds	r25, 0x00D6
 342:	93 95       	inc	r25
 344:	89 2b       	or	r24, r25
 346:	09 f0       	breq	.+2      	; 0x34a <axss0>
 348:	08 95       	ret

0000034a <axss0>:
 34a:	f8 94       	cli
 34c:	f4 de       	rcall	.-536    	; 0x136 <IntProlog>
 34e:	78 94       	sei
 350:	40 cf       	rjmp	.-384    	; 0x1d2 <_Epilog>

00000352 <AvrXIntSetObjectSemaphore>:
 352:	8e 5f       	subi	r24, 0xFE	; 254
 354:	9f 4f       	sbci	r25, 0xFF	; 255

00000356 <AvrXIntSetSemaphore>:
 356:	e8 2f       	mov	r30, r24
 358:	f9 2f       	mov	r31, r25
 35a:	81 e0       	ldi	r24, 0x01	; 1
 35c:	90 e0       	ldi	r25, 0x00	; 0
 35e:	2f b7       	in	r18, 0x3f	; 63
 360:	f8 94       	cli
 362:	71 81       	ldd	r23, Z+1	; 0x01
 364:	60 81       	ld	r22, Z
 366:	86 17       	cp	r24, r22
 368:	97 07       	cpc	r25, r23
 36a:	28 f0       	brcs	.+10     	; 0x376 <aiss00>
 36c:	80 83       	st	Z, r24
 36e:	91 83       	std	Z+1, r25	; 0x01

00000370 <BogusSemaphore>:
 370:	8f ef       	ldi	r24, 0xFF	; 255
 372:	2f bf       	out	0x3f, r18	; 63
 374:	08 95       	ret

00000376 <aiss00>:
 376:	8f e5       	ldi	r24, 0x5F	; 95
 378:	86 17       	cp	r24, r22
 37a:	97 07       	cpc	r25, r23
 37c:	c8 f7       	brcc	.-14     	; 0x370 <BogusSemaphore>
 37e:	23 d0       	rcall	.+70     	; 0x3c6 <_RemoveObjectAt>
 380:	2f bf       	out	0x3f, r18	; 63
 382:	86 2f       	mov	r24, r22
 384:	97 2f       	mov	r25, r23
 386:	9b cf       	rjmp	.-202    	; 0x2be <_QueuePid>

00000388 <_ao00>:
 388:	e2 2f       	mov	r30, r18
 38a:	f3 2f       	mov	r31, r19

0000038c <_AppendObject>:
 38c:	20 81       	ld	r18, Z
 38e:	31 81       	ldd	r19, Z+1	; 0x01
 390:	20 50       	subi	r18, 0x00	; 0
 392:	30 40       	sbci	r19, 0x00	; 0
 394:	c9 f7       	brne	.-14     	; 0x388 <_ao00>
 396:	71 83       	std	Z+1, r23	; 0x01
 398:	60 83       	st	Z, r22
 39a:	f7 2f       	mov	r31, r23
 39c:	e6 2f       	mov	r30, r22
 39e:	31 83       	std	Z+1, r19	; 0x01
 3a0:	20 83       	st	Z, r18
 3a2:	08 95       	ret

000003a4 <_ro00>:
 3a4:	f3 2f       	mov	r31, r19
 3a6:	e2 2f       	mov	r30, r18

000003a8 <_RemoveObject>:
 3a8:	20 81       	ld	r18, Z
 3aa:	31 81       	ldd	r19, Z+1	; 0x01
 3ac:	62 17       	cp	r22, r18
 3ae:	73 07       	cpc	r23, r19
 3b0:	51 f0       	breq	.+20     	; 0x3c6 <_RemoveObjectAt>
 3b2:	20 50       	subi	r18, 0x00	; 0
 3b4:	30 40       	sbci	r19, 0x00	; 0
 3b6:	b1 f7       	brne	.-20     	; 0x3a4 <_ro00>
 3b8:	08 95       	ret

000003ba <_RemoveFirstObject>:
 3ba:	60 81       	ld	r22, Z
 3bc:	71 81       	ldd	r23, Z+1	; 0x01
 3be:	60 50       	subi	r22, 0x00	; 0
 3c0:	70 40       	sbci	r23, 0x00	; 0
 3c2:	09 f4       	brne	.+2      	; 0x3c6 <_RemoveObjectAt>
 3c4:	08 95       	ret

000003c6 <_RemoveObjectAt>:
 3c6:	4c 2f       	mov	r20, r28
 3c8:	5d 2f       	mov	r21, r29
 3ca:	c6 2f       	mov	r28, r22
 3cc:	d7 2f       	mov	r29, r23
 3ce:	79 81       	ldd	r23, Y+1	; 0x01
 3d0:	68 81       	ld	r22, Y
 3d2:	71 83       	std	Z+1, r23	; 0x01
 3d4:	60 83       	st	Z, r22
 3d6:	e6 2f       	mov	r30, r22
 3d8:	f7 2f       	mov	r31, r23
 3da:	66 27       	eor	r22, r22
 3dc:	68 83       	st	Y, r22
 3de:	69 83       	std	Y+1, r22	; 0x01
 3e0:	7d 2f       	mov	r23, r29
 3e2:	6c 2f       	mov	r22, r28
 3e4:	c4 2f       	mov	r28, r20
 3e6:	d5 2f       	mov	r29, r21
 3e8:	98 94       	clz
 3ea:	08 95       	ret

000003ec <AvrXDelay>:
 3ec:	01 d0       	rcall	.+2      	; 0x3f0 <AvrXStartTimer>
 3ee:	8d cf       	rjmp	.-230    	; 0x30a <AvrXWaitMessageAck>

000003f0 <AvrXStartTimer>:
 3f0:	60 50       	subi	r22, 0x00	; 0
 3f2:	70 40       	sbci	r23, 0x00	; 0
 3f4:	09 f4       	brne	.+2      	; 0x3f8 <CountNotZero>
 3f6:	a0 cf       	rjmp	.-192    	; 0x338 <AvrXAckMessage>

000003f8 <CountNotZero>:
 3f8:	f8 94       	cli
 3fa:	9d de       	rcall	.-710    	; 0x136 <IntProlog>
 3fc:	78 94       	sei
 3fe:	68 d0       	rcall	.+208    	; 0x4d0 <AvrXIntResetObjectSemaphore>
 400:	e8 ed       	ldi	r30, 0xD8	; 216
 402:	f0 e0       	ldi	r31, 0x00	; 0
 404:	f8 94       	cli
 406:	20 91 da 00 	lds	r18, 0x00DA
 40a:	2a 95       	dec	r18
 40c:	20 93 da 00 	sts	0x00DA, r18
 410:	78 94       	sei

00000412 <ast00>:
 412:	ce 2f       	mov	r28, r30
 414:	df 2f       	mov	r29, r31
 416:	e8 81       	ld	r30, Y
 418:	f9 81       	ldd	r31, Y+1	; 0x01
 41a:	30 96       	adiw	r30, 0x00	; 0
 41c:	59 f0       	breq	.+22     	; 0x434 <ast01>
 41e:	24 81       	ldd	r18, Z+4	; 0x04
 420:	35 81       	ldd	r19, Z+5	; 0x05
 422:	62 1b       	sub	r22, r18
 424:	73 0b       	sbc	r23, r19
 426:	a8 f7       	brcc	.-22     	; 0x412 <ast00>
 428:	62 0f       	add	r22, r18
 42a:	73 1f       	adc	r23, r19
 42c:	26 1b       	sub	r18, r22
 42e:	37 0b       	sbc	r19, r23
 430:	24 83       	std	Z+4, r18	; 0x04
 432:	35 83       	std	Z+5, r19	; 0x05

00000434 <ast01>:
 434:	99 83       	std	Y+1, r25	; 0x01
 436:	88 83       	st	Y, r24
 438:	d9 2f       	mov	r29, r25
 43a:	c8 2f       	mov	r28, r24
 43c:	f9 83       	std	Y+1, r31	; 0x01
 43e:	e8 83       	st	Y, r30
 440:	6c 83       	std	Y+4, r22	; 0x04
 442:	7d 83       	std	Y+5, r23	; 0x05
 444:	3c d0       	rcall	.+120    	; 0x4be <TimerHandler>
 446:	c5 ce       	rjmp	.-630    	; 0x1d2 <_Epilog>

00000448 <AvrXTimerHandler>:
 448:	f8 94       	cli
 44a:	20 91 da 00 	lds	r18, 0x00DA
 44e:	21 50       	subi	r18, 0x01	; 1
 450:	20 93 da 00 	sts	0x00DA, r18
 454:	78 94       	sei
 456:	08 f0       	brcs	.+2      	; 0x45a <ati00>
 458:	08 95       	ret

0000045a <ati00>:
 45a:	cf 93       	push	r28
 45c:	df 93       	push	r29
 45e:	af 93       	push	r26
 460:	bf 93       	push	r27
 462:	d0 91 d9 00 	lds	r29, 0x00D9
 466:	c0 91 d8 00 	lds	r28, 0x00D8
 46a:	20 96       	adiw	r28, 0x00	; 0
 46c:	21 f1       	breq	.+72     	; 0x4b6 <ati02>
 46e:	fd 81       	ldd	r31, Y+5	; 0x05
 470:	ec 81       	ldd	r30, Y+4	; 0x04
 472:	31 97       	sbiw	r30, 0x01	; 1
 474:	fd 83       	std	Y+5, r31	; 0x05
 476:	ec 83       	std	Y+4, r30	; 0x04

00000478 <ati01>:
 478:	ef 2b       	or	r30, r31
 47a:	e9 f4       	brne	.+58     	; 0x4b6 <ati02>
 47c:	a8 81       	ld	r26, Y
 47e:	b9 81       	ldd	r27, Y+1	; 0x01
 480:	b0 93 d9 00 	sts	0x00D9, r27
 484:	a0 93 d8 00 	sts	0x00D8, r26
 488:	f9 83       	std	Y+1, r31	; 0x01
 48a:	e8 83       	st	Y, r30
 48c:	8a 81       	ldd	r24, Y+2	; 0x02
 48e:	9b 81       	ldd	r25, Y+3	; 0x03
 490:	82 50       	subi	r24, 0x02	; 2
 492:	90 40       	sbci	r25, 0x00	; 0
 494:	31 f4       	brne	.+12     	; 0x4a2 <ati04>
 496:	8e 81       	ldd	r24, Y+6	; 0x06
 498:	9f 81       	ldd	r25, Y+7	; 0x07
 49a:	7d 2f       	mov	r23, r29
 49c:	6c 2f       	mov	r22, r28
 49e:	2e d0       	rcall	.+92     	; 0x4fc <AvrXIntSendMessage>
 4a0:	03 c0       	rjmp	.+6      	; 0x4a8 <ati03>

000004a2 <ati04>:
 4a2:	8c 2f       	mov	r24, r28
 4a4:	9d 2f       	mov	r25, r29
 4a6:	55 df       	rcall	.-342    	; 0x352 <AvrXIntSetObjectSemaphore>

000004a8 <ati03>:
 4a8:	10 96       	adiw	r26, 0x00	; 0
 4aa:	29 f0       	breq	.+10     	; 0x4b6 <ati02>
 4ac:	ca 2f       	mov	r28, r26
 4ae:	db 2f       	mov	r29, r27
 4b0:	fd 81       	ldd	r31, Y+5	; 0x05
 4b2:	ec 81       	ldd	r30, Y+4	; 0x04
 4b4:	e1 cf       	rjmp	.-62     	; 0x478 <ati01>

000004b6 <ati02>:
 4b6:	bf 91       	pop	r27
 4b8:	af 91       	pop	r26
 4ba:	df 91       	pop	r29
 4bc:	cf 91       	pop	r28

000004be <TimerHandler>:
 4be:	f8 94       	cli
 4c0:	20 91 da 00 	lds	r18, 0x00DA
 4c4:	23 95       	inc	r18
 4c6:	20 93 da 00 	sts	0x00DA, r18
 4ca:	78 94       	sei
 4cc:	31 f6       	brne	.-116    	; 0x45a <ati00>
 4ce:	08 95       	ret

000004d0 <AvrXIntResetObjectSemaphore>:
 4d0:	e8 2f       	mov	r30, r24
 4d2:	f9 2f       	mov	r31, r25
 4d4:	32 96       	adiw	r30, 0x02	; 2
 4d6:	02 c0       	rjmp	.+4      	; 0x4dc <ars00>

000004d8 <AvrXIntResetSemaphore>:
 4d8:	f9 2f       	mov	r31, r25
 4da:	e8 2f       	mov	r30, r24

000004dc <ars00>:
 4dc:	f8 94       	cli
 4de:	40 81       	ld	r20, Z
 4e0:	51 81       	ldd	r21, Z+1	; 0x01
 4e2:	41 50       	subi	r20, 0x01	; 1
 4e4:	50 40       	sbci	r21, 0x00	; 0
 4e6:	11 f0       	breq	.+4      	; 0x4ec <ars01>
 4e8:	4f 5f       	subi	r20, 0xFF	; 255
 4ea:	5f 4f       	sbci	r21, 0xFF	; 255

000004ec <ars01>:
 4ec:	51 83       	std	Z+1, r21	; 0x01
 4ee:	40 83       	st	Z, r20
 4f0:	18 95       	reti

000004f2 <AvrXSendMessage>:
 4f2:	f8 94       	cli
 4f4:	20 de       	rcall	.-960    	; 0x136 <IntProlog>
 4f6:	78 94       	sei
 4f8:	01 d0       	rcall	.+2      	; 0x4fc <AvrXIntSendMessage>
 4fa:	6b ce       	rjmp	.-810    	; 0x1d2 <_Epilog>

000004fc <AvrXIntSendMessage>:
 4fc:	f9 2f       	mov	r31, r25
 4fe:	e8 2f       	mov	r30, r24
 500:	45 df       	rcall	.-374    	; 0x38c <_AppendObject>
 502:	27 cf       	rjmp	.-434    	; 0x352 <AvrXIntSetObjectSemaphore>

00000504 <AvrXWaitMessage>:
 504:	e8 2f       	mov	r30, r24
 506:	f9 2f       	mov	r31, r25
 508:	f8 94       	cli
 50a:	57 df       	rcall	.-338    	; 0x3ba <_RemoveFirstObject>
 50c:	78 94       	sei
 50e:	21 f4       	brne	.+8      	; 0x518 <_rm01>
 510:	fc de       	rcall	.-520    	; 0x30a <AvrXWaitMessageAck>
 512:	82 50       	subi	r24, 0x02	; 2
 514:	90 40       	sbci	r25, 0x00	; 0
 516:	f6 cf       	rjmp	.-20     	; 0x504 <AvrXWaitMessage>

00000518 <_rm01>:
 518:	db df       	rcall	.-74     	; 0x4d0 <AvrXIntResetObjectSemaphore>
 51a:	86 2f       	mov	r24, r22
 51c:	97 2f       	mov	r25, r23
 51e:	08 95       	ret

⌨️ 快捷键说明

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