Die 2_drehzahlen.lss:

Code:
2_drehzahlen.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000748  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000006  00800060  00000748  000007dc  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000012  00800066  00800066  000007e2  2**0
                  ALLOC
  3 .stab         00000378  00000000  00000000  000007e4  2**2
                  CONTENTS, READONLY, DEBUGGING
  4 .stabstr      00000071  00000000  00000000  00000b5c  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_aranges 00000020  00000000  00000000  00000bcd  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 000001a9  00000000  00000000  00000bed  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   00000511  00000000  00000000  00000d96  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 000000d5  00000000  00000000  000012a7  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   00000433  00000000  00000000  0000137c  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_frame  00000140  00000000  00000000  000017b0  2**2
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54	; 0x54 <__ctors_end>
   4:	0c 94 e4 01 	jmp	0x3c8	; 0x3c8 <__vector_1>
   8:	0c 94 45 02 	jmp	0x48a	; 0x48a <__vector_2>
   c:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  10:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  14:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  18:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  1c:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  20:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  24:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  28:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  2c:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  30:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  34:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  38:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  3c:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  40:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  44:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  48:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>
  4c:	0c 94 9a 02 	jmp	0x534	; 0x534 <__vector_19>
  50:	0c 94 47 00 	jmp	0x8e	; 0x8e <__bad_interrupt>

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d4 e0       	ldi	r29, 0x04	; 4
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61

00000060 <__do_copy_data>:
  60:	10 e0       	ldi	r17, 0x00	; 0
  62:	a0 e6       	ldi	r26, 0x60	; 96
  64:	b0 e0       	ldi	r27, 0x00	; 0
  66:	e8 e4       	ldi	r30, 0x48	; 72
  68:	f7 e0       	ldi	r31, 0x07	; 7
  6a:	02 c0       	rjmp	.+4      	; 0x70 <.do_copy_data_start>

0000006c <.do_copy_data_loop>:
  6c:	05 90       	lpm	r0, Z+
  6e:	0d 92       	st	X+, r0

00000070 <.do_copy_data_start>:
  70:	a6 36       	cpi	r26, 0x66	; 102
  72:	b1 07       	cpc	r27, r17
  74:	d9 f7       	brne	.-10     	; 0x6c <.do_copy_data_loop>

00000076 <__do_clear_bss>:
  76:	10 e0       	ldi	r17, 0x00	; 0
  78:	a6 e6       	ldi	r26, 0x66	; 102
  7a:	b0 e0       	ldi	r27, 0x00	; 0
  7c:	01 c0       	rjmp	.+2      	; 0x80 <.do_clear_bss_start>

0000007e <.do_clear_bss_loop>:
  7e:	1d 92       	st	X+, r1

00000080 <.do_clear_bss_start>:
  80:	a8 37       	cpi	r26, 0x78	; 120
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e <.do_clear_bss_loop>
  86:	0e 94 e5 02 	call	0x5ca	; 0x5ca <main>
  8a:	0c 94 a3 03 	jmp	0x746	; 0x746 <_exit>

0000008e <__bad_interrupt>:
  8e:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

00000092 <waitms>:
/*### Programm pausieren lassen ###*/ 
/*Pausenwert ist nur experimentell !*/ 

void waitms(uint16_t ms) 
{ 
  92:	cf 93       	push	r28
  94:	df 93       	push	r29
  96:	cd b7       	in	r28, 0x3d	; 61
  98:	de b7       	in	r29, 0x3e	; 62
  9a:	24 97       	sbiw	r28, 0x04	; 4
  9c:	0f b6       	in	r0, 0x3f	; 63
  9e:	f8 94       	cli
  a0:	de bf       	out	0x3e, r29	; 62
  a2:	0f be       	out	0x3f, r0	; 63
  a4:	cd bf       	out	0x3d, r28	; 61
  a6:	9c 83       	std	Y+4, r25	; 0x04
  a8:	8b 83       	std	Y+3, r24	; 0x03
   for(; ms>0; ms--) 
  aa:	0f c0       	rjmp	.+30     	; 0xca <waitms+0x38>
   { 
      uint16_t __c = 4000; 
  ac:	80 ea       	ldi	r24, 0xA0	; 160
  ae:	9f e0       	ldi	r25, 0x0F	; 15
  b0:	9a 83       	std	Y+2, r25	; 0x02
  b2:	89 83       	std	Y+1, r24	; 0x01
      __asm__ volatile ( 
  b4:	89 81       	ldd	r24, Y+1	; 0x01
  b6:	9a 81       	ldd	r25, Y+2	; 0x02
  b8:	01 97       	sbiw	r24, 0x01	; 1
  ba:	f1 f7       	brne	.-4      	; 0xb8 <waitms+0x26>
  bc:	9a 83       	std	Y+2, r25	; 0x02
  be:	89 83       	std	Y+1, r24	; 0x01
  c0:	8b 81       	ldd	r24, Y+3	; 0x03
  c2:	9c 81       	ldd	r25, Y+4	; 0x04
  c4:	01 97       	sbiw	r24, 0x01	; 1
  c6:	9c 83       	std	Y+4, r25	; 0x04
  c8:	8b 83       	std	Y+3, r24	; 0x03
  ca:	8b 81       	ldd	r24, Y+3	; 0x03
  cc:	9c 81       	ldd	r25, Y+4	; 0x04
  ce:	00 97       	sbiw	r24, 0x00	; 0
  d0:	69 f7       	brne	.-38     	; 0xac <waitms+0x1a>
  d2:	24 96       	adiw	r28, 0x04	; 4
  d4:	0f b6       	in	r0, 0x3f	; 63
  d6:	f8 94       	cli
  d8:	de bf       	out	0x3e, r29	; 62
  da:	0f be       	out	0x3f, r0	; 63
  dc:	cd bf       	out	0x3d, r28	; 61
  de:	df 91       	pop	r29
  e0:	cf 91       	pop	r28
  e2:	08 95       	ret

000000e4 <init_timer1>:
         "1: sbiw %0,1" "\n\t" 
         "brne 1b" 
         : "=w" (__c) 
         : "0" (__c) 
      ); 
   } 
} 


/*### PWM-Routinen zur Motoransteuerung -- aus rncontrol.h ###*/
/* #####>>>>> Hier müssen die Motorports der RNControl umbenannt werden. Sie sind

------------
Teile gelöscht wegen limitierter Posting-Länge


/* =================================================================================
   ##### Hier ISR und ISR - Initialisierung(en)
================================================================================= */
/* ===  Initialisierung fuer EXT_INT0/1 auf Pin 16+17/mega16(32)  ==================
$002 jmp SIG_INTERRUPT0 ; IRQ0 Handler und
$004 jmp SIG_INTERRUPT1 ; IRQ1 Handler                  */
void XTI_01_init( void )	
{				//Initialisiere beide Interrupts auf rising edge
 35e:	cf 93       	push	r28
 360:	df 93       	push	r29
 362:	cd b7       	in	r28, 0x3d	; 61
 364:	de b7       	in	r29, 0x3e	; 62
				//  d.h. MCUCR ISC00,01,10+11 auf 1 (doc,S68)
    MCUCR |= (1<<ISC11)|(1<<ISC10)|(1<<ISC01)|(1<<ISC00);
 366:	a5 e5       	ldi	r26, 0x55	; 85
 368:	b0 e0       	ldi	r27, 0x00	; 0
 36a:	e5 e5       	ldi	r30, 0x55	; 85
 36c:	f0 e0       	ldi	r31, 0x00	; 0
 36e:	80 81       	ld	r24, Z
 370:	8f 60       	ori	r24, 0x0F	; 15
 372:	8c 93       	st	X, r24
    GICR  |= (1<<INT1)|(1<<INT0);	//  und erlaube diese I´s in GICR
 374:	ab e5       	ldi	r26, 0x5B	; 91
 376:	b0 e0       	ldi	r27, 0x00	; 0
 378:	eb e5       	ldi	r30, 0x5B	; 91
 37a:	f0 e0       	ldi	r31, 0x00	; 0
 37c:	80 81       	ld	r24, Z
 37e:	80 6c       	ori	r24, 0xC0	; 192
 380:	8c 93       	st	X, r24
 382:	df 91       	pop	r29
 384:	cf 91       	pop	r28
 386:	08 95       	ret

00000388 <TMR_0_init>:
}
/* ============================================================================== */


/* ===  Initialisierung fuer Timer mega16(32)  =====================================
SIGNAL (SIG_OVERFLOW0)
Beachte zu TIMSK:
                 OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0   TIMSK
Read/Write        R/W   R/W   R/W    R/W    R/W    R/W   R/W   R/W
Initial Value      0     0     0      0      0      0     0     0

RNControl          0     0     1      1      1      1     0     0     hex 3c
###>>> dieser Wert wird GESETZT, d.h. Bit 0, 1, 6 und 7 gehen auf NULL.
Hier wird: TIMSK |= (1<<OCIE0) mit ODER! eingeführt, d.h.
                                                          1
									*/
void TMR_0_init( void )	
{				//Initialisiere 8-Bit-Timer auf 10 kHz
 388:	cf 93       	push	r28
 38a:	df 93       	push	r29
 38c:	cd b7       	in	r28, 0x3d	; 61
 38e:	de b7       	in	r29, 0x3e	; 62
    TCCR0 |= (1<<CS01 | 1<<CS00); // Prescaler 1/64 / Clock <- CPU
 390:	a3 e5       	ldi	r26, 0x53	; 83
 392:	b0 e0       	ldi	r27, 0x00	; 0
 394:	e3 e5       	ldi	r30, 0x53	; 83
 396:	f0 e0       	ldi	r31, 0x00	; 0
 398:	80 81       	ld	r24, Z
 39a:	83 60       	ori	r24, 0x03	; 3
 39c:	8c 93       	st	X, r24
    TCCR0 |= (1<<WGM01 | 0<<WGM00);	// Timer im CTC-Mode
 39e:	a3 e5       	ldi	r26, 0x53	; 83
 3a0:	b0 e0       	ldi	r27, 0x00	; 0
 3a2:	e3 e5       	ldi	r30, 0x53	; 83
 3a4:	f0 e0       	ldi	r31, 0x00	; 0
 3a6:	80 81       	ld	r24, Z
 3a8:	88 60       	ori	r24, 0x08	; 8
 3aa:	8c 93       	st	X, r24
    OCR0 = 25;   			// Preset 25 für 100µs bei 16Mhz  
 3ac:	ec e5       	ldi	r30, 0x5C	; 92
 3ae:	f0 e0       	ldi	r31, 0x00	; 0
 3b0:	89 e1       	ldi	r24, 0x19	; 25
 3b2:	80 83       	st	Z, r24
    TIMSK |= (1<<OCIE0); 		// Compare Match IRQ 
 3b4:	a9 e5       	ldi	r26, 0x59	; 89
 3b6:	b0 e0       	ldi	r27, 0x00	; 0
 3b8:	e9 e5       	ldi	r30, 0x59	; 89
 3ba:	f0 e0       	ldi	r31, 0x00	; 0
 3bc:	80 81       	ld	r24, Z
 3be:	82 60       	ori	r24, 0x02	; 2
 3c0:	8c 93       	st	X, r24
 3c2:	df 91       	pop	r29
 3c4:	cf 91       	pop	r28
 3c6:	08 95       	ret

000003c8 <__vector_1>:
}
/* ============================================================================== */


/* ===  Nicht unterbrechbare ISR für EXT_INT0 auf Pin 16/PD2/mega16(32)  ======== */
/* Routine setzt einfach einen Zähler hoch. Der Zähler wird im main
     ausgelesen ##>> cli/sei setzen <<## und nach 2 (od. 5) hunderstel Sekunden
     auf den Speicher WEG_L/_R vorzeichenrichtig aufaddiert und dann zurückgesetzt.
     ##>> Beim Richtungswechsel (cli/sei) wird der Zähler ausgelesen und genullt,
     damit ist eine saubere Wegmessung möglich.
     Der zugehörige Motor auf RNControl auf PB0/PB1 = li,re und PD5 Geschwind.
     Der alternat.  Motor auf RNControl auf PC7/PC6 = li,re und PB4 PWM/Geschw.
$002 jmp EXT_INT0 ; IRQ0 Handler                  */
SIGNAL(SIG_INTERRUPT0)
{
 3c8:	1f 92       	push	r1
 3ca:	0f 92       	push	r0
 3cc:	0f b6       	in	r0, 0x3f	; 63
 3ce:	0f 92       	push	r0
 3d0:	11 24       	eor	r1, r1
 3d2:	2f 93       	push	r18
 3d4:	3f 93       	push	r19
 3d6:	4f 93       	push	r20
 3d8:	5f 93       	push	r21
 3da:	8f 93       	push	r24
 3dc:	9f 93       	push	r25
 3de:	af 93       	push	r26
 3e0:	bf 93       	push	r27
 3e2:	ef 93       	push	r30
 3e4:	ff 93       	push	r31
 3e6:	cf 93       	push	r28
 3e8:	df 93       	push	r29
 3ea:	cd b7       	in	r28, 0x3d	; 61
 3ec:	de b7       	in	r29, 0x3e	; 62
    Iencdr1 ++;				//zähle Counter/encoder 1 hoch
 3ee:	80 91 68 00 	lds	r24, 0x0068
 3f2:	90 91 69 00 	lds	r25, 0x0069
 3f6:	01 96       	adiw	r24, 0x01	; 1
 3f8:	90 93 69 00 	sts	0x0069, r25
 3fc:	80 93 68 00 	sts	0x0068, r24
    Iz_yseci1 = Izeit_1;		//Weise musi den akt. Timerwert zu
 400:	80 91 72 00 	lds	r24, 0x0072
 404:	90 91 73 00 	lds	r25, 0x0073
 408:	90 93 6b 00 	sts	0x006B, r25
 40c:	80 93 6a 00 	sts	0x006A, r24
    Iz_diff1 = Iz_yseci1-Iz_ysecv1;	//Neue Zeit-Differenz1 ausrechnen
 410:	20 91 6a 00 	lds	r18, 0x006A
 414:	30 91 6b 00 	lds	r19, 0x006B
 418:	80 91 6c 00 	lds	r24, 0x006C
 41c:	90 91 6d 00 	lds	r25, 0x006D
 420:	a9 01       	movw	r20, r18
 422:	48 1b       	sub	r20, r24
 424:	59 0b       	sbc	r21, r25
 426:	ca 01       	movw	r24, r20
 428:	90 93 71 00 	sts	0x0071, r25
 42c:	80 93 70 00 	sts	0x0070, r24
    Iz_ysecv1 = Iz_yseci1;		//der aktuelle Zeitwert wird "Alter"
 430:	80 91 6a 00 	lds	r24, 0x006A
 434:	90 91 6b 00 	lds	r25, 0x006B
 438:	90 93 6d 00 	sts	0x006D, r25
 43c:	80 93 6c 00 	sts	0x006C, r24
{
    if (Iencdr1 == 5000);
 440:	80 91 68 00 	lds	r24, 0x0068
 444:	90 91 69 00 	lds	r25, 0x0069
    PORTC ^= (1<<PC3);			//LED4 toggeln  alle 5000 Interrupts
 448:	a5 e3       	ldi	r26, 0x35	; 53
 44a:	b0 e0       	ldi	r27, 0x00	; 0
 44c:	e5 e3       	ldi	r30, 0x35	; 53
 44e:	f0 e0       	ldi	r31, 0x00	; 0
 450:	90 81       	ld	r25, Z
 452:	88 e0       	ldi	r24, 0x08	; 8
 454:	89 27       	eor	r24, r25
 456:	8c 93       	st	X, r24
  }
    PORTC ^= (1<<PC4);			//LED5 toggeln bei JEDEM Interrupt
 458:	a5 e3       	ldi	r26, 0x35	; 53
 45a:	b0 e0       	ldi	r27, 0x00	; 0
 45c:	e5 e3       	ldi	r30, 0x35	; 53
 45e:	f0 e0       	ldi	r31, 0x00	; 0
 460:	90 81       	ld	r25, Z
 462:	80 e1       	ldi	r24, 0x10	; 16
 464:	89 27       	eor	r24, r25
 466:	8c 93       	st	X, r24
 468:	df 91       	pop	r29
 46a:	cf 91       	pop	r28
 46c:	ff 91       	pop	r31
 46e:	ef 91       	pop	r30
 470:	bf 91       	pop	r27
 472:	af 91       	pop	r26
 474:	9f 91       	pop	r25
 476:	8f 91       	pop	r24
 478:	5f 91       	pop	r21
 47a:	4f 91       	pop	r20
 47c:	3f 91       	pop	r19
 47e:	2f 91       	pop	r18
 480:	0f 90       	pop	r0
 482:	0f be       	out	0x3f, r0	; 63
 484:	0f 90       	pop	r0
 486:	1f 90       	pop	r1
 488:	18 95       	reti

0000048a <__vector_2>:
}
/* ============================================================================== */


/* ============================================================================== */
/* ===  Nicht unterbrechbare ISR für EXT_INT1 auf Pin 17/PD3/mega16(32)  ======== */
/* Routine setzt einfach einen Zähler hoch.
      Sonst wie ISR für EXT_INT0 für Motor auf PC7/PC6 = li,re und PB4 PWM/Geschw.

$004 jmp EXT_INT1 ; IRQ1 Handler                  */
SIGNAL(SIG_INTERRUPT1)
{
 48a:	1f 92       	push	r1
 48c:	0f 92       	push	r0
 48e:	0f b6       	in	r0, 0x3f	; 63
 490:	0f 92       	push	r0
 492:	11 24       	eor	r1, r1
 494:	2f 93       	push	r18
 496:	3f 93       	push	r19
 498:	4f 93       	push	r20
 49a:	5f 93       	push	r21
 49c:	8f 93       	push	r24
 49e:	9f 93       	push	r25
 4a0:	af 93       	push	r26
 4a2:	bf 93       	push	r27
 4a4:	ef 93       	push	r30
 4a6:	ff 93       	push	r31
 4a8:	cf 93       	push	r28
 4aa:	df 93       	push	r29
 4ac:	cd b7       	in	r28, 0x3d	; 61
 4ae:	de b7       	in	r29, 0x3e	; 62
    Iencdr2 ++;				//zähle Counter/encoder 2 hoch
 4b0:	80 91 66 00 	lds	r24, 0x0066
 4b4:	90 91 67 00 	lds	r25, 0x0067
 4b8:	01 96       	adiw	r24, 0x01	; 1
 4ba:	90 93 67 00 	sts	0x0067, r25
 4be:	80 93 66 00 	sts	0x0066, r24
    Iz_yseci2 = Izeit_1;		//Weise Iz_yseci den akt. Timerwert zu
 4c2:	80 91 72 00 	lds	r24, 0x0072
 4c6:	90 91 73 00 	lds	r25, 0x0073
 4ca:	90 93 6f 00 	sts	0x006F, r25
 4ce:	80 93 6e 00 	sts	0x006E, r24
    Iz_diff2 = Iz_yseci2-Iz_ysecv2;	//Neue Zeit-Differenz2 ausrechnen
 4d2:	20 91 6e 00 	lds	r18, 0x006E
 4d6:	30 91 6f 00 	lds	r19, 0x006F
 4da:	80 91 74 00 	lds	r24, 0x0074
 4de:	90 91 75 00 	lds	r25, 0x0075
 4e2:	a9 01       	movw	r20, r18
 4e4:	48 1b       	sub	r20, r24
 4e6:	59 0b       	sbc	r21, r25
 4e8:	ca 01       	movw	r24, r20
 4ea:	90 93 77 00 	sts	0x0077, r25
 4ee:	80 93 76 00 	sts	0x0076, r24
    Iz_ysecv2 = Iz_yseci2;		//der aktuelle Zeitwert wird "Alter"
 4f2:	80 91 6e 00 	lds	r24, 0x006E
 4f6:	90 91 6f 00 	lds	r25, 0x006F
 4fa:	90 93 75 00 	sts	0x0075, r25
 4fe:	80 93 74 00 	sts	0x0074, r24
    PORTC ^= (1<<PC5);			//LED6 toggeln bei JEDEM Interrupt
 502:	a5 e3       	ldi	r26, 0x35	; 53
 504:	b0 e0       	ldi	r27, 0x00	; 0
 506:	e5 e3       	ldi	r30, 0x35	; 53
 508:	f0 e0       	ldi	r31, 0x00	; 0
 50a:	90 81       	ld	r25, Z
 50c:	80 e2       	ldi	r24, 0x20	; 32
 50e:	89 27       	eor	r24, r25
 510:	8c 93       	st	X, r24
 512:	df 91       	pop	r29
 514:	cf 91       	pop	r28
 516:	ff 91       	pop	r31
 518:	ef 91       	pop	r30
 51a:	bf 91       	pop	r27
 51c:	af 91       	pop	r26
 51e:	9f 91       	pop	r25
 520:	8f 91       	pop	r24
 522:	5f 91       	pop	r21
 524:	4f 91       	pop	r20
 526:	3f 91       	pop	r19
 528:	2f 91       	pop	r18
 52a:	0f 90       	pop	r0
 52c:	0f be       	out	0x3f, r0	; 63
 52e:	0f 90       	pop	r0
 530:	1f 90       	pop	r1
 532:	18 95       	reti

00000534 <__vector_19>:
}
/* ============================================================================== */


/* ============================================================================== */
/* ===  Nicht unterbrechbare ISR für timer ====================================== */
/* Diese Routine zählt hoch im Takt 10 kHz.setzen.
      Dieser Wert wird von den beiden anderen ISR ausgelesen und den Werten      */
// SIGNAL(SIG_OVERFLOW0)
// #define SIG_OUTPUT_COMPARE0	//Interuptvektor, siehe Tabelle
SIGNAL(SIG_OUTPUT_COMPARE0)
{
 534:	1f 92       	push	r1
 536:	0f 92       	push	r0
 538:	0f b6       	in	r0, 0x3f	; 63
 53a:	0f 92       	push	r0
 53c:	11 24       	eor	r1, r1
 53e:	2f 93       	push	r18
 540:	8f 93       	push	r24
 542:	9f 93       	push	r25
 544:	af 93       	push	r26
 546:	bf 93       	push	r27
 548:	ef 93       	push	r30
 54a:	ff 93       	push	r31
 54c:	cf 93       	push	r28
 54e:	df 93       	push	r29
 550:	cd b7       	in	r28, 0x3d	; 61
 552:	de b7       	in	r29, 0x3e	; 62
  {
    if (Izeit_1 <= 10000)
 554:	80 91 72 00 	lds	r24, 0x0072
 558:	90 91 73 00 	lds	r25, 0x0073
 55c:	27 e2       	ldi	r18, 0x27	; 39
 55e:	81 31       	cpi	r24, 0x11	; 17
 560:	92 07       	cpc	r25, r18
 562:	50 f4       	brcc	.+20     	; 0x578 <__vector_19+0x44>
	Izeit_1 ++;		//Zeitstand Interupt-Timer läuft von 1 .. 10 000
 564:	80 91 72 00 	lds	r24, 0x0072
 568:	90 91 73 00 	lds	r25, 0x0073
 56c:	01 96       	adiw	r24, 0x01	; 1
 56e:	90 93 73 00 	sts	0x0073, r25
 572:	80 93 72 00 	sts	0x0072, r24
 576:	04 c0       	rjmp	.+8      	; 0x580 <__vector_19+0x4c>
    else
	Izeit_1 = 0;
 578:	10 92 73 00 	sts	0x0073, r1
 57c:	10 92 72 00 	sts	0x0072, r1
  }
  {				// von hier bis Ende (LED2 toggeln) nur Testphase
    if (Izeit_1 == 1)
 580:	80 91 72 00 	lds	r24, 0x0072
 584:	90 91 73 00 	lds	r25, 0x0073
 588:	81 30       	cpi	r24, 0x01	; 1
 58a:	91 05       	cpc	r25, r1
 58c:	41 f4       	brne	.+16     	; 0x59e <__vector_19+0x6a>
    PORTC ^= (1<<PC2);		//LED3 toggeln alle Sekunde
 58e:	a5 e3       	ldi	r26, 0x35	; 53
 590:	b0 e0       	ldi	r27, 0x00	; 0
 592:	e5 e3       	ldi	r30, 0x35	; 53
 594:	f0 e0       	ldi	r31, 0x00	; 0
 596:	90 81       	ld	r25, Z
 598:	84 e0       	ldi	r24, 0x04	; 4
 59a:	89 27       	eor	r24, r25
 59c:	8c 93       	st	X, r24
  }
	PORTC ^= (1<<PC1);	//LED2 toggeln jeden Interrupt
 59e:	a5 e3       	ldi	r26, 0x35	; 53
 5a0:	b0 e0       	ldi	r27, 0x00	; 0
 5a2:	e5 e3       	ldi	r30, 0x35	; 53
 5a4:	f0 e0       	ldi	r31, 0x00	; 0
 5a6:	90 81       	ld	r25, Z
 5a8:	82 e0       	ldi	r24, 0x02	; 2
 5aa:	89 27       	eor	r24, r25
 5ac:	8c 93       	st	X, r24
 5ae:	df 91       	pop	r29
 5b0:	cf 91       	pop	r28
 5b2:	ff 91       	pop	r31
 5b4:	ef 91       	pop	r30
 5b6:	bf 91       	pop	r27
 5b8:	af 91       	pop	r26
 5ba:	9f 91       	pop	r25
 5bc:	8f 91       	pop	r24
 5be:	2f 91       	pop	r18
 5c0:	0f 90       	pop	r0
 5c2:	0f be       	out	0x3f, r0	; 63
 5c4:	0f 90       	pop	r0
 5c6:	1f 90       	pop	r1
 5c8:	18 95       	reti

000005ca <main>:
}
/* ============================================================================== */




// ------------------------------------------------------------------ 
/*### Hauptschleife ###*/ 
int main(void) 


#### dies gelöscht wegen begrenzter Posting-länge


00000746 <_exit>:
 746:	ff cf       	rjmp	.-2      	; 0x746 <_exit>