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

📄 main.lss

📁 AVR atmega 8 tools for interrupts
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000c2  00000000  00000000  00000074  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .bss          00000001  00800060  00800060  00000136  2**0
                  ALLOC
  2 .stab         00000378  00000000  00000000  00000138  2**2
                  CONTENTS, READONLY, DEBUGGING
  3 .stabstr      00000071  00000000  00000000  000004b0  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_aranges 00000020  00000000  00000000  00000521  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_pubnames 00000033  00000000  00000000  00000541  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_info   00000149  00000000  00000000  00000574  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_abbrev 000000d5  00000000  00000000  000006bd  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_line   0000012a  00000000  00000000  00000792  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_frame  00000030  00000000  00000000  000008bc  2**2
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    000000e9  00000000  00000000  000008ec  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_loc    00000018  00000000  00000000  000009d5  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	12 c0       	rjmp	.+36     	; 0x26 <__ctors_end>
   2:	2c c0       	rjmp	.+88     	; 0x5c <__bad_interrupt>
   4:	2c c0       	rjmp	.+88     	; 0x5e <__vector_2>
   6:	2a c0       	rjmp	.+84     	; 0x5c <__bad_interrupt>
   8:	29 c0       	rjmp	.+82     	; 0x5c <__bad_interrupt>
   a:	28 c0       	rjmp	.+80     	; 0x5c <__bad_interrupt>
   c:	27 c0       	rjmp	.+78     	; 0x5c <__bad_interrupt>
   e:	26 c0       	rjmp	.+76     	; 0x5c <__bad_interrupt>
  10:	25 c0       	rjmp	.+74     	; 0x5c <__bad_interrupt>
  12:	24 c0       	rjmp	.+72     	; 0x5c <__bad_interrupt>
  14:	23 c0       	rjmp	.+70     	; 0x5c <__bad_interrupt>
  16:	22 c0       	rjmp	.+68     	; 0x5c <__bad_interrupt>
  18:	21 c0       	rjmp	.+66     	; 0x5c <__bad_interrupt>
  1a:	20 c0       	rjmp	.+64     	; 0x5c <__bad_interrupt>
  1c:	1f c0       	rjmp	.+62     	; 0x5c <__bad_interrupt>
  1e:	1e c0       	rjmp	.+60     	; 0x5c <__bad_interrupt>
  20:	1d c0       	rjmp	.+58     	; 0x5c <__bad_interrupt>
  22:	1c c0       	rjmp	.+56     	; 0x5c <__bad_interrupt>
  24:	1b c0       	rjmp	.+54     	; 0x5c <__bad_interrupt>

00000026 <__ctors_end>:
  26:	11 24       	eor	r1, r1
  28:	1f be       	out	0x3f, r1	; 63
  2a:	cf e5       	ldi	r28, 0x5F	; 95
  2c:	d4 e0       	ldi	r29, 0x04	; 4
  2e:	de bf       	out	0x3e, r29	; 62
  30:	cd bf       	out	0x3d, r28	; 61

00000032 <__do_copy_data>:
  32:	10 e0       	ldi	r17, 0x00	; 0
  34:	a0 e6       	ldi	r26, 0x60	; 96
  36:	b0 e0       	ldi	r27, 0x00	; 0
  38:	e2 ec       	ldi	r30, 0xC2	; 194
  3a:	f0 e0       	ldi	r31, 0x00	; 0
  3c:	02 c0       	rjmp	.+4      	; 0x42 <.do_copy_data_start>

0000003e <.do_copy_data_loop>:
  3e:	05 90       	lpm	r0, Z+
  40:	0d 92       	st	X+, r0

00000042 <.do_copy_data_start>:
  42:	a0 36       	cpi	r26, 0x60	; 96
  44:	b1 07       	cpc	r27, r17
  46:	d9 f7       	brne	.-10     	; 0x3e <.do_copy_data_loop>

00000048 <__do_clear_bss>:
  48:	10 e0       	ldi	r17, 0x00	; 0
  4a:	a0 e6       	ldi	r26, 0x60	; 96
  4c:	b0 e0       	ldi	r27, 0x00	; 0
  4e:	01 c0       	rjmp	.+2      	; 0x52 <.do_clear_bss_start>

00000050 <.do_clear_bss_loop>:
  50:	1d 92       	st	X+, r1

00000052 <.do_clear_bss_start>:
  52:	a1 36       	cpi	r26, 0x61	; 97
  54:	b1 07       	cpc	r27, r17
  56:	e1 f7       	brne	.-8      	; 0x50 <.do_clear_bss_loop>
  58:	1b d0       	rcall	.+54     	; 0x90 <main>
  5a:	32 c0       	rjmp	.+100    	; 0xc0 <_exit>

0000005c <__bad_interrupt>:
  5c:	d1 cf       	rjmp	.-94     	; 0x0 <__vectors>

0000005e <__vector_2>:

	int8_t temp=0; // zmienna globalna
	
// definicja przerwania 	
ISR (INT1_vect) {
  5e:	1f 92       	push	r1
  60:	0f 92       	push	r0
  62:	0f b6       	in	r0, 0x3f	; 63
  64:	0f 92       	push	r0
  66:	11 24       	eor	r1, r1
  68:	8f 93       	push	r24
  6a:	9f 93       	push	r25
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  6c:	84 ed       	ldi	r24, 0xD4	; 212
  6e:	90 e3       	ldi	r25, 0x30	; 48
  70:	01 97       	sbiw	r24, 0x01	; 1
  72:	f1 f7       	brne	.-4      	; 0x70 <__vector_2+0x12>
	
// wy渨ietlenie tempa na diodach PORTB = ~temp;
	_delay_ms(50);
	temp++;
  74:	80 91 60 00 	lds	r24, 0x0060
  78:	8f 5f       	subi	r24, 0xFF	; 255
  7a:	80 93 60 00 	sts	0x0060, r24
	PORTB = ~temp;
  7e:	80 95       	com	r24
  80:	88 bb       	out	0x18, r24	; 24
  82:	9f 91       	pop	r25
  84:	8f 91       	pop	r24
  86:	0f 90       	pop	r0
  88:	0f be       	out	0x3f, r0	; 63
  8a:	0f 90       	pop	r0
  8c:	1f 90       	pop	r1
  8e:	18 95       	reti

00000090 <main>:
}


int main (void) {
  90:	87 b3       	in	r24, 0x17	; 23
  92:	83 60       	ori	r24, 0x03	; 3
  94:	87 bb       	out	0x17, r24	; 23
	
// konfiguracja LEDa
DDRB |= (1<<PB0) | (1<<PB1);
PORTB |= (1<<PB0) | (1<<PB1);
  96:	88 b3       	in	r24, 0x18	; 24
  98:	83 60       	ori	r24, 0x03	; 3
  9a:	88 bb       	out	0x18, r24	; 24

//sw1 - konfiguracja (podci筭niete do Vcc)
DDRD &= ~((1<<PD3) | (1<<PD4));
  9c:	81 b3       	in	r24, 0x11	; 17
  9e:	87 7e       	andi	r24, 0xE7	; 231
  a0:	81 bb       	out	0x11, r24	; 17
PORTD |= (1<<PD3) | (1<<PD4);
  a2:	82 b3       	in	r24, 0x12	; 18
  a4:	88 61       	ori	r24, 0x18	; 24
  a6:	82 bb       	out	0x12, r24	; 18
  a8:	9f ef       	ldi	r25, 0xFF	; 255
	
	while (1) {
		MCUCR |= (1<<ISC11); // w tum miejcsu definiujemy jakim zboczam wyzwalamy przerwanie
  aa:	85 b7       	in	r24, 0x35	; 53
  ac:	88 60       	ori	r24, 0x08	; 8
  ae:	85 bf       	out	0x35, r24	; 53
		
		// ODBLOKUJ INT0
		GICR |= (1<<INT1);
  b0:	8b b7       	in	r24, 0x3b	; 59
  b2:	80 68       	ori	r24, 0x80	; 128
  b4:	8b bf       	out	0x3b, r24	; 59
		sei();
  b6:	78 94       	sei
		
		if ((PIND & (1<<sw2))==0) {
  b8:	84 99       	sbic	0x10, 4	; 16
  ba:	f7 cf       	rjmp	.-18     	; 0xaa <main+0x1a>
			temp=0;
			PORTB = ~temp;	
  bc:	98 bb       	out	0x18, r25	; 24
  be:	f5 cf       	rjmp	.-22     	; 0xaa <main+0x1a>

000000c0 <_exit>:
  c0:	ff cf       	rjmp	.-2      	; 0xc0 <_exit>

⌨️ 快捷键说明

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