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

📄 avrx.lss

📁 AVR单片机专用的操作系统AVRX
💻 LSS
📖 第 1 页 / 共 3 页
字号:

avrx.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000074  00800100  00000702  00000796  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000702  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          000000cf  00800174  00800174  0000080a  2**2
                  ALLOC
  3 .stab         000029b8  00000000  00000000  0000080c  2**2
                  CONTENTS, READONLY, DEBUGGING
  4 .stabstr      00000f81  00000000  00000000  000031c4  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 51 00 	jmp	0xa2	; 0xa2 <__ctors_end>
   4:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
   8:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
   c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  10:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  14:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  18:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  1c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  20:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  24:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  28:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  2c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  30:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  34:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  38:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  3c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  40:	0c 94 ed 00 	jmp	0x1da	; 0x1da <__vector_16>
  44:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  48:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  4c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  50:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  54:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  58:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  5c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  60:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  64:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  68:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  6c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  70:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  74:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  78:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  7c:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  80:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  84:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>
  88:	0c 94 6e 00 	jmp	0xdc	; 0xdc <__bad_interrupt>

0000008c <task1Tcb>:
  8c:	36 02 e2 00 fa 01 01                                6......

00000093 <task2Tcb>:
  93:	f3 01 ca 00 b7 01 02                                .......

0000009a <task3Tcb>:
  9a:	b6 01 70 00 74 01 03 00                             ..p.t...

000000a2 <__ctors_end>:
  a2:	11 24       	eor	r1, r1
  a4:	1f be       	out	0x3f, r1	; 63
  a6:	cf ef       	ldi	r28, 0xFF	; 255
  a8:	d0 e1       	ldi	r29, 0x10	; 16
  aa:	de bf       	out	0x3e, r29	; 62
  ac:	cd bf       	out	0x3d, r28	; 61

000000ae <__do_copy_data>:
  ae:	11 e0       	ldi	r17, 0x01	; 1
  b0:	a0 e0       	ldi	r26, 0x00	; 0
  b2:	b1 e0       	ldi	r27, 0x01	; 1
  b4:	e2 e0       	ldi	r30, 0x02	; 2
  b6:	f7 e0       	ldi	r31, 0x07	; 7
  b8:	02 c0       	rjmp	.+4      	; 0xbe <.do_copy_data_start>

000000ba <.do_copy_data_loop>:
  ba:	05 90       	lpm	r0, Z+
  bc:	0d 92       	st	X+, r0

000000be <.do_copy_data_start>:
  be:	a4 37       	cpi	r26, 0x74	; 116
  c0:	b1 07       	cpc	r27, r17
  c2:	d9 f7       	brne	.-10     	; 0xba <.do_copy_data_loop>

000000c4 <__do_clear_bss>:
  c4:	12 e0       	ldi	r17, 0x02	; 2
  c6:	a4 e7       	ldi	r26, 0x74	; 116
  c8:	b1 e0       	ldi	r27, 0x01	; 1
  ca:	01 c0       	rjmp	.+2      	; 0xce <.do_clear_bss_start>

000000cc <.do_clear_bss_loop>:
  cc:	1d 92       	st	X+, r1

000000ce <.do_clear_bss_start>:
  ce:	a3 34       	cpi	r26, 0x43	; 67
  d0:	b1 07       	cpc	r27, r17
  d2:	e1 f7       	brne	.-8      	; 0xcc <.do_clear_bss_loop>
  d4:	0e 94 f5 00 	call	0x1ea	; 0x1ea <main>
  d8:	0c 94 80 03 	jmp	0x700	; 0x700 <_exit>

000000dc <__bad_interrupt>:
  dc:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

000000e0 <task3>:
NAKEDFUNC(task3)          //任务3:检测按键
{
    while (1)
	{
		switch(Key())
  e0:	0e 94 5d 01 	call	0x2ba	; 0x2ba <Key>
  e4:	88 30       	cpi	r24, 0x08	; 8
  e6:	c9 f1       	breq	.+114    	; 0x15a <task3+0x7a>
  e8:	89 30       	cpi	r24, 0x09	; 9
  ea:	80 f4       	brcc	.+32     	; 0x10c <task3+0x2c>
  ec:	84 30       	cpi	r24, 0x04	; 4
  ee:	49 f1       	breq	.+82     	; 0x142 <task3+0x62>
  f0:	85 30       	cpi	r24, 0x05	; 5
  f2:	38 f4       	brcc	.+14     	; 0x102 <task3+0x22>
  f4:	82 30       	cpi	r24, 0x02	; 2
  f6:	f9 f0       	breq	.+62     	; 0x136 <task3+0x56>
  f8:	83 30       	cpi	r24, 0x03	; 3
  fa:	00 f5       	brcc	.+64     	; 0x13c <task3+0x5c>
  fc:	81 30       	cpi	r24, 0x01	; 1
  fe:	81 f7       	brne	.-32     	; 0xe0 <task3>
 100:	17 c0       	rjmp	.+46     	; 0x130 <task3+0x50>
 102:	86 30       	cpi	r24, 0x06	; 6
 104:	21 f1       	breq	.+72     	; 0x14e <task3+0x6e>
 106:	87 30       	cpi	r24, 0x07	; 7
 108:	28 f5       	brcc	.+74     	; 0x154 <task3+0x74>
 10a:	1e c0       	rjmp	.+60     	; 0x148 <task3+0x68>
 10c:	8c 30       	cpi	r24, 0x0C	; 12
 10e:	89 f1       	breq	.+98     	; 0x172 <task3+0x92>
 110:	8d 30       	cpi	r24, 0x0D	; 13
 112:	28 f4       	brcc	.+10     	; 0x11e <task3+0x3e>
 114:	8a 30       	cpi	r24, 0x0A	; 10
 116:	39 f1       	breq	.+78     	; 0x166 <task3+0x86>
 118:	8b 30       	cpi	r24, 0x0B	; 11
 11a:	40 f5       	brcc	.+80     	; 0x16c <task3+0x8c>
 11c:	21 c0       	rjmp	.+66     	; 0x160 <task3+0x80>
 11e:	8e 30       	cpi	r24, 0x0E	; 14
 120:	71 f1       	breq	.+92     	; 0x17e <task3+0x9e>
 122:	8e 30       	cpi	r24, 0x0E	; 14
 124:	48 f1       	brcs	.+82     	; 0x178 <task3+0x98>
 126:	8f 30       	cpi	r24, 0x0F	; 15
 128:	69 f1       	breq	.+90     	; 0x184 <task3+0xa4>
 12a:	80 31       	cpi	r24, 0x10	; 16
 12c:	c9 f6       	brne	.-78     	; 0xe0 <task3>
 12e:	2d c0       	rjmp	.+90     	; 0x18a <task3+0xaa>
		{
			case 1:
				SendString("Key1\n");
 130:	80 e0       	ldi	r24, 0x00	; 0
 132:	91 e0       	ldi	r25, 0x01	; 1
 134:	2c c0       	rjmp	.+88     	; 0x18e <task3+0xae>
			break;
			case 2:
				SendString("Key2\n");
 136:	86 e0       	ldi	r24, 0x06	; 6
 138:	91 e0       	ldi	r25, 0x01	; 1
 13a:	29 c0       	rjmp	.+82     	; 0x18e <task3+0xae>
			break;
			case 3:
				SendString("Key3\n");
 13c:	8c e0       	ldi	r24, 0x0C	; 12
 13e:	91 e0       	ldi	r25, 0x01	; 1
 140:	26 c0       	rjmp	.+76     	; 0x18e <task3+0xae>
			break;
			case 4:
				SendString("Key4\n");
 142:	82 e1       	ldi	r24, 0x12	; 18
 144:	91 e0       	ldi	r25, 0x01	; 1
 146:	23 c0       	rjmp	.+70     	; 0x18e <task3+0xae>
			break;
			case 5:
				SendString("Key5\n");
 148:	88 e1       	ldi	r24, 0x18	; 24
 14a:	91 e0       	ldi	r25, 0x01	; 1
 14c:	20 c0       	rjmp	.+64     	; 0x18e <task3+0xae>
			break;
			case 6:
				SendString("Key6\n");
 14e:	8e e1       	ldi	r24, 0x1E	; 30
 150:	91 e0       	ldi	r25, 0x01	; 1
 152:	1d c0       	rjmp	.+58     	; 0x18e <task3+0xae>
			break;
			case 7:
				SendString("Key7\n");
 154:	84 e2       	ldi	r24, 0x24	; 36
 156:	91 e0       	ldi	r25, 0x01	; 1
 158:	1a c0       	rjmp	.+52     	; 0x18e <task3+0xae>
			break;
			case 8:
				SendString("Key8\n");
 15a:	8a e2       	ldi	r24, 0x2A	; 42
 15c:	91 e0       	ldi	r25, 0x01	; 1
 15e:	17 c0       	rjmp	.+46     	; 0x18e <task3+0xae>
			break;
			case 9:
				SendString("Key9\n");
 160:	80 e3       	ldi	r24, 0x30	; 48
 162:	91 e0       	ldi	r25, 0x01	; 1
 164:	14 c0       	rjmp	.+40     	; 0x18e <task3+0xae>
			break;
			case 10:
				SendString("Key10\n");
 166:	86 e3       	ldi	r24, 0x36	; 54
 168:	91 e0       	ldi	r25, 0x01	; 1
 16a:	11 c0       	rjmp	.+34     	; 0x18e <task3+0xae>
			break;
			case 11:
				SendString("Key11\n");
 16c:	8d e3       	ldi	r24, 0x3D	; 61
 16e:	91 e0       	ldi	r25, 0x01	; 1
 170:	0e c0       	rjmp	.+28     	; 0x18e <task3+0xae>
			break;
			case 12:
				SendString("Key12\n");
 172:	84 e4       	ldi	r24, 0x44	; 68
 174:	91 e0       	ldi	r25, 0x01	; 1
 176:	0b c0       	rjmp	.+22     	; 0x18e <task3+0xae>
			break;
			case 13:
				SendString("Key13\n");
 178:	8b e4       	ldi	r24, 0x4B	; 75
 17a:	91 e0       	ldi	r25, 0x01	; 1
 17c:	08 c0       	rjmp	.+16     	; 0x18e <task3+0xae>
			break;
			case 14:
				SendString("Key14\n");
 17e:	82 e5       	ldi	r24, 0x52	; 82
 180:	91 e0       	ldi	r25, 0x01	; 1
 182:	05 c0       	rjmp	.+10     	; 0x18e <task3+0xae>
			break;
			case 15:
				SendString("Key15\n");
 184:	89 e5       	ldi	r24, 0x59	; 89
 186:	91 e0       	ldi	r25, 0x01	; 1
 188:	02 c0       	rjmp	.+4      	; 0x18e <task3+0xae>
			break;
			case 16:
				SendString("Key16\n");
 18a:	80 e6       	ldi	r24, 0x60	; 96
 18c:	91 e0       	ldi	r25, 0x01	; 1
 18e:	0e 94 7c 01 	call	0x2f8	; 0x2f8 <SendString>
 192:	a6 cf       	rjmp	.-180    	; 0xe0 <task3>

00000194 <task2>:
 194:	8d ef       	ldi	r24, 0xFD	; 253
 196:	8b bb       	out	0x1b, r24	; 27
 198:	0a e7       	ldi	r16, 0x7A	; 122
 19a:	11 e0       	ldi	r17, 0x01	; 1
 19c:	68 ec       	ldi	r22, 0xC8	; 200
 19e:	70 e0       	ldi	r23, 0x00	; 0
 1a0:	c8 01       	movw	r24, r16
 1a2:	0e 94 75 02 	call	0x4ea	; 0x4ea <AvrXDelay>
 1a6:	8b ef       	ldi	r24, 0xFB	; 251
 1a8:	8b bb       	out	0x1b, r24	; 27
 1aa:	68 ec       	ldi	r22, 0xC8	; 200
 1ac:	70 e0       	ldi	r23, 0x00	; 0
 1ae:	c8 01       	movw	r24, r16
 1b0:	0e 94 75 02 	call	0x4ea	; 0x4ea <AvrXDelay>
 1b4:	87 ef       	ldi	r24, 0xF7	; 247
 1b6:	8b bb       	out	0x1b, r24	; 27
 1b8:	68 ec       	ldi	r22, 0xC8	; 200
 1ba:	70 e0       	ldi	r23, 0x00	; 0
 1bc:	c8 01       	movw	r24, r16
 1be:	0e 94 75 02 	call	0x4ea	; 0x4ea <AvrXDelay>
 1c2:	e8 cf       	rjmp	.-48     	; 0x194 <task2>

000001c4 <task1>:
 1c4:	87 e6       	ldi	r24, 0x67	; 103
 1c6:	91 e0       	ldi	r25, 0x01	; 1
 1c8:	0e 94 7c 01 	call	0x2f8	; 0x2f8 <SendString>
 1cc:	68 ee       	ldi	r22, 0xE8	; 232
 1ce:	73 e0       	ldi	r23, 0x03	; 3
 1d0:	84 ef       	ldi	r24, 0xF4	; 244
 1d2:	91 e0       	ldi	r25, 0x01	; 1
 1d4:	0e 94 75 02 	call	0x4ea	; 0x4ea <AvrXDelay>
 1d8:	f5 cf       	rjmp	.-22     	; 0x1c4 <task1>

000001da <__vector_16>:
 1da:	0e 94 8b 01 	call	0x316	; 0x316 <IntProlog>
 1de:	85 ed       	ldi	r24, 0xD5	; 213
 1e0:	82 bf       	out	0x32, r24	; 50
 1e2:	0e 94 a3 02 	call	0x546	; 0x546 <AvrXTimerHandler>
 1e6:	0e 94 d7 01 	call	0x3ae	; 0x3ae <Epilog>

000001ea <main>:
 1ea:	80 e0       	ldi	r24, 0x00	; 0
 1ec:	90 e0       	ldi	r25, 0x00	; 0
 1ee:	0e 94 10 02 	call	0x420	; 0x420 <AvrXSetKernelStack>
 1f2:	15 be       	out	0x35, r1	; 53
 1f4:	85 ed       	ldi	r24, 0xD5	; 213
 1f6:	82 bf       	out	0x32, r24	; 50
 1f8:	96 e0       	ldi	r25, 0x06	; 6
 1fa:	93 bf       	out	0x33, r25	; 51
 1fc:	81 e0       	ldi	r24, 0x01	; 1
 1fe:	87 bf       	out	0x37, r24	; 55
 200:	8f ef       	ldi	r24, 0xFF	; 255
 202:	8b bb       	out	0x1b, r24	; 27
 204:	8a bb       	out	0x1a, r24	; 26
 206:	88 bb       	out	0x18, r24	; 24
 208:	87 bb       	out	0x17, r24	; 23
 20a:	85 bb       	out	0x15, r24	; 21
 20c:	84 bb       	out	0x14, r24	; 20
 20e:	82 bb       	out	0x12, r24	; 18
 210:	81 bb       	out	0x11, r24	; 17
 212:	83 b9       	out	0x03, r24	; 3
 214:	82 b9       	out	0x02, r24	; 2
 216:	80 93 62 00 	sts	0x0062, r24
 21a:	80 93 61 00 	sts	0x0061, r24
 21e:	80 93 65 00 	sts	0x0065, r24
 222:	80 93 64 00 	sts	0x0064, r24
 226:	1a b8       	out	0x0a, r1	; 10
 228:	1b b8       	out	0x0b, r1	; 11
 22a:	90 93 95 00 	sts	0x0095, r25
 22e:	85 e0       	ldi	r24, 0x05	; 5
 230:	89 b9       	out	0x09, r24	; 9
 232:	10 92 90 00 	sts	0x0090, r1
 236:	88 e9       	ldi	r24, 0x98	; 152
 238:	8a b9       	out	0x0a, r24	; 10
 23a:	8c e8       	ldi	r24, 0x8C	; 140
 23c:	90 e0       	ldi	r25, 0x00	; 0
 23e:	0e 94 1c 02 	call	0x438	; 0x438 <AvrXRunTask>
 242:	83 e9       	ldi	r24, 0x93	; 147
 244:	90 e0       	ldi	r25, 0x00	; 0
 246:	0e 94 1c 02 	call	0x438	; 0x438 <AvrXRunTask>
 24a:	8a e9       	ldi	r24, 0x9A	; 154
 24c:	90 e0       	ldi	r25, 0x00	; 0
 24e:	0e 94 1c 02 	call	0x438	; 0x438 <AvrXRunTask>
 252:	0e 94 d7 01 	call	0x3ae	; 0x3ae <Epilog>
 256:	ff cf       	rjmp	.-2      	; 0x256 <main+0x6c>

00000258 <Key_DOWN>:
#include "includes.h"
unsigned char Key_DOWN(void)  
{
	unsigned char i;
	DDRC=0x0F;
 258:	8f e0       	ldi	r24, 0x0F	; 15
 25a:	84 bb       	out	0x14, r24	; 20
	PORTC=0xFE;
 25c:	8e ef       	ldi	r24, 0xFE	; 254
 25e:	85 bb       	out	0x15, r24	; 21
 260:	20 e0       	ldi	r18, 0x00	; 0
 262:	30 e0       	ldi	r19, 0x00	; 0
 264:	42 e1       	ldi	r20, 0x12	; 18
 266:	92 2f       	mov	r25, r18
*/
void
_delay_loop_1(uint8_t __count)
{
	__asm__ volatile (
 268:	84 2f       	mov	r24, r20
 26a:	8a 95       	dec	r24
 26c:	f1 f7       	brne	.-4      	; 0x26a <Key_DOWN+0x12>
	for(i=0;i<=3;i++)
	{
	 	_delay_us(5);
		if(!(PINC & 0x10))
 26e:	9c 99       	sbic	0x13, 4	; 19
 270:	04 c0       	rjmp	.+8      	; 0x27a <Key_DOWN+0x22>
		{
			return (i<<2)+1;
 272:	99 0f       	add	r25, r25
 274:	99 0f       	add	r25, r25
 276:	9f 5f       	subi	r25, 0xFF	; 255
 278:	11 c0       	rjmp	.+34     	; 0x29c <Key_DOWN+0x44>

⌨️ 快捷键说明

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