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

📄 avrx.lss

📁 AVR单片机专用的操作系统AVRX
💻 LSS
📖 第 1 页 / 共 3 页
字号:
 4a6:	20 73       	andi	r18, 0x30	; 48
 4a8:	e1 f4       	brne	.+56     	; 0x4e2 <_qpSUSPEND>
 4aa:	cf 93       	push	r28
 4ac:	df 93       	push	r29
 4ae:	43 81       	ldd	r20, Z+3	; 0x03
 4b0:	c8 e3       	ldi	r28, 0x38	; 56
 4b2:	d2 e0       	ldi	r29, 0x02	; 2
 4b4:	2f b7       	in	r18, 0x3f	; 63
 4b6:	f8 94       	cli

000004b8 <_qp00>:
 4b8:	33 95       	inc	r19
 4ba:	ec 2f       	mov	r30, r28
 4bc:	fd 2f       	mov	r31, r29
 4be:	c0 81       	ld	r28, Z
 4c0:	d1 81       	ldd	r29, Z+1	; 0x01
 4c2:	20 96       	adiw	r28, 0x00	; 0
 4c4:	19 f0       	breq	.+6      	; 0x4cc <_qp01>
 4c6:	5b 81       	ldd	r21, Y+3	; 0x03
 4c8:	45 17       	cp	r20, r21
 4ca:	b0 f7       	brcc	.-20     	; 0x4b8 <_qp00>

000004cc <_qp01>:
 4cc:	91 83       	std	Z+1, r25	; 0x01
 4ce:	80 83       	st	Z, r24
 4d0:	f9 2f       	mov	r31, r25
 4d2:	e8 2f       	mov	r30, r24
 4d4:	d1 83       	std	Z+1, r29	; 0x01
 4d6:	c0 83       	st	Z, r28
 4d8:	df 91       	pop	r29
 4da:	cf 91       	pop	r28
 4dc:	83 2f       	mov	r24, r19
 4de:	2f bf       	out	0x3f, r18	; 63
 4e0:	08 95       	ret

000004e2 <_qpSUSPEND>:
 4e2:	83 2f       	mov	r24, r19
 4e4:	20 64       	ori	r18, 0x40	; 64
 4e6:	22 83       	std	Z+2, r18	; 0x02
 4e8:	08 95       	ret

000004ea <AvrXDelay>:
 4ea:	01 d0       	rcall	.+2      	; 0x4ee <AvrXStartTimer>
 4ec:	70 c0       	rjmp	.+224    	; 0x5ce <AvrXWaitMessageAck>

000004ee <AvrXStartTimer>:
 4ee:	60 50       	subi	r22, 0x00	; 0
 4f0:	70 40       	sbci	r23, 0x00	; 0
 4f2:	09 f4       	brne	.+2      	; 0x4f6 <CountNotZero>
 4f4:	83 c0       	rjmp	.+262    	; 0x5fc <AvrXAckMessage>

000004f6 <CountNotZero>:
 4f6:	f8 94       	cli
 4f8:	0e df       	rcall	.-484    	; 0x316 <IntProlog>
 4fa:	78 94       	sei
 4fc:	d9 d0       	rcall	.+434    	; 0x6b0 <AvrXIntResetObjectSemaphore>
 4fe:	e0 e4       	ldi	r30, 0x40	; 64
 500:	f2 e0       	ldi	r31, 0x02	; 2
 502:	f8 94       	cli
 504:	20 91 42 02 	lds	r18, 0x0242
 508:	2a 95       	dec	r18
 50a:	20 93 42 02 	sts	0x0242, r18
 50e:	78 94       	sei

00000510 <ast00>:
 510:	ce 2f       	mov	r28, r30
 512:	df 2f       	mov	r29, r31
 514:	e8 81       	ld	r30, Y
 516:	f9 81       	ldd	r31, Y+1	; 0x01
 518:	30 96       	adiw	r30, 0x00	; 0
 51a:	59 f0       	breq	.+22     	; 0x532 <ast01>
 51c:	24 81       	ldd	r18, Z+4	; 0x04
 51e:	35 81       	ldd	r19, Z+5	; 0x05
 520:	62 1b       	sub	r22, r18
 522:	73 0b       	sbc	r23, r19
 524:	a8 f7       	brcc	.-22     	; 0x510 <ast00>
 526:	62 0f       	add	r22, r18
 528:	73 1f       	adc	r23, r19
 52a:	26 1b       	sub	r18, r22
 52c:	37 0b       	sbc	r19, r23
 52e:	24 83       	std	Z+4, r18	; 0x04
 530:	35 83       	std	Z+5, r19	; 0x05

00000532 <ast01>:
 532:	99 83       	std	Y+1, r25	; 0x01
 534:	88 83       	st	Y, r24
 536:	d9 2f       	mov	r29, r25
 538:	c8 2f       	mov	r28, r24
 53a:	f9 83       	std	Y+1, r31	; 0x01
 53c:	e8 83       	st	Y, r30
 53e:	6c 83       	std	Y+4, r22	; 0x04
 540:	7d 83       	std	Y+5, r23	; 0x05
 542:	3c d0       	rcall	.+120    	; 0x5bc <TimerHandler>
 544:	36 cf       	rjmp	.-404    	; 0x3b2 <_Epilog>

00000546 <AvrXTimerHandler>:
 546:	f8 94       	cli
 548:	20 91 42 02 	lds	r18, 0x0242
 54c:	21 50       	subi	r18, 0x01	; 1
 54e:	20 93 42 02 	sts	0x0242, r18
 552:	78 94       	sei
 554:	08 f0       	brcs	.+2      	; 0x558 <ati00>
 556:	08 95       	ret

00000558 <ati00>:
 558:	cf 93       	push	r28
 55a:	df 93       	push	r29
 55c:	af 93       	push	r26
 55e:	bf 93       	push	r27
 560:	d0 91 41 02 	lds	r29, 0x0241
 564:	c0 91 40 02 	lds	r28, 0x0240
 568:	20 96       	adiw	r28, 0x00	; 0
 56a:	21 f1       	breq	.+72     	; 0x5b4 <ati02>
 56c:	fd 81       	ldd	r31, Y+5	; 0x05
 56e:	ec 81       	ldd	r30, Y+4	; 0x04
 570:	31 97       	sbiw	r30, 0x01	; 1
 572:	fd 83       	std	Y+5, r31	; 0x05
 574:	ec 83       	std	Y+4, r30	; 0x04

00000576 <ati01>:
 576:	ef 2b       	or	r30, r31
 578:	e9 f4       	brne	.+58     	; 0x5b4 <ati02>
 57a:	a8 81       	ld	r26, Y
 57c:	b9 81       	ldd	r27, Y+1	; 0x01
 57e:	b0 93 41 02 	sts	0x0241, r27
 582:	a0 93 40 02 	sts	0x0240, r26
 586:	f9 83       	std	Y+1, r31	; 0x01
 588:	e8 83       	st	Y, r30
 58a:	8a 81       	ldd	r24, Y+2	; 0x02
 58c:	9b 81       	ldd	r25, Y+3	; 0x03
 58e:	82 50       	subi	r24, 0x02	; 2
 590:	90 40       	sbci	r25, 0x00	; 0
 592:	31 f4       	brne	.+12     	; 0x5a0 <ati04>
 594:	8e 81       	ldd	r24, Y+6	; 0x06
 596:	9f 81       	ldd	r25, Y+7	; 0x07
 598:	7d 2f       	mov	r23, r29
 59a:	6c 2f       	mov	r22, r28
 59c:	9f d0       	rcall	.+318    	; 0x6dc <AvrXIntSendMessage>
 59e:	03 c0       	rjmp	.+6      	; 0x5a6 <ati03>

000005a0 <ati04>:
 5a0:	8c 2f       	mov	r24, r28
 5a2:	9d 2f       	mov	r25, r29
 5a4:	38 d0       	rcall	.+112    	; 0x616 <AvrXIntSetObjectSemaphore>

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

000005b4 <ati02>:
 5b4:	bf 91       	pop	r27
 5b6:	af 91       	pop	r26
 5b8:	df 91       	pop	r29
 5ba:	cf 91       	pop	r28

000005bc <TimerHandler>:
 5bc:	f8 94       	cli
 5be:	20 91 42 02 	lds	r18, 0x0242
 5c2:	23 95       	inc	r18
 5c4:	20 93 42 02 	sts	0x0242, r18
 5c8:	78 94       	sei
 5ca:	31 f6       	brne	.-116    	; 0x558 <ati00>
 5cc:	08 95       	ret

000005ce <AvrXWaitMessageAck>:
 5ce:	8e 5f       	subi	r24, 0xFE	; 254
 5d0:	9f 4f       	sbci	r25, 0xFF	; 255

000005d2 <AvrXWaitSemaphore>:
 5d2:	e8 2f       	mov	r30, r24
 5d4:	f9 2f       	mov	r31, r25
 5d6:	f8 94       	cli
 5d8:	20 81       	ld	r18, Z
 5da:	31 81       	ldd	r19, Z+1	; 0x01
 5dc:	21 50       	subi	r18, 0x01	; 1
 5de:	30 40       	sbci	r19, 0x00	; 0
 5e0:	19 f4       	brne	.+6      	; 0x5e8 <aws01>
 5e2:	20 83       	st	Z, r18
 5e4:	31 83       	std	Z+1, r19	; 0x01
 5e6:	18 95       	reti

000005e8 <aws01>:
 5e8:	96 de       	rcall	.-724    	; 0x316 <IntProlog>
 5ea:	e8 e3       	ldi	r30, 0x38	; 56
 5ec:	f2 e0       	ldi	r31, 0x02	; 2
 5ee:	73 81       	ldd	r23, Z+3	; 0x03
 5f0:	62 81       	ldd	r22, Z+2	; 0x02
 5f2:	3c d0       	rcall	.+120    	; 0x66c <_RemoveObject>
 5f4:	e8 2f       	mov	r30, r24
 5f6:	f9 2f       	mov	r31, r25
 5f8:	2b d0       	rcall	.+86     	; 0x650 <_AppendObject>
 5fa:	db ce       	rjmp	.-586    	; 0x3b2 <_Epilog>

000005fc <AvrXAckMessage>:
 5fc:	8e 5f       	subi	r24, 0xFE	; 254
 5fe:	9f 4f       	sbci	r25, 0xFF	; 255

00000600 <AvrXSetSemaphore>:
 600:	0c d0       	rcall	.+24     	; 0x61a <AvrXIntSetSemaphore>
 602:	90 91 3e 02 	lds	r25, 0x023E
 606:	93 95       	inc	r25
 608:	89 2b       	or	r24, r25
 60a:	09 f0       	breq	.+2      	; 0x60e <axss0>
 60c:	08 95       	ret

0000060e <axss0>:
 60e:	f8 94       	cli
 610:	82 de       	rcall	.-764    	; 0x316 <IntProlog>
 612:	78 94       	sei
 614:	ce ce       	rjmp	.-612    	; 0x3b2 <_Epilog>

00000616 <AvrXIntSetObjectSemaphore>:
 616:	8e 5f       	subi	r24, 0xFE	; 254
 618:	9f 4f       	sbci	r25, 0xFF	; 255

0000061a <AvrXIntSetSemaphore>:
 61a:	e8 2f       	mov	r30, r24
 61c:	f9 2f       	mov	r31, r25
 61e:	81 e0       	ldi	r24, 0x01	; 1
 620:	90 e0       	ldi	r25, 0x00	; 0
 622:	2f b7       	in	r18, 0x3f	; 63
 624:	f8 94       	cli
 626:	71 81       	ldd	r23, Z+1	; 0x01
 628:	60 81       	ld	r22, Z
 62a:	86 17       	cp	r24, r22
 62c:	97 07       	cpc	r25, r23
 62e:	28 f0       	brcs	.+10     	; 0x63a <aiss00>
 630:	80 83       	st	Z, r24
 632:	91 83       	std	Z+1, r25	; 0x01

00000634 <BogusSemaphore>:
 634:	8f ef       	ldi	r24, 0xFF	; 255
 636:	2f bf       	out	0x3f, r18	; 63
 638:	08 95       	ret

0000063a <aiss00>:
 63a:	8f e5       	ldi	r24, 0x5F	; 95
 63c:	86 17       	cp	r24, r22
 63e:	97 07       	cpc	r25, r23
 640:	c8 f7       	brcc	.-14     	; 0x634 <BogusSemaphore>
 642:	23 d0       	rcall	.+70     	; 0x68a <_RemoveObjectAt>
 644:	2f bf       	out	0x3f, r18	; 63
 646:	86 2f       	mov	r24, r22
 648:	97 2f       	mov	r25, r23
 64a:	29 cf       	rjmp	.-430    	; 0x49e <_QueuePid>

0000064c <_ao00>:
 64c:	e2 2f       	mov	r30, r18
 64e:	f3 2f       	mov	r31, r19

00000650 <_AppendObject>:
 650:	20 81       	ld	r18, Z
 652:	31 81       	ldd	r19, Z+1	; 0x01
 654:	20 50       	subi	r18, 0x00	; 0
 656:	30 40       	sbci	r19, 0x00	; 0
 658:	c9 f7       	brne	.-14     	; 0x64c <_ao00>
 65a:	71 83       	std	Z+1, r23	; 0x01
 65c:	60 83       	st	Z, r22
 65e:	f7 2f       	mov	r31, r23
 660:	e6 2f       	mov	r30, r22
 662:	31 83       	std	Z+1, r19	; 0x01
 664:	20 83       	st	Z, r18
 666:	08 95       	ret

00000668 <_ro00>:
 668:	f3 2f       	mov	r31, r19
 66a:	e2 2f       	mov	r30, r18

0000066c <_RemoveObject>:
 66c:	20 81       	ld	r18, Z
 66e:	31 81       	ldd	r19, Z+1	; 0x01
 670:	62 17       	cp	r22, r18
 672:	73 07       	cpc	r23, r19
 674:	51 f0       	breq	.+20     	; 0x68a <_RemoveObjectAt>
 676:	20 50       	subi	r18, 0x00	; 0
 678:	30 40       	sbci	r19, 0x00	; 0
 67a:	b1 f7       	brne	.-20     	; 0x668 <_ro00>
 67c:	08 95       	ret

0000067e <_RemoveFirstObject>:
 67e:	60 81       	ld	r22, Z
 680:	71 81       	ldd	r23, Z+1	; 0x01
 682:	60 50       	subi	r22, 0x00	; 0
 684:	70 40       	sbci	r23, 0x00	; 0
 686:	09 f4       	brne	.+2      	; 0x68a <_RemoveObjectAt>
 688:	08 95       	ret

0000068a <_RemoveObjectAt>:
 68a:	4c 2f       	mov	r20, r28
 68c:	5d 2f       	mov	r21, r29
 68e:	c6 2f       	mov	r28, r22
 690:	d7 2f       	mov	r29, r23
 692:	79 81       	ldd	r23, Y+1	; 0x01
 694:	68 81       	ld	r22, Y
 696:	71 83       	std	Z+1, r23	; 0x01
 698:	60 83       	st	Z, r22
 69a:	e6 2f       	mov	r30, r22
 69c:	f7 2f       	mov	r31, r23
 69e:	66 27       	eor	r22, r22
 6a0:	68 83       	st	Y, r22
 6a2:	69 83       	std	Y+1, r22	; 0x01
 6a4:	7d 2f       	mov	r23, r29
 6a6:	6c 2f       	mov	r22, r28
 6a8:	c4 2f       	mov	r28, r20
 6aa:	d5 2f       	mov	r29, r21
 6ac:	98 94       	clz
 6ae:	08 95       	ret

000006b0 <AvrXIntResetObjectSemaphore>:
 6b0:	e8 2f       	mov	r30, r24
 6b2:	f9 2f       	mov	r31, r25
 6b4:	32 96       	adiw	r30, 0x02	; 2
 6b6:	02 c0       	rjmp	.+4      	; 0x6bc <ars00>

000006b8 <AvrXIntResetSemaphore>:
 6b8:	f9 2f       	mov	r31, r25
 6ba:	e8 2f       	mov	r30, r24

000006bc <ars00>:
 6bc:	f8 94       	cli
 6be:	40 81       	ld	r20, Z
 6c0:	51 81       	ldd	r21, Z+1	; 0x01
 6c2:	41 50       	subi	r20, 0x01	; 1
 6c4:	50 40       	sbci	r21, 0x00	; 0
 6c6:	11 f0       	breq	.+4      	; 0x6cc <ars01>
 6c8:	4f 5f       	subi	r20, 0xFF	; 255
 6ca:	5f 4f       	sbci	r21, 0xFF	; 255

000006cc <ars01>:
 6cc:	51 83       	std	Z+1, r21	; 0x01
 6ce:	40 83       	st	Z, r20
 6d0:	18 95       	reti

000006d2 <AvrXSendMessage>:
 6d2:	f8 94       	cli
 6d4:	20 de       	rcall	.-960    	; 0x316 <IntProlog>
 6d6:	78 94       	sei
 6d8:	01 d0       	rcall	.+2      	; 0x6dc <AvrXIntSendMessage>
 6da:	6b ce       	rjmp	.-810    	; 0x3b2 <_Epilog>

000006dc <AvrXIntSendMessage>:
 6dc:	f9 2f       	mov	r31, r25
 6de:	e8 2f       	mov	r30, r24
 6e0:	b7 df       	rcall	.-146    	; 0x650 <_AppendObject>
 6e2:	99 cf       	rjmp	.-206    	; 0x616 <AvrXIntSetObjectSemaphore>

000006e4 <AvrXWaitMessage>:
 6e4:	e8 2f       	mov	r30, r24
 6e6:	f9 2f       	mov	r31, r25
 6e8:	f8 94       	cli
 6ea:	c9 df       	rcall	.-110    	; 0x67e <_RemoveFirstObject>
 6ec:	78 94       	sei
 6ee:	21 f4       	brne	.+8      	; 0x6f8 <_rm01>
 6f0:	6e df       	rcall	.-292    	; 0x5ce <AvrXWaitMessageAck>
 6f2:	82 50       	subi	r24, 0x02	; 2
 6f4:	90 40       	sbci	r25, 0x00	; 0
 6f6:	f6 cf       	rjmp	.-20     	; 0x6e4 <AvrXWaitMessage>

000006f8 <_rm01>:
 6f8:	db df       	rcall	.-74     	; 0x6b0 <AvrXIntResetObjectSemaphore>
 6fa:	86 2f       	mov	r24, r22
 6fc:	97 2f       	mov	r25, r23
 6fe:	08 95       	ret

00000700 <_exit>:
 700:	ff cf       	rjmp	.-2      	; 0x700 <_exit>

⌨️ 快捷键说明

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