
dummy_12ax7_v04.obj:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00001a1a  00000000  00000000  00000074  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .bss          000000a5  00800060  00800060  00001a8e  2**0
                  ALLOC
  2 .stab         00005a84  00000000  00000000  00001a90  2**2
                  CONTENTS, READONLY, DEBUGGING
  3 .stabstr      00001405  00000000  00000000  00007514  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
       0:	0c 94 6b 00 	jmp	0xd6	; 0xd6 <__ctors_end>
       4:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
       8:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
       c:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      10:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      14:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      18:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      1c:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      20:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      24:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      28:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      2c:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      30:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      34:	0c 94 8c 08 	jmp	0x1118	; 0x1118 <__vector_13>
      38:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      3c:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      40:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      44:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      48:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      4c:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      50:	0c 94 88 00 	jmp	0x110	; 0x110 <__bad_interrupt>
      54:	07 63       	ori	r16, 0x37	; 55
      56:	42 36       	cpi	r20, 0x62	; 98
      58:	b7 9b       	sbis	0x16, 7	; 22
      5a:	d8 a7       	std	Y+40, r29	; 0x28
      5c:	1a 39       	cpi	r17, 0x9A	; 154
      5e:	68 56       	subi	r22, 0x68	; 104
      60:	18 ae       	std	Y+56, r1	; 0x38
      62:	ba ab       	std	Y+50, r27	; 0x32
      64:	55 8c       	ldd	r5, Z+29	; 0x1d
      66:	1d 3c       	cpi	r17, 0xCD	; 205
      68:	b7 cc       	rjmp	.-1682   	; 0xfffff9d8 <__eeprom_end+0xff7ef9d8>
      6a:	57 63       	ori	r21, 0x37	; 55
      6c:	bd 6d       	ori	r27, 0xDD	; 221
      6e:	ed fd       	.word	0xfded	; ????
      70:	75 3e       	cpi	r23, 0xE5	; 229
      72:	f6 17       	cp	r31, r22
      74:	72 31       	cpi	r23, 0x12	; 18
      76:	bf 00       	.word	0x00bf	; ????
      78:	00 00       	nop
      7a:	80 3f       	cpi	r24, 0xF0	; 240
      7c:	08 00       	.word	0x0008	; ????
      7e:	00 00       	nop
      80:	be 92       	st	-X, r11
      82:	24 49       	sbci	r18, 0x94	; 148
      84:	12 3e       	cpi	r17, 0xE2	; 226
      86:	ab aa       	std	Y+51, r10	; 0x33
      88:	aa 2a       	or	r10, r26
      8a:	be cd       	rjmp	.-1156   	; 0xfffffc08 <__eeprom_end+0xff7efc08>
      8c:	cc cc       	rjmp	.-1640   	; 0xfffffa26 <__eeprom_end+0xff7efa26>
      8e:	4c 3e       	cpi	r20, 0xEC	; 236
      90:	00 00       	nop
      92:	00 80       	ld	r0, Z
      94:	be ab       	std	Y+54, r27	; 0x36
      96:	aa aa       	std	Y+50, r10	; 0x32
      98:	aa 3e       	cpi	r26, 0xEA	; 234
      9a:	00 00       	nop
      9c:	00 00       	nop
      9e:	bf 00       	.word	0x00bf	; ????
      a0:	00 00       	nop
      a2:	80 3f       	cpi	r24, 0xF0	; 240
      a4:	00 00       	nop
      a6:	00 00       	nop
      a8:	00 08       	sbc	r0, r0
      aa:	41 78       	andi	r20, 0x81	; 129
      ac:	d3 bb       	out	0x13, r29	; 19
      ae:	43 87       	std	Z+11, r20	; 0x0b
      b0:	d1 13       	cpse	r29, r17
      b2:	3d 19       	sub	r19, r13
      b4:	0e 3c       	cpi	r16, 0xCE	; 206
      b6:	c3 bd       	out	0x23, r28	; 35
      b8:	42 82       	std	Z+2, r4	; 0x02
      ba:	ad 2b       	or	r26, r29
      bc:	3e 68       	ori	r19, 0x8E	; 142
      be:	ec 82       	std	Y+4, r14	; 0x04
      c0:	76 be       	out	0x36, r7	; 54
      c2:	d9 8f       	std	Y+25, r29	; 0x19
      c4:	e1 a9       	ldd	r30, Z+49	; 0x31
      c6:	3e 4c       	sbci	r19, 0xCE	; 206
      c8:	80 ef       	ldi	r24, 0xF0	; 240
      ca:	ff be       	out	0x3f, r15	; 63
      cc:	01 c4       	rjmp	.+2050   	; 0x8d0 <__stack+0x71>
      ce:	ff 7f       	andi	r31, 0xFF	; 255
      d0:	3f 00       	.word	0x003f	; ????
      d2:	00 00       	nop
	...

000000d6 <__ctors_end>:
      d6:	11 24       	eor	r1, r1
      d8:	1f be       	out	0x3f, r1	; 63
      da:	cf e5       	ldi	r28, 0x5F	; 95
      dc:	d8 e0       	ldi	r29, 0x08	; 8
      de:	de bf       	out	0x3e, r29	; 62
      e0:	cd bf       	out	0x3d, r28	; 61

000000e2 <__do_copy_data>:
      e2:	10 e0       	ldi	r17, 0x00	; 0
      e4:	a0 e6       	ldi	r26, 0x60	; 96
      e6:	b0 e0       	ldi	r27, 0x00	; 0
      e8:	ea e1       	ldi	r30, 0x1A	; 26
      ea:	fa e1       	ldi	r31, 0x1A	; 26
      ec:	02 c0       	rjmp	.+4      	; 0xf2 <__do_copy_data+0x10>
      ee:	05 90       	lpm	r0, Z+
      f0:	0d 92       	st	X+, r0
      f2:	a0 36       	cpi	r26, 0x60	; 96
      f4:	b1 07       	cpc	r27, r17
      f6:	d9 f7       	brne	.-10     	; 0xee <__do_copy_data+0xc>

000000f8 <__do_clear_bss>:
      f8:	11 e0       	ldi	r17, 0x01	; 1
      fa:	a0 e6       	ldi	r26, 0x60	; 96
      fc:	b0 e0       	ldi	r27, 0x00	; 0
      fe:	01 c0       	rjmp	.+2      	; 0x102 <.do_clear_bss_start>

00000100 <.do_clear_bss_loop>:
     100:	1d 92       	st	X+, r1

00000102 <.do_clear_bss_start>:
     102:	a5 30       	cpi	r26, 0x05	; 5
     104:	b1 07       	cpc	r27, r17
     106:	e1 f7       	brne	.-8      	; 0x100 <.do_clear_bss_loop>
     108:	0e 94 6a 07 	call	0xed4	; 0xed4 <main>
     10c:	0c 94 0b 0d 	jmp	0x1a16	; 0x1a16 <_exit>

00000110 <__bad_interrupt>:
     110:	0c 94 00 00 	jmp	0	; 0x0 <__vectors>

00000114 <courant>:
//-------------------------------------------------------------------------------------
//routines
//-------------------------------------------------------------------------------------
//courant du tube 12ax7
uint8_t courant(float va,float vg,float *ia)
{
     114:	a0 e0       	ldi	r26, 0x00	; 0
     116:	b0 e0       	ldi	r27, 0x00	; 0
     118:	e0 e9       	ldi	r30, 0x90	; 144
     11a:	f0 e0       	ldi	r31, 0x00	; 0
     11c:	0c 94 c2 0c 	jmp	0x1984	; 0x1984 <__prologue_saves__+0x4>
     120:	6b 01       	movw	r12, r22
     122:	7c 01       	movw	r14, r24
     124:	29 01       	movw	r4, r18
     126:	3a 01       	movw	r6, r20
     128:	e8 01       	movw	r28, r16
	kvb = 6112.42;
	
	//adaptation du modele
	vg=vg+0.5;
	
	*ia = va/kp*log(1+exp(kp*(1/mu+vg/sqrt(kvb+va*va)))) * 1.5;
     12a:	a7 01       	movw	r20, r14
     12c:	96 01       	movw	r18, r12
     12e:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     132:	2c e5       	ldi	r18, 0x5C	; 92
     134:	33 e0       	ldi	r19, 0x03	; 3
     136:	4f eb       	ldi	r20, 0xBF	; 191
     138:	55 e4       	ldi	r21, 0x45	; 69
     13a:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     13e:	0e 94 68 0c 	call	0x18d0	; 0x18d0 <sqrt>
     142:	4b 01       	movw	r8, r22
     144:	5c 01       	movw	r10, r24
	kg1 = 870.263;
	kp  = 875.025;
	kvb = 6112.42;
	
	//adaptation du modele
	vg=vg+0.5;
     146:	c3 01       	movw	r24, r6
     148:	b2 01       	movw	r22, r4
     14a:	20 e0       	ldi	r18, 0x00	; 0
     14c:	30 e0       	ldi	r19, 0x00	; 0
     14e:	40 e0       	ldi	r20, 0x00	; 0
     150:	5f e3       	ldi	r21, 0x3F	; 63
     152:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
	
	*ia = va/kp*log(1+exp(kp*(1/mu+vg/sqrt(kvb+va*va)))) * 1.5;
     156:	a5 01       	movw	r20, r10
     158:	94 01       	movw	r18, r8
     15a:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     15e:	21 e1       	ldi	r18, 0x11	; 17
     160:	38 eb       	ldi	r19, 0xB8	; 184
     162:	48 e1       	ldi	r20, 0x18	; 24
     164:	5c e3       	ldi	r21, 0x3C	; 60
     166:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     16a:	2a e9       	ldi	r18, 0x9A	; 154
     16c:	31 ec       	ldi	r19, 0xC1	; 193
     16e:	4a e5       	ldi	r20, 0x5A	; 90
     170:	54 e4       	ldi	r21, 0x44	; 68
     172:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     176:	0e 94 bb 09 	call	0x1376	; 0x1376 <exp>
     17a:	20 e0       	ldi	r18, 0x00	; 0
     17c:	30 e0       	ldi	r19, 0x00	; 0
     17e:	40 e8       	ldi	r20, 0x80	; 128
     180:	5f e3       	ldi	r21, 0x3F	; 63
     182:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     186:	0e 94 8e 0b 	call	0x171c	; 0x171c <log>
     18a:	4b 01       	movw	r8, r22
     18c:	5c 01       	movw	r10, r24
     18e:	c7 01       	movw	r24, r14
     190:	b6 01       	movw	r22, r12
     192:	2a e9       	ldi	r18, 0x9A	; 154
     194:	31 ec       	ldi	r19, 0xC1	; 193
     196:	4a e5       	ldi	r20, 0x5A	; 90
     198:	54 e4       	ldi	r21, 0x44	; 68
     19a:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     19e:	a5 01       	movw	r20, r10
     1a0:	94 01       	movw	r18, r8
     1a2:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     1a6:	20 e0       	ldi	r18, 0x00	; 0
     1a8:	30 e0       	ldi	r19, 0x00	; 0
     1aa:	40 ec       	ldi	r20, 0xC0	; 192
     1ac:	5f e3       	ldi	r21, 0x3F	; 63
     1ae:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     1b2:	26 2f       	mov	r18, r22
     1b4:	37 2f       	mov	r19, r23
     1b6:	48 2f       	mov	r20, r24
     1b8:	59 2f       	mov	r21, r25
     1ba:	28 83       	st	Y, r18
     1bc:	39 83       	std	Y+1, r19	; 0x01
     1be:	4a 83       	std	Y+2, r20	; 0x02
     1c0:	5b 83       	std	Y+3, r21	; 0x03
	
	
	//limitations du modèle
	res=0;
	
	if (*ia>IA_max)
     1c2:	20 91 7c 00 	lds	r18, 0x007C
     1c6:	30 91 7d 00 	lds	r19, 0x007D
     1ca:	40 91 7e 00 	lds	r20, 0x007E
     1ce:	50 91 7f 00 	lds	r21, 0x007F
     1d2:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     1d6:	18 16       	cp	r1, r24
     1d8:	74 f4       	brge	.+28     	; 0x1f6 <courant+0xe2>
	{
		*ia=IA_max;
     1da:	80 91 7c 00 	lds	r24, 0x007C
     1de:	90 91 7d 00 	lds	r25, 0x007D
     1e2:	a0 91 7e 00 	lds	r26, 0x007E
     1e6:	b0 91 7f 00 	lds	r27, 0x007F
     1ea:	88 83       	st	Y, r24
     1ec:	99 83       	std	Y+1, r25	; 0x01
     1ee:	aa 83       	std	Y+2, r26	; 0x02
     1f0:	bb 83       	std	Y+3, r27	; 0x03
		res=1;
     1f2:	11 e0       	ldi	r17, 0x01	; 1
     1f4:	01 c0       	rjmp	.+2      	; 0x1f8 <courant+0xe4>
	*ia = va/kp*log(1+exp(kp*(1/mu+vg/sqrt(kvb+va*va)))) * 1.5;
	
	
	
	//limitations du modèle
	res=0;
     1f6:	10 e0       	ldi	r17, 0x00	; 0
	{
		*ia=IA_max;
		res=1;
	}
	
	if (*ia<0)
     1f8:	68 81       	ld	r22, Y
     1fa:	79 81       	ldd	r23, Y+1	; 0x01
     1fc:	8a 81       	ldd	r24, Y+2	; 0x02
     1fe:	9b 81       	ldd	r25, Y+3	; 0x03
     200:	20 e0       	ldi	r18, 0x00	; 0
     202:	30 e0       	ldi	r19, 0x00	; 0
     204:	40 e0       	ldi	r20, 0x00	; 0
     206:	50 e0       	ldi	r21, 0x00	; 0
     208:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     20c:	87 ff       	sbrs	r24, 7
     20e:	09 c0       	rjmp	.+18     	; 0x222 <courant+0x10e>
	{
		*ia=0;
     210:	80 e0       	ldi	r24, 0x00	; 0
     212:	90 e0       	ldi	r25, 0x00	; 0
     214:	a0 e0       	ldi	r26, 0x00	; 0
     216:	b0 e0       	ldi	r27, 0x00	; 0
     218:	88 83       	st	Y, r24
     21a:	99 83       	std	Y+1, r25	; 0x01
     21c:	aa 83       	std	Y+2, r26	; 0x02
     21e:	bb 83       	std	Y+3, r27	; 0x03
		res=2;
     220:	12 e0       	ldi	r17, 0x02	; 2
	}
	
	return res;
}
     222:	81 2f       	mov	r24, r17
     224:	cd b7       	in	r28, 0x3d	; 61
     226:	de b7       	in	r29, 0x3e	; 62
     228:	e0 e1       	ldi	r30, 0x10	; 16
     22a:	0c 94 de 0c 	jmp	0x19bc	; 0x19bc <__epilogue_restores__+0x4>

0000022e <init>:
	uint8_t i;
	//initialisation du tableau de pointeur de fonction
	
	
	//juste pour chez moi, j'affiche la commande sur un reseau de leds branché sur le port C
	DDRC=255;
     22e:	8f ef       	ldi	r24, 0xFF	; 255
     230:	84 bb       	out	0x14, r24	; 20

	i=0;

	pf[i] = fonc_void; i++;	//fonction "nulle"
     232:	8f e2       	ldi	r24, 0x2F	; 47
     234:	97 e0       	ldi	r25, 0x07	; 7
     236:	90 93 a4 00 	sts	0x00A4, r25
     23a:	80 93 a3 00 	sts	0x00A3, r24
	pf[i] = arret; i++;		//fonction arret
     23e:	88 ee       	ldi	r24, 0xE8	; 232
     240:	95 e0       	ldi	r25, 0x05	; 5
     242:	90 93 a6 00 	sts	0x00A6, r25
     246:	80 93 a5 00 	sts	0x00A5, r24
	
	pf[i] = set_VA_max; i++;
     24a:	8e e1       	ldi	r24, 0x1E	; 30
     24c:	97 e0       	ldi	r25, 0x07	; 7
     24e:	90 93 a8 00 	sts	0x00A8, r25
     252:	80 93 a7 00 	sts	0x00A7, r24
	pf[i] = set_VG2_max; i++;
     256:	8d e0       	ldi	r24, 0x0D	; 13
     258:	97 e0       	ldi	r25, 0x07	; 7
     25a:	90 93 aa 00 	sts	0x00AA, r25
     25e:	80 93 a9 00 	sts	0x00A9, r24
	pf[i] = set_VG1_max; i++;
     262:	8c ef       	ldi	r24, 0xFC	; 252
     264:	96 e0       	ldi	r25, 0x06	; 6
     266:	90 93 ac 00 	sts	0x00AC, r25
     26a:	80 93 ab 00 	sts	0x00AB, r24
	pf[i] = set_VFIL_max; i++;
     26e:	8b ee       	ldi	r24, 0xEB	; 235
     270:	96 e0       	ldi	r25, 0x06	; 6
     272:	90 93 ae 00 	sts	0x00AE, r25
     276:	80 93 ad 00 	sts	0x00AD, r24
	pf[i] = set_IA_max; i++;
     27a:	8a ed       	ldi	r24, 0xDA	; 218
     27c:	96 e0       	ldi	r25, 0x06	; 6
     27e:	90 93 b0 00 	sts	0x00B0, r25
     282:	80 93 af 00 	sts	0x00AF, r24
	pf[i] = set_IG2_max; i++;
     286:	89 ec       	ldi	r24, 0xC9	; 201
     288:	96 e0       	ldi	r25, 0x06	; 6
     28a:	90 93 b2 00 	sts	0x00B2, r25
     28e:	80 93 b1 00 	sts	0x00B1, r24
	pf[i] = set_IG1_max; i++;
     292:	88 eb       	ldi	r24, 0xB8	; 184
     294:	96 e0       	ldi	r25, 0x06	; 6
     296:	90 93 b4 00 	sts	0x00B4, r25
     29a:	80 93 b3 00 	sts	0x00B3, r24
	pf[i] = set_PWA_max; i++;
     29e:	87 ea       	ldi	r24, 0xA7	; 167
     2a0:	96 e0       	ldi	r25, 0x06	; 6
     2a2:	90 93 b6 00 	sts	0x00B6, r25
     2a6:	80 93 b5 00 	sts	0x00B5, r24
	pf[i] = set_PWG2_max; i++;
     2aa:	86 e9       	ldi	r24, 0x96	; 150
     2ac:	96 e0       	ldi	r25, 0x06	; 6
     2ae:	90 93 b8 00 	sts	0x00B8, r25
     2b2:	80 93 b7 00 	sts	0x00B7, r24
	pf[i] = set_PWG1_max; i++;
     2b6:	85 e8       	ldi	r24, 0x85	; 133
     2b8:	96 e0       	ldi	r25, 0x06	; 6
     2ba:	90 93 ba 00 	sts	0x00BA, r25
     2be:	80 93 b9 00 	sts	0x00B9, r24
	pf[i] = set_VG2_min; i++;
     2c2:	84 e7       	ldi	r24, 0x74	; 116
     2c4:	96 e0       	ldi	r25, 0x06	; 6
     2c6:	90 93 bc 00 	sts	0x00BC, r25
     2ca:	80 93 bb 00 	sts	0x00BB, r24
	pf[i] = set_VG1_min; i++;
     2ce:	83 e6       	ldi	r24, 0x63	; 99
     2d0:	96 e0       	ldi	r25, 0x06	; 6
     2d2:	90 93 be 00 	sts	0x00BE, r25
     2d6:	80 93 bd 00 	sts	0x00BD, r24
	pf[i] = set_VFIL_min; i++;
     2da:	82 e5       	ldi	r24, 0x52	; 82
     2dc:	96 e0       	ldi	r25, 0x06	; 6
     2de:	90 93 c0 00 	sts	0x00C0, r25
     2e2:	80 93 bf 00 	sts	0x00BF, r24
	pf[i] = set_VA; i++;
     2e6:	87 e2       	ldi	r24, 0x27	; 39
     2e8:	96 e0       	ldi	r25, 0x06	; 6
     2ea:	90 93 c2 00 	sts	0x00C2, r25
     2ee:	80 93 c1 00 	sts	0x00C1, r24
	pf[i] = set_VG2; i++;
     2f2:	86 e1       	ldi	r24, 0x16	; 22
     2f4:	96 e0       	ldi	r25, 0x06	; 6
     2f6:	90 93 c4 00 	sts	0x00C4, r25
     2fa:	80 93 c3 00 	sts	0x00C3, r24
	pf[i] = set_VG1; i++;
     2fe:	85 e0       	ldi	r24, 0x05	; 5
     300:	96 e0       	ldi	r25, 0x06	; 6
     302:	90 93 c6 00 	sts	0x00C6, r25
     306:	80 93 c5 00 	sts	0x00C5, r24
	pf[i] = set_VFIL; i++;
     30a:	84 ef       	ldi	r24, 0xF4	; 244
     30c:	95 e0       	ldi	r25, 0x05	; 5
     30e:	90 93 c8 00 	sts	0x00C8, r25
     312:	80 93 c7 00 	sts	0x00C7, r24

	pf[i] = mesure;
     316:	8a ee       	ldi	r24, 0xEA	; 234
     318:	92 e0       	ldi	r25, 0x02	; 2
     31a:	90 93 ca 00 	sts	0x00CA, r25
     31e:	80 93 c9 00 	sts	0x00C9, r24

	attente=1;	
     322:	81 e0       	ldi	r24, 0x01	; 1
     324:	80 93 80 00 	sts	0x0080, r24
	afficheur=1;
     328:	80 93 81 00 	sts	0x0081, r24
	sens=1;
     32c:	80 93 9a 00 	sts	0x009A, r24
}
     330:	08 95       	ret

00000332 <rs232_init>:
//-------------------------------------------------------------------------------------
//initialisation de la transmission
//-------------------------------------------------------------------------------------
void rs232_init(unsigned char baud,unsigned char isr_rx)
{
	cli();
     332:	f8 94       	cli
	
	//reglage de la vitesse
 	UBRRH=(unsigned char)(baud>>8);
     334:	10 bc       	out	0x20, r1	; 32
	UBRRL=(unsigned char)baud;
     336:	89 b9       	out	0x09, r24	; 9
	
	//autorisation transmission reception
	UCSRB=(1<<RXEN)|(1<<TXEN);
     338:	88 e1       	ldi	r24, 0x18	; 24
     33a:	8a b9       	out	0x0a, r24	; 10
	
	//reglage protocole (8 bits de donnees, 2 bits de stop)
	UCSRC=(1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
     33c:	8e e8       	ldi	r24, 0x8E	; 142
     33e:	80 bd       	out	0x20, r24	; 32
	
	//reglage mode asynchrone
 	UCSRC=UCSRC | 64;
     340:	80 b5       	in	r24, 0x20	; 32
     342:	80 64       	ori	r24, 0x40	; 64
     344:	80 bd       	out	0x20, r24	; 32
 	
 	//reglage double debit
	UCSRA=UCSRA | 2;
     346:	59 9a       	sbi	0x0b, 1	; 11
	
	//autorisation interruption sur reception
	if (isr_rx!=0)
     348:	61 11       	cpse	r22, r1
	{
		UCSRB = UCSRB | 128;
     34a:	57 9a       	sbi	0x0a, 7	; 10
	}
	
	sei();
     34c:	78 94       	sei
}
     34e:	08 95       	ret

00000350 <rs232_rx_8>:
//reception d'un mot de 8 bits
//-------------------------------------------------------------------------------------
unsigned char rs232_rx_8(void)
{
	//attente de reception
	while (!(UCSRA & (1<<RXC)))
     350:	5f 9b       	sbis	0x0b, 7	; 11
     352:	fe cf       	rjmp	.-4      	; 0x350 <rs232_rx_8>
	{
	}
	
	//reception et retour
	return UDR;
     354:	8c b1       	in	r24, 0x0c	; 12
}
     356:	08 95       	ret

00000358 <rs232_tx_8>:
//emission d'un mot de 8 bits
//-------------------------------------------------------------------------------------
void rs232_tx_8(unsigned char v)
{
	//attente buffer emission vide
	while (!(UCSRA & (1<<UDRE)))
     358:	5d 9b       	sbis	0x0b, 5	; 11
     35a:	fe cf       	rjmp	.-4      	; 0x358 <rs232_tx_8>
	{
	}

	//envoi
	UDR=v;
     35c:	8c b9       	out	0x0c, r24	; 12
}
     35e:	08 95       	ret

00000360 <trace_ent>:

//-------------------------------------------------------------------------------------
//trace_ent
//-------------------------------------------------------------------------------------
void trace_ent(int v,int s)
{
     360:	a0 e0       	ldi	r26, 0x00	; 0
     362:	b0 e0       	ldi	r27, 0x00	; 0
     364:	e6 eb       	ldi	r30, 0xB6	; 182
     366:	f1 e0       	ldi	r31, 0x01	; 1
     368:	0c 94 c8 0c 	jmp	0x1990	; 0x1990 <__prologue_saves__+0x10>
     36c:	8c 01       	movw	r16, r24
     36e:	6b 01       	movw	r12, r22
	

	V=v;
	
	//magnitude de v
	if (v!=0)
     370:	00 97       	sbiw	r24, 0x00	; 0
     372:	79 f0       	breq	.+30     	; 0x392 <trace_ent+0x32>
	{
		mag=floor(log10(v));
     374:	b8 01       	movw	r22, r16
     376:	88 27       	eor	r24, r24
     378:	77 fd       	sbrc	r23, 7
     37a:	80 95       	com	r24
     37c:	98 2f       	mov	r25, r24
     37e:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     382:	0e 94 83 0b 	call	0x1706	; 0x1706 <log10>
     386:	0e 94 55 0a 	call	0x14aa	; 0x14aa <floor>
     38a:	0e 94 e7 09 	call	0x13ce	; 0x13ce <__fixsfsi>
     38e:	7b 01       	movw	r14, r22
     390:	02 c0       	rjmp	.+4      	; 0x396 <trace_ent+0x36>
	}
	else
	{
		mag=0;
     392:	ee 24       	eor	r14, r14
     394:	ff 24       	eor	r15, r15
	}
	
	//coef diviseur
	div=1;
     396:	c1 e0       	ldi	r28, 0x01	; 1
     398:	d0 e0       	ldi	r29, 0x00	; 0
	
	for (i=0;i<mag;i++)
     39a:	80 e0       	ldi	r24, 0x00	; 0
     39c:	90 e0       	ldi	r25, 0x00	; 0
     39e:	0b c0       	rjmp	.+22     	; 0x3b6 <trace_ent+0x56>
	{
		div=div*10;
     3a0:	9e 01       	movw	r18, r28
     3a2:	22 0f       	add	r18, r18
     3a4:	33 1f       	adc	r19, r19
     3a6:	43 e0       	ldi	r20, 0x03	; 3
     3a8:	cc 0f       	add	r28, r28
     3aa:	dd 1f       	adc	r29, r29
     3ac:	4a 95       	dec	r20
     3ae:	e1 f7       	brne	.-8      	; 0x3a8 <trace_ent+0x48>
     3b0:	c2 0f       	add	r28, r18
     3b2:	d3 1f       	adc	r29, r19
	}
	
	//coef diviseur
	div=1;
	
	for (i=0;i<mag;i++)
     3b4:	01 96       	adiw	r24, 0x01	; 1
     3b6:	8e 15       	cp	r24, r14
     3b8:	9f 05       	cpc	r25, r15
     3ba:	94 f3       	brlt	.-28     	; 0x3a0 <trace_ent+0x40>
		div=div*10;
	}
	
	
	//signe
	if (s==-1)
     3bc:	8f ef       	ldi	r24, 0xFF	; 255
     3be:	c8 16       	cp	r12, r24
     3c0:	8f ef       	ldi	r24, 0xFF	; 255
     3c2:	d8 06       	cpc	r13, r24
     3c4:	19 f4       	brne	.+6      	; 0x3cc <trace_ent+0x6c>
	{
		rs232_tx_8('-');
     3c6:	8d e2       	ldi	r24, 0x2D	; 45
     3c8:	0e 94 ac 01 	call	0x358	; 0x358 <rs232_tx_8>
	}
	
	//coef diviseur
	div=1;
	
	for (i=0;i<mag;i++)
     3cc:	68 01       	movw	r12, r16
     3ce:	87 01       	movw	r16, r14
		A=floor(V/div);
		
		rs232_tx_8(A+48);
		
		V=V-A*div;
		div=div/10;
     3d0:	8a e0       	ldi	r24, 0x0A	; 10
     3d2:	a8 2e       	mov	r10, r24
     3d4:	b1 2c       	mov	r11, r1
     3d6:	23 c0       	rjmp	.+70     	; 0x41e <trace_ent+0xbe>

	}
	
	for (i=mag;i>=0;i--)
	{
		A=floor(V/div);
     3d8:	c6 01       	movw	r24, r12
     3da:	be 01       	movw	r22, r28
     3dc:	0e 94 ad 0c 	call	0x195a	; 0x195a <__divmodhi4>
     3e0:	88 27       	eor	r24, r24
     3e2:	77 fd       	sbrc	r23, 7
     3e4:	80 95       	com	r24
     3e6:	98 2f       	mov	r25, r24
     3e8:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     3ec:	0e 94 55 0a 	call	0x14aa	; 0x14aa <floor>
     3f0:	0e 94 e7 09 	call	0x13ce	; 0x13ce <__fixsfsi>
     3f4:	7b 01       	movw	r14, r22
		
		rs232_tx_8(A+48);
     3f6:	86 2f       	mov	r24, r22
     3f8:	80 5d       	subi	r24, 0xD0	; 208
     3fa:	0e 94 ac 01 	call	0x358	; 0x358 <rs232_tx_8>
		
		V=V-A*div;
     3fe:	ec 9e       	mul	r14, r28
     400:	c0 01       	movw	r24, r0
     402:	ed 9e       	mul	r14, r29
     404:	90 0d       	add	r25, r0
     406:	fc 9e       	mul	r15, r28
     408:	90 0d       	add	r25, r0
     40a:	11 24       	eor	r1, r1
     40c:	c8 1a       	sub	r12, r24
     40e:	d9 0a       	sbc	r13, r25
		div=div/10;
     410:	ce 01       	movw	r24, r28
     412:	b5 01       	movw	r22, r10
     414:	0e 94 ad 0c 	call	0x195a	; 0x195a <__divmodhi4>
     418:	eb 01       	movw	r28, r22
	{
		rs232_tx_8('-');

	}
	
	for (i=mag;i>=0;i--)
     41a:	01 50       	subi	r16, 0x01	; 1
     41c:	10 40       	sbci	r17, 0x00	; 0
     41e:	17 ff       	sbrs	r17, 7
     420:	db cf       	rjmp	.-74     	; 0x3d8 <trace_ent+0x78>
		rs232_tx_8(A+48);
		
		V=V-A*div;
		div=div/10;
	}
}
     422:	cd b7       	in	r28, 0x3d	; 61
     424:	de b7       	in	r29, 0x3e	; 62
     426:	ea e0       	ldi	r30, 0x0A	; 10
     428:	0c 94 e4 0c 	jmp	0x19c8	; 0x19c8 <__epilogue_restores__+0x10>

0000042c <trace_dec>:

//-------------------------------------------------------------------------------------
//trace_dec
//-------------------------------------------------------------------------------------
void trace_dec(int v,int nd)
{
     42c:	a0 e0       	ldi	r26, 0x00	; 0
     42e:	b0 e0       	ldi	r27, 0x00	; 0
     430:	ec e1       	ldi	r30, 0x1C	; 28
     432:	f2 e0       	ldi	r31, 0x02	; 2
     434:	0c 94 c4 0c 	jmp	0x1988	; 0x1988 <__prologue_saves__+0x8>
     438:	8c 01       	movw	r16, r24
     43a:	6b 01       	movw	r12, r22
	int div;
	int A;
	
	V=v;
	
	if (V!=0)
     43c:	00 97       	sbiw	r24, 0x00	; 0
     43e:	09 f4       	brne	.+2      	; 0x442 <trace_dec+0x16>
     440:	4d c0       	rjmp	.+154    	; 0x4dc <trace_dec+0xb0>
	{
		rs232_tx_8('.');	
     442:	8e e2       	ldi	r24, 0x2E	; 46
     444:	0e 94 ac 01 	call	0x358	; 0x358 <rs232_tx_8>
		
		//coef diviseur
		div=1;
     448:	c1 e0       	ldi	r28, 0x01	; 1
     44a:	d0 e0       	ldi	r29, 0x00	; 0
	
		for (i=0;i<nd;i++)
     44c:	80 e0       	ldi	r24, 0x00	; 0
     44e:	90 e0       	ldi	r25, 0x00	; 0
     450:	0b c0       	rjmp	.+22     	; 0x468 <trace_dec+0x3c>
		{
			div=div*10;
     452:	9e 01       	movw	r18, r28
     454:	22 0f       	add	r18, r18
     456:	33 1f       	adc	r19, r19
     458:	73 e0       	ldi	r23, 0x03	; 3
     45a:	cc 0f       	add	r28, r28
     45c:	dd 1f       	adc	r29, r29
     45e:	7a 95       	dec	r23
     460:	e1 f7       	brne	.-8      	; 0x45a <trace_dec+0x2e>
     462:	c2 0f       	add	r28, r18
     464:	d3 1f       	adc	r29, r19
		rs232_tx_8('.');	
		
		//coef diviseur
		div=1;
	
		for (i=0;i<nd;i++)
     466:	01 96       	adiw	r24, 0x01	; 1
     468:	8c 15       	cp	r24, r12
     46a:	9d 05       	cpc	r25, r13
     46c:	94 f3       	brlt	.-28     	; 0x452 <trace_dec+0x26>
			div=div*10;
		}
	
		for (i=nd;i>0;i--)
		{
			div=(int)(div/10);
     46e:	6a e0       	ldi	r22, 0x0A	; 10
     470:	66 2e       	mov	r6, r22
     472:	71 2c       	mov	r7, r1
     474:	30 c0       	rjmp	.+96     	; 0x4d6 <trace_dec+0xaa>
     476:	ce 01       	movw	r24, r28
     478:	b3 01       	movw	r22, r6
     47a:	0e 94 ad 0c 	call	0x195a	; 0x195a <__divmodhi4>
     47e:	eb 01       	movw	r28, r22

			A=floor((float)V/(float)div);
     480:	b8 01       	movw	r22, r16
     482:	88 27       	eor	r24, r24
     484:	77 fd       	sbrc	r23, 7
     486:	80 95       	com	r24
     488:	98 2f       	mov	r25, r24
     48a:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     48e:	4b 01       	movw	r8, r22
     490:	5c 01       	movw	r10, r24
     492:	be 01       	movw	r22, r28
     494:	88 27       	eor	r24, r24
     496:	77 fd       	sbrc	r23, 7
     498:	80 95       	com	r24
     49a:	98 2f       	mov	r25, r24
     49c:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     4a0:	9b 01       	movw	r18, r22
     4a2:	ac 01       	movw	r20, r24
     4a4:	c5 01       	movw	r24, r10
     4a6:	b4 01       	movw	r22, r8
     4a8:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     4ac:	0e 94 55 0a 	call	0x14aa	; 0x14aa <floor>
     4b0:	0e 94 e7 09 	call	0x13ce	; 0x13ce <__fixsfsi>
     4b4:	7b 01       	movw	r14, r22
		
			rs232_tx_8(A+48);
     4b6:	86 2f       	mov	r24, r22
     4b8:	80 5d       	subi	r24, 0xD0	; 208
     4ba:	0e 94 ac 01 	call	0x358	; 0x358 <rs232_tx_8>
		
			V=V-A*div;
     4be:	ec 9e       	mul	r14, r28
     4c0:	c0 01       	movw	r24, r0
     4c2:	ed 9e       	mul	r14, r29
     4c4:	90 0d       	add	r25, r0
     4c6:	fc 9e       	mul	r15, r28
     4c8:	90 0d       	add	r25, r0
     4ca:	11 24       	eor	r1, r1
     4cc:	08 1b       	sub	r16, r24
     4ce:	19 0b       	sbc	r17, r25
		for (i=0;i<nd;i++)
		{
			div=div*10;
		}
	
		for (i=nd;i>0;i--)
     4d0:	08 94       	sec
     4d2:	c1 08       	sbc	r12, r1
     4d4:	d1 08       	sbc	r13, r1
     4d6:	1c 14       	cp	r1, r12
     4d8:	1d 04       	cpc	r1, r13
     4da:	6c f2       	brlt	.-102    	; 0x476 <trace_dec+0x4a>
			rs232_tx_8(A+48);
		
			V=V-A*div;
		}
	}
}
     4dc:	cd b7       	in	r28, 0x3d	; 61
     4de:	de b7       	in	r29, 0x3e	; 62
     4e0:	ee e0       	ldi	r30, 0x0E	; 14
     4e2:	0c 94 e0 0c 	jmp	0x19c0	; 0x19c0 <__epilogue_restores__+0x8>

000004e6 <rs232_tx_valeur>:

//-------------------------------------------------------------------------------------
//emission d'une valeur quelconque
//-------------------------------------------------------------------------------------
void rs232_tx_valeur(float v,int nd)
{
     4e6:	a0 e0       	ldi	r26, 0x00	; 0
     4e8:	b0 e0       	ldi	r27, 0x00	; 0
     4ea:	e9 e7       	ldi	r30, 0x79	; 121
     4ec:	f2 e0       	ldi	r31, 0x02	; 2
     4ee:	0c 94 c2 0c 	jmp	0x1984	; 0x1984 <__prologue_saves__+0x4>
     4f2:	7b 01       	movw	r14, r22
     4f4:	8c 01       	movw	r16, r24
     4f6:	2a 01       	movw	r4, r20
	float V;
	float mul;
	int i;
	
	//determination du signe
	if (v<0)
     4f8:	20 e0       	ldi	r18, 0x00	; 0
     4fa:	30 e0       	ldi	r19, 0x00	; 0
     4fc:	40 e0       	ldi	r20, 0x00	; 0
     4fe:	50 e0       	ldi	r21, 0x00	; 0
     500:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     504:	87 ff       	sbrs	r24, 7
     506:	0a c0       	rjmp	.+20     	; 0x51c <rs232_tx_valeur+0x36>
	{
		S=-1;
		V=-v;
     508:	57 01       	movw	r10, r14
     50a:	68 01       	movw	r12, r16
     50c:	d7 fa       	bst	r13, 7
     50e:	d0 94       	com	r13
     510:	d7 f8       	bld	r13, 7
     512:	d0 94       	com	r13
	int i;
	
	//determination du signe
	if (v<0)
	{
		S=-1;
     514:	66 24       	eor	r6, r6
     516:	6a 94       	dec	r6
     518:	76 2c       	mov	r7, r6
     51a:	05 c0       	rjmp	.+10     	; 0x526 <rs232_tx_valeur+0x40>
		V=-v;
	}
	else
	{
		S=1;
		V=v;
     51c:	57 01       	movw	r10, r14
     51e:	68 01       	movw	r12, r16
		S=-1;
		V=-v;
	}
	else
	{
		S=1;
     520:	a1 e0       	ldi	r26, 0x01	; 1
     522:	6a 2e       	mov	r6, r26
     524:	71 2c       	mov	r7, r1
		V=v;
	}
	
	//partie entiere
	E=floor(V);
     526:	c6 01       	movw	r24, r12
     528:	b5 01       	movw	r22, r10
     52a:	0e 94 55 0a 	call	0x14aa	; 0x14aa <floor>
     52e:	0e 94 e7 09 	call	0x13ce	; 0x13ce <__fixsfsi>
     532:	4b 01       	movw	r8, r22
	
	//coef multiplicateur pour extraction des decimales
	mul=1;
	
	for (i=0;i<nd;i++)
     534:	c0 e0       	ldi	r28, 0x00	; 0
     536:	d0 e0       	ldi	r29, 0x00	; 0
	
	//partie entiere
	E=floor(V);
	
	//coef multiplicateur pour extraction des decimales
	mul=1;
     538:	00 e0       	ldi	r16, 0x00	; 0
     53a:	ee 24       	eor	r14, r14
     53c:	10 e8       	ldi	r17, 0x80	; 128
     53e:	ff e3       	ldi	r31, 0x3F	; 63
     540:	ff 2e       	mov	r15, r31
	
	for (i=0;i<nd;i++)
     542:	0f c0       	rjmp	.+30     	; 0x562 <rs232_tx_valeur+0x7c>
	{
		mul=mul*10;
     544:	60 2f       	mov	r22, r16
     546:	7e 2d       	mov	r23, r14
     548:	81 2f       	mov	r24, r17
     54a:	9f 2d       	mov	r25, r15
     54c:	20 e0       	ldi	r18, 0x00	; 0
     54e:	30 e0       	ldi	r19, 0x00	; 0
     550:	40 e2       	ldi	r20, 0x20	; 32
     552:	51 e4       	ldi	r21, 0x41	; 65
     554:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     558:	06 2f       	mov	r16, r22
     55a:	e7 2e       	mov	r14, r23
     55c:	18 2f       	mov	r17, r24
     55e:	f9 2e       	mov	r15, r25
	E=floor(V);
	
	//coef multiplicateur pour extraction des decimales
	mul=1;
	
	for (i=0;i<nd;i++)
     560:	21 96       	adiw	r28, 0x01	; 1
     562:	c4 15       	cp	r28, r4
     564:	d5 05       	cpc	r29, r5
     566:	74 f3       	brlt	.-36     	; 0x544 <rs232_tx_valeur+0x5e>
	{
		mul=mul*10;
	}
	
	//partie decimale
	D=floor(V*mul-E*mul);
     568:	c6 01       	movw	r24, r12
     56a:	b5 01       	movw	r22, r10
     56c:	20 2f       	mov	r18, r16
     56e:	3e 2d       	mov	r19, r14
     570:	41 2f       	mov	r20, r17
     572:	5f 2d       	mov	r21, r15
     574:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     578:	5b 01       	movw	r10, r22
     57a:	6c 01       	movw	r12, r24
     57c:	b4 01       	movw	r22, r8
     57e:	88 27       	eor	r24, r24
     580:	77 fd       	sbrc	r23, 7
     582:	80 95       	com	r24
     584:	98 2f       	mov	r25, r24
     586:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     58a:	20 2f       	mov	r18, r16
     58c:	3e 2d       	mov	r19, r14
     58e:	41 2f       	mov	r20, r17
     590:	5f 2d       	mov	r21, r15
     592:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     596:	9b 01       	movw	r18, r22
     598:	ac 01       	movw	r20, r24
     59a:	c6 01       	movw	r24, r12
     59c:	b5 01       	movw	r22, r10
     59e:	0e 94 e5 08 	call	0x11ca	; 0x11ca <__subsf3>
     5a2:	0e 94 55 0a 	call	0x14aa	; 0x14aa <floor>
     5a6:	7b 01       	movw	r14, r22
     5a8:	8c 01       	movw	r16, r24
	
	trace_ent(E,S);
     5aa:	c4 01       	movw	r24, r8
     5ac:	b3 01       	movw	r22, r6
     5ae:	0e 94 b0 01 	call	0x360	; 0x360 <trace_ent>
	{
		mul=mul*10;
	}
	
	//partie decimale
	D=floor(V*mul-E*mul);
     5b2:	c8 01       	movw	r24, r16
     5b4:	b7 01       	movw	r22, r14
     5b6:	0e 94 e7 09 	call	0x13ce	; 0x13ce <__fixsfsi>
     5ba:	dc 01       	movw	r26, r24
     5bc:	cb 01       	movw	r24, r22
	
	trace_ent(E,S);
	trace_dec(D,nd);
     5be:	b2 01       	movw	r22, r4
     5c0:	0e 94 16 02 	call	0x42c	; 0x42c <trace_dec>
	
	rs232_tx_8(10);
     5c4:	8a e0       	ldi	r24, 0x0A	; 10
     5c6:	0e 94 ac 01 	call	0x358	; 0x358 <rs232_tx_8>
}
     5ca:	cd b7       	in	r28, 0x3d	; 61
     5cc:	de b7       	in	r29, 0x3e	; 62
     5ce:	e0 e1       	ldi	r30, 0x10	; 16
     5d0:	0c 94 de 0c 	jmp	0x19bc	; 0x19bc <__epilogue_restores__+0x4>

000005d4 <mesure>:
}
//-------------------------------------------------------------------------------------
//fonction mesure
//-------------------------------------------------------------------------------------
void mesure(float v)
{
     5d4:	a3 e1       	ldi	r26, 0x13	; 19
     5d6:	b0 e0       	ldi	r27, 0x00	; 0
     5d8:	e0 ef       	ldi	r30, 0xF0	; 240
     5da:	f2 e0       	ldi	r31, 0x02	; 2
     5dc:	0c 94 c0 0c 	jmp	0x1980	; 0x1980 <__prologue_saves__>
	uint8_t dep_PWG2;
	float mes_courant;
	float mes_puissance;
	
	//recuperation du nombre de moyennes
	nmoy=(uint8_t)v;
     5e0:	0e 94 ec 09 	call	0x13d8	; 0x13d8 <__fixunssfsi>
     5e4:	36 2e       	mov	r3, r22

	//limitations du nombre de moyennes
	if (nmoy<=0)
     5e6:	66 23       	and	r22, r22
     5e8:	19 f0       	breq	.+6      	; 0x5f0 <mesure+0x1c>
	{
		nmoy=1;
	}

	if (nmoy>100)
     5ea:	65 36       	cpi	r22, 0x65	; 101
     5ec:	20 f4       	brcc	.+8      	; 0x5f6 <mesure+0x22>
     5ee:	05 c0       	rjmp	.+10     	; 0x5fa <mesure+0x26>
	nmoy=(uint8_t)v;

	//limitations du nombre de moyennes
	if (nmoy<=0)
	{
		nmoy=1;
     5f0:	33 24       	eor	r3, r3
     5f2:	33 94       	inc	r3
     5f4:	02 c0       	rjmp	.+4      	; 0x5fa <mesure+0x26>
	}

	if (nmoy>100)
	{
		nmoy=100;
     5f6:	64 e6       	ldi	r22, 0x64	; 100
     5f8:	36 2e       	mov	r3, r22
	dep_PWG1=0;
	dep_PWG2=0;

	ret=0;

	if (VA>VA_max)
     5fa:	60 91 96 00 	lds	r22, 0x0096
     5fe:	70 91 97 00 	lds	r23, 0x0097
     602:	80 91 98 00 	lds	r24, 0x0098
     606:	90 91 99 00 	lds	r25, 0x0099
     60a:	20 91 74 00 	lds	r18, 0x0074
     60e:	30 91 75 00 	lds	r19, 0x0075
     612:	40 91 76 00 	lds	r20, 0x0076
     616:	50 91 77 00 	lds	r21, 0x0077
     61a:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     61e:	18 16       	cp	r1, r24
     620:	1c f0       	brlt	.+6      	; 0x628 <mesure+0x54>
	ig2_moy=0;
	
	
	
	//verification si depassement des valeurs min max
	dep_VA=0;
     622:	22 24       	eor	r2, r2
	dep_IG2=0;
	dep_PWA=0;
	dep_PWG1=0;
	dep_PWG2=0;

	ret=0;
     624:	10 e0       	ldi	r17, 0x00	; 0
     626:	03 c0       	rjmp	.+6      	; 0x62e <mesure+0x5a>

	if (VA>VA_max)
	{
		dep_VA=2;
     628:	52 e0       	ldi	r21, 0x02	; 2
     62a:	25 2e       	mov	r2, r21
		ret=1;
     62c:	11 e0       	ldi	r17, 0x01	; 1
	}

	if (VG2>VG2_max)
     62e:	60 91 9b 00 	lds	r22, 0x009B
     632:	70 91 9c 00 	lds	r23, 0x009C
     636:	80 91 9d 00 	lds	r24, 0x009D
     63a:	90 91 9e 00 	lds	r25, 0x009E
     63e:	20 91 68 00 	lds	r18, 0x0068
     642:	30 91 69 00 	lds	r19, 0x0069
     646:	40 91 6a 00 	lds	r20, 0x006A
     64a:	50 91 6b 00 	lds	r21, 0x006B
     64e:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     652:	18 16       	cp	r1, r24
     654:	14 f0       	brlt	.+4      	; 0x65a <mesure+0x86>
	
	
	//verification si depassement des valeurs min max
	dep_VA=0;
	dep_VG1=0;
	dep_VG2=0;
     656:	ff 24       	eor	r15, r15
     658:	03 c0       	rjmp	.+6      	; 0x660 <mesure+0x8c>
		ret=1;
	}

	if (VG2>VG2_max)
	{
		dep_VG2=2;
     65a:	42 e0       	ldi	r20, 0x02	; 2
     65c:	f4 2e       	mov	r15, r20
		ret=1;
     65e:	11 e0       	ldi	r17, 0x01	; 1
	}

	if (VG2<VG2_min)
     660:	60 91 9b 00 	lds	r22, 0x009B
     664:	70 91 9c 00 	lds	r23, 0x009C
     668:	80 91 9d 00 	lds	r24, 0x009D
     66c:	90 91 9e 00 	lds	r25, 0x009E
     670:	20 91 8e 00 	lds	r18, 0x008E
     674:	30 91 8f 00 	lds	r19, 0x008F
     678:	40 91 90 00 	lds	r20, 0x0090
     67c:	50 91 91 00 	lds	r21, 0x0091
     680:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     684:	87 ff       	sbrs	r24, 7
     686:	03 c0       	rjmp	.+6      	; 0x68e <mesure+0xba>
	{
		dep_VG2=1;
     688:	ff 24       	eor	r15, r15
     68a:	f3 94       	inc	r15
		ret=1;
     68c:	11 e0       	ldi	r17, 0x01	; 1
	}

	if (VG1>VG1_max)
     68e:	60 91 9f 00 	lds	r22, 0x009F
     692:	70 91 a0 00 	lds	r23, 0x00A0
     696:	80 91 a1 00 	lds	r24, 0x00A1
     69a:	90 91 a2 00 	lds	r25, 0x00A2
     69e:	20 91 86 00 	lds	r18, 0x0086
     6a2:	30 91 87 00 	lds	r19, 0x0087
     6a6:	40 91 88 00 	lds	r20, 0x0088
     6aa:	50 91 89 00 	lds	r21, 0x0089
     6ae:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     6b2:	18 16       	cp	r1, r24
     6b4:	14 f0       	brlt	.+4      	; 0x6ba <mesure+0xe6>
	
	
	
	//verification si depassement des valeurs min max
	dep_VA=0;
	dep_VG1=0;
     6b6:	ee 24       	eor	r14, r14
     6b8:	03 c0       	rjmp	.+6      	; 0x6c0 <mesure+0xec>
		ret=1;
	}

	if (VG1>VG1_max)
	{
		dep_VG1=2;
     6ba:	32 e0       	ldi	r19, 0x02	; 2
     6bc:	e3 2e       	mov	r14, r19
		ret=1;
     6be:	11 e0       	ldi	r17, 0x01	; 1
	}

	if (VG1<VG1_min)
     6c0:	60 91 9f 00 	lds	r22, 0x009F
     6c4:	70 91 a0 00 	lds	r23, 0x00A0
     6c8:	80 91 a1 00 	lds	r24, 0x00A1
     6cc:	90 91 a2 00 	lds	r25, 0x00A2
     6d0:	20 91 78 00 	lds	r18, 0x0078
     6d4:	30 91 79 00 	lds	r19, 0x0079
     6d8:	40 91 7a 00 	lds	r20, 0x007A
     6dc:	50 91 7b 00 	lds	r21, 0x007B
     6e0:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     6e4:	87 fd       	sbrc	r24, 7
     6e6:	ff c1       	rjmp	.+1022   	; 0xae6 <__stack+0x287>
		dep_VG1=1;
		ret=1;
	}

	//si ret!=0 ---> depassement donc pas de mesure
	if (ret==0)
     6e8:	11 23       	and	r17, r17
     6ea:	09 f0       	breq	.+2      	; 0x6ee <mesure+0x11a>
     6ec:	fe c1       	rjmp	.+1020   	; 0xaea <__stack+0x28b>
	{
		//mesures unitaires des courants pour verifier des depassements

		//mesure ia	et calcul pwa	
		res=courant(VA,VG1,&mes_courant);
     6ee:	60 91 96 00 	lds	r22, 0x0096
     6f2:	70 91 97 00 	lds	r23, 0x0097
     6f6:	80 91 98 00 	lds	r24, 0x0098
     6fa:	90 91 99 00 	lds	r25, 0x0099
     6fe:	20 91 9f 00 	lds	r18, 0x009F
     702:	30 91 a0 00 	lds	r19, 0x00A0
     706:	40 91 a1 00 	lds	r20, 0x00A1
     70a:	50 91 a2 00 	lds	r21, 0x00A2
     70e:	8e 01       	movw	r16, r28
     710:	0f 5f       	subi	r16, 0xFF	; 255
     712:	1f 4f       	sbci	r17, 0xFF	; 255
     714:	0e 94 8a 00 	call	0x114	; 0x114 <courant>
		mes_puissance=VA*mes_courant/1000;
     718:	80 91 96 00 	lds	r24, 0x0096
     71c:	90 91 97 00 	lds	r25, 0x0097
     720:	a0 91 98 00 	lds	r26, 0x0098
     724:	b0 91 99 00 	lds	r27, 0x0099
     728:	8c 87       	std	Y+12, r24	; 0x0c
     72a:	9d 87       	std	Y+13, r25	; 0x0d
     72c:	ae 87       	std	Y+14, r26	; 0x0e
     72e:	bf 87       	std	Y+15, r27	; 0x0f
     730:	a9 80       	ldd	r10, Y+1	; 0x01
     732:	ba 80       	ldd	r11, Y+2	; 0x02
     734:	cb 80       	ldd	r12, Y+3	; 0x03
     736:	dc 80       	ldd	r13, Y+4	; 0x04
		
		if (mes_courant>IA_max)
     738:	20 91 7c 00 	lds	r18, 0x007C
     73c:	30 91 7d 00 	lds	r19, 0x007D
     740:	40 91 7e 00 	lds	r20, 0x007E
     744:	50 91 7f 00 	lds	r21, 0x007F
     748:	99 24       	eor	r9, r9
     74a:	93 94       	inc	r9
     74c:	c6 01       	movw	r24, r12
     74e:	b5 01       	movw	r22, r10
     750:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     754:	18 16       	cp	r1, r24
     756:	0c f0       	brlt	.+2      	; 0x75a <mesure+0x186>
     758:	99 24       	eor	r9, r9
		{
			dep_IA=1;
			ret=1;
		}

		if (mes_puissance>PWA_max)
     75a:	40 90 cb 00 	lds	r4, 0x00CB
     75e:	50 90 cc 00 	lds	r5, 0x00CC
     762:	60 90 cd 00 	lds	r6, 0x00CD
     766:	70 90 ce 00 	lds	r7, 0x00CE
	{
		//mesures unitaires des courants pour verifier des depassements

		//mesure ia	et calcul pwa	
		res=courant(VA,VG1,&mes_courant);
		mes_puissance=VA*mes_courant/1000;
     76a:	6c 85       	ldd	r22, Y+12	; 0x0c
     76c:	7d 85       	ldd	r23, Y+13	; 0x0d
     76e:	8e 85       	ldd	r24, Y+14	; 0x0e
     770:	9f 85       	ldd	r25, Y+15	; 0x0f
     772:	a6 01       	movw	r20, r12
     774:	95 01       	movw	r18, r10
     776:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     77a:	20 e0       	ldi	r18, 0x00	; 0
     77c:	30 e0       	ldi	r19, 0x00	; 0
     77e:	4a e7       	ldi	r20, 0x7A	; 122
     780:	54 e4       	ldi	r21, 0x44	; 68
     782:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
		{
			dep_IA=1;
			ret=1;
		}

		if (mes_puissance>PWA_max)
     786:	a3 01       	movw	r20, r6
     788:	92 01       	movw	r18, r4
     78a:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     78e:	18 16       	cp	r1, r24
     790:	1c f0       	brlt	.+6      	; 0x798 <mesure+0x1c4>
     792:	19 2d       	mov	r17, r9
	dep_VG1=0;
	dep_VG2=0;
	dep_IA=0;
	dep_IG1=0;
	dep_IG2=0;
	dep_PWA=0;
     794:	1a 86       	std	Y+10, r1	; 0x0a
     796:	03 c0       	rjmp	.+6      	; 0x79e <mesure+0x1ca>
			ret=1;
		}

		if (mes_puissance>PWA_max)
		{
			dep_PWA=1;
     798:	91 e0       	ldi	r25, 0x01	; 1
     79a:	9a 87       	std	Y+10, r25	; 0x0a
			ret=1;
     79c:	11 e0       	ldi	r17, 0x01	; 1
		}

		//mesure ig1 et calcul pwg1
		mes_courant=0;	//pour le dummy 12AX7
     79e:	80 e0       	ldi	r24, 0x00	; 0
     7a0:	90 e0       	ldi	r25, 0x00	; 0
     7a2:	a0 e0       	ldi	r26, 0x00	; 0
     7a4:	b0 e0       	ldi	r27, 0x00	; 0
     7a6:	89 83       	std	Y+1, r24	; 0x01
     7a8:	9a 83       	std	Y+2, r25	; 0x02
     7aa:	ab 83       	std	Y+3, r26	; 0x03
     7ac:	bc 83       	std	Y+4, r27	; 0x04
		mes_puissance=VG1*mes_courant/1000;
     7ae:	60 91 9f 00 	lds	r22, 0x009F
     7b2:	70 91 a0 00 	lds	r23, 0x00A0
     7b6:	80 91 a1 00 	lds	r24, 0x00A1
     7ba:	90 91 a2 00 	lds	r25, 0x00A2
     7be:	20 e0       	ldi	r18, 0x00	; 0
     7c0:	30 e0       	ldi	r19, 0x00	; 0
     7c2:	40 e0       	ldi	r20, 0x00	; 0
     7c4:	50 e0       	ldi	r21, 0x00	; 0
     7c6:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     7ca:	20 e0       	ldi	r18, 0x00	; 0
     7cc:	30 e0       	ldi	r19, 0x00	; 0
     7ce:	4a e7       	ldi	r20, 0x7A	; 122
     7d0:	54 e4       	ldi	r21, 0x44	; 68
     7d2:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     7d6:	06 2f       	mov	r16, r22
     7d8:	d7 2e       	mov	r13, r23
     7da:	c8 2e       	mov	r12, r24
     7dc:	b9 2e       	mov	r11, r25
		
		if (mes_courant>IG1_max)
     7de:	60 91 01 01 	lds	r22, 0x0101
     7e2:	70 91 02 01 	lds	r23, 0x0102
     7e6:	80 91 03 01 	lds	r24, 0x0103
     7ea:	90 91 04 01 	lds	r25, 0x0104
     7ee:	20 e0       	ldi	r18, 0x00	; 0
     7f0:	30 e0       	ldi	r19, 0x00	; 0
     7f2:	40 e0       	ldi	r20, 0x00	; 0
     7f4:	50 e0       	ldi	r21, 0x00	; 0
     7f6:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     7fa:	87 fd       	sbrc	r24, 7
     7fc:	02 c0       	rjmp	.+4      	; 0x802 <mesure+0x22e>
	//verification si depassement des valeurs min max
	dep_VA=0;
	dep_VG1=0;
	dep_VG2=0;
	dep_IA=0;
	dep_IG1=0;
     7fe:	19 86       	std	Y+9, r1	; 0x09
     800:	03 c0       	rjmp	.+6      	; 0x808 <mesure+0x234>
		mes_courant=0;	//pour le dummy 12AX7
		mes_puissance=VG1*mes_courant/1000;
		
		if (mes_courant>IG1_max)
		{
			dep_IG1=1;
     802:	a1 e0       	ldi	r26, 0x01	; 1
     804:	a9 87       	std	Y+9, r26	; 0x09
			ret=1;
     806:	11 e0       	ldi	r17, 0x01	; 1
		}

		if (mes_puissance>PWG1_max)
     808:	20 91 8a 00 	lds	r18, 0x008A
     80c:	30 91 8b 00 	lds	r19, 0x008B
     810:	40 91 8c 00 	lds	r20, 0x008C
     814:	50 91 8d 00 	lds	r21, 0x008D
     818:	60 2f       	mov	r22, r16
     81a:	7d 2d       	mov	r23, r13
     81c:	8c 2d       	mov	r24, r12
     81e:	9b 2d       	mov	r25, r11
     820:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     824:	18 16       	cp	r1, r24
     826:	14 f0       	brlt	.+4      	; 0x82c <mesure+0x258>
	dep_VG2=0;
	dep_IA=0;
	dep_IG1=0;
	dep_IG2=0;
	dep_PWA=0;
	dep_PWG1=0;
     828:	1b 86       	std	Y+11, r1	; 0x0b
     82a:	03 c0       	rjmp	.+6      	; 0x832 <mesure+0x25e>
			ret=1;
		}

		if (mes_puissance>PWG1_max)
		{
			dep_PWG1=1;
     82c:	b1 e0       	ldi	r27, 0x01	; 1
     82e:	bb 87       	std	Y+11, r27	; 0x0b
			ret=1;
     830:	11 e0       	ldi	r17, 0x01	; 1
		}

		//mesure ig2 et pwg2
		mes_courant=0;	//pour le dummy 12AX7
		mes_puissance=VG2*mes_courant/1000;
     832:	60 91 9b 00 	lds	r22, 0x009B
     836:	70 91 9c 00 	lds	r23, 0x009C
     83a:	80 91 9d 00 	lds	r24, 0x009D
     83e:	90 91 9e 00 	lds	r25, 0x009E
     842:	20 e0       	ldi	r18, 0x00	; 0
     844:	30 e0       	ldi	r19, 0x00	; 0
     846:	40 e0       	ldi	r20, 0x00	; 0
     848:	50 e0       	ldi	r21, 0x00	; 0
     84a:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     84e:	20 e0       	ldi	r18, 0x00	; 0
     850:	30 e0       	ldi	r19, 0x00	; 0
     852:	4a e7       	ldi	r20, 0x7A	; 122
     854:	54 e4       	ldi	r21, 0x44	; 68
     856:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     85a:	d6 2e       	mov	r13, r22
     85c:	c7 2e       	mov	r12, r23
     85e:	b8 2e       	mov	r11, r24
     860:	a9 2e       	mov	r10, r25
		
		if (mes_courant>IG2_max)
     862:	60 91 60 00 	lds	r22, 0x0060
     866:	70 91 61 00 	lds	r23, 0x0061
     86a:	80 91 62 00 	lds	r24, 0x0062
     86e:	90 91 63 00 	lds	r25, 0x0063
     872:	20 e0       	ldi	r18, 0x00	; 0
     874:	30 e0       	ldi	r19, 0x00	; 0
     876:	40 e0       	ldi	r20, 0x00	; 0
     878:	50 e0       	ldi	r21, 0x00	; 0
     87a:	0e 94 4a 09 	call	0x1294	; 0x1294 <__cmpsf2>
     87e:	87 fd       	sbrc	r24, 7
     880:	02 c0       	rjmp	.+4      	; 0x886 <__stack+0x27>
	dep_VA=0;
	dep_VG1=0;
	dep_VG2=0;
	dep_IA=0;
	dep_IG1=0;
	dep_IG2=0;
     882:	00 e0       	ldi	r16, 0x00	; 0
     884:	02 c0       	rjmp	.+4      	; 0x88a <__stack+0x2b>
		mes_courant=0;	//pour le dummy 12AX7
		mes_puissance=VG2*mes_courant/1000;
		
		if (mes_courant>IG2_max)
		{
			dep_IG2=1;
     886:	01 e0       	ldi	r16, 0x01	; 1
			ret=1;
     888:	11 e0       	ldi	r17, 0x01	; 1
		}

		if (mes_puissance>PWG2_max)
     88a:	20 91 6c 00 	lds	r18, 0x006C
     88e:	30 91 6d 00 	lds	r19, 0x006D
     892:	40 91 6e 00 	lds	r20, 0x006E
     896:	50 91 6f 00 	lds	r21, 0x006F
     89a:	d6 01       	movw	r26, r12
     89c:	f5 01       	movw	r30, r10
     89e:	6b 2f       	mov	r22, r27
     8a0:	7c 2d       	mov	r23, r12
     8a2:	8f 2f       	mov	r24, r31
     8a4:	9a 2d       	mov	r25, r10
     8a6:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     8aa:	18 16       	cp	r1, r24
     8ac:	0c f4       	brge	.+2      	; 0x8b0 <__stack+0x51>
     8ae:	cd c0       	rjmp	.+410    	; 0xa4a <__stack+0x1eb>
			dep_PWG2=1;
			ret=1;
		}

		//si ret!=0 ---> depassement donc pas de moyenne des mesures
		if (ret==0)
     8b0:	11 23       	and	r17, r17
     8b2:	09 f0       	breq	.+2      	; 0x8b6 <__stack+0x57>
     8b4:	cd c0       	rjmp	.+410    	; 0xa50 <__stack+0x1f1>
     8b6:	18 86       	std	Y+8, r1	; 0x08
     8b8:	19 86       	std	Y+9, r1	; 0x09
     8ba:	1a 86       	std	Y+10, r1	; 0x0a
     8bc:	1b 86       	std	Y+11, r1	; 0x0b
     8be:	99 24       	eor	r9, r9
     8c0:	77 24       	eor	r7, r7
     8c2:	66 24       	eor	r6, r6
     8c4:	55 24       	eor	r5, r5
     8c6:	22 24       	eor	r2, r2
     8c8:	1d 82       	std	Y+5, r1	; 0x05
     8ca:	1e 82       	std	Y+6, r1	; 0x06
     8cc:	1f 82       	std	Y+7, r1	; 0x07
     8ce:	dd 24       	eor	r13, r13
     8d0:	cc 24       	eor	r12, r12
     8d2:	bb 24       	eor	r11, r11
     8d4:	aa 24       	eor	r10, r10
     8d6:	ff 24       	eor	r15, r15
		{
			//mesures
			for (i=0;i<nmoy;i++)
			{
				va_moy=va_moy+VA;		//pour le dummy 12AX7
     8d8:	20 91 96 00 	lds	r18, 0x0096
     8dc:	30 91 97 00 	lds	r19, 0x0097
     8e0:	40 91 98 00 	lds	r20, 0x0098
     8e4:	50 91 99 00 	lds	r21, 0x0099
     8e8:	d6 01       	movw	r26, r12
     8ea:	f5 01       	movw	r30, r10
     8ec:	6b 2f       	mov	r22, r27
     8ee:	7c 2d       	mov	r23, r12
     8f0:	8f 2f       	mov	r24, r31
     8f2:	9a 2d       	mov	r25, r10
     8f4:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     8f8:	d6 2e       	mov	r13, r22
     8fa:	c7 2e       	mov	r12, r23
     8fc:	b8 2e       	mov	r11, r24
     8fe:	a9 2e       	mov	r10, r25
				vg2_moy=vg2_moy+VG2;	//pour le dummy 12AX7
     900:	20 91 9b 00 	lds	r18, 0x009B
     904:	30 91 9c 00 	lds	r19, 0x009C
     908:	40 91 9d 00 	lds	r20, 0x009D
     90c:	50 91 9e 00 	lds	r21, 0x009E
     910:	69 2d       	mov	r22, r9
     912:	77 2d       	mov	r23, r7
     914:	86 2d       	mov	r24, r6
     916:	95 2d       	mov	r25, r5
     918:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     91c:	96 2e       	mov	r9, r22
     91e:	77 2e       	mov	r7, r23
     920:	68 2e       	mov	r6, r24
     922:	59 2e       	mov	r5, r25
				vg1_moy=vg1_moy+VG1;	//pour le dummy 12AX7
     924:	20 91 9f 00 	lds	r18, 0x009F
     928:	30 91 a0 00 	lds	r19, 0x00A0
     92c:	40 91 a1 00 	lds	r20, 0x00A1
     930:	50 91 a2 00 	lds	r21, 0x00A2
     934:	ad 81       	ldd	r26, Y+5	; 0x05
     936:	fe 81       	ldd	r31, Y+6	; 0x06
     938:	ef 81       	ldd	r30, Y+7	; 0x07
     93a:	62 2d       	mov	r22, r2
     93c:	7a 2f       	mov	r23, r26
     93e:	8f 2f       	mov	r24, r31
     940:	9e 2f       	mov	r25, r30
     942:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     946:	26 2e       	mov	r2, r22
     948:	7d 83       	std	Y+5, r23	; 0x05
     94a:	8e 83       	std	Y+6, r24	; 0x06
     94c:	9f 83       	std	Y+7, r25	; 0x07
	
				ret=courant(VA,VG1,&mes_courant);//pour le dummy 12AX7
     94e:	60 91 96 00 	lds	r22, 0x0096
     952:	70 91 97 00 	lds	r23, 0x0097
     956:	80 91 98 00 	lds	r24, 0x0098
     95a:	90 91 99 00 	lds	r25, 0x0099
     95e:	20 91 9f 00 	lds	r18, 0x009F
     962:	30 91 a0 00 	lds	r19, 0x00A0
     966:	40 91 a1 00 	lds	r20, 0x00A1
     96a:	50 91 a2 00 	lds	r21, 0x00A2
     96e:	8e 01       	movw	r16, r28
     970:	0f 5f       	subi	r16, 0xFF	; 255
     972:	1f 4f       	sbci	r17, 0xFF	; 255
     974:	0e 94 8a 00 	call	0x114	; 0x114 <courant>
     978:	88 2e       	mov	r8, r24
				ia_moy=ia_moy+mes_courant;
     97a:	58 85       	ldd	r21, Y+8	; 0x08
     97c:	49 85       	ldd	r20, Y+9	; 0x09
     97e:	3a 85       	ldd	r19, Y+10	; 0x0a
     980:	2b 85       	ldd	r18, Y+11	; 0x0b
     982:	65 2f       	mov	r22, r21
     984:	74 2f       	mov	r23, r20
     986:	83 2f       	mov	r24, r19
     988:	92 2f       	mov	r25, r18
     98a:	29 81       	ldd	r18, Y+1	; 0x01
     98c:	3a 81       	ldd	r19, Y+2	; 0x02
     98e:	4b 81       	ldd	r20, Y+3	; 0x03
     990:	5c 81       	ldd	r21, Y+4	; 0x04
     992:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
     996:	68 87       	std	Y+8, r22	; 0x08
     998:	79 87       	std	Y+9, r23	; 0x09
     99a:	8a 87       	std	Y+10, r24	; 0x0a
     99c:	9b 87       	std	Y+11, r25	; 0x0b

		//si ret!=0 ---> depassement donc pas de moyenne des mesures
		if (ret==0)
		{
			//mesures
			for (i=0;i<nmoy;i++)
     99e:	f3 94       	inc	r15
     9a0:	f3 14       	cp	r15, r3
     9a2:	08 f4       	brcc	.+2      	; 0x9a6 <__stack+0x147>
     9a4:	99 cf       	rjmp	.-206    	; 0x8d8 <__stack+0x79>
				ig2_moy=ig2_moy+0;	//pour le dummy 12AX7
				ig1_moy=ig1_moy+0;	//pour le dummy 12AX7
			}
			
			//moyennes
			va_moy=va_moy/nmoy;
     9a6:	63 2d       	mov	r22, r3
     9a8:	70 e0       	ldi	r23, 0x00	; 0
     9aa:	88 27       	eor	r24, r24
     9ac:	77 fd       	sbrc	r23, 7
     9ae:	80 95       	com	r24
     9b0:	98 2f       	mov	r25, r24
     9b2:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
     9b6:	7b 01       	movw	r14, r22
     9b8:	8c 01       	movw	r16, r24
     9ba:	a6 01       	movw	r20, r12
     9bc:	95 01       	movw	r18, r10
     9be:	65 2f       	mov	r22, r21
     9c0:	74 2f       	mov	r23, r20
     9c2:	83 2f       	mov	r24, r19
     9c4:	92 2f       	mov	r25, r18
     9c6:	a8 01       	movw	r20, r16
     9c8:	97 01       	movw	r18, r14
     9ca:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     9ce:	6c 87       	std	Y+12, r22	; 0x0c
     9d0:	78 8b       	std	Y+16, r23	; 0x10
     9d2:	89 8b       	std	Y+17, r24	; 0x11
     9d4:	9a 8b       	std	Y+18, r25	; 0x12
			vg2_moy=vg2_moy/nmoy;
     9d6:	69 2d       	mov	r22, r9
     9d8:	77 2d       	mov	r23, r7
     9da:	86 2d       	mov	r24, r6
     9dc:	95 2d       	mov	r25, r5
     9de:	a8 01       	movw	r20, r16
     9e0:	97 01       	movw	r18, r14
     9e2:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     9e6:	46 2e       	mov	r4, r22
     9e8:	77 2e       	mov	r7, r23
     9ea:	68 2e       	mov	r6, r24
     9ec:	59 2e       	mov	r5, r25
			vg1_moy=vg1_moy/nmoy;
     9ee:	4d 81       	ldd	r20, Y+5	; 0x05
     9f0:	3e 81       	ldd	r19, Y+6	; 0x06
     9f2:	2f 81       	ldd	r18, Y+7	; 0x07
     9f4:	62 2d       	mov	r22, r2
     9f6:	74 2f       	mov	r23, r20
     9f8:	83 2f       	mov	r24, r19
     9fa:	92 2f       	mov	r25, r18
     9fc:	a8 01       	movw	r20, r16
     9fe:	97 01       	movw	r18, r14
     a00:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     a04:	6d 83       	std	Y+5, r22	; 0x05
     a06:	7e 83       	std	Y+6, r23	; 0x06
     a08:	8f 83       	std	Y+7, r24	; 0x07
     a0a:	9b 8b       	std	Y+19, r25	; 0x13
			ia_moy=ia_moy/nmoy;	
     a0c:	58 85       	ldd	r21, Y+8	; 0x08
     a0e:	49 85       	ldd	r20, Y+9	; 0x09
     a10:	3a 85       	ldd	r19, Y+10	; 0x0a
     a12:	2b 85       	ldd	r18, Y+11	; 0x0b
     a14:	65 2f       	mov	r22, r21
     a16:	74 2f       	mov	r23, r20
     a18:	83 2f       	mov	r24, r19
     a1a:	92 2f       	mov	r25, r18
     a1c:	a8 01       	movw	r20, r16
     a1e:	97 01       	movw	r18, r14
     a20:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     a24:	96 2e       	mov	r9, r22
     a26:	37 2e       	mov	r3, r23
     a28:	28 2e       	mov	r2, r24
     a2a:	98 87       	std	Y+8, r25	; 0x08
			ig2_moy=ig2_moy/nmoy;	
     a2c:	60 e0       	ldi	r22, 0x00	; 0
     a2e:	70 e0       	ldi	r23, 0x00	; 0
     a30:	80 e0       	ldi	r24, 0x00	; 0
     a32:	90 e0       	ldi	r25, 0x00	; 0
     a34:	a8 01       	movw	r20, r16
     a36:	97 01       	movw	r18, r14
     a38:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
     a3c:	6b 01       	movw	r12, r22
     a3e:	7c 01       	movw	r14, r24
			ig1_moy=ig1_moy/nmoy;	
     a40:	b6 2e       	mov	r11, r22
     a42:	0d 2d       	mov	r16, r13
     a44:	18 2f       	mov	r17, r24
     a46:	af 2c       	mov	r10, r15
     a48:	7c c0       	rjmp	.+248    	; 0xb42 <__stack+0x2e3>
			ret=1;
		}

		if (mes_puissance>PWG2_max)
		{
			dep_PWG2=1;
     a4a:	88 24       	eor	r8, r8
     a4c:	83 94       	inc	r8
     a4e:	01 c0       	rjmp	.+2      	; 0xa52 <__stack+0x1f3>
	dep_IA=0;
	dep_IG1=0;
	dep_IG2=0;
	dep_PWA=0;
	dep_PWG1=0;
	dep_PWG2=0;
     a50:	88 24       	eor	r8, r8
			//mais qui engendrent des courants ou puissances hors domaine
			//le vecteur de retour indique quelle variable depasse
			//le code retour donne des indication sur les puissance dépassées
			// 2=pwa 4=pwg1 8=pwg2  (code 11 --> pwamax et pwg2max)

			va_moy=dep_VA;
     a52:	62 2d       	mov	r22, r2
     a54:	70 e0       	ldi	r23, 0x00	; 0
     a56:	80 e0       	ldi	r24, 0x00	; 0
     a58:	90 e0       	ldi	r25, 0x00	; 0
     a5a:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     a5e:	6c 87       	std	Y+12, r22	; 0x0c
     a60:	78 8b       	std	Y+16, r23	; 0x10
     a62:	89 8b       	std	Y+17, r24	; 0x11
     a64:	9a 8b       	std	Y+18, r25	; 0x12
			vg2_moy=dep_VG2;
     a66:	6f 2d       	mov	r22, r15
     a68:	70 e0       	ldi	r23, 0x00	; 0
     a6a:	80 e0       	ldi	r24, 0x00	; 0
     a6c:	90 e0       	ldi	r25, 0x00	; 0
     a6e:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     a72:	46 2e       	mov	r4, r22
     a74:	77 2e       	mov	r7, r23
     a76:	68 2e       	mov	r6, r24
     a78:	59 2e       	mov	r5, r25
			vg1_moy=dep_VG1;
     a7a:	6e 2d       	mov	r22, r14
     a7c:	70 e0       	ldi	r23, 0x00	; 0
     a7e:	80 e0       	ldi	r24, 0x00	; 0
     a80:	90 e0       	ldi	r25, 0x00	; 0
     a82:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     a86:	6d 83       	std	Y+5, r22	; 0x05
     a88:	7e 83       	std	Y+6, r23	; 0x06
     a8a:	8f 83       	std	Y+7, r24	; 0x07
     a8c:	9b 8b       	std	Y+19, r25	; 0x13
			ia_moy=dep_IA;	
     a8e:	69 2d       	mov	r22, r9
     a90:	70 e0       	ldi	r23, 0x00	; 0
     a92:	80 e0       	ldi	r24, 0x00	; 0
     a94:	90 e0       	ldi	r25, 0x00	; 0
     a96:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     a9a:	96 2e       	mov	r9, r22
     a9c:	37 2e       	mov	r3, r23
     a9e:	28 2e       	mov	r2, r24
     aa0:	98 87       	std	Y+8, r25	; 0x08
			ig2_moy=dep_IG2;	
     aa2:	60 2f       	mov	r22, r16
     aa4:	70 e0       	ldi	r23, 0x00	; 0
     aa6:	80 e0       	ldi	r24, 0x00	; 0
     aa8:	90 e0       	ldi	r25, 0x00	; 0
     aaa:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     aae:	6b 01       	movw	r12, r22
     ab0:	7c 01       	movw	r14, r24
			ig1_moy=dep_IG1;
     ab2:	29 85       	ldd	r18, Y+9	; 0x09
     ab4:	62 2f       	mov	r22, r18
     ab6:	70 e0       	ldi	r23, 0x00	; 0
     ab8:	80 e0       	ldi	r24, 0x00	; 0
     aba:	90 e0       	ldi	r25, 0x00	; 0
     abc:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     ac0:	b6 2e       	mov	r11, r22
     ac2:	07 2f       	mov	r16, r23
     ac4:	18 2f       	mov	r17, r24
     ac6:	a9 2e       	mov	r10, r25
			
			ret=dep_PWA*2+dep_PWG1*4+dep_PWG2*8;
     ac8:	88 2d       	mov	r24, r8
     aca:	90 e0       	ldi	r25, 0x00	; 0
     acc:	88 0f       	add	r24, r24
     ace:	99 1f       	adc	r25, r25
     ad0:	ab 85       	ldd	r26, Y+11	; 0x0b
     ad2:	8a 0f       	add	r24, r26
     ad4:	91 1d       	adc	r25, r1
     ad6:	88 0f       	add	r24, r24
     ad8:	99 1f       	adc	r25, r25
     ada:	ba 85       	ldd	r27, Y+10	; 0x0a
     adc:	8b 0f       	add	r24, r27
     ade:	91 1d       	adc	r25, r1
     ae0:	88 2e       	mov	r8, r24
     ae2:	88 0c       	add	r8, r8
     ae4:	2e c0       	rjmp	.+92     	; 0xb42 <__stack+0x2e3>
		ret=1;
	}

	if (VG1<VG1_min)
	{
		dep_VG1=1;
     ae6:	ee 24       	eor	r14, r14
     ae8:	e3 94       	inc	r14
	}
	else
	{
		//il y a une demande de mesure avec des parametres qui sortent du domaine valide
		//le code retour vaut 1 et le vecteur de retour indique quelle variable depasse
		va_moy=dep_VA;
     aea:	62 2d       	mov	r22, r2
     aec:	70 e0       	ldi	r23, 0x00	; 0
     aee:	80 e0       	ldi	r24, 0x00	; 0
     af0:	90 e0       	ldi	r25, 0x00	; 0
     af2:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     af6:	6c 87       	std	Y+12, r22	; 0x0c
     af8:	78 8b       	std	Y+16, r23	; 0x10
     afa:	89 8b       	std	Y+17, r24	; 0x11
     afc:	9a 8b       	std	Y+18, r25	; 0x12
		vg1_moy=dep_VG1;
     afe:	6e 2d       	mov	r22, r14
     b00:	70 e0       	ldi	r23, 0x00	; 0
     b02:	80 e0       	ldi	r24, 0x00	; 0
     b04:	90 e0       	ldi	r25, 0x00	; 0
     b06:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     b0a:	6d 83       	std	Y+5, r22	; 0x05
     b0c:	7e 83       	std	Y+6, r23	; 0x06
     b0e:	8f 83       	std	Y+7, r24	; 0x07
     b10:	9b 8b       	std	Y+19, r25	; 0x13
		vg2_moy=dep_VG2;
     b12:	6f 2d       	mov	r22, r15
     b14:	70 e0       	ldi	r23, 0x00	; 0
     b16:	80 e0       	ldi	r24, 0x00	; 0
     b18:	90 e0       	ldi	r25, 0x00	; 0
     b1a:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     b1e:	46 2e       	mov	r4, r22
     b20:	77 2e       	mov	r7, r23
     b22:	68 2e       	mov	r6, r24
     b24:	59 2e       	mov	r5, r25
	vg1_moy=0;
	vg2_moy=0;
	vfil_moy=0;
	ia_moy=0;
	ig1_moy=0;
	ig2_moy=0;
     b26:	cc 24       	eor	r12, r12
     b28:	dd 24       	eor	r13, r13
     b2a:	ee 24       	eor	r14, r14
     b2c:	ff 24       	eor	r15, r15
	va_moy=0;
	vg1_moy=0;
	vg2_moy=0;
	vfil_moy=0;
	ia_moy=0;
	ig1_moy=0;
     b2e:	bb 24       	eor	r11, r11
     b30:	00 e0       	ldi	r16, 0x00	; 0
     b32:	10 e0       	ldi	r17, 0x00	; 0
     b34:	aa 24       	eor	r10, r10
	//init	
	va_moy=0;
	vg1_moy=0;
	vg2_moy=0;
	vfil_moy=0;
	ia_moy=0;
     b36:	99 24       	eor	r9, r9
     b38:	33 24       	eor	r3, r3
     b3a:	22 24       	eor	r2, r2
     b3c:	18 86       	std	Y+8, r1	; 0x08
	{
		//il y a une demande de mesure avec des parametres qui sortent du domaine valide
		//le code retour vaut 1 et le vecteur de retour indique quelle variable depasse
		va_moy=dep_VA;
		vg1_moy=dep_VG1;
		vg2_moy=dep_VG2;
     b3e:	88 24       	eor	r8, r8
     b40:	83 94       	inc	r8
	}


	rs232_tx_valeur(ret,0);		//code retour
     b42:	68 2d       	mov	r22, r8
     b44:	70 e0       	ldi	r23, 0x00	; 0
     b46:	80 e0       	ldi	r24, 0x00	; 0
     b48:	90 e0       	ldi	r25, 0x00	; 0
     b4a:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     b4e:	40 e0       	ldi	r20, 0x00	; 0
     b50:	50 e0       	ldi	r21, 0x00	; 0
     b52:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(va_moy,3);	//va
     b56:	5c 85       	ldd	r21, Y+12	; 0x0c
     b58:	48 89       	ldd	r20, Y+16	; 0x10
     b5a:	39 89       	ldd	r19, Y+17	; 0x11
     b5c:	2a 89       	ldd	r18, Y+18	; 0x12
     b5e:	65 2f       	mov	r22, r21
     b60:	74 2f       	mov	r23, r20
     b62:	83 2f       	mov	r24, r19
     b64:	92 2f       	mov	r25, r18
     b66:	43 e0       	ldi	r20, 0x03	; 3
     b68:	50 e0       	ldi	r21, 0x00	; 0
     b6a:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(vg2_moy,3);	//vg2
     b6e:	64 2d       	mov	r22, r4
     b70:	77 2d       	mov	r23, r7
     b72:	86 2d       	mov	r24, r6
     b74:	95 2d       	mov	r25, r5
     b76:	43 e0       	ldi	r20, 0x03	; 3
     b78:	50 e0       	ldi	r21, 0x00	; 0
     b7a:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(vg1_moy,3);	//vg1
     b7e:	5d 81       	ldd	r21, Y+5	; 0x05
     b80:	4e 81       	ldd	r20, Y+6	; 0x06
     b82:	3f 81       	ldd	r19, Y+7	; 0x07
     b84:	2b 89       	ldd	r18, Y+19	; 0x13
     b86:	65 2f       	mov	r22, r21
     b88:	74 2f       	mov	r23, r20
     b8a:	83 2f       	mov	r24, r19
     b8c:	92 2f       	mov	r25, r18
     b8e:	43 e0       	ldi	r20, 0x03	; 3
     b90:	50 e0       	ldi	r21, 0x00	; 0
     b92:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(ia_moy,3);	//ia
     b96:	28 85       	ldd	r18, Y+8	; 0x08
     b98:	69 2d       	mov	r22, r9
     b9a:	73 2d       	mov	r23, r3
     b9c:	82 2d       	mov	r24, r2
     b9e:	92 2f       	mov	r25, r18
     ba0:	43 e0       	ldi	r20, 0x03	; 3
     ba2:	50 e0       	ldi	r21, 0x00	; 0
     ba4:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(ig2_moy,3);	//ig2
     ba8:	6c 2d       	mov	r22, r12
     baa:	7d 2d       	mov	r23, r13
     bac:	8e 2d       	mov	r24, r14
     bae:	9f 2d       	mov	r25, r15
     bb0:	43 e0       	ldi	r20, 0x03	; 3
     bb2:	50 e0       	ldi	r21, 0x00	; 0
     bb4:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	rs232_tx_valeur(ig1_moy,3);	//ig1
     bb8:	6b 2d       	mov	r22, r11
     bba:	70 2f       	mov	r23, r16
     bbc:	81 2f       	mov	r24, r17
     bbe:	9a 2d       	mov	r25, r10
     bc0:	43 e0       	ldi	r20, 0x03	; 3
     bc2:	50 e0       	ldi	r21, 0x00	; 0
     bc4:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     bc8:	63 96       	adiw	r28, 0x13	; 19
     bca:	e2 e1       	ldi	r30, 0x12	; 18
     bcc:	0c 94 dc 0c 	jmp	0x19b8	; 0x19b8 <__epilogue_restores__>

00000bd0 <arret>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void arret(float v)
{
	rs232_tx_valeur(50,0);
     bd0:	60 e0       	ldi	r22, 0x00	; 0
     bd2:	70 e0       	ldi	r23, 0x00	; 0
     bd4:	88 e4       	ldi	r24, 0x48	; 72
     bd6:	92 e4       	ldi	r25, 0x42	; 66
     bd8:	40 e0       	ldi	r20, 0x00	; 0
     bda:	50 e0       	ldi	r21, 0x00	; 0
     bdc:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
	attente=1;	
     be0:	81 e0       	ldi	r24, 0x01	; 1
     be2:	80 93 80 00 	sts	0x0080, r24
}
     be6:	08 95       	ret

00000be8 <set_VFIL>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VFIL(float v)
{
	VFIL=v;
     be8:	60 93 70 00 	sts	0x0070, r22
     bec:	70 93 71 00 	sts	0x0071, r23
     bf0:	80 93 72 00 	sts	0x0072, r24
     bf4:	90 93 73 00 	sts	0x0073, r25
	
	//action sur le booster
	//idem reglage de VA
	
	rs232_tx_valeur(0,0);
     bf8:	60 e0       	ldi	r22, 0x00	; 0
     bfa:	70 e0       	ldi	r23, 0x00	; 0
     bfc:	80 e0       	ldi	r24, 0x00	; 0
     bfe:	90 e0       	ldi	r25, 0x00	; 0
     c00:	40 e0       	ldi	r20, 0x00	; 0
     c02:	50 e0       	ldi	r21, 0x00	; 0
     c04:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     c08:	08 95       	ret

00000c0a <set_VG1>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VG1(float v)
{
	VG1=v;
     c0a:	60 93 9f 00 	sts	0x009F, r22
     c0e:	70 93 a0 00 	sts	0x00A0, r23
     c12:	80 93 a1 00 	sts	0x00A1, r24
     c16:	90 93 a2 00 	sts	0x00A2, r25
	
	//action sur le booster
	//idem reglage de VA
	
	rs232_tx_valeur(0,0);
     c1a:	60 e0       	ldi	r22, 0x00	; 0
     c1c:	70 e0       	ldi	r23, 0x00	; 0
     c1e:	80 e0       	ldi	r24, 0x00	; 0
     c20:	90 e0       	ldi	r25, 0x00	; 0
     c22:	40 e0       	ldi	r20, 0x00	; 0
     c24:	50 e0       	ldi	r21, 0x00	; 0
     c26:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     c2a:	08 95       	ret

00000c2c <set_VG2>:
	rs232_tx_valeur(ret,0);
}
//-------------------------------------------------------------------------------------
void set_VG2(float v)
{
	VG2=v;
     c2c:	60 93 9b 00 	sts	0x009B, r22
     c30:	70 93 9c 00 	sts	0x009C, r23
     c34:	80 93 9d 00 	sts	0x009D, r24
     c38:	90 93 9e 00 	sts	0x009E, r25
	
	//action sur le booster
	//idem reglage de VA
	
	rs232_tx_valeur(0,0);
     c3c:	60 e0       	ldi	r22, 0x00	; 0
     c3e:	70 e0       	ldi	r23, 0x00	; 0
     c40:	80 e0       	ldi	r24, 0x00	; 0
     c42:	90 e0       	ldi	r25, 0x00	; 0
     c44:	40 e0       	ldi	r20, 0x00	; 0
     c46:	50 e0       	ldi	r21, 0x00	; 0
     c48:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     c4c:	08 95       	ret

00000c4e <set_VA>:
//Ces fonctions fixent les tensions à appliquer avant chaque mesure
//Elles ont donc une action sur le hard
//
//-------------------------------------------------------------------------------------
void set_VA(float v)
{
     c4e:	1f 93       	push	r17
	uint8_t ret;
	
	VA=v;
     c50:	60 93 96 00 	sts	0x0096, r22
     c54:	70 93 97 00 	sts	0x0097, r23
     c58:	80 93 98 00 	sts	0x0098, r24
     c5c:	90 93 99 00 	sts	0x0099, r25
	ret=0;

	//limitations
	if (VA>VA_max)
     c60:	60 91 96 00 	lds	r22, 0x0096
     c64:	70 91 97 00 	lds	r23, 0x0097
     c68:	80 91 98 00 	lds	r24, 0x0098
     c6c:	90 91 99 00 	lds	r25, 0x0099
     c70:	20 91 74 00 	lds	r18, 0x0074
     c74:	30 91 75 00 	lds	r19, 0x0075
     c78:	40 91 76 00 	lds	r20, 0x0076
     c7c:	50 91 77 00 	lds	r21, 0x0077
void set_VA(float v)
{
	uint8_t ret;
	
	VA=v;
	ret=0;
     c80:	11 e0       	ldi	r17, 0x01	; 1
     c82:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
     c86:	18 16       	cp	r1, r24
     c88:	0c f0       	brlt	.+2      	; 0xc8c <set_VA+0x3e>
     c8a:	10 e0       	ldi	r17, 0x00	; 0
			ret=3;
		}
	}
*/	

	rs232_tx_valeur(ret,0);
     c8c:	61 2f       	mov	r22, r17
     c8e:	70 e0       	ldi	r23, 0x00	; 0
     c90:	80 e0       	ldi	r24, 0x00	; 0
     c92:	90 e0       	ldi	r25, 0x00	; 0
     c94:	0e 94 18 0a 	call	0x1430	; 0x1430 <__floatunsisf>
     c98:	40 e0       	ldi	r20, 0x00	; 0
     c9a:	50 e0       	ldi	r21, 0x00	; 0
     c9c:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     ca0:	1f 91       	pop	r17
     ca2:	08 95       	ret

00000ca4 <set_VFIL_min>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VFIL_min(float v)
{
	VFIL_min=v;
     ca4:	60 93 82 00 	sts	0x0082, r22
     ca8:	70 93 83 00 	sts	0x0083, r23
     cac:	80 93 84 00 	sts	0x0084, r24
     cb0:	90 93 85 00 	sts	0x0085, r25
	rs232_tx_valeur(0,0);
     cb4:	60 e0       	ldi	r22, 0x00	; 0
     cb6:	70 e0       	ldi	r23, 0x00	; 0
     cb8:	80 e0       	ldi	r24, 0x00	; 0
     cba:	90 e0       	ldi	r25, 0x00	; 0
     cbc:	40 e0       	ldi	r20, 0x00	; 0
     cbe:	50 e0       	ldi	r21, 0x00	; 0
     cc0:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     cc4:	08 95       	ret

00000cc6 <set_VG1_min>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VG1_min(float v)
{
	VG1_min=v;
     cc6:	60 93 78 00 	sts	0x0078, r22
     cca:	70 93 79 00 	sts	0x0079, r23
     cce:	80 93 7a 00 	sts	0x007A, r24
     cd2:	90 93 7b 00 	sts	0x007B, r25
	rs232_tx_valeur(0,0);
     cd6:	60 e0       	ldi	r22, 0x00	; 0
     cd8:	70 e0       	ldi	r23, 0x00	; 0
     cda:	80 e0       	ldi	r24, 0x00	; 0
     cdc:	90 e0       	ldi	r25, 0x00	; 0
     cde:	40 e0       	ldi	r20, 0x00	; 0
     ce0:	50 e0       	ldi	r21, 0x00	; 0
     ce2:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     ce6:	08 95       	ret

00000ce8 <set_VG2_min>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VG2_min(float v)
{
	VG2_min=v;
     ce8:	60 93 8e 00 	sts	0x008E, r22
     cec:	70 93 8f 00 	sts	0x008F, r23
     cf0:	80 93 90 00 	sts	0x0090, r24
     cf4:	90 93 91 00 	sts	0x0091, r25
	rs232_tx_valeur(0,0);
     cf8:	60 e0       	ldi	r22, 0x00	; 0
     cfa:	70 e0       	ldi	r23, 0x00	; 0
     cfc:	80 e0       	ldi	r24, 0x00	; 0
     cfe:	90 e0       	ldi	r25, 0x00	; 0
     d00:	40 e0       	ldi	r20, 0x00	; 0
     d02:	50 e0       	ldi	r21, 0x00	; 0
     d04:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     d08:	08 95       	ret

00000d0a <set_PWG1_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_PWG1_max(float v)
{
	PWG1_max=v;
     d0a:	60 93 8a 00 	sts	0x008A, r22
     d0e:	70 93 8b 00 	sts	0x008B, r23
     d12:	80 93 8c 00 	sts	0x008C, r24
     d16:	90 93 8d 00 	sts	0x008D, r25
	rs232_tx_valeur(0,0);
     d1a:	60 e0       	ldi	r22, 0x00	; 0
     d1c:	70 e0       	ldi	r23, 0x00	; 0
     d1e:	80 e0       	ldi	r24, 0x00	; 0
     d20:	90 e0       	ldi	r25, 0x00	; 0
     d22:	40 e0       	ldi	r20, 0x00	; 0
     d24:	50 e0       	ldi	r21, 0x00	; 0
     d26:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     d2a:	08 95       	ret

00000d2c <set_PWG2_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_PWG2_max(float v)
{
	PWG2_max=v;
     d2c:	60 93 6c 00 	sts	0x006C, r22
     d30:	70 93 6d 00 	sts	0x006D, r23
     d34:	80 93 6e 00 	sts	0x006E, r24
     d38:	90 93 6f 00 	sts	0x006F, r25
	rs232_tx_valeur(0,0);
     d3c:	60 e0       	ldi	r22, 0x00	; 0
     d3e:	70 e0       	ldi	r23, 0x00	; 0
     d40:	80 e0       	ldi	r24, 0x00	; 0
     d42:	90 e0       	ldi	r25, 0x00	; 0
     d44:	40 e0       	ldi	r20, 0x00	; 0
     d46:	50 e0       	ldi	r21, 0x00	; 0
     d48:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     d4c:	08 95       	ret

00000d4e <set_PWA_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_PWA_max(float v)
{
	PWA_max=v;
     d4e:	60 93 cb 00 	sts	0x00CB, r22
     d52:	70 93 cc 00 	sts	0x00CC, r23
     d56:	80 93 cd 00 	sts	0x00CD, r24
     d5a:	90 93 ce 00 	sts	0x00CE, r25
	rs232_tx_valeur(0,0);
     d5e:	60 e0       	ldi	r22, 0x00	; 0
     d60:	70 e0       	ldi	r23, 0x00	; 0
     d62:	80 e0       	ldi	r24, 0x00	; 0
     d64:	90 e0       	ldi	r25, 0x00	; 0
     d66:	40 e0       	ldi	r20, 0x00	; 0
     d68:	50 e0       	ldi	r21, 0x00	; 0
     d6a:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     d6e:	08 95       	ret

00000d70 <set_IG1_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_IG1_max(float v)
{
	IG1_max=v;
     d70:	60 93 01 01 	sts	0x0101, r22
     d74:	70 93 02 01 	sts	0x0102, r23
     d78:	80 93 03 01 	sts	0x0103, r24
     d7c:	90 93 04 01 	sts	0x0104, r25
	rs232_tx_valeur(0,0);
     d80:	60 e0       	ldi	r22, 0x00	; 0
     d82:	70 e0       	ldi	r23, 0x00	; 0
     d84:	80 e0       	ldi	r24, 0x00	; 0
     d86:	90 e0       	ldi	r25, 0x00	; 0
     d88:	40 e0       	ldi	r20, 0x00	; 0
     d8a:	50 e0       	ldi	r21, 0x00	; 0
     d8c:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     d90:	08 95       	ret

00000d92 <set_IG2_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_IG2_max(float v)
{
	IG2_max=v;
     d92:	60 93 60 00 	sts	0x0060, r22
     d96:	70 93 61 00 	sts	0x0061, r23
     d9a:	80 93 62 00 	sts	0x0062, r24
     d9e:	90 93 63 00 	sts	0x0063, r25
	rs232_tx_valeur(0,0);
     da2:	60 e0       	ldi	r22, 0x00	; 0
     da4:	70 e0       	ldi	r23, 0x00	; 0
     da6:	80 e0       	ldi	r24, 0x00	; 0
     da8:	90 e0       	ldi	r25, 0x00	; 0
     daa:	40 e0       	ldi	r20, 0x00	; 0
     dac:	50 e0       	ldi	r21, 0x00	; 0
     dae:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     db2:	08 95       	ret

00000db4 <set_IA_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_IA_max(float v)
{
	IA_max=v;
     db4:	60 93 7c 00 	sts	0x007C, r22
     db8:	70 93 7d 00 	sts	0x007D, r23
     dbc:	80 93 7e 00 	sts	0x007E, r24
     dc0:	90 93 7f 00 	sts	0x007F, r25
	rs232_tx_valeur(0,0);
     dc4:	60 e0       	ldi	r22, 0x00	; 0
     dc6:	70 e0       	ldi	r23, 0x00	; 0
     dc8:	80 e0       	ldi	r24, 0x00	; 0
     dca:	90 e0       	ldi	r25, 0x00	; 0
     dcc:	40 e0       	ldi	r20, 0x00	; 0
     dce:	50 e0       	ldi	r21, 0x00	; 0
     dd0:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     dd4:	08 95       	ret

00000dd6 <set_VFIL_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VFIL_max(float v)
{
	VFIL_max=v;
     dd6:	60 93 64 00 	sts	0x0064, r22
     dda:	70 93 65 00 	sts	0x0065, r23
     dde:	80 93 66 00 	sts	0x0066, r24
     de2:	90 93 67 00 	sts	0x0067, r25
	rs232_tx_valeur(0,0);
     de6:	60 e0       	ldi	r22, 0x00	; 0
     de8:	70 e0       	ldi	r23, 0x00	; 0
     dea:	80 e0       	ldi	r24, 0x00	; 0
     dec:	90 e0       	ldi	r25, 0x00	; 0
     dee:	40 e0       	ldi	r20, 0x00	; 0
     df0:	50 e0       	ldi	r21, 0x00	; 0
     df2:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     df6:	08 95       	ret

00000df8 <set_VG1_max>:
	rs232_tx_valeur(0,0);
}
//-------------------------------------------------------------------------------------
void set_VG1_max(float v)
{
	VG1_max=v;
     df8:	60 93 86 00 	sts	0x0086, r22
     dfc:	70 93 87 00 	sts	0x0087, r23
     e00:	80 93 88 00 	sts	0x0088, r24
     e04:	90 93 89 00 	sts	0x0089, r25
	rs232_tx_valeur(0,0);
     e08:	60 e0       	ldi	r22, 0x00	; 0
     e0a:	70 e0       	ldi	r23, 0x00	; 0
     e0c:	80 e0       	ldi	r24, 0x00	; 0
     e0e:	90 e0       	ldi	r25, 0x00	; 0
     e10:	40 e0       	ldi	r20, 0x00	; 0
     e12:	50 e0       	ldi	r21, 0x00	; 0
     e14:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     e18:	08 95       	ret

00000e1a <set_VG2_max>:
}

//-------------------------------------------------------------------------------------
void set_VG2_max(float v)
{
	VG2_max=v;
     e1a:	60 93 68 00 	sts	0x0068, r22
     e1e:	70 93 69 00 	sts	0x0069, r23
     e22:	80 93 6a 00 	sts	0x006A, r24
     e26:	90 93 6b 00 	sts	0x006B, r25
	rs232_tx_valeur(0,0);
     e2a:	60 e0       	ldi	r22, 0x00	; 0
     e2c:	70 e0       	ldi	r23, 0x00	; 0
     e2e:	80 e0       	ldi	r24, 0x00	; 0
     e30:	90 e0       	ldi	r25, 0x00	; 0
     e32:	40 e0       	ldi	r20, 0x00	; 0
     e34:	50 e0       	ldi	r21, 0x00	; 0
     e36:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     e3a:	08 95       	ret

00000e3c <set_VA_max>:
//depasser pendant la manip
//
//-------------------------------------------------------------------------------------
void set_VA_max(float v)
{
	VA_max=v;
     e3c:	60 93 74 00 	sts	0x0074, r22
     e40:	70 93 75 00 	sts	0x0075, r23
     e44:	80 93 76 00 	sts	0x0076, r24
     e48:	90 93 77 00 	sts	0x0077, r25
	rs232_tx_valeur(0,0);
     e4c:	60 e0       	ldi	r22, 0x00	; 0
     e4e:	70 e0       	ldi	r23, 0x00	; 0
     e50:	80 e0       	ldi	r24, 0x00	; 0
     e52:	90 e0       	ldi	r25, 0x00	; 0
     e54:	40 e0       	ldi	r20, 0x00	; 0
     e56:	50 e0       	ldi	r21, 0x00	; 0
     e58:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     e5c:	08 95       	ret

00000e5e <fonc_void>:
void fonc_void(float v)
{
	//on retourne juste un code 99 qui indique que la commande passée
	//n'a pas été interprétée
	
	rs232_tx_valeur(99,0);
     e5e:	60 e0       	ldi	r22, 0x00	; 0
     e60:	70 e0       	ldi	r23, 0x00	; 0
     e62:	86 ec       	ldi	r24, 0xC6	; 198
     e64:	92 e4       	ldi	r25, 0x42	; 66
     e66:	40 e0       	ldi	r20, 0x00	; 0
     e68:	50 e0       	ldi	r21, 0x00	; 0
     e6a:	0e 94 73 02 	call	0x4e6	; 0x4e6 <rs232_tx_valeur>
}
     e6e:	08 95       	ret

00000e70 <delai>:
//-------------------------------------------------------------------------------------
void delai(uint16_t d)
{
	uint16_t i;
	
	for (i=0;i<d;i++)
     e70:	20 e0       	ldi	r18, 0x00	; 0
     e72:	30 e0       	ldi	r19, 0x00	; 0
    milliseconds can be achieved.
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
     e74:	40 ea       	ldi	r20, 0xA0	; 160
     e76:	5f e0       	ldi	r21, 0x0F	; 15
     e78:	05 c0       	rjmp	.+10     	; 0xe84 <delai+0x14>
     e7a:	fa 01       	movw	r30, r20
     e7c:	31 97       	sbiw	r30, 0x01	; 1
     e7e:	f1 f7       	brne	.-4      	; 0xe7c <delai+0xc>
     e80:	2f 5f       	subi	r18, 0xFF	; 255
     e82:	3f 4f       	sbci	r19, 0xFF	; 255
     e84:	28 17       	cp	r18, r24
     e86:	39 07       	cpc	r19, r25
     e88:	c0 f3       	brcs	.-16     	; 0xe7a <delai+0xa>
	{
		_delay_ms(1.0);
	}
}
     e8a:	08 95       	ret

00000e8c <chenille>:
//-------------------------------------------------------------------------------------
//fonction chenille
//-------------------------------------------------------------------------------------
void chenille(void)
{
	if (sens==1)
     e8c:	80 91 9a 00 	lds	r24, 0x009A
     e90:	81 30       	cpi	r24, 0x01	; 1
     e92:	59 f4       	brne	.+22     	; 0xeaa <chenille+0x1e>
	{
		if (afficheur<128)
     e94:	80 91 81 00 	lds	r24, 0x0081
     e98:	87 fd       	sbrc	r24, 7
     e9a:	04 c0       	rjmp	.+8      	; 0xea4 <chenille+0x18>
		{
			afficheur=afficheur*2;
     e9c:	80 91 81 00 	lds	r24, 0x0081
     ea0:	88 0f       	add	r24, r24
     ea2:	0a c0       	rjmp	.+20     	; 0xeb8 <chenille+0x2c>
		}
		else
		{
			sens=0;
     ea4:	10 92 9a 00 	sts	0x009A, r1
     ea8:	0d c0       	rjmp	.+26     	; 0xec4 <chenille+0x38>
		}
	}
	else
	{
		if (afficheur>1)
     eaa:	80 91 81 00 	lds	r24, 0x0081
     eae:	82 30       	cpi	r24, 0x02	; 2
     eb0:	30 f0       	brcs	.+12     	; 0xebe <chenille+0x32>
		{
			afficheur=afficheur/2;
     eb2:	80 91 81 00 	lds	r24, 0x0081
     eb6:	86 95       	lsr	r24
     eb8:	80 93 81 00 	sts	0x0081, r24
     ebc:	03 c0       	rjmp	.+6      	; 0xec4 <chenille+0x38>
		}
		else
		{
			sens=1;
     ebe:	81 e0       	ldi	r24, 0x01	; 1
     ec0:	80 93 9a 00 	sts	0x009A, r24
		}
	}

	PORTC=afficheur;
     ec4:	80 91 81 00 	lds	r24, 0x0081
     ec8:	85 bb       	out	0x15, r24	; 21
	
	delai(20);
     eca:	84 e1       	ldi	r24, 0x14	; 20
     ecc:	90 e0       	ldi	r25, 0x00	; 0
     ece:	0e 94 38 07 	call	0xe70	; 0xe70 <delai>
}
     ed2:	08 95       	ret

00000ed4 <main>:
//programme principal
//-------------------------------------------------------------------------------------
int main(void)
{	
	//init
	init();
     ed4:	0e 94 17 01 	call	0x22e	; 0x22e <init>
	
	//init rs232 en bidirectionnel à 115200 bauds
	rs232_init(16,1);
     ed8:	80 e1       	ldi	r24, 0x10	; 16
     eda:	61 e0       	ldi	r22, 0x01	; 1
     edc:	0e 94 99 01 	call	0x332	; 0x332 <rs232_init>
	
	//boucle infinie
	while(1)
	{
		if (attente==1)
     ee0:	80 91 80 00 	lds	r24, 0x0080
     ee4:	81 30       	cpi	r24, 0x01	; 1
     ee6:	e1 f7       	brne	.-8      	; 0xee0 <main+0xc>
		{
			chenille();
     ee8:	0e 94 46 07 	call	0xe8c	; 0xe8c <chenille>
     eec:	f9 cf       	rjmp	.-14     	; 0xee0 <main+0xc>

00000eee <rs232_rx_valeur>:

//-------------------------------------------------------------------------------------
//reception d'une valeur quelconque
//-------------------------------------------------------------------------------------
uint8_t rs232_rx_valeur(void)
{
     eee:	ae e1       	ldi	r26, 0x1E	; 30
     ef0:	b0 e0       	ldi	r27, 0x00	; 0
     ef2:	ed e7       	ldi	r30, 0x7D	; 125
     ef4:	f7 e0       	ldi	r31, 0x07	; 7
     ef6:	0c 94 c1 0c 	jmp	0x1982	; 0x1982 <__prologue_saves__+0x2>
		
		//depassement de capacité
		if (v>=32768)
		{
			valeur_flottante=0;
			valid=0;	
     efa:	6e 01       	movw	r12, r28
     efc:	08 94       	sec
     efe:	c1 1c       	adc	r12, r1
     f00:	d1 1c       	adc	r13, r1

//-------------------------------------------------------------------------------------
//reception d'une valeur quelconque
//-------------------------------------------------------------------------------------
uint8_t rs232_rx_valeur(void)
{
     f02:	76 01       	movw	r14, r12
     f04:	00 e0       	ldi	r16, 0x00	; 0
     f06:	10 e0       	ldi	r17, 0x00	; 0
		
		//depassement de capacité
		if (v>=32768)
		{
			valeur_flottante=0;
			valid=0;	
     f08:	60 2e       	mov	r6, r16
	i=0;
	
	//reception
	while (suite==1 && i<n)
	{
		ct=rs232_rx_8();
     f0a:	0e 94 a8 01 	call	0x350	; 0x350 <rs232_rx_8>
     f0e:	28 01       	movw	r4, r16
		if (ct==10)
		{
			suite=0;
		}

		c[i]=(unsigned char)ct;
     f10:	f7 01       	movw	r30, r14
     f12:	81 93       	st	Z+, r24
     f14:	7f 01       	movw	r14, r30
	n=30;
	suite=1;
	i=0;
	
	//reception
	while (suite==1 && i<n)
     f16:	8a 30       	cpi	r24, 0x0A	; 10
     f18:	29 f0       	breq	.+10     	; 0xf24 <rs232_rx_valeur+0x36>
     f1a:	0f 5f       	subi	r16, 0xFF	; 255
     f1c:	1f 4f       	sbci	r17, 0xFF	; 255
     f1e:	0e 31       	cpi	r16, 0x1E	; 30
     f20:	11 05       	cpc	r17, r1
     f22:	91 f7       	brne	.-28     	; 0xf08 <rs232_rx_valeur+0x1a>
	

	//analyse
	
	//detection du signe
	if (c[0]=='-')
     f24:	89 81       	ldd	r24, Y+1	; 0x01
     f26:	8d 32       	cpi	r24, 0x2D	; 45
     f28:	29 f4       	brne	.+10     	; 0xf34 <rs232_rx_valeur+0x46>
	{
		signe=-1;
		c[0]='0';
     f2a:	80 e3       	ldi	r24, 0x30	; 48
     f2c:	89 83       	std	Y+1, r24	; 0x01
	//analyse
	
	//detection du signe
	if (c[0]=='-')
	{
		signe=-1;
     f2e:	33 24       	eor	r3, r3
     f30:	3a 94       	dec	r3
     f32:	02 c0       	rjmp	.+4      	; 0xf38 <rs232_rx_valeur+0x4a>
		c[0]='0';
	}
	else
	{
		signe=1;
     f34:	33 24       	eor	r3, r3
     f36:	33 94       	inc	r3
	
	//test si caractere possible 0123456789.
	//et comptage du nombre de virgules
	posv=-1;
	
	for (i=0;i<nc;i++)
     f38:	f6 01       	movw	r30, r12
	valid=1;
	cpt=0;
	
	//test si caractere possible 0123456789.
	//et comptage du nombre de virgules
	posv=-1;
     f3a:	bb 24       	eor	r11, r11
     f3c:	ba 94       	dec	r11
	{
		signe=1;
	}

	valid=1;
	cpt=0;
     f3e:	90 e0       	ldi	r25, 0x00	; 0
	else
	{
		signe=1;
	}

	valid=1;
     f40:	77 24       	eor	r7, r7
     f42:	73 94       	inc	r7
	
	//test si caractere possible 0123456789.
	//et comptage du nombre de virgules
	posv=-1;
	
	for (i=0;i<nc;i++)
     f44:	80 e0       	ldi	r24, 0x00	; 0
     f46:	0a c0       	rjmp	.+20     	; 0xf5c <rs232_rx_valeur+0x6e>
	{
		if (c[i]<'0' || c[i]>'9')
     f48:	21 91       	ld	r18, Z+
     f4a:	32 2f       	mov	r19, r18
     f4c:	30 53       	subi	r19, 0x30	; 48
     f4e:	3a 30       	cpi	r19, 0x0A	; 10
     f50:	20 f0       	brcs	.+8      	; 0xf5a <rs232_rx_valeur+0x6c>
		{
			if (c[i]!='.')
     f52:	2e 32       	cpi	r18, 0x2E	; 46
     f54:	09 f4       	brne	.+2      	; 0xf58 <rs232_rx_valeur+0x6a>
     f56:	dd c0       	rjmp	.+442    	; 0x1112 <rs232_rx_valeur+0x224>
			{
				valid=0;
     f58:	77 24       	eor	r7, r7
	
	//test si caractere possible 0123456789.
	//et comptage du nombre de virgules
	posv=-1;
	
	for (i=0;i<nc;i++)
     f5a:	8f 5f       	subi	r24, 0xFF	; 255
     f5c:	86 15       	cp	r24, r6
     f5e:	a1 f7       	brne	.-24     	; 0xf48 <rs232_rx_valeur+0x5a>
			cpt++;
			posv=i;
		}
	}
	
	if (cpt>1)
     f60:	92 30       	cpi	r25, 0x02	; 2
     f62:	08 f0       	brcs	.+2      	; 0xf66 <rs232_rx_valeur+0x78>
     f64:	c4 c0       	rjmp	.+392    	; 0x10ee <rs232_rx_valeur+0x200>
	{
		valid=0;
	}
	
	if (valid==1)
     f66:	f7 2d       	mov	r31, r7
     f68:	f1 30       	cpi	r31, 0x01	; 1
     f6a:	09 f0       	breq	.+2      	; 0xf6e <rs232_rx_valeur+0x80>
     f6c:	c0 c0       	rjmp	.+384    	; 0x10ee <rs232_rx_valeur+0x200>
     f6e:	10 e0       	ldi	r17, 0x00	; 0
     f70:	00 e0       	ldi	r16, 0x00	; 0
     f72:	80 e8       	ldi	r24, 0x80	; 128
     f74:	f8 2e       	mov	r15, r24
     f76:	bf e3       	ldi	r27, 0x3F	; 63
     f78:	eb 2e       	mov	r14, r27
     f7a:	aa 24       	eor	r10, r10
	{
		//formation de la valeur
		mul=1;
	
		//cas general de la virgule placée n'importe ou
		for (i=0;i<posv-1;i++)
     f7c:	8b 2c       	mov	r8, r11
     f7e:	99 24       	eor	r9, r9
     f80:	87 fc       	sbrc	r8, 7
     f82:	90 94       	com	r9
     f84:	08 94       	sec
     f86:	81 08       	sbc	r8, r1
     f88:	91 08       	sbc	r9, r1
     f8a:	11 c0       	rjmp	.+34     	; 0xfae <rs232_rx_valeur+0xc0>
		{
			mul=mul*10;
     f8c:	a8 01       	movw	r20, r16
     f8e:	97 01       	movw	r18, r14
     f90:	65 2f       	mov	r22, r21
     f92:	70 2f       	mov	r23, r16
     f94:	83 2f       	mov	r24, r19
     f96:	9e 2d       	mov	r25, r14
     f98:	20 e0       	ldi	r18, 0x00	; 0
     f9a:	30 e0       	ldi	r19, 0x00	; 0
     f9c:	40 e2       	ldi	r20, 0x20	; 32
     f9e:	51 e4       	ldi	r21, 0x41	; 65
     fa0:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
     fa4:	16 2f       	mov	r17, r22
     fa6:	07 2f       	mov	r16, r23
     fa8:	f8 2e       	mov	r15, r24
     faa:	e9 2e       	mov	r14, r25
	{
		//formation de la valeur
		mul=1;
	
		//cas general de la virgule placée n'importe ou
		for (i=0;i<posv-1;i++)
     fac:	a3 94       	inc	r10
     fae:	8a 2d       	mov	r24, r10
     fb0:	90 e0       	ldi	r25, 0x00	; 0
     fb2:	88 15       	cp	r24, r8
     fb4:	99 05       	cpc	r25, r9
     fb6:	54 f3       	brlt	.-44     	; 0xf8c <rs232_rx_valeur+0x9e>
		{
			mul=mul*10;
		}
	
		//cas particulier de la virgule placée en premier
		if (posv==0)
     fb8:	bb 20       	and	r11, r11
     fba:	79 f0       	breq	.+30     	; 0xfda <rs232_rx_valeur+0xec>
		{
			mul=0.1;
		}
	
		//cas particulier sans virgule
		if (posv==-1)
     fbc:	8b 2d       	mov	r24, r11
     fbe:	8f 3f       	cpi	r24, 0xFF	; 255
     fc0:	91 f4       	brne	.+36     	; 0xfe6 <rs232_rx_valeur+0xf8>
     fc2:	10 e0       	ldi	r17, 0x00	; 0
     fc4:	00 e0       	ldi	r16, 0x00	; 0
     fc6:	a0 e8       	ldi	r26, 0x80	; 128
     fc8:	fa 2e       	mov	r15, r26
     fca:	ff e3       	ldi	r31, 0x3F	; 63
     fcc:	ef 2e       	mov	r14, r31
     fce:	bb 24       	eor	r11, r11
		{
			mul=1;
	
			for (i=0;i<nc-1;i++)
     fd0:	42 01       	movw	r8, r4
     fd2:	08 94       	sec
     fd4:	81 08       	sbc	r8, r1
     fd6:	91 08       	sbc	r9, r1
     fd8:	22 c0       	rjmp	.+68     	; 0x101e <rs232_rx_valeur+0x130>
		}
	
		//cas particulier de la virgule placée en premier
		if (posv==0)
		{
			mul=0.1;
     fda:	1d ec       	ldi	r17, 0xCD	; 205
     fdc:	0c ec       	ldi	r16, 0xCC	; 204
     fde:	ec ec       	ldi	r30, 0xCC	; 204
     fe0:	fe 2e       	mov	r15, r30
     fe2:	7d e3       	ldi	r23, 0x3D	; 61
     fe4:	e7 2e       	mov	r14, r23
}

//-------------------------------------------------------------------------------------
//reception d'une valeur quelconque
//-------------------------------------------------------------------------------------
uint8_t rs232_rx_valeur(void)
     fe6:	2e 01       	movw	r4, r28
     fe8:	08 94       	sec
     fea:	41 1c       	adc	r4, r1
     fec:	51 1c       	adc	r5, r1
     fee:	46 0c       	add	r4, r6
     ff0:	51 1c       	adc	r5, r1
     ff2:	bb 24       	eor	r11, r11
     ff4:	aa 24       	eor	r10, r10
     ff6:	99 24       	eor	r9, r9
     ff8:	88 24       	eor	r8, r8
     ffa:	4b c0       	rjmp	.+150    	; 0x1092 <rs232_rx_valeur+0x1a4>
		{
			mul=1;
	
			for (i=0;i<nc-1;i++)
			{
				mul=mul*10;
     ffc:	a8 01       	movw	r20, r16
     ffe:	97 01       	movw	r18, r14
    1000:	65 2f       	mov	r22, r21
    1002:	70 2f       	mov	r23, r16
    1004:	83 2f       	mov	r24, r19
    1006:	9e 2d       	mov	r25, r14
    1008:	20 e0       	ldi	r18, 0x00	; 0
    100a:	30 e0       	ldi	r19, 0x00	; 0
    100c:	40 e2       	ldi	r20, 0x20	; 32
    100e:	51 e4       	ldi	r21, 0x41	; 65
    1010:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
    1014:	16 2f       	mov	r17, r22
    1016:	07 2f       	mov	r16, r23
    1018:	f8 2e       	mov	r15, r24
    101a:	e9 2e       	mov	r14, r25
		//cas particulier sans virgule
		if (posv==-1)
		{
			mul=1;
	
			for (i=0;i<nc-1;i++)
    101c:	b3 94       	inc	r11
    101e:	8b 2d       	mov	r24, r11
    1020:	90 e0       	ldi	r25, 0x00	; 0
    1022:	88 15       	cp	r24, r8
    1024:	99 05       	cpc	r25, r9
    1026:	54 f3       	brlt	.-44     	; 0xffc <rs232_rx_valeur+0x10e>
    1028:	de cf       	rjmp	.-68     	; 0xfe6 <rs232_rx_valeur+0xf8>
		//conversion
		v=0;
	
		for (i=0;i<nc;i++)
		{
			if (c[i]!='.')
    102a:	f6 01       	movw	r30, r12
    102c:	61 91       	ld	r22, Z+
    102e:	6f 01       	movw	r12, r30
    1030:	6e 32       	cpi	r22, 0x2E	; 46
    1032:	79 f1       	breq	.+94     	; 0x1092 <rs232_rx_valeur+0x1a4>
			{
				v=v+(c[i]-48)*mul;
    1034:	70 e0       	ldi	r23, 0x00	; 0
    1036:	60 53       	subi	r22, 0x30	; 48
    1038:	70 40       	sbci	r23, 0x00	; 0
    103a:	88 27       	eor	r24, r24
    103c:	77 fd       	sbrc	r23, 7
    103e:	80 95       	com	r24
    1040:	98 2f       	mov	r25, r24
    1042:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
    1046:	d8 01       	movw	r26, r16
    1048:	f7 01       	movw	r30, r14
    104a:	2b 2f       	mov	r18, r27
    104c:	30 2f       	mov	r19, r16
    104e:	4f 2f       	mov	r20, r31
    1050:	5e 2d       	mov	r21, r14
    1052:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
    1056:	9b 01       	movw	r18, r22
    1058:	ac 01       	movw	r20, r24
    105a:	d5 01       	movw	r26, r10
    105c:	f4 01       	movw	r30, r8
    105e:	6b 2f       	mov	r22, r27
    1060:	7a 2d       	mov	r23, r10
    1062:	8f 2f       	mov	r24, r31
    1064:	98 2d       	mov	r25, r8
    1066:	0e 94 e6 08 	call	0x11cc	; 0x11cc <__addsf3>
    106a:	b6 2e       	mov	r11, r22
    106c:	a7 2e       	mov	r10, r23
    106e:	98 2e       	mov	r9, r24
    1070:	89 2e       	mov	r8, r25
				mul=mul/10;
    1072:	a8 01       	movw	r20, r16
    1074:	97 01       	movw	r18, r14
    1076:	65 2f       	mov	r22, r21
    1078:	70 2f       	mov	r23, r16
    107a:	83 2f       	mov	r24, r19
    107c:	9e 2d       	mov	r25, r14
    107e:	20 e0       	ldi	r18, 0x00	; 0
    1080:	30 e0       	ldi	r19, 0x00	; 0
    1082:	40 e2       	ldi	r20, 0x20	; 32
    1084:	51 e4       	ldi	r21, 0x41	; 65
    1086:	0e 94 4e 09 	call	0x129c	; 0x129c <__divsf3>
    108a:	16 2f       	mov	r17, r22
    108c:	07 2f       	mov	r16, r23
    108e:	f8 2e       	mov	r15, r24
    1090:	e9 2e       	mov	r14, r25
		}
	
		//conversion
		v=0;
	
		for (i=0;i<nc;i++)
    1092:	c4 14       	cp	r12, r4
    1094:	d5 04       	cpc	r13, r5
    1096:	49 f6       	brne	.-110    	; 0x102a <rs232_rx_valeur+0x13c>
				mul=mul/10;
			}
		}
		
		//depassement de capacité
		if (v>=32768)
    1098:	a5 01       	movw	r20, r10
    109a:	94 01       	movw	r18, r8
    109c:	65 2f       	mov	r22, r21
    109e:	7a 2d       	mov	r23, r10
    10a0:	83 2f       	mov	r24, r19
    10a2:	98 2d       	mov	r25, r8
    10a4:	20 e0       	ldi	r18, 0x00	; 0
    10a6:	30 e0       	ldi	r19, 0x00	; 0
    10a8:	40 e0       	ldi	r20, 0x00	; 0
    10aa:	57 e4       	ldi	r21, 0x47	; 71
    10ac:	0e 94 42 0b 	call	0x1684	; 0x1684 <__gesf2>
    10b0:	87 ff       	sbrs	r24, 7
    10b2:	1d c0       	rjmp	.+58     	; 0x10ee <rs232_rx_valeur+0x200>
			valeur_flottante=0;
			valid=0;	
		}
		else
		{
			v=v*signe;
    10b4:	63 2d       	mov	r22, r3
    10b6:	77 27       	eor	r23, r23
    10b8:	67 fd       	sbrc	r22, 7
    10ba:	70 95       	com	r23
    10bc:	87 2f       	mov	r24, r23
    10be:	97 2f       	mov	r25, r23
    10c0:	0e 94 1a 0a 	call	0x1434	; 0x1434 <__floatsisf>
    10c4:	9b 01       	movw	r18, r22
    10c6:	ac 01       	movw	r20, r24
    10c8:	d5 01       	movw	r26, r10
    10ca:	f4 01       	movw	r30, r8
    10cc:	6b 2f       	mov	r22, r27
    10ce:	7a 2d       	mov	r23, r10
    10d0:	8f 2f       	mov	r24, r31
    10d2:	98 2d       	mov	r25, r8
    10d4:	0e 94 01 0c 	call	0x1802	; 0x1802 <__mulsf3>
    10d8:	9b 01       	movw	r18, r22
    10da:	ac 01       	movw	r20, r24
			valeur_flottante=v;
    10dc:	20 93 92 00 	sts	0x0092, r18
    10e0:	30 93 93 00 	sts	0x0093, r19
    10e4:	40 93 94 00 	sts	0x0094, r20
    10e8:	50 93 95 00 	sts	0x0095, r21
    10ec:	0d c0       	rjmp	.+26     	; 0x1108 <rs232_rx_valeur+0x21a>
		}
	}
	else
	{
		valeur_flottante=0;
    10ee:	80 e0       	ldi	r24, 0x00	; 0
    10f0:	90 e0       	ldi	r25, 0x00	; 0
    10f2:	a0 e0       	ldi	r26, 0x00	; 0
    10f4:	b0 e0       	ldi	r27, 0x00	; 0
    10f6:	80 93 92 00 	sts	0x0092, r24
    10fa:	90 93 93 00 	sts	0x0093, r25
    10fe:	a0 93 94 00 	sts	0x0094, r26
    1102:	b0 93 95 00 	sts	0x0095, r27
    1106:	77 24       	eor	r7, r7
	}
	
	return valid;
}
    1108:	87 2d       	mov	r24, r7
    110a:	6e 96       	adiw	r28, 0x1e	; 30
    110c:	e1 e1       	ldi	r30, 0x11	; 17
    110e:	0c 94 dd 0c 	jmp	0x19ba	; 0x19ba <__epilogue_restores__+0x2>
			}
		}
		
		if (c[i]=='.')
		{
			cpt++;
    1112:	9f 5f       	subi	r25, 0xFF	; 255
    1114:	b8 2e       	mov	r11, r24
    1116:	21 cf       	rjmp	.-446    	; 0xf5a <rs232_rx_valeur+0x6c>

00001118 <__vector_13>:

//-------------------------------------------------------------------------------------
//reception d'un message en provenance de la liaison RS232
//-------------------------------------------------------------------------------------
ISR(USART_RXC_vect)
{
    1118:	1f 92       	push	r1
    111a:	0f 92       	push	r0
    111c:	0f b6       	in	r0, 0x3f	; 63
    111e:	0f 92       	push	r0
    1120:	11 24       	eor	r1, r1
    1122:	2f 93       	push	r18
    1124:	3f 93       	push	r19
    1126:	4f 93       	push	r20
    1128:	5f 93       	push	r21
    112a:	6f 93       	push	r22
    112c:	7f 93       	push	r23
    112e:	8f 93       	push	r24
    1130:	9f 93       	push	r25
    1132:	af 93       	push	r26
    1134:	bf 93       	push	r27
    1136:	ef 93       	push	r30
    1138:	ff 93       	push	r31
    113a:	df 93       	push	r29
    113c:	cf 93       	push	r28
    113e:	0f 92       	push	r0
    1140:	cd b7       	in	r28, 0x3d	; 61
    1142:	de b7       	in	r29, 0x3e	; 62
	unsigned char cmde;	//commande reçue
	float valeur;		//valeur reçue
	uint8_t ret;		//code retour
	
	//on bloque les interruptions
	cli();
    1144:	f8 94       	cli
	
	//reception du mot de commande
	ret=rs232_rx_valeur();
    1146:	0e 94 77 07 	call	0xeee	; 0xeee <rs232_rx_valeur>
	cmde=(uint8_t)valeur_flottante;
    114a:	60 91 92 00 	lds	r22, 0x0092
    114e:	70 91 93 00 	lds	r23, 0x0093
    1152:	80 91 94 00 	lds	r24, 0x0094
    1156:	90 91 95 00 	lds	r25, 0x0095
    115a:	0e 94 ec 09 	call	0x13d8	; 0x13d8 <__fixunssfsi>
	
	//la cmde est elle dans le dictionnaire ?
	// si non, on fait pointer sur une commande "nulle" qui ne fait rien
	if (cmde>ncom)
    115e:	65 31       	cpi	r22, 0x15	; 21
    1160:	08 f0       	brcs	.+2      	; 0x1164 <__vector_13+0x4c>
	{
		cmde=0;
    1162:	60 e0       	ldi	r22, 0x00	; 0
	{
		cmde=0;
	}

	//reception de la valeur
	ret=rs232_rx_valeur();
    1164:	69 83       	std	Y+1, r22	; 0x01
    1166:	0e 94 77 07 	call	0xeee	; 0xeee <rs232_rx_valeur>
	valeur=valeur_flottante;
    116a:	80 91 92 00 	lds	r24, 0x0092
    116e:	90 91 93 00 	lds	r25, 0x0093
    1172:	a0 91 94 00 	lds	r26, 0x0094
    1176:	b0 91 95 00 	lds	r27, 0x0095
	
	//juste pour chez moi, j'affiche la commande sur un reseau de leds branché sur le port C
	PORTC=cmde;
    117a:	69 81       	ldd	r22, Y+1	; 0x01
    117c:	65 bb       	out	0x15, r22	; 21
	attente=0;
    117e:	10 92 80 00 	sts	0x0080, r1
	
	//appel de la routine pointée par la commande
	pf[cmde](valeur);
    1182:	e6 2f       	mov	r30, r22
    1184:	f0 e0       	ldi	r31, 0x00	; 0
    1186:	ee 0f       	add	r30, r30
    1188:	ff 1f       	adc	r31, r31
    118a:	ed 55       	subi	r30, 0x5D	; 93
    118c:	ff 4f       	sbci	r31, 0xFF	; 255
    118e:	01 90       	ld	r0, Z+
    1190:	f0 81       	ld	r31, Z
    1192:	e0 2d       	mov	r30, r0
    1194:	bc 01       	movw	r22, r24
    1196:	cd 01       	movw	r24, r26
    1198:	09 95       	icall
	
	attente=1;
    119a:	81 e0       	ldi	r24, 0x01	; 1
    119c:	80 93 80 00 	sts	0x0080, r24
	
	//on autorise les interruptions
	sei();
    11a0:	78 94       	sei
}
    11a2:	0f 90       	pop	r0
    11a4:	cf 91       	pop	r28
    11a6:	df 91       	pop	r29
    11a8:	ff 91       	pop	r31
    11aa:	ef 91       	pop	r30
    11ac:	bf 91       	pop	r27
    11ae:	af 91       	pop	r26
    11b0:	9f 91       	pop	r25
    11b2:	8f 91       	pop	r24
    11b4:	7f 91       	pop	r23
    11b6:	6f 91       	pop	r22
    11b8:	5f 91       	pop	r21
    11ba:	4f 91       	pop	r20
    11bc:	3f 91       	pop	r19
    11be:	2f 91       	pop	r18
    11c0:	0f 90       	pop	r0
    11c2:	0f be       	out	0x3f, r0	; 63
    11c4:	0f 90       	pop	r0
    11c6:	1f 90       	pop	r1
    11c8:	18 95       	reti

000011ca <__subsf3>:
    11ca:	50 58       	subi	r21, 0x80	; 128

000011cc <__addsf3>:
    11cc:	bb 27       	eor	r27, r27
    11ce:	aa 27       	eor	r26, r26
    11d0:	0e d0       	rcall	.+28     	; 0x11ee <__addsf3x>
    11d2:	07 c2       	rjmp	.+1038   	; 0x15e2 <__fp_round>
    11d4:	f8 d1       	rcall	.+1008   	; 0x15c6 <__fp_pscA>
    11d6:	30 f0       	brcs	.+12     	; 0x11e4 <__addsf3+0x18>
    11d8:	fd d1       	rcall	.+1018   	; 0x15d4 <__fp_pscB>
    11da:	20 f0       	brcs	.+8      	; 0x11e4 <__addsf3+0x18>
    11dc:	31 f4       	brne	.+12     	; 0x11ea <__addsf3+0x1e>
    11de:	9f 3f       	cpi	r25, 0xFF	; 255
    11e0:	11 f4       	brne	.+4      	; 0x11e6 <__addsf3+0x1a>
    11e2:	1e f4       	brtc	.+6      	; 0x11ea <__addsf3+0x1e>
    11e4:	c8 c1       	rjmp	.+912    	; 0x1576 <__fp_nan>
    11e6:	0e f4       	brtc	.+2      	; 0x11ea <__addsf3+0x1e>
    11e8:	e0 95       	com	r30
    11ea:	e7 fb       	bst	r30, 7
    11ec:	95 c1       	rjmp	.+810    	; 0x1518 <__fp_inf>

000011ee <__addsf3x>:
    11ee:	e9 2f       	mov	r30, r25
    11f0:	09 d2       	rcall	.+1042   	; 0x1604 <__fp_split3>
    11f2:	80 f3       	brcs	.-32     	; 0x11d4 <__addsf3+0x8>
    11f4:	ba 17       	cp	r27, r26
    11f6:	62 07       	cpc	r22, r18
    11f8:	73 07       	cpc	r23, r19
    11fa:	84 07       	cpc	r24, r20
    11fc:	95 07       	cpc	r25, r21
    11fe:	18 f0       	brcs	.+6      	; 0x1206 <__addsf3x+0x18>
    1200:	71 f4       	brne	.+28     	; 0x121e <__addsf3x+0x30>
    1202:	9e f5       	brtc	.+102    	; 0x126a <__addsf3x+0x7c>
    1204:	38 c2       	rjmp	.+1136   	; 0x1676 <__fp_zero>
    1206:	0e f4       	brtc	.+2      	; 0x120a <__addsf3x+0x1c>
    1208:	e0 95       	com	r30
    120a:	0b 2e       	mov	r0, r27
    120c:	ba 2f       	mov	r27, r26
    120e:	a0 2d       	mov	r26, r0
    1210:	0b 01       	movw	r0, r22
    1212:	b9 01       	movw	r22, r18
    1214:	90 01       	movw	r18, r0
    1216:	0c 01       	movw	r0, r24
    1218:	ca 01       	movw	r24, r20
    121a:	a0 01       	movw	r20, r0
    121c:	11 24       	eor	r1, r1
    121e:	ff 27       	eor	r31, r31
    1220:	59 1b       	sub	r21, r25
    1222:	99 f0       	breq	.+38     	; 0x124a <__addsf3x+0x5c>
    1224:	59 3f       	cpi	r21, 0xF9	; 249
    1226:	50 f4       	brcc	.+20     	; 0x123c <__addsf3x+0x4e>
    1228:	50 3e       	cpi	r21, 0xE0	; 224
    122a:	68 f1       	brcs	.+90     	; 0x1286 <__addsf3x+0x98>
    122c:	1a 16       	cp	r1, r26
    122e:	f0 40       	sbci	r31, 0x00	; 0
    1230:	a2 2f       	mov	r26, r18
    1232:	23 2f       	mov	r18, r19
    1234:	34 2f       	mov	r19, r20
    1236:	44 27       	eor	r20, r20
    1238:	58 5f       	subi	r21, 0xF8	; 248
    123a:	f3 cf       	rjmp	.-26     	; 0x1222 <__addsf3x+0x34>
    123c:	46 95       	lsr	r20
    123e:	37 95       	ror	r19
    1240:	27 95       	ror	r18
    1242:	a7 95       	ror	r26
    1244:	f0 40       	sbci	r31, 0x00	; 0
    1246:	53 95       	inc	r21
    1248:	c9 f7       	brne	.-14     	; 0x123c <__addsf3x+0x4e>
    124a:	7e f4       	brtc	.+30     	; 0x126a <__addsf3x+0x7c>
    124c:	1f 16       	cp	r1, r31
    124e:	ba 0b       	sbc	r27, r26
    1250:	62 0b       	sbc	r22, r18
    1252:	73 0b       	sbc	r23, r19
    1254:	84 0b       	sbc	r24, r20
    1256:	ba f0       	brmi	.+46     	; 0x1286 <__addsf3x+0x98>
    1258:	91 50       	subi	r25, 0x01	; 1
    125a:	a1 f0       	breq	.+40     	; 0x1284 <__addsf3x+0x96>
    125c:	ff 0f       	add	r31, r31
    125e:	bb 1f       	adc	r27, r27
    1260:	66 1f       	adc	r22, r22
    1262:	77 1f       	adc	r23, r23
    1264:	88 1f       	adc	r24, r24
    1266:	c2 f7       	brpl	.-16     	; 0x1258 <__addsf3x+0x6a>
    1268:	0e c0       	rjmp	.+28     	; 0x1286 <__addsf3x+0x98>
    126a:	ba 0f       	add	r27, r26
    126c:	62 1f       	adc	r22, r18
    126e:	73 1f       	adc	r23, r19
    1270:	84 1f       	adc	r24, r20
    1272:	48 f4       	brcc	.+18     	; 0x1286 <__addsf3x+0x98>
    1274:	87 95       	ror	r24
    1276:	77 95       	ror	r23
    1278:	67 95       	ror	r22
    127a:	b7 95       	ror	r27
    127c:	f7 95       	ror	r31
    127e:	9e 3f       	cpi	r25, 0xFE	; 254
    1280:	08 f0       	brcs	.+2      	; 0x1284 <__addsf3x+0x96>
    1282:	b3 cf       	rjmp	.-154    	; 0x11ea <__addsf3+0x1e>
    1284:	93 95       	inc	r25
    1286:	88 0f       	add	r24, r24
    1288:	08 f0       	brcs	.+2      	; 0x128c <__addsf3x+0x9e>
    128a:	99 27       	eor	r25, r25
    128c:	ee 0f       	add	r30, r30
    128e:	97 95       	ror	r25
    1290:	87 95       	ror	r24
    1292:	08 95       	ret

00001294 <__cmpsf2>:
    1294:	1d d1       	rcall	.+570    	; 0x14d0 <__fp_cmp>
    1296:	08 f4       	brcc	.+2      	; 0x129a <__cmpsf2+0x6>
    1298:	81 e0       	ldi	r24, 0x01	; 1
    129a:	08 95       	ret

0000129c <__divsf3>:
    129c:	0c d0       	rcall	.+24     	; 0x12b6 <__divsf3x>
    129e:	a1 c1       	rjmp	.+834    	; 0x15e2 <__fp_round>
    12a0:	99 d1       	rcall	.+818    	; 0x15d4 <__fp_pscB>
    12a2:	40 f0       	brcs	.+16     	; 0x12b4 <__divsf3+0x18>
    12a4:	90 d1       	rcall	.+800    	; 0x15c6 <__fp_pscA>
    12a6:	30 f0       	brcs	.+12     	; 0x12b4 <__divsf3+0x18>
    12a8:	21 f4       	brne	.+8      	; 0x12b2 <__divsf3+0x16>
    12aa:	5f 3f       	cpi	r21, 0xFF	; 255
    12ac:	19 f0       	breq	.+6      	; 0x12b4 <__divsf3+0x18>
    12ae:	34 c1       	rjmp	.+616    	; 0x1518 <__fp_inf>
    12b0:	51 11       	cpse	r21, r1
    12b2:	e2 c1       	rjmp	.+964    	; 0x1678 <__fp_szero>
    12b4:	60 c1       	rjmp	.+704    	; 0x1576 <__fp_nan>

000012b6 <__divsf3x>:
    12b6:	a6 d1       	rcall	.+844    	; 0x1604 <__fp_split3>
    12b8:	98 f3       	brcs	.-26     	; 0x12a0 <__divsf3+0x4>

000012ba <__divsf3_pse>:
    12ba:	99 23       	and	r25, r25
    12bc:	c9 f3       	breq	.-14     	; 0x12b0 <__divsf3+0x14>
    12be:	55 23       	and	r21, r21
    12c0:	b1 f3       	breq	.-20     	; 0x12ae <__divsf3+0x12>
    12c2:	95 1b       	sub	r25, r21
    12c4:	55 0b       	sbc	r21, r21
    12c6:	bb 27       	eor	r27, r27
    12c8:	aa 27       	eor	r26, r26
    12ca:	62 17       	cp	r22, r18
    12cc:	73 07       	cpc	r23, r19
    12ce:	84 07       	cpc	r24, r20
    12d0:	38 f0       	brcs	.+14     	; 0x12e0 <__divsf3_pse+0x26>
    12d2:	9f 5f       	subi	r25, 0xFF	; 255
    12d4:	5f 4f       	sbci	r21, 0xFF	; 255
    12d6:	22 0f       	add	r18, r18
    12d8:	33 1f       	adc	r19, r19
    12da:	44 1f       	adc	r20, r20
    12dc:	aa 1f       	adc	r26, r26
    12de:	a9 f3       	breq	.-22     	; 0x12ca <__divsf3_pse+0x10>
    12e0:	33 d0       	rcall	.+102    	; 0x1348 <__divsf3_pse+0x8e>
    12e2:	0e 2e       	mov	r0, r30
    12e4:	3a f0       	brmi	.+14     	; 0x12f4 <__divsf3_pse+0x3a>
    12e6:	e0 e8       	ldi	r30, 0x80	; 128
    12e8:	30 d0       	rcall	.+96     	; 0x134a <__divsf3_pse+0x90>
    12ea:	91 50       	subi	r25, 0x01	; 1
    12ec:	50 40       	sbci	r21, 0x00	; 0
    12ee:	e6 95       	lsr	r30
    12f0:	00 1c       	adc	r0, r0
    12f2:	ca f7       	brpl	.-14     	; 0x12e6 <__divsf3_pse+0x2c>
    12f4:	29 d0       	rcall	.+82     	; 0x1348 <__divsf3_pse+0x8e>
    12f6:	fe 2f       	mov	r31, r30
    12f8:	27 d0       	rcall	.+78     	; 0x1348 <__divsf3_pse+0x8e>
    12fa:	66 0f       	add	r22, r22
    12fc:	77 1f       	adc	r23, r23
    12fe:	88 1f       	adc	r24, r24
    1300:	bb 1f       	adc	r27, r27
    1302:	26 17       	cp	r18, r22
    1304:	37 07       	cpc	r19, r23
    1306:	48 07       	cpc	r20, r24
    1308:	ab 07       	cpc	r26, r27
    130a:	b0 e8       	ldi	r27, 0x80	; 128
    130c:	09 f0       	breq	.+2      	; 0x1310 <__divsf3_pse+0x56>
    130e:	bb 0b       	sbc	r27, r27
    1310:	80 2d       	mov	r24, r0
    1312:	bf 01       	movw	r22, r30
    1314:	ff 27       	eor	r31, r31
    1316:	93 58       	subi	r25, 0x83	; 131
    1318:	5f 4f       	sbci	r21, 0xFF	; 255
    131a:	2a f0       	brmi	.+10     	; 0x1326 <__divsf3_pse+0x6c>
    131c:	9e 3f       	cpi	r25, 0xFE	; 254
    131e:	51 05       	cpc	r21, r1
    1320:	68 f0       	brcs	.+26     	; 0x133c <__divsf3_pse+0x82>
    1322:	fa c0       	rjmp	.+500    	; 0x1518 <__fp_inf>
    1324:	a9 c1       	rjmp	.+850    	; 0x1678 <__fp_szero>
    1326:	5f 3f       	cpi	r21, 0xFF	; 255
    1328:	ec f3       	brlt	.-6      	; 0x1324 <__divsf3_pse+0x6a>
    132a:	98 3e       	cpi	r25, 0xE8	; 232
    132c:	dc f3       	brlt	.-10     	; 0x1324 <__divsf3_pse+0x6a>
    132e:	86 95       	lsr	r24
    1330:	77 95       	ror	r23
    1332:	67 95       	ror	r22
    1334:	b7 95       	ror	r27
    1336:	f7 95       	ror	r31
    1338:	9f 5f       	subi	r25, 0xFF	; 255
    133a:	c9 f7       	brne	.-14     	; 0x132e <__divsf3_pse+0x74>
    133c:	88 0f       	add	r24, r24
    133e:	91 1d       	adc	r25, r1
    1340:	96 95       	lsr	r25
    1342:	87 95       	ror	r24
    1344:	97 f9       	bld	r25, 7
    1346:	08 95       	ret
    1348:	e1 e0       	ldi	r30, 0x01	; 1
    134a:	66 0f       	add	r22, r22
    134c:	77 1f       	adc	r23, r23
    134e:	88 1f       	adc	r24, r24
    1350:	bb 1f       	adc	r27, r27
    1352:	62 17       	cp	r22, r18
    1354:	73 07       	cpc	r23, r19
    1356:	84 07       	cpc	r24, r20
    1358:	ba 07       	cpc	r27, r26
    135a:	20 f0       	brcs	.+8      	; 0x1364 <__divsf3_pse+0xaa>
    135c:	62 1b       	sub	r22, r18
    135e:	73 0b       	sbc	r23, r19
    1360:	84 0b       	sbc	r24, r20
    1362:	ba 0b       	sbc	r27, r26
    1364:	ee 1f       	adc	r30, r30
    1366:	88 f7       	brcc	.-30     	; 0x134a <__divsf3_pse+0x90>
    1368:	e0 95       	com	r30
    136a:	08 95       	ret
    136c:	19 f4       	brne	.+6      	; 0x1374 <__divsf3_pse+0xba>
    136e:	0e f0       	brts	.+2      	; 0x1372 <__divsf3_pse+0xb8>
    1370:	d3 c0       	rjmp	.+422    	; 0x1518 <__fp_inf>
    1372:	81 c1       	rjmp	.+770    	; 0x1676 <__fp_zero>
    1374:	00 c1       	rjmp	.+512    	; 0x1576 <__fp_nan>

00001376 <exp>:
    1376:	4e d1       	rcall	.+668    	; 0x1614 <__fp_splitA>
    1378:	c8 f3       	brcs	.-14     	; 0x136c <__divsf3_pse+0xb2>
    137a:	96 38       	cpi	r25, 0x86	; 134
    137c:	c0 f7       	brcc	.-16     	; 0x136e <__divsf3_pse+0xb4>
    137e:	07 f8       	bld	r0, 7
    1380:	0f 92       	push	r0
    1382:	e8 94       	clt
    1384:	2b e3       	ldi	r18, 0x3B	; 59
    1386:	3a ea       	ldi	r19, 0xAA	; 170
    1388:	48 eb       	ldi	r20, 0xB8	; 184
    138a:	5f e7       	ldi	r21, 0x7F	; 127
    138c:	48 d2       	rcall	.+1168   	; 0x181e <__mulsf3_pse>
    138e:	0f 92       	push	r0
    1390:	0f 92       	push	r0
    1392:	0f 92       	push	r0
    1394:	4d b7       	in	r20, 0x3d	; 61
    1396:	5e b7       	in	r21, 0x3e	; 62
    1398:	0f 92       	push	r0
    139a:	00 d2       	rcall	.+1024   	; 0x179c <modf>
    139c:	e4 e5       	ldi	r30, 0x54	; 84
    139e:	f0 e0       	ldi	r31, 0x00	; 0
    13a0:	ed d0       	rcall	.+474    	; 0x157c <__fp_powser>
    13a2:	4f 91       	pop	r20
    13a4:	5f 91       	pop	r21
    13a6:	ef 91       	pop	r30
    13a8:	ff 91       	pop	r31
    13aa:	e5 95       	asr	r30
    13ac:	ee 1f       	adc	r30, r30
    13ae:	ff 1f       	adc	r31, r31
    13b0:	49 f0       	breq	.+18     	; 0x13c4 <exp+0x4e>
    13b2:	fe 57       	subi	r31, 0x7E	; 126
    13b4:	e0 68       	ori	r30, 0x80	; 128
    13b6:	44 27       	eor	r20, r20
    13b8:	ee 0f       	add	r30, r30
    13ba:	44 1f       	adc	r20, r20
    13bc:	fa 95       	dec	r31
    13be:	e1 f7       	brne	.-8      	; 0x13b8 <exp+0x42>
    13c0:	41 95       	neg	r20
    13c2:	55 0b       	sbc	r21, r21
    13c4:	6c d1       	rcall	.+728    	; 0x169e <ldexp>
    13c6:	0f 90       	pop	r0
    13c8:	07 fe       	sbrs	r0, 7
    13ca:	60 c1       	rjmp	.+704    	; 0x168c <inverse>
    13cc:	08 95       	ret

000013ce <__fixsfsi>:
    13ce:	04 d0       	rcall	.+8      	; 0x13d8 <__fixunssfsi>
    13d0:	68 94       	set
    13d2:	b1 11       	cpse	r27, r1
    13d4:	51 c1       	rjmp	.+674    	; 0x1678 <__fp_szero>
    13d6:	08 95       	ret

000013d8 <__fixunssfsi>:
    13d8:	1d d1       	rcall	.+570    	; 0x1614 <__fp_splitA>
    13da:	88 f0       	brcs	.+34     	; 0x13fe <__fixunssfsi+0x26>
    13dc:	9f 57       	subi	r25, 0x7F	; 127
    13de:	90 f0       	brcs	.+36     	; 0x1404 <__fixunssfsi+0x2c>
    13e0:	b9 2f       	mov	r27, r25
    13e2:	99 27       	eor	r25, r25
    13e4:	b7 51       	subi	r27, 0x17	; 23
    13e6:	a0 f0       	brcs	.+40     	; 0x1410 <__fixunssfsi+0x38>
    13e8:	d1 f0       	breq	.+52     	; 0x141e <__fixunssfsi+0x46>
    13ea:	66 0f       	add	r22, r22
    13ec:	77 1f       	adc	r23, r23
    13ee:	88 1f       	adc	r24, r24
    13f0:	99 1f       	adc	r25, r25
    13f2:	1a f0       	brmi	.+6      	; 0x13fa <__fixunssfsi+0x22>
    13f4:	ba 95       	dec	r27
    13f6:	c9 f7       	brne	.-14     	; 0x13ea <__fixunssfsi+0x12>
    13f8:	12 c0       	rjmp	.+36     	; 0x141e <__fixunssfsi+0x46>
    13fa:	b1 30       	cpi	r27, 0x01	; 1
    13fc:	81 f0       	breq	.+32     	; 0x141e <__fixunssfsi+0x46>
    13fe:	3b d1       	rcall	.+630    	; 0x1676 <__fp_zero>
    1400:	b1 e0       	ldi	r27, 0x01	; 1
    1402:	08 95       	ret
    1404:	38 c1       	rjmp	.+624    	; 0x1676 <__fp_zero>
    1406:	67 2f       	mov	r22, r23
    1408:	78 2f       	mov	r23, r24
    140a:	88 27       	eor	r24, r24
    140c:	b8 5f       	subi	r27, 0xF8	; 248
    140e:	39 f0       	breq	.+14     	; 0x141e <__fixunssfsi+0x46>
    1410:	b9 3f       	cpi	r27, 0xF9	; 249
    1412:	cc f3       	brlt	.-14     	; 0x1406 <__fixunssfsi+0x2e>
    1414:	86 95       	lsr	r24
    1416:	77 95       	ror	r23
    1418:	67 95       	ror	r22
    141a:	b3 95       	inc	r27
    141c:	d9 f7       	brne	.-10     	; 0x1414 <__fixunssfsi+0x3c>
    141e:	3e f4       	brtc	.+14     	; 0x142e <__fixunssfsi+0x56>
    1420:	90 95       	com	r25
    1422:	80 95       	com	r24
    1424:	70 95       	com	r23
    1426:	61 95       	neg	r22
    1428:	7f 4f       	sbci	r23, 0xFF	; 255
    142a:	8f 4f       	sbci	r24, 0xFF	; 255
    142c:	9f 4f       	sbci	r25, 0xFF	; 255
    142e:	08 95       	ret

00001430 <__floatunsisf>:
    1430:	e8 94       	clt
    1432:	09 c0       	rjmp	.+18     	; 0x1446 <__floatsisf+0x12>

00001434 <__floatsisf>:
    1434:	97 fb       	bst	r25, 7
    1436:	3e f4       	brtc	.+14     	; 0x1446 <__floatsisf+0x12>
    1438:	90 95       	com	r25
    143a:	80 95       	com	r24
    143c:	70 95       	com	r23
    143e:	61 95       	neg	r22
    1440:	7f 4f       	sbci	r23, 0xFF	; 255
    1442:	8f 4f       	sbci	r24, 0xFF	; 255
    1444:	9f 4f       	sbci	r25, 0xFF	; 255
    1446:	99 23       	and	r25, r25
    1448:	a9 f0       	breq	.+42     	; 0x1474 <__floatsisf+0x40>
    144a:	f9 2f       	mov	r31, r25
    144c:	96 e9       	ldi	r25, 0x96	; 150
    144e:	bb 27       	eor	r27, r27
    1450:	93 95       	inc	r25
    1452:	f6 95       	lsr	r31
    1454:	87 95       	ror	r24
    1456:	77 95       	ror	r23
    1458:	67 95       	ror	r22
    145a:	b7 95       	ror	r27
    145c:	f1 11       	cpse	r31, r1
    145e:	f8 cf       	rjmp	.-16     	; 0x1450 <__floatsisf+0x1c>
    1460:	fa f4       	brpl	.+62     	; 0x14a0 <__floatsisf+0x6c>
    1462:	bb 0f       	add	r27, r27
    1464:	11 f4       	brne	.+4      	; 0x146a <__floatsisf+0x36>
    1466:	60 ff       	sbrs	r22, 0
    1468:	1b c0       	rjmp	.+54     	; 0x14a0 <__floatsisf+0x6c>
    146a:	6f 5f       	subi	r22, 0xFF	; 255
    146c:	7f 4f       	sbci	r23, 0xFF	; 255
    146e:	8f 4f       	sbci	r24, 0xFF	; 255
    1470:	9f 4f       	sbci	r25, 0xFF	; 255
    1472:	16 c0       	rjmp	.+44     	; 0x14a0 <__floatsisf+0x6c>
    1474:	88 23       	and	r24, r24
    1476:	11 f0       	breq	.+4      	; 0x147c <__floatsisf+0x48>
    1478:	96 e9       	ldi	r25, 0x96	; 150
    147a:	11 c0       	rjmp	.+34     	; 0x149e <__floatsisf+0x6a>
    147c:	77 23       	and	r23, r23
    147e:	21 f0       	breq	.+8      	; 0x1488 <__floatsisf+0x54>
    1480:	9e e8       	ldi	r25, 0x8E	; 142
    1482:	87 2f       	mov	r24, r23
    1484:	76 2f       	mov	r23, r22
    1486:	05 c0       	rjmp	.+10     	; 0x1492 <__floatsisf+0x5e>
    1488:	66 23       	and	r22, r22
    148a:	71 f0       	breq	.+28     	; 0x14a8 <__floatsisf+0x74>
    148c:	96 e8       	ldi	r25, 0x86	; 134
    148e:	86 2f       	mov	r24, r22
    1490:	70 e0       	ldi	r23, 0x00	; 0
    1492:	60 e0       	ldi	r22, 0x00	; 0
    1494:	2a f0       	brmi	.+10     	; 0x14a0 <__floatsisf+0x6c>
    1496:	9a 95       	dec	r25
    1498:	66 0f       	add	r22, r22
    149a:	77 1f       	adc	r23, r23
    149c:	88 1f       	adc	r24, r24
    149e:	da f7       	brpl	.-10     	; 0x1496 <__floatsisf+0x62>
    14a0:	88 0f       	add	r24, r24
    14a2:	96 95       	lsr	r25
    14a4:	87 95       	ror	r24
    14a6:	97 f9       	bld	r25, 7
    14a8:	08 95       	ret

000014aa <floor>:
    14aa:	ce d0       	rcall	.+412    	; 0x1648 <__fp_trunc>
    14ac:	80 f0       	brcs	.+32     	; 0x14ce <floor+0x24>
    14ae:	9f 37       	cpi	r25, 0x7F	; 127
    14b0:	40 f4       	brcc	.+16     	; 0x14c2 <floor+0x18>
    14b2:	91 11       	cpse	r25, r1
    14b4:	0e f0       	brts	.+2      	; 0x14b8 <floor+0xe>
    14b6:	e0 c0       	rjmp	.+448    	; 0x1678 <__fp_szero>
    14b8:	60 e0       	ldi	r22, 0x00	; 0
    14ba:	70 e0       	ldi	r23, 0x00	; 0
    14bc:	80 e8       	ldi	r24, 0x80	; 128
    14be:	9f eb       	ldi	r25, 0xBF	; 191
    14c0:	08 95       	ret
    14c2:	26 f4       	brtc	.+8      	; 0x14cc <floor+0x22>
    14c4:	1b 16       	cp	r1, r27
    14c6:	61 1d       	adc	r22, r1
    14c8:	71 1d       	adc	r23, r1
    14ca:	81 1d       	adc	r24, r1
    14cc:	2b c0       	rjmp	.+86     	; 0x1524 <__fp_mintl>
    14ce:	45 c0       	rjmp	.+138    	; 0x155a <__fp_mpack>

000014d0 <__fp_cmp>:
    14d0:	99 0f       	add	r25, r25
    14d2:	00 08       	sbc	r0, r0
    14d4:	55 0f       	add	r21, r21
    14d6:	aa 0b       	sbc	r26, r26
    14d8:	e0 e8       	ldi	r30, 0x80	; 128
    14da:	fe ef       	ldi	r31, 0xFE	; 254
    14dc:	16 16       	cp	r1, r22
    14de:	17 06       	cpc	r1, r23
    14e0:	e8 07       	cpc	r30, r24
    14e2:	f9 07       	cpc	r31, r25
    14e4:	c0 f0       	brcs	.+48     	; 0x1516 <__fp_cmp+0x46>
    14e6:	12 16       	cp	r1, r18
    14e8:	13 06       	cpc	r1, r19
    14ea:	e4 07       	cpc	r30, r20
    14ec:	f5 07       	cpc	r31, r21
    14ee:	98 f0       	brcs	.+38     	; 0x1516 <__fp_cmp+0x46>
    14f0:	62 1b       	sub	r22, r18
    14f2:	73 0b       	sbc	r23, r19
    14f4:	84 0b       	sbc	r24, r20
    14f6:	95 0b       	sbc	r25, r21
    14f8:	39 f4       	brne	.+14     	; 0x1508 <__fp_cmp+0x38>
    14fa:	0a 26       	eor	r0, r26
    14fc:	61 f0       	breq	.+24     	; 0x1516 <__fp_cmp+0x46>
    14fe:	23 2b       	or	r18, r19
    1500:	24 2b       	or	r18, r20
    1502:	25 2b       	or	r18, r21
    1504:	21 f4       	brne	.+8      	; 0x150e <__fp_cmp+0x3e>
    1506:	08 95       	ret
    1508:	0a 26       	eor	r0, r26
    150a:	09 f4       	brne	.+2      	; 0x150e <__fp_cmp+0x3e>
    150c:	a1 40       	sbci	r26, 0x01	; 1
    150e:	a6 95       	lsr	r26
    1510:	8f ef       	ldi	r24, 0xFF	; 255
    1512:	81 1d       	adc	r24, r1
    1514:	81 1d       	adc	r24, r1
    1516:	08 95       	ret

00001518 <__fp_inf>:
    1518:	97 f9       	bld	r25, 7
    151a:	9f 67       	ori	r25, 0x7F	; 127
    151c:	80 e8       	ldi	r24, 0x80	; 128
    151e:	70 e0       	ldi	r23, 0x00	; 0
    1520:	60 e0       	ldi	r22, 0x00	; 0
    1522:	08 95       	ret

00001524 <__fp_mintl>:
    1524:	88 23       	and	r24, r24
    1526:	71 f4       	brne	.+28     	; 0x1544 <__fp_mintl+0x20>
    1528:	77 23       	and	r23, r23
    152a:	21 f0       	breq	.+8      	; 0x1534 <__fp_mintl+0x10>
    152c:	98 50       	subi	r25, 0x08	; 8
    152e:	87 2b       	or	r24, r23
    1530:	76 2f       	mov	r23, r22
    1532:	07 c0       	rjmp	.+14     	; 0x1542 <__fp_mintl+0x1e>
    1534:	66 23       	and	r22, r22
    1536:	11 f4       	brne	.+4      	; 0x153c <__fp_mintl+0x18>
    1538:	99 27       	eor	r25, r25
    153a:	0d c0       	rjmp	.+26     	; 0x1556 <__fp_mintl+0x32>
    153c:	90 51       	subi	r25, 0x10	; 16
    153e:	86 2b       	or	r24, r22
    1540:	70 e0       	ldi	r23, 0x00	; 0
    1542:	60 e0       	ldi	r22, 0x00	; 0
    1544:	2a f0       	brmi	.+10     	; 0x1550 <__fp_mintl+0x2c>
    1546:	9a 95       	dec	r25
    1548:	66 0f       	add	r22, r22
    154a:	77 1f       	adc	r23, r23
    154c:	88 1f       	adc	r24, r24
    154e:	da f7       	brpl	.-10     	; 0x1546 <__fp_mintl+0x22>
    1550:	88 0f       	add	r24, r24
    1552:	96 95       	lsr	r25
    1554:	87 95       	ror	r24
    1556:	97 f9       	bld	r25, 7
    1558:	08 95       	ret

0000155a <__fp_mpack>:
    155a:	9f 3f       	cpi	r25, 0xFF	; 255
    155c:	31 f0       	breq	.+12     	; 0x156a <__fp_mpack_finite+0xc>

0000155e <__fp_mpack_finite>:
    155e:	91 50       	subi	r25, 0x01	; 1
    1560:	20 f4       	brcc	.+8      	; 0x156a <__fp_mpack_finite+0xc>
    1562:	87 95       	ror	r24
    1564:	77 95       	ror	r23
    1566:	67 95       	ror	r22
    1568:	b7 95       	ror	r27
    156a:	88 0f       	add	r24, r24
    156c:	91 1d       	adc	r25, r1
    156e:	96 95       	lsr	r25
    1570:	87 95       	ror	r24
    1572:	97 f9       	bld	r25, 7
    1574:	08 95       	ret

00001576 <__fp_nan>:
    1576:	9f ef       	ldi	r25, 0xFF	; 255
    1578:	80 ec       	ldi	r24, 0xC0	; 192
    157a:	08 95       	ret

0000157c <__fp_powser>:
    157c:	df 93       	push	r29
    157e:	cf 93       	push	r28
    1580:	1f 93       	push	r17
    1582:	0f 93       	push	r16
    1584:	ff 92       	push	r15
    1586:	ef 92       	push	r14
    1588:	df 92       	push	r13
    158a:	7b 01       	movw	r14, r22
    158c:	8c 01       	movw	r16, r24
    158e:	68 94       	set
    1590:	05 c0       	rjmp	.+10     	; 0x159c <__fp_powser+0x20>
    1592:	da 2e       	mov	r13, r26
    1594:	ef 01       	movw	r28, r30
    1596:	41 d1       	rcall	.+642    	; 0x181a <__mulsf3x>
    1598:	fe 01       	movw	r30, r28
    159a:	e8 94       	clt
    159c:	a5 91       	lpm	r26, Z+
    159e:	25 91       	lpm	r18, Z+
    15a0:	35 91       	lpm	r19, Z+
    15a2:	45 91       	lpm	r20, Z+
    15a4:	55 91       	lpm	r21, Z+
    15a6:	ae f3       	brts	.-22     	; 0x1592 <__fp_powser+0x16>
    15a8:	ef 01       	movw	r28, r30
    15aa:	21 de       	rcall	.-958    	; 0x11ee <__addsf3x>
    15ac:	fe 01       	movw	r30, r28
    15ae:	97 01       	movw	r18, r14
    15b0:	a8 01       	movw	r20, r16
    15b2:	da 94       	dec	r13
    15b4:	79 f7       	brne	.-34     	; 0x1594 <__fp_powser+0x18>
    15b6:	df 90       	pop	r13
    15b8:	ef 90       	pop	r14
    15ba:	ff 90       	pop	r15
    15bc:	0f 91       	pop	r16
    15be:	1f 91       	pop	r17
    15c0:	cf 91       	pop	r28
    15c2:	df 91       	pop	r29
    15c4:	08 95       	ret

000015c6 <__fp_pscA>:
    15c6:	00 24       	eor	r0, r0
    15c8:	0a 94       	dec	r0
    15ca:	16 16       	cp	r1, r22
    15cc:	17 06       	cpc	r1, r23
    15ce:	18 06       	cpc	r1, r24
    15d0:	09 06       	cpc	r0, r25
    15d2:	08 95       	ret

000015d4 <__fp_pscB>:
    15d4:	00 24       	eor	r0, r0
    15d6:	0a 94       	dec	r0
    15d8:	12 16       	cp	r1, r18
    15da:	13 06       	cpc	r1, r19
    15dc:	14 06       	cpc	r1, r20
    15de:	05 06       	cpc	r0, r21
    15e0:	08 95       	ret

000015e2 <__fp_round>:
    15e2:	09 2e       	mov	r0, r25
    15e4:	03 94       	inc	r0
    15e6:	00 0c       	add	r0, r0
    15e8:	11 f4       	brne	.+4      	; 0x15ee <__fp_round+0xc>
    15ea:	88 23       	and	r24, r24
    15ec:	52 f0       	brmi	.+20     	; 0x1602 <__fp_round+0x20>
    15ee:	bb 0f       	add	r27, r27
    15f0:	40 f4       	brcc	.+16     	; 0x1602 <__fp_round+0x20>
    15f2:	bf 2b       	or	r27, r31
    15f4:	11 f4       	brne	.+4      	; 0x15fa <__fp_round+0x18>
    15f6:	60 ff       	sbrs	r22, 0
    15f8:	04 c0       	rjmp	.+8      	; 0x1602 <__fp_round+0x20>
    15fa:	6f 5f       	subi	r22, 0xFF	; 255
    15fc:	7f 4f       	sbci	r23, 0xFF	; 255
    15fe:	8f 4f       	sbci	r24, 0xFF	; 255
    1600:	9f 4f       	sbci	r25, 0xFF	; 255
    1602:	08 95       	ret

00001604 <__fp_split3>:
    1604:	57 fd       	sbrc	r21, 7
    1606:	90 58       	subi	r25, 0x80	; 128
    1608:	44 0f       	add	r20, r20
    160a:	55 1f       	adc	r21, r21
    160c:	59 f0       	breq	.+22     	; 0x1624 <__fp_splitA+0x10>
    160e:	5f 3f       	cpi	r21, 0xFF	; 255
    1610:	71 f0       	breq	.+28     	; 0x162e <__fp_splitA+0x1a>
    1612:	47 95       	ror	r20

00001614 <__fp_splitA>:
    1614:	88 0f       	add	r24, r24
    1616:	97 fb       	bst	r25, 7
    1618:	99 1f       	adc	r25, r25
    161a:	61 f0       	breq	.+24     	; 0x1634 <__fp_splitA+0x20>
    161c:	9f 3f       	cpi	r25, 0xFF	; 255
    161e:	79 f0       	breq	.+30     	; 0x163e <__fp_splitA+0x2a>
    1620:	87 95       	ror	r24
    1622:	08 95       	ret
    1624:	12 16       	cp	r1, r18
    1626:	13 06       	cpc	r1, r19
    1628:	14 06       	cpc	r1, r20
    162a:	55 1f       	adc	r21, r21
    162c:	f2 cf       	rjmp	.-28     	; 0x1612 <__fp_split3+0xe>
    162e:	46 95       	lsr	r20
    1630:	f1 df       	rcall	.-30     	; 0x1614 <__fp_splitA>
    1632:	08 c0       	rjmp	.+16     	; 0x1644 <__fp_splitA+0x30>
    1634:	16 16       	cp	r1, r22
    1636:	17 06       	cpc	r1, r23
    1638:	18 06       	cpc	r1, r24
    163a:	99 1f       	adc	r25, r25
    163c:	f1 cf       	rjmp	.-30     	; 0x1620 <__fp_splitA+0xc>
    163e:	86 95       	lsr	r24
    1640:	71 05       	cpc	r23, r1
    1642:	61 05       	cpc	r22, r1
    1644:	08 94       	sec
    1646:	08 95       	ret

00001648 <__fp_trunc>:
    1648:	e5 df       	rcall	.-54     	; 0x1614 <__fp_splitA>
    164a:	a0 f0       	brcs	.+40     	; 0x1674 <__fp_trunc+0x2c>
    164c:	be e7       	ldi	r27, 0x7E	; 126
    164e:	b9 17       	cp	r27, r25
    1650:	88 f4       	brcc	.+34     	; 0x1674 <__fp_trunc+0x2c>
    1652:	bb 27       	eor	r27, r27
    1654:	9f 38       	cpi	r25, 0x8F	; 143
    1656:	60 f4       	brcc	.+24     	; 0x1670 <__fp_trunc+0x28>
    1658:	16 16       	cp	r1, r22
    165a:	b1 1d       	adc	r27, r1
    165c:	67 2f       	mov	r22, r23
    165e:	78 2f       	mov	r23, r24
    1660:	88 27       	eor	r24, r24
    1662:	98 5f       	subi	r25, 0xF8	; 248
    1664:	f7 cf       	rjmp	.-18     	; 0x1654 <__fp_trunc+0xc>
    1666:	86 95       	lsr	r24
    1668:	77 95       	ror	r23
    166a:	67 95       	ror	r22
    166c:	b1 1d       	adc	r27, r1
    166e:	93 95       	inc	r25
    1670:	96 39       	cpi	r25, 0x96	; 150
    1672:	c8 f3       	brcs	.-14     	; 0x1666 <__fp_trunc+0x1e>
    1674:	08 95       	ret

00001676 <__fp_zero>:
    1676:	e8 94       	clt

00001678 <__fp_szero>:
    1678:	bb 27       	eor	r27, r27
    167a:	66 27       	eor	r22, r22
    167c:	77 27       	eor	r23, r23
    167e:	cb 01       	movw	r24, r22
    1680:	97 f9       	bld	r25, 7
    1682:	08 95       	ret

00001684 <__gesf2>:
    1684:	25 df       	rcall	.-438    	; 0x14d0 <__fp_cmp>
    1686:	08 f4       	brcc	.+2      	; 0x168a <__gesf2+0x6>
    1688:	8f ef       	ldi	r24, 0xFF	; 255
    168a:	08 95       	ret

0000168c <inverse>:
    168c:	9b 01       	movw	r18, r22
    168e:	ac 01       	movw	r20, r24
    1690:	60 e0       	ldi	r22, 0x00	; 0
    1692:	70 e0       	ldi	r23, 0x00	; 0
    1694:	80 e8       	ldi	r24, 0x80	; 128
    1696:	9f e3       	ldi	r25, 0x3F	; 63
    1698:	01 ce       	rjmp	.-1022   	; 0x129c <__divsf3>
    169a:	3e cf       	rjmp	.-388    	; 0x1518 <__fp_inf>
    169c:	5e cf       	rjmp	.-324    	; 0x155a <__fp_mpack>

0000169e <ldexp>:
    169e:	ba df       	rcall	.-140    	; 0x1614 <__fp_splitA>
    16a0:	e8 f3       	brcs	.-6      	; 0x169c <inverse+0x10>
    16a2:	99 23       	and	r25, r25
    16a4:	d9 f3       	breq	.-10     	; 0x169c <inverse+0x10>
    16a6:	94 0f       	add	r25, r20
    16a8:	51 1d       	adc	r21, r1
    16aa:	bb f3       	brvs	.-18     	; 0x169a <inverse+0xe>
    16ac:	91 50       	subi	r25, 0x01	; 1
    16ae:	50 40       	sbci	r21, 0x00	; 0
    16b0:	94 f0       	brlt	.+36     	; 0x16d6 <ldexp+0x38>
    16b2:	59 f0       	breq	.+22     	; 0x16ca <ldexp+0x2c>
    16b4:	88 23       	and	r24, r24
    16b6:	32 f0       	brmi	.+12     	; 0x16c4 <ldexp+0x26>
    16b8:	66 0f       	add	r22, r22
    16ba:	77 1f       	adc	r23, r23
    16bc:	88 1f       	adc	r24, r24
    16be:	91 50       	subi	r25, 0x01	; 1
    16c0:	50 40       	sbci	r21, 0x00	; 0
    16c2:	c1 f7       	brne	.-16     	; 0x16b4 <ldexp+0x16>
    16c4:	9e 3f       	cpi	r25, 0xFE	; 254
    16c6:	51 05       	cpc	r21, r1
    16c8:	44 f7       	brge	.-48     	; 0x169a <inverse+0xe>
    16ca:	88 0f       	add	r24, r24
    16cc:	91 1d       	adc	r25, r1
    16ce:	96 95       	lsr	r25
    16d0:	87 95       	ror	r24
    16d2:	97 f9       	bld	r25, 7
    16d4:	08 95       	ret
    16d6:	5f 3f       	cpi	r21, 0xFF	; 255
    16d8:	ac f0       	brlt	.+42     	; 0x1704 <ldexp+0x66>
    16da:	98 3e       	cpi	r25, 0xE8	; 232
    16dc:	9c f0       	brlt	.+38     	; 0x1704 <ldexp+0x66>
    16de:	bb 27       	eor	r27, r27
    16e0:	86 95       	lsr	r24
    16e2:	77 95       	ror	r23
    16e4:	67 95       	ror	r22
    16e6:	b7 95       	ror	r27
    16e8:	08 f4       	brcc	.+2      	; 0x16ec <ldexp+0x4e>
    16ea:	b1 60       	ori	r27, 0x01	; 1
    16ec:	93 95       	inc	r25
    16ee:	c1 f7       	brne	.-16     	; 0x16e0 <ldexp+0x42>
    16f0:	bb 0f       	add	r27, r27
    16f2:	58 f7       	brcc	.-42     	; 0x16ca <ldexp+0x2c>
    16f4:	11 f4       	brne	.+4      	; 0x16fa <ldexp+0x5c>
    16f6:	60 ff       	sbrs	r22, 0
    16f8:	e8 cf       	rjmp	.-48     	; 0x16ca <ldexp+0x2c>
    16fa:	6f 5f       	subi	r22, 0xFF	; 255
    16fc:	7f 4f       	sbci	r23, 0xFF	; 255
    16fe:	8f 4f       	sbci	r24, 0xFF	; 255
    1700:	9f 4f       	sbci	r25, 0xFF	; 255
    1702:	e3 cf       	rjmp	.-58     	; 0x16ca <ldexp+0x2c>
    1704:	b9 cf       	rjmp	.-142    	; 0x1678 <__fp_szero>

00001706 <log10>:
    1706:	0a d0       	rcall	.+20     	; 0x171c <log>
    1708:	29 ed       	ldi	r18, 0xD9	; 217
    170a:	3b e5       	ldi	r19, 0x5B	; 91
    170c:	4e ed       	ldi	r20, 0xDE	; 222
    170e:	5e e3       	ldi	r21, 0x3E	; 62
    1710:	78 c0       	rjmp	.+240    	; 0x1802 <__mulsf3>
    1712:	0e f0       	brts	.+2      	; 0x1716 <log10+0x10>
    1714:	22 cf       	rjmp	.-444    	; 0x155a <__fp_mpack>
    1716:	2f cf       	rjmp	.-418    	; 0x1576 <__fp_nan>
    1718:	68 94       	set
    171a:	fe ce       	rjmp	.-516    	; 0x1518 <__fp_inf>

0000171c <log>:
    171c:	7b df       	rcall	.-266    	; 0x1614 <__fp_splitA>
    171e:	c8 f3       	brcs	.-14     	; 0x1712 <log10+0xc>
    1720:	99 23       	and	r25, r25
    1722:	d1 f3       	breq	.-12     	; 0x1718 <log10+0x12>
    1724:	c6 f3       	brts	.-16     	; 0x1716 <log10+0x10>
    1726:	df 93       	push	r29
    1728:	cf 93       	push	r28
    172a:	1f 93       	push	r17
    172c:	0f 93       	push	r16
    172e:	ff 92       	push	r15
    1730:	c9 2f       	mov	r28, r25
    1732:	dd 27       	eor	r29, r29
    1734:	88 23       	and	r24, r24
    1736:	2a f0       	brmi	.+10     	; 0x1742 <log+0x26>
    1738:	21 97       	sbiw	r28, 0x01	; 1
    173a:	66 0f       	add	r22, r22
    173c:	77 1f       	adc	r23, r23
    173e:	88 1f       	adc	r24, r24
    1740:	da f7       	brpl	.-10     	; 0x1738 <log+0x1c>
    1742:	20 e0       	ldi	r18, 0x00	; 0
    1744:	30 e0       	ldi	r19, 0x00	; 0
    1746:	40 e8       	ldi	r20, 0x80	; 128
    1748:	5f eb       	ldi	r21, 0xBF	; 191
    174a:	9f e3       	ldi	r25, 0x3F	; 63
    174c:	88 39       	cpi	r24, 0x98	; 152
    174e:	20 f0       	brcs	.+8      	; 0x1758 <log+0x3c>
    1750:	80 3e       	cpi	r24, 0xE0	; 224
    1752:	30 f0       	brcs	.+12     	; 0x1760 <log+0x44>
    1754:	21 96       	adiw	r28, 0x01	; 1
    1756:	8f 77       	andi	r24, 0x7F	; 127
    1758:	39 dd       	rcall	.-1422   	; 0x11cc <__addsf3>
    175a:	ec e7       	ldi	r30, 0x7C	; 124
    175c:	f0 e0       	ldi	r31, 0x00	; 0
    175e:	03 c0       	rjmp	.+6      	; 0x1766 <log+0x4a>
    1760:	35 dd       	rcall	.-1430   	; 0x11cc <__addsf3>
    1762:	e9 ea       	ldi	r30, 0xA9	; 169
    1764:	f0 e0       	ldi	r31, 0x00	; 0
    1766:	0a df       	rcall	.-492    	; 0x157c <__fp_powser>
    1768:	8b 01       	movw	r16, r22
    176a:	be 01       	movw	r22, r28
    176c:	ec 01       	movw	r28, r24
    176e:	fb 2e       	mov	r15, r27
    1770:	6f 57       	subi	r22, 0x7F	; 127
    1772:	71 09       	sbc	r23, r1
    1774:	75 95       	asr	r23
    1776:	77 1f       	adc	r23, r23
    1778:	88 0b       	sbc	r24, r24
    177a:	99 0b       	sbc	r25, r25
    177c:	5b de       	rcall	.-842    	; 0x1434 <__floatsisf>
    177e:	28 e1       	ldi	r18, 0x18	; 24
    1780:	32 e7       	ldi	r19, 0x72	; 114
    1782:	41 e3       	ldi	r20, 0x31	; 49
    1784:	5f e3       	ldi	r21, 0x3F	; 63
    1786:	49 d0       	rcall	.+146    	; 0x181a <__mulsf3x>
    1788:	af 2d       	mov	r26, r15
    178a:	98 01       	movw	r18, r16
    178c:	ae 01       	movw	r20, r28
    178e:	ff 90       	pop	r15
    1790:	0f 91       	pop	r16
    1792:	1f 91       	pop	r17
    1794:	cf 91       	pop	r28
    1796:	df 91       	pop	r29
    1798:	2a dd       	rcall	.-1452   	; 0x11ee <__addsf3x>
    179a:	23 cf       	rjmp	.-442    	; 0x15e2 <__fp_round>

0000179c <modf>:
    179c:	fa 01       	movw	r30, r20
    179e:	dc 01       	movw	r26, r24
    17a0:	aa 0f       	add	r26, r26
    17a2:	bb 1f       	adc	r27, r27
    17a4:	9b 01       	movw	r18, r22
    17a6:	ac 01       	movw	r20, r24
    17a8:	bf 57       	subi	r27, 0x7F	; 127
    17aa:	28 f4       	brcc	.+10     	; 0x17b6 <modf+0x1a>
    17ac:	22 27       	eor	r18, r18
    17ae:	33 27       	eor	r19, r19
    17b0:	44 27       	eor	r20, r20
    17b2:	50 78       	andi	r21, 0x80	; 128
    17b4:	1f c0       	rjmp	.+62     	; 0x17f4 <modf+0x58>
    17b6:	b7 51       	subi	r27, 0x17	; 23
    17b8:	88 f4       	brcc	.+34     	; 0x17dc <modf+0x40>
    17ba:	ab 2f       	mov	r26, r27
    17bc:	00 24       	eor	r0, r0
    17be:	46 95       	lsr	r20
    17c0:	37 95       	ror	r19
    17c2:	27 95       	ror	r18
    17c4:	01 1c       	adc	r0, r1
    17c6:	a3 95       	inc	r26
    17c8:	d2 f3       	brmi	.-12     	; 0x17be <modf+0x22>
    17ca:	00 20       	and	r0, r0
    17cc:	69 f0       	breq	.+26     	; 0x17e8 <modf+0x4c>
    17ce:	22 0f       	add	r18, r18
    17d0:	33 1f       	adc	r19, r19
    17d2:	44 1f       	adc	r20, r20
    17d4:	b3 95       	inc	r27
    17d6:	da f3       	brmi	.-10     	; 0x17ce <modf+0x32>
    17d8:	0d d0       	rcall	.+26     	; 0x17f4 <modf+0x58>
    17da:	f7 cc       	rjmp	.-1554   	; 0x11ca <__subsf3>
    17dc:	61 30       	cpi	r22, 0x01	; 1
    17de:	71 05       	cpc	r23, r1
    17e0:	a0 e8       	ldi	r26, 0x80	; 128
    17e2:	8a 07       	cpc	r24, r26
    17e4:	b9 46       	sbci	r27, 0x69	; 105
    17e6:	30 f4       	brcc	.+12     	; 0x17f4 <modf+0x58>
    17e8:	9b 01       	movw	r18, r22
    17ea:	ac 01       	movw	r20, r24
    17ec:	66 27       	eor	r22, r22
    17ee:	77 27       	eor	r23, r23
    17f0:	88 27       	eor	r24, r24
    17f2:	90 78       	andi	r25, 0x80	; 128
    17f4:	30 96       	adiw	r30, 0x00	; 0
    17f6:	21 f0       	breq	.+8      	; 0x1800 <modf+0x64>
    17f8:	20 83       	st	Z, r18
    17fa:	31 83       	std	Z+1, r19	; 0x01
    17fc:	42 83       	std	Z+2, r20	; 0x02
    17fe:	53 83       	std	Z+3, r21	; 0x03
    1800:	08 95       	ret

00001802 <__mulsf3>:
    1802:	0b d0       	rcall	.+22     	; 0x181a <__mulsf3x>
    1804:	ee ce       	rjmp	.-548    	; 0x15e2 <__fp_round>
    1806:	df de       	rcall	.-578    	; 0x15c6 <__fp_pscA>
    1808:	28 f0       	brcs	.+10     	; 0x1814 <__mulsf3+0x12>
    180a:	e4 de       	rcall	.-568    	; 0x15d4 <__fp_pscB>
    180c:	18 f0       	brcs	.+6      	; 0x1814 <__mulsf3+0x12>
    180e:	95 23       	and	r25, r21
    1810:	09 f0       	breq	.+2      	; 0x1814 <__mulsf3+0x12>
    1812:	82 ce       	rjmp	.-764    	; 0x1518 <__fp_inf>
    1814:	b0 ce       	rjmp	.-672    	; 0x1576 <__fp_nan>
    1816:	11 24       	eor	r1, r1
    1818:	2f cf       	rjmp	.-418    	; 0x1678 <__fp_szero>

0000181a <__mulsf3x>:
    181a:	f4 de       	rcall	.-536    	; 0x1604 <__fp_split3>
    181c:	a0 f3       	brcs	.-24     	; 0x1806 <__mulsf3+0x4>

0000181e <__mulsf3_pse>:
    181e:	95 9f       	mul	r25, r21
    1820:	d1 f3       	breq	.-12     	; 0x1816 <__mulsf3+0x14>
    1822:	95 0f       	add	r25, r21
    1824:	50 e0       	ldi	r21, 0x00	; 0
    1826:	55 1f       	adc	r21, r21
    1828:	62 9f       	mul	r22, r18
    182a:	f0 01       	movw	r30, r0
    182c:	72 9f       	mul	r23, r18
    182e:	bb 27       	eor	r27, r27
    1830:	f0 0d       	add	r31, r0
    1832:	b1 1d       	adc	r27, r1
    1834:	63 9f       	mul	r22, r19
    1836:	aa 27       	eor	r26, r26
    1838:	f0 0d       	add	r31, r0
    183a:	b1 1d       	adc	r27, r1
    183c:	aa 1f       	adc	r26, r26
    183e:	64 9f       	mul	r22, r20
    1840:	66 27       	eor	r22, r22
    1842:	b0 0d       	add	r27, r0
    1844:	a1 1d       	adc	r26, r1
    1846:	66 1f       	adc	r22, r22
    1848:	82 9f       	mul	r24, r18
    184a:	22 27       	eor	r18, r18
    184c:	b0 0d       	add	r27, r0
    184e:	a1 1d       	adc	r26, r1
    1850:	62 1f       	adc	r22, r18
    1852:	73 9f       	mul	r23, r19
    1854:	b0 0d       	add	r27, r0
    1856:	a1 1d       	adc	r26, r1
    1858:	62 1f       	adc	r22, r18
    185a:	83 9f       	mul	r24, r19
    185c:	a0 0d       	add	r26, r0
    185e:	61 1d       	adc	r22, r1
    1860:	22 1f       	adc	r18, r18
    1862:	74 9f       	mul	r23, r20
    1864:	33 27       	eor	r19, r19
    1866:	a0 0d       	add	r26, r0
    1868:	61 1d       	adc	r22, r1
    186a:	23 1f       	adc	r18, r19
    186c:	84 9f       	mul	r24, r20
    186e:	60 0d       	add	r22, r0
    1870:	21 1d       	adc	r18, r1
    1872:	82 2f       	mov	r24, r18
    1874:	76 2f       	mov	r23, r22
    1876:	6a 2f       	mov	r22, r26
    1878:	11 24       	eor	r1, r1
    187a:	9f 57       	subi	r25, 0x7F	; 127
    187c:	50 40       	sbci	r21, 0x00	; 0
    187e:	8a f0       	brmi	.+34     	; 0x18a2 <__mulsf3_pse+0x84>
    1880:	e1 f0       	breq	.+56     	; 0x18ba <__mulsf3_pse+0x9c>
    1882:	88 23       	and	r24, r24
    1884:	4a f0       	brmi	.+18     	; 0x1898 <__mulsf3_pse+0x7a>
    1886:	ee 0f       	add	r30, r30
    1888:	ff 1f       	adc	r31, r31
    188a:	bb 1f       	adc	r27, r27
    188c:	66 1f       	adc	r22, r22
    188e:	77 1f       	adc	r23, r23
    1890:	88 1f       	adc	r24, r24
    1892:	91 50       	subi	r25, 0x01	; 1
    1894:	50 40       	sbci	r21, 0x00	; 0
    1896:	a9 f7       	brne	.-22     	; 0x1882 <__mulsf3_pse+0x64>
    1898:	9e 3f       	cpi	r25, 0xFE	; 254
    189a:	51 05       	cpc	r21, r1
    189c:	70 f0       	brcs	.+28     	; 0x18ba <__mulsf3_pse+0x9c>
    189e:	3c ce       	rjmp	.-904    	; 0x1518 <__fp_inf>
    18a0:	eb ce       	rjmp	.-554    	; 0x1678 <__fp_szero>
    18a2:	5f 3f       	cpi	r21, 0xFF	; 255
    18a4:	ec f3       	brlt	.-6      	; 0x18a0 <__mulsf3_pse+0x82>
    18a6:	98 3e       	cpi	r25, 0xE8	; 232
    18a8:	dc f3       	brlt	.-10     	; 0x18a0 <__mulsf3_pse+0x82>
    18aa:	86 95       	lsr	r24
    18ac:	77 95       	ror	r23
    18ae:	67 95       	ror	r22
    18b0:	b7 95       	ror	r27
    18b2:	f7 95       	ror	r31
    18b4:	e7 95       	ror	r30
    18b6:	9f 5f       	subi	r25, 0xFF	; 255
    18b8:	c1 f7       	brne	.-16     	; 0x18aa <__mulsf3_pse+0x8c>
    18ba:	fe 2b       	or	r31, r30
    18bc:	88 0f       	add	r24, r24
    18be:	91 1d       	adc	r25, r1
    18c0:	96 95       	lsr	r25
    18c2:	87 95       	ror	r24
    18c4:	97 f9       	bld	r25, 7
    18c6:	08 95       	ret
    18c8:	11 f4       	brne	.+4      	; 0x18ce <__mulsf3_pse+0xb0>
    18ca:	0e f4       	brtc	.+2      	; 0x18ce <__mulsf3_pse+0xb0>
    18cc:	54 ce       	rjmp	.-856    	; 0x1576 <__fp_nan>
    18ce:	45 ce       	rjmp	.-886    	; 0x155a <__fp_mpack>

000018d0 <sqrt>:
    18d0:	a1 de       	rcall	.-702    	; 0x1614 <__fp_splitA>
    18d2:	d0 f3       	brcs	.-12     	; 0x18c8 <__mulsf3_pse+0xaa>
    18d4:	99 23       	and	r25, r25
    18d6:	d9 f3       	breq	.-10     	; 0x18ce <__mulsf3_pse+0xb0>
    18d8:	ce f3       	brts	.-14     	; 0x18cc <__mulsf3_pse+0xae>
    18da:	9f 57       	subi	r25, 0x7F	; 127
    18dc:	55 0b       	sbc	r21, r21
    18de:	87 ff       	sbrs	r24, 7
    18e0:	35 d0       	rcall	.+106    	; 0x194c <__fp_norm2>
    18e2:	00 24       	eor	r0, r0
    18e4:	a0 e6       	ldi	r26, 0x60	; 96
    18e6:	40 ea       	ldi	r20, 0xA0	; 160
    18e8:	90 01       	movw	r18, r0
    18ea:	80 58       	subi	r24, 0x80	; 128
    18ec:	56 95       	lsr	r21
    18ee:	97 95       	ror	r25
    18f0:	28 f4       	brcc	.+10     	; 0x18fc <sqrt+0x2c>
    18f2:	80 5c       	subi	r24, 0xC0	; 192
    18f4:	66 0f       	add	r22, r22
    18f6:	77 1f       	adc	r23, r23
    18f8:	88 1f       	adc	r24, r24
    18fa:	20 f0       	brcs	.+8      	; 0x1904 <sqrt+0x34>
    18fc:	26 17       	cp	r18, r22
    18fe:	37 07       	cpc	r19, r23
    1900:	48 07       	cpc	r20, r24
    1902:	30 f4       	brcc	.+12     	; 0x1910 <sqrt+0x40>
    1904:	62 1b       	sub	r22, r18
    1906:	73 0b       	sbc	r23, r19
    1908:	84 0b       	sbc	r24, r20
    190a:	20 29       	or	r18, r0
    190c:	31 29       	or	r19, r1
    190e:	4a 2b       	or	r20, r26
    1910:	a6 95       	lsr	r26
    1912:	17 94       	ror	r1
    1914:	07 94       	ror	r0
    1916:	20 25       	eor	r18, r0
    1918:	31 25       	eor	r19, r1
    191a:	4a 27       	eor	r20, r26
    191c:	58 f7       	brcc	.-42     	; 0x18f4 <sqrt+0x24>
    191e:	66 0f       	add	r22, r22
    1920:	77 1f       	adc	r23, r23
    1922:	88 1f       	adc	r24, r24
    1924:	20 f0       	brcs	.+8      	; 0x192e <sqrt+0x5e>
    1926:	26 17       	cp	r18, r22
    1928:	37 07       	cpc	r19, r23
    192a:	48 07       	cpc	r20, r24
    192c:	30 f4       	brcc	.+12     	; 0x193a <sqrt+0x6a>
    192e:	62 0b       	sbc	r22, r18
    1930:	73 0b       	sbc	r23, r19
    1932:	84 0b       	sbc	r24, r20
    1934:	20 0d       	add	r18, r0
    1936:	31 1d       	adc	r19, r1
    1938:	41 1d       	adc	r20, r1
    193a:	a0 95       	com	r26
    193c:	81 f7       	brne	.-32     	; 0x191e <sqrt+0x4e>
    193e:	b9 01       	movw	r22, r18
    1940:	84 2f       	mov	r24, r20
    1942:	91 58       	subi	r25, 0x81	; 129
    1944:	88 0f       	add	r24, r24
    1946:	96 95       	lsr	r25
    1948:	87 95       	ror	r24
    194a:	08 95       	ret

0000194c <__fp_norm2>:
    194c:	91 50       	subi	r25, 0x01	; 1
    194e:	50 40       	sbci	r21, 0x00	; 0
    1950:	66 0f       	add	r22, r22
    1952:	77 1f       	adc	r23, r23
    1954:	88 1f       	adc	r24, r24
    1956:	d2 f7       	brpl	.-12     	; 0x194c <__fp_norm2>
    1958:	08 95       	ret

0000195a <__divmodhi4>:
    195a:	97 fb       	bst	r25, 7
    195c:	09 2e       	mov	r0, r25
    195e:	07 26       	eor	r0, r23
    1960:	0a d0       	rcall	.+20     	; 0x1976 <__divmodhi4_neg1>
    1962:	77 fd       	sbrc	r23, 7
    1964:	04 d0       	rcall	.+8      	; 0x196e <__divmodhi4_neg2>
    1966:	43 d0       	rcall	.+134    	; 0x19ee <__udivmodhi4>
    1968:	06 d0       	rcall	.+12     	; 0x1976 <__divmodhi4_neg1>
    196a:	00 20       	and	r0, r0
    196c:	1a f4       	brpl	.+6      	; 0x1974 <__divmodhi4_exit>

0000196e <__divmodhi4_neg2>:
    196e:	70 95       	com	r23
    1970:	61 95       	neg	r22
    1972:	7f 4f       	sbci	r23, 0xFF	; 255

00001974 <__divmodhi4_exit>:
    1974:	08 95       	ret

00001976 <__divmodhi4_neg1>:
    1976:	f6 f7       	brtc	.-4      	; 0x1974 <__divmodhi4_exit>
    1978:	90 95       	com	r25
    197a:	81 95       	neg	r24
    197c:	9f 4f       	sbci	r25, 0xFF	; 255
    197e:	08 95       	ret

00001980 <__prologue_saves__>:
    1980:	2f 92       	push	r2
    1982:	3f 92       	push	r3
    1984:	4f 92       	push	r4
    1986:	5f 92       	push	r5
    1988:	6f 92       	push	r6
    198a:	7f 92       	push	r7
    198c:	8f 92       	push	r8
    198e:	9f 92       	push	r9
    1990:	af 92       	push	r10
    1992:	bf 92       	push	r11
    1994:	cf 92       	push	r12
    1996:	df 92       	push	r13
    1998:	ef 92       	push	r14
    199a:	ff 92       	push	r15
    199c:	0f 93       	push	r16
    199e:	1f 93       	push	r17
    19a0:	cf 93       	push	r28
    19a2:	df 93       	push	r29
    19a4:	cd b7       	in	r28, 0x3d	; 61
    19a6:	de b7       	in	r29, 0x3e	; 62
    19a8:	ca 1b       	sub	r28, r26
    19aa:	db 0b       	sbc	r29, r27
    19ac:	0f b6       	in	r0, 0x3f	; 63
    19ae:	f8 94       	cli
    19b0:	de bf       	out	0x3e, r29	; 62
    19b2:	0f be       	out	0x3f, r0	; 63
    19b4:	cd bf       	out	0x3d, r28	; 61
    19b6:	09 94       	ijmp

000019b8 <__epilogue_restores__>:
    19b8:	2a 88       	ldd	r2, Y+18	; 0x12
    19ba:	39 88       	ldd	r3, Y+17	; 0x11
    19bc:	48 88       	ldd	r4, Y+16	; 0x10
    19be:	5f 84       	ldd	r5, Y+15	; 0x0f
    19c0:	6e 84       	ldd	r6, Y+14	; 0x0e
    19c2:	7d 84       	ldd	r7, Y+13	; 0x0d
    19c4:	8c 84       	ldd	r8, Y+12	; 0x0c
    19c6:	9b 84       	ldd	r9, Y+11	; 0x0b
    19c8:	aa 84       	ldd	r10, Y+10	; 0x0a
    19ca:	b9 84       	ldd	r11, Y+9	; 0x09
    19cc:	c8 84       	ldd	r12, Y+8	; 0x08
    19ce:	df 80       	ldd	r13, Y+7	; 0x07
    19d0:	ee 80       	ldd	r14, Y+6	; 0x06
    19d2:	fd 80       	ldd	r15, Y+5	; 0x05
    19d4:	0c 81       	ldd	r16, Y+4	; 0x04
    19d6:	1b 81       	ldd	r17, Y+3	; 0x03
    19d8:	aa 81       	ldd	r26, Y+2	; 0x02
    19da:	b9 81       	ldd	r27, Y+1	; 0x01
    19dc:	ce 0f       	add	r28, r30
    19de:	d1 1d       	adc	r29, r1
    19e0:	0f b6       	in	r0, 0x3f	; 63
    19e2:	f8 94       	cli
    19e4:	de bf       	out	0x3e, r29	; 62
    19e6:	0f be       	out	0x3f, r0	; 63
    19e8:	cd bf       	out	0x3d, r28	; 61
    19ea:	ed 01       	movw	r28, r26
    19ec:	08 95       	ret

000019ee <__udivmodhi4>:
    19ee:	aa 1b       	sub	r26, r26
    19f0:	bb 1b       	sub	r27, r27
    19f2:	51 e1       	ldi	r21, 0x11	; 17
    19f4:	07 c0       	rjmp	.+14     	; 0x1a04 <__udivmodhi4_ep>

000019f6 <__udivmodhi4_loop>:
    19f6:	aa 1f       	adc	r26, r26
    19f8:	bb 1f       	adc	r27, r27
    19fa:	a6 17       	cp	r26, r22
    19fc:	b7 07       	cpc	r27, r23
    19fe:	10 f0       	brcs	.+4      	; 0x1a04 <__udivmodhi4_ep>
    1a00:	a6 1b       	sub	r26, r22
    1a02:	b7 0b       	sbc	r27, r23

00001a04 <__udivmodhi4_ep>:
    1a04:	88 1f       	adc	r24, r24
    1a06:	99 1f       	adc	r25, r25
    1a08:	5a 95       	dec	r21
    1a0a:	a9 f7       	brne	.-22     	; 0x19f6 <__udivmodhi4_loop>
    1a0c:	80 95       	com	r24
    1a0e:	90 95       	com	r25
    1a10:	bc 01       	movw	r22, r24
    1a12:	cd 01       	movw	r24, r26
    1a14:	08 95       	ret

00001a16 <_exit>:
    1a16:	f8 94       	cli

00001a18 <__stop_program>:
    1a18:	ff cf       	rjmp	.-2      	; 0x1a18 <__stop_program>
