<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Ještě jsem přidal inicializaci hodin na 24 MHz.<br>
    <br>
    PORTC.OUTTGL = 255;<br>
    PORTC.OUTTGL = 255;<br>
    PORTC.OUTTGL = 255;<br>
    PORTC.OUTTGL = 255;<br>
    PORTC.OUTTGL = 255;<br>
    PORTC.OUTTGL = 255;<br>
    <br>
    Dělá dle očekávání 12 MHz.<br>
    <br>
    A tady původní program bez a s různými výpočty:<br>
    <br>
    <font face="monospace">//-------------    // CLK 24 MHz - C3 461,6
      kHz<br>
      //*x = *a / *b;    // CLK 24 MHz - C3 41,6 kHz<br>
      //*x = *a * *b;    // CLK 24 MHz - C3 99 kHz<br>
      //*x = *a + *b;    // CLK 24 MHz - C3 128,3 kHz<br>
      //*x = *a - *b;    // CLK 24 MHz - C3 127,6 kHz<br>
      //*x = *a * 0.99 - *b;    // CLK 24 MHz - C3 76,6 kHz<br>
      //*x = *a * 1.01 - *b;    // CLK 24 MHz - C3 72,5 kHz<br>
      //*x = log(*a * 1.01 - *b);    // CLK 24 MHz - C3 9 kHz<br>
      //*x = log(*a * 1.01 / *b);    // CLK 24 MHz - C3 8,2 kHz<br>
      *x = sin(*a * 1.01 / *b);    // CLK 24 MHz - C3 9,5 kHz</font><br>
    <br>
    Frekvence na C3 jsou nejnižší, u dělení a logaritmu byl při hmatání
    na porty rozptyl asi 1:2 a při asi chybné hodnotě razantní
    zryhclení, třeba z 9 na 75 kHz.<br>
    <br>
    <font face="monospace">Poslední build se sinem:<br>
      Program Memory Usage     :    1618 bytes   2,5 % Full<br>
      Data Memory Usage         :    18 bytes   0,2 % Full<br>
      <br>
      Log * </font><font face="monospace">o ~100B kratší.</font><br>
    <font face="monospace">Log / o ~100B delší.<br>
      <br>
      Varianta *x = *a * 0.99 - *b;<br>
      Program Memory Usage     :    1082 bytes   1,7 % Full<br>
      Data Memory Usage         :    18 bytes   0,2 % Full<br>
      <br>
      Varianta *x = *a * 1.01 - *b;<br>
      Stejná délka, ale pomalejší<br>
      <br>
      Ty poslední 2 odpovídaj mému nejčastějšímu typu výpočtu:<br>
      ADC * cal1 + cal2<br>
    </font><br>
    PH<br>
    <br>
    <div class="moz-cite-prefix">Dne 24.04.2024 v 0:10 Pavel Hudeček
      napsal(a):<br>
    </div>
    <blockquote type="cite"
      cite="mid:bbbc4a49-c880-49b1-a177-1416bd143797@seznam.cz">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Tak jsem to zkusil:<br>
      <br>
      1. Porty A a D přijmou 4B float hodnot a, b<br>
      2. Nahodí port C na 255<br>
      3. Spočítá x = a/b<br>
      4. Shodí port C na poslední idx<br>
      5. Pošle 4B float hodnoty x na port F<br>
      <br>
      Před příjmem a vysíláním posílá idx na port C<br>
      <br>
      (nebude fungovat úplně dobře, port F nemá všechny bity použitelné
      pro výstup a port D nemá nohu 0)<br>
      <br>
      ---------------<br>
      <font face="monospace">#include <avr/io.h> // AVR64DD32<br>
        <br>
        uint8_t    arrB[12];<br>
        float    *a = (float*)&arrB[0];<br>
        float    *b = (float*)&arrB[4];<br>
        float    *x = (float*)&arrB[8];<br>
        uint8_t    idx;<br>
        <br>
        int main(void) {<br>
        <br>
            PORTC.DIR = 255;<br>
            PORTF.DIR = 255;<br>
        <br>
            while (1) {<br>
                idx=0;<br>
        <br>
                PORTC.OUT = idx;<br>
                arrB[idx]=PORTA.IN; arrB[idx+4]=PORTD.IN; idx++;<br>
                PORTC.OUT = idx;<br>
                arrB[idx]=PORTA.IN; arrB[idx+4]=PORTD.IN; idx++;<br>
                PORTC.OUT = idx;<br>
                arrB[idx]=PORTA.IN; arrB[idx+4]=PORTD.IN; idx++;<br>
                PORTC.OUT = idx;<br>
                arrB[idx]=PORTA.IN; arrB[idx+4]=PORTD.IN; idx++;<br>
                <br>
                PORTC.OUT = 255;<br>
                *x = *a / *b;<br>
                <br>
                PORTC.OUT = idx;<br>
                PORTF.OUT = arrB[idx+4]; idx++;<br>
                PORTC.OUT = idx;<br>
                PORTF.OUT = arrB[idx+4]; idx++;<br>
                PORTC.OUT = idx;<br>
                PORTF.OUT = arrB[idx+4]; idx++;<br>
                PORTC.OUT = idx;<br>
                PORTF.OUT = arrB[idx+4]; idx++;<br>
            }<br>
        }</font><br>
      ----------------<br>
      Program Memory Usage     :    836 bytes   1,3 % Full<br>
      Data Memory Usage         :    18 bytes   0,2 % Full<br>
      -------------------<br>
      Hodiny jsou takhle nejspíš 24/6 = 4 MHz.<br>
      Porty ve vzduchu.<br>
      <br>
      Na C3 je asi 20µs stav 0 a  pak něco přes 125µs 0.<br>
      (vyšší bity nejsou vyvedeny)<br>
      Osciloskop hlásí 7,11 kHz.<br>
      <br>
      Na C0 synchronně s C3 objeví 0, pak jsou celkem 3 pulzy, poslední
      vzestupná asi 4µs před C0.<br>
      První 010 trvá malinko přes 5µs, zbytek je delší a všechny trochu
      plavou.<br>
      <br>
      Hmatání na vstupní porty nemá na C0 a C3 vliv, ale způsobuje
      poblikávání LEDky na F5.<br>
      ...<br>
      Aha tak má vliv, po hmatání je 6,92 kHz:-)<br>
      <br>
      A takhle dopad LSS fajl:<br>
      --------------------<font face="monospace"><br>
        mini-float-test-avr64dd32.elf:     file format elf32-avr<br>
        <br>
        Sections:<br>
        Idx Name          Size      VMA       LMA       File off  Algn<br>
          0 .data         00000006  00806000  0000033e  000003d2  2**0<br>
                          CONTENTS, ALLOC, LOAD, DATA<br>
          1 .text         0000033e  00000000  00000000  00000094  2**1<br>
                          CONTENTS, ALLOC, LOAD, READONLY, CODE<br>
          2 .bss          0000000c  00806006  00806006  000003d8  2**0<br>
                          ALLOC<br>
          3 .comment      00000030  00000000  00000000  000003d8  2**0<br>
                          CONTENTS, READONLY<br>
          4 .note.gnu.avr.deviceinfo 0000003c  00000000  00000000 
        00000408  2**2<br>
                          CONTENTS, READONLY<br>
          5 .debug_info   00001fac  00000000  00000000  00000444  2**0<br>
                          CONTENTS, READONLY, DEBUGGING<br>
          6 .debug_abbrev 00001dfe  00000000  00000000  000023f0  2**0<br>
                          CONTENTS, READONLY, DEBUGGING<br>
          7 .debug_line   0000016f  00000000  00000000  000041ee  2**0<br>
                          CONTENTS, READONLY, DEBUGGING<br>
          8 .debug_str    00000dee  00000000  00000000  0000435d  2**0<br>
                          CONTENTS, READONLY, DEBUGGING<br>
        <br>
        Disassembly of section .text:<br>
        <br>
        00000000 <__vectors>:<br>
           0:    0c 94 48 00     jmp    0x90    ; 0x90
        <__ctors_end><br>
           4:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
           8:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
           c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          10:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          14:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          18:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          1c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          20:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          24:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          28:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          2c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          30:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          34:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          38:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          3c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          40:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          44:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          48:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          4c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          50:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          54:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          58:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          5c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          60:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          64:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          68:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          6c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          70:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          74:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          78:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          7c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          80:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          84:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          88:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
          8c:    0c 94 65 00     jmp    0xca    ; 0xca
        <__bad_interrupt><br>
        <br>
        00000090 <__ctors_end>:<br>
          90:    11 24           eor    r1, r1<br>
          92:    1f be           out    0x3f, r1    ; 63<br>
          94:    cf ef           ldi    r28, 0xFF    ; 255<br>
          96:    cd bf           out    0x3d, r28    ; 61<br>
          98:    df e7           ldi    r29, 0x7F    ; 127<br>
          9a:    de bf           out    0x3e, r29    ; 62<br>
        <br>
        0000009c <__do_copy_data>:<br>
          9c:    10 e6           ldi    r17, 0x60    ; 96<br>
          9e:    a0 e0           ldi    r26, 0x00    ; 0<br>
          a0:    b0 e6           ldi    r27, 0x60    ; 96<br>
          a2:    ee e3           ldi    r30, 0x3E    ; 62<br>
          a4:    f3 e0           ldi    r31, 0x03    ; 3<br>
          a6:    02 c0           rjmp    .+4          ; 0xac
        <__do_copy_data+0x10><br>
          a8:    05 90           lpm    r0, Z+<br>
          aa:    0d 92           st    X+, r0<br>
          ac:    a6 30           cpi    r26, 0x06    ; 6<br>
          ae:    b1 07           cpc    r27, r17<br>
          b0:    d9 f7           brne    .-10         ; 0xa8
        <__do_copy_data+0xc><br>
        <br>
        000000b2 <__do_clear_bss>:<br>
          b2:    20 e6           ldi    r18, 0x60    ; 96<br>
          b4:    a6 e0           ldi    r26, 0x06    ; 6<br>
          b6:    b0 e6           ldi    r27, 0x60    ; 96<br>
          b8:    01 c0           rjmp    .+2          ; 0xbc
        <.do_clear_bss_start><br>
        <br>
        000000ba <.do_clear_bss_loop>:<br>
          ba:    1d 92           st    X+, r1<br>
        <br>
        000000bc <.do_clear_bss_start>:<br>
          bc:    a2 31           cpi    r26, 0x12    ; 18<br>
          be:    b2 07           cpc    r27, r18<br>
          c0:    e1 f7           brne    .-8          ; 0xba
        <.do_clear_bss_loop><br>
          c2:    0e 94 67 00     call    0xce    ; 0xce <main><br>
          c6:    0c 94 9d 01     jmp    0x33a    ; 0x33a <_exit><br>
        <br>
        000000ca <__bad_interrupt>:<br>
          ca:    0c 94 00 00     jmp    0    ; 0x0 <__vectors><br>
        <br>
        000000ce <main>:<br>
          ce:    8f ef           ldi    r24, 0xFF    ; 255<br>
          d0:    80 93 40 04     sts    0x0440, r24    ; 0x800440
        <__TEXT_REGION_LENGTH__+0x7f0440><br>
          d4:    80 93 a0 04     sts    0x04A0, r24    ; 0x8004a0
        <__TEXT_REGION_LENGTH__+0x7f04a0><br>
          d8:    00 91 00 60     lds    r16, 0x6000    ; 0x806000
        <__DATA_REGION_ORIGIN__><br>
          dc:    10 91 01 60     lds    r17, 0x6001    ; 0x806001
        <__DATA_REGION_ORIGIN__+0x1><br>
          e0:    e0 90 04 60     lds    r14, 0x6004    ; 0x806004
        <a><br>
          e4:    f0 90 05 60     lds    r15, 0x6005    ; 0x806005
        <a+0x1><br>
          e8:    c0 90 02 60     lds    r12, 0x6002    ; 0x806002
        <b><br>
          ec:    d0 90 03 60     lds    r13, 0x6003    ; 0x806003
        <b+0x1><br>
          f0:    66 24           eor    r6, r6<br>
          f2:    63 94           inc    r6<br>
          f4:    82 e0           ldi    r24, 0x02    ; 2<br>
          f6:    78 2e           mov    r7, r24<br>
          f8:    93 e0           ldi    r25, 0x03    ; 3<br>
          fa:    89 2e           mov    r8, r25<br>
          fc:    99 24           eor    r9, r9<br>
          fe:    9a 94           dec    r9<br>
         100:    24 e0           ldi    r18, 0x04    ; 4<br>
         102:    a2 2e           mov    r10, r18<br>
         104:    35 e0           ldi    r19, 0x05    ; 5<br>
         106:    b3 2e           mov    r11, r19<br>
         108:    d6 e0           ldi    r29, 0x06    ; 6<br>
         10a:    c7 e0           ldi    r28, 0x07    ; 7<br>
         10c:    10 92 44 04     sts    0x0444, r1    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         110:    80 91 08 04     lds    r24, 0x0408    ; 0x800408
        <__TEXT_REGION_LENGTH__+0x7f0408><br>
         114:    80 93 06 60     sts    0x6006, r24    ; 0x806006
        <__data_end><br>
         118:    80 91 68 04     lds    r24, 0x0468    ; 0x800468
        <__TEXT_REGION_LENGTH__+0x7f0468><br>
         11c:    80 93 0a 60     sts    0x600A, r24    ; 0x80600a
        <__data_end+0x4><br>
         120:    60 92 44 04     sts    0x0444, r6    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         124:    80 91 08 04     lds    r24, 0x0408    ; 0x800408
        <__TEXT_REGION_LENGTH__+0x7f0408><br>
         128:    80 93 07 60     sts    0x6007, r24    ; 0x806007
        <__data_end+0x1><br>
         12c:    80 91 68 04     lds    r24, 0x0468    ; 0x800468
        <__TEXT_REGION_LENGTH__+0x7f0468><br>
         130:    80 93 0b 60     sts    0x600B, r24    ; 0x80600b
        <__data_end+0x5><br>
         134:    70 92 44 04     sts    0x0444, r7    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         138:    80 91 08 04     lds    r24, 0x0408    ; 0x800408
        <__TEXT_REGION_LENGTH__+0x7f0408><br>
         13c:    80 93 08 60     sts    0x6008, r24    ; 0x806008
        <__data_end+0x2><br>
         140:    80 91 68 04     lds    r24, 0x0468    ; 0x800468
        <__TEXT_REGION_LENGTH__+0x7f0468><br>
         144:    80 93 0c 60     sts    0x600C, r24    ; 0x80600c
        <__data_end+0x6><br>
         148:    80 92 44 04     sts    0x0444, r8    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         14c:    80 91 08 04     lds    r24, 0x0408    ; 0x800408
        <__TEXT_REGION_LENGTH__+0x7f0408><br>
         150:    80 93 09 60     sts    0x6009, r24    ; 0x806009
        <__data_end+0x3><br>
         154:    80 91 68 04     lds    r24, 0x0468    ; 0x800468
        <__TEXT_REGION_LENGTH__+0x7f0468><br>
         158:    80 93 0d 60     sts    0x600D, r24    ; 0x80600d
        <__data_end+0x7><br>
         15c:    90 92 44 04     sts    0x0444, r9    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         160:    f6 01           movw    r30, r12<br>
         162:    20 81           ld    r18, Z<br>
         164:    31 81           ldd    r19, Z+1    ; 0x01<br>
         166:    42 81           ldd    r20, Z+2    ; 0x02<br>
         168:    53 81           ldd    r21, Z+3    ; 0x03<br>
         16a:    f7 01           movw    r30, r14<br>
         16c:    60 81           ld    r22, Z<br>
         16e:    71 81           ldd    r23, Z+1    ; 0x01<br>
         170:    82 81           ldd    r24, Z+2    ; 0x02<br>
         172:    93 81           ldd    r25, Z+3    ; 0x03<br>
         174:    0e 94 da 00     call    0x1b4    ; 0x1b4
        <__divsf3><br>
         178:    f8 01           movw    r30, r16<br>
         17a:    60 83           st    Z, r22<br>
         17c:    71 83           std    Z+1, r23    ; 0x01<br>
         17e:    82 83           std    Z+2, r24    ; 0x02<br>
         180:    93 83           std    Z+3, r25    ; 0x03<br>
         182:    a0 92 44 04     sts    0x0444, r10    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         186:    80 91 0e 60     lds    r24, 0x600E    ; 0x80600e
        <__data_end+0x8><br>
         18a:    80 93 a4 04     sts    0x04A4, r24    ; 0x8004a4
        <__TEXT_REGION_LENGTH__+0x7f04a4><br>
         18e:    b0 92 44 04     sts    0x0444, r11    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         192:    80 91 0f 60     lds    r24, 0x600F    ; 0x80600f
        <__data_end+0x9><br>
         196:    80 93 a4 04     sts    0x04A4, r24    ; 0x8004a4
        <__TEXT_REGION_LENGTH__+0x7f04a4><br>
         19a:    d0 93 44 04     sts    0x0444, r29    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         19e:    80 91 10 60     lds    r24, 0x6010    ; 0x806010
        <__data_end+0xa><br>
         1a2:    80 93 a4 04     sts    0x04A4, r24    ; 0x8004a4
        <__TEXT_REGION_LENGTH__+0x7f04a4><br>
         1a6:    c0 93 44 04     sts    0x0444, r28    ; 0x800444
        <__TEXT_REGION_LENGTH__+0x7f0444><br>
         1aa:    80 91 11 60     lds    r24, 0x6011    ; 0x806011
        <__data_end+0xb><br>
         1ae:    80 93 a4 04     sts    0x04A4, r24    ; 0x8004a4
        <__TEXT_REGION_LENGTH__+0x7f04a4><br>
         1b2:    ac cf           rjmp    .-168        ; 0x10c
        <__EEPROM_REGION_LENGTH__+0xc><br>
        <br>
        000001b4 <__divsf3>:<br>
         1b4:    0e 94 ee 00     call    0x1dc    ; 0x1dc
        <__divsf3x><br>
         1b8:    0c 94 63 01     jmp    0x2c6    ; 0x2c6
        <__fp_round><br>
         1bc:    0e 94 5c 01     call    0x2b8    ; 0x2b8
        <__fp_pscB><br>
         1c0:    58 f0           brcs    .+22         ; 0x1d8
        <__divsf3+0x24><br>
         1c2:    0e 94 55 01     call    0x2aa    ; 0x2aa
        <__fp_pscA><br>
         1c6:    40 f0           brcs    .+16         ; 0x1d8
        <__divsf3+0x24><br>
         1c8:    29 f4           brne    .+10         ; 0x1d4
        <__divsf3+0x20><br>
         1ca:    5f 3f           cpi    r21, 0xFF    ; 255<br>
         1cc:    29 f0           breq    .+10         ; 0x1d8
        <__divsf3+0x24><br>
         1ce:    0c 94 4c 01     jmp    0x298    ; 0x298
        <__fp_inf><br>
         1d2:    51 11           cpse    r21, r1<br>
         1d4:    0c 94 97 01     jmp    0x32e    ; 0x32e
        <__fp_szero><br>
         1d8:    0c 94 52 01     jmp    0x2a4    ; 0x2a4
        <__fp_nan><br>
        <br>
        000001dc <__divsf3x>:<br>
         1dc:    0e 94 74 01     call    0x2e8    ; 0x2e8
        <__fp_split3><br>
         1e0:    68 f3           brcs    .-38         ; 0x1bc
        <__divsf3+0x8><br>
        <br>
        000001e2 <__divsf3_pse>:<br>
         1e2:    99 23           and    r25, r25<br>
         1e4:    b1 f3           breq    .-20         ; 0x1d2
        <__divsf3+0x1e><br>
         1e6:    55 23           and    r21, r21<br>
         1e8:    91 f3           breq    .-28         ; 0x1ce
        <__divsf3+0x1a><br>
         1ea:    95 1b           sub    r25, r21<br>
         1ec:    55 0b           sbc    r21, r21<br>
         1ee:    bb 27           eor    r27, r27<br>
         1f0:    aa 27           eor    r26, r26<br>
         1f2:    62 17           cp    r22, r18<br>
         1f4:    73 07           cpc    r23, r19<br>
         1f6:    84 07           cpc    r24, r20<br>
         1f8:    38 f0           brcs    .+14         ; 0x208
        <__divsf3_pse+0x26><br>
         1fa:    9f 5f           subi    r25, 0xFF    ; 255<br>
         1fc:    5f 4f           sbci    r21, 0xFF    ; 255<br>
         1fe:    22 0f           add    r18, r18<br>
         200:    33 1f           adc    r19, r19<br>
         202:    44 1f           adc    r20, r20<br>
         204:    aa 1f           adc    r26, r26<br>
         206:    a9 f3           breq    .-22         ; 0x1f2
        <__divsf3_pse+0x10><br>
         208:    35 d0           rcall    .+106        ; 0x274
        <__divsf3_pse+0x92><br>
         20a:    0e 2e           mov    r0, r30<br>
         20c:    3a f0           brmi    .+14         ; 0x21c
        <__divsf3_pse+0x3a><br>
         20e:    e0 e8           ldi    r30, 0x80    ; 128<br>
         210:    32 d0           rcall    .+100        ; 0x276
        <__divsf3_pse+0x94><br>
         212:    91 50           subi    r25, 0x01    ; 1<br>
         214:    50 40           sbci    r21, 0x00    ; 0<br>
         216:    e6 95           lsr    r30<br>
         218:    00 1c           adc    r0, r0<br>
         21a:    ca f7           brpl    .-14         ; 0x20e
        <__divsf3_pse+0x2c><br>
         21c:    2b d0           rcall    .+86         ; 0x274
        <__divsf3_pse+0x92><br>
         21e:    fe 2f           mov    r31, r30<br>
         220:    29 d0           rcall    .+82         ; 0x274
        <__divsf3_pse+0x92><br>
         222:    66 0f           add    r22, r22<br>
         224:    77 1f           adc    r23, r23<br>
         226:    88 1f           adc    r24, r24<br>
         228:    bb 1f           adc    r27, r27<br>
         22a:    26 17           cp    r18, r22<br>
         22c:    37 07           cpc    r19, r23<br>
         22e:    48 07           cpc    r20, r24<br>
         230:    ab 07           cpc    r26, r27<br>
         232:    b0 e8           ldi    r27, 0x80    ; 128<br>
         234:    09 f0           breq    .+2          ; 0x238
        <__divsf3_pse+0x56><br>
         236:    bb 0b           sbc    r27, r27<br>
         238:    80 2d           mov    r24, r0<br>
         23a:    bf 01           movw    r22, r30<br>
         23c:    ff 27           eor    r31, r31<br>
         23e:    93 58           subi    r25, 0x83    ; 131<br>
         240:    5f 4f           sbci    r21, 0xFF    ; 255<br>
         242:    3a f0           brmi    .+14         ; 0x252
        <__divsf3_pse+0x70><br>
         244:    9e 3f           cpi    r25, 0xFE    ; 254<br>
         246:    51 05           cpc    r21, r1<br>
         248:    78 f0           brcs    .+30         ; 0x268
        <__divsf3_pse+0x86><br>
         24a:    0c 94 4c 01     jmp    0x298    ; 0x298
        <__fp_inf><br>
         24e:    0c 94 97 01     jmp    0x32e    ; 0x32e
        <__fp_szero><br>
         252:    5f 3f           cpi    r21, 0xFF    ; 255<br>
         254:    e4 f3           brlt    .-8          ; 0x24e
        <__divsf3_pse+0x6c><br>
         256:    98 3e           cpi    r25, 0xE8    ; 232<br>
         258:    d4 f3           brlt    .-12         ; 0x24e
        <__divsf3_pse+0x6c><br>
         25a:    86 95           lsr    r24<br>
         25c:    77 95           ror    r23<br>
         25e:    67 95           ror    r22<br>
         260:    b7 95           ror    r27<br>
         262:    f7 95           ror    r31<br>
         264:    9f 5f           subi    r25, 0xFF    ; 255<br>
         266:    c9 f7           brne    .-14         ; 0x25a
        <__divsf3_pse+0x78><br>
         268:    88 0f           add    r24, r24<br>
         26a:    91 1d           adc    r25, r1<br>
         26c:    96 95           lsr    r25<br>
         26e:    87 95           ror    r24<br>
         270:    97 f9           bld    r25, 7<br>
         272:    08 95           ret<br>
         274:    e1 e0           ldi    r30, 0x01    ; 1<br>
         276:    66 0f           add    r22, r22<br>
         278:    77 1f           adc    r23, r23<br>
         27a:    88 1f           adc    r24, r24<br>
         27c:    bb 1f           adc    r27, r27<br>
         27e:    62 17           cp    r22, r18<br>
         280:    73 07           cpc    r23, r19<br>
         282:    84 07           cpc    r24, r20<br>
         284:    ba 07           cpc    r27, r26<br>
         286:    20 f0           brcs    .+8          ; 0x290
        <__divsf3_pse+0xae><br>
         288:    62 1b           sub    r22, r18<br>
         28a:    73 0b           sbc    r23, r19<br>
         28c:    84 0b           sbc    r24, r20<br>
         28e:    ba 0b           sbc    r27, r26<br>
         290:    ee 1f           adc    r30, r30<br>
         292:    88 f7           brcc    .-30         ; 0x276
        <__divsf3_pse+0x94><br>
         294:    e0 95           com    r30<br>
         296:    08 95           ret<br>
        <br>
        00000298 <__fp_inf>:<br>
         298:    97 f9           bld    r25, 7<br>
         29a:    9f 67           ori    r25, 0x7F    ; 127<br>
         29c:    80 e8           ldi    r24, 0x80    ; 128<br>
         29e:    70 e0           ldi    r23, 0x00    ; 0<br>
         2a0:    60 e0           ldi    r22, 0x00    ; 0<br>
         2a2:    08 95           ret<br>
        <br>
        000002a4 <__fp_nan>:<br>
         2a4:    9f ef           ldi    r25, 0xFF    ; 255<br>
         2a6:    80 ec           ldi    r24, 0xC0    ; 192<br>
         2a8:    08 95           ret<br>
        <br>
        000002aa <__fp_pscA>:<br>
         2aa:    00 24           eor    r0, r0<br>
         2ac:    0a 94           dec    r0<br>
         2ae:    16 16           cp    r1, r22<br>
         2b0:    17 06           cpc    r1, r23<br>
         2b2:    18 06           cpc    r1, r24<br>
         2b4:    09 06           cpc    r0, r25<br>
         2b6:    08 95           ret<br>
        <br>
        000002b8 <__fp_pscB>:<br>
         2b8:    00 24           eor    r0, r0<br>
         2ba:    0a 94           dec    r0<br>
         2bc:    12 16           cp    r1, r18<br>
         2be:    13 06           cpc    r1, r19<br>
         2c0:    14 06           cpc    r1, r20<br>
         2c2:    05 06           cpc    r0, r21<br>
         2c4:    08 95           ret<br>
        <br>
        000002c6 <__fp_round>:<br>
         2c6:    09 2e           mov    r0, r25<br>
         2c8:    03 94           inc    r0<br>
         2ca:    00 0c           add    r0, r0<br>
         2cc:    11 f4           brne    .+4          ; 0x2d2
        <__fp_round+0xc><br>
         2ce:    88 23           and    r24, r24<br>
         2d0:    52 f0           brmi    .+20         ; 0x2e6
        <__fp_round+0x20><br>
         2d2:    bb 0f           add    r27, r27<br>
         2d4:    40 f4           brcc    .+16         ; 0x2e6
        <__fp_round+0x20><br>
         2d6:    bf 2b           or    r27, r31<br>
         2d8:    11 f4           brne    .+4          ; 0x2de
        <__fp_round+0x18><br>
         2da:    60 ff           sbrs    r22, 0<br>
         2dc:    04 c0           rjmp    .+8          ; 0x2e6
        <__fp_round+0x20><br>
         2de:    6f 5f           subi    r22, 0xFF    ; 255<br>
         2e0:    7f 4f           sbci    r23, 0xFF    ; 255<br>
         2e2:    8f 4f           sbci    r24, 0xFF    ; 255<br>
         2e4:    9f 4f           sbci    r25, 0xFF    ; 255<br>
         2e6:    08 95           ret<br>
        <br>
        000002e8 <__fp_split3>:<br>
         2e8:    57 fd           sbrc    r21, 7<br>
         2ea:    90 58           subi    r25, 0x80    ; 128<br>
         2ec:    44 0f           add    r20, r20<br>
         2ee:    55 1f           adc    r21, r21<br>
         2f0:    59 f0           breq    .+22         ; 0x308
        <__fp_splitA+0x10><br>
         2f2:    5f 3f           cpi    r21, 0xFF    ; 255<br>
         2f4:    71 f0           breq    .+28         ; 0x312
        <__fp_splitA+0x1a><br>
         2f6:    47 95           ror    r20<br>
        <br>
        000002f8 <__fp_splitA>:<br>
         2f8:    88 0f           add    r24, r24<br>
         2fa:    97 fb           bst    r25, 7<br>
         2fc:    99 1f           adc    r25, r25<br>
         2fe:    61 f0           breq    .+24         ; 0x318
        <__fp_splitA+0x20><br>
         300:    9f 3f           cpi    r25, 0xFF    ; 255<br>
         302:    79 f0           breq    .+30         ; 0x322
        <__fp_splitA+0x2a><br>
         304:    87 95           ror    r24<br>
         306:    08 95           ret<br>
         308:    12 16           cp    r1, r18<br>
         30a:    13 06           cpc    r1, r19<br>
         30c:    14 06           cpc    r1, r20<br>
         30e:    55 1f           adc    r21, r21<br>
         310:    f2 cf           rjmp    .-28         ; 0x2f6
        <__fp_split3+0xe><br>
         312:    46 95           lsr    r20<br>
         314:    f1 df           rcall    .-30         ; 0x2f8
        <__fp_splitA><br>
         316:    08 c0           rjmp    .+16         ; 0x328
        <__fp_splitA+0x30><br>
         318:    16 16           cp    r1, r22<br>
         31a:    17 06           cpc    r1, r23<br>
         31c:    18 06           cpc    r1, r24<br>
         31e:    99 1f           adc    r25, r25<br>
         320:    f1 cf           rjmp    .-30         ; 0x304
        <__fp_splitA+0xc><br>
         322:    86 95           lsr    r24<br>
         324:    71 05           cpc    r23, r1<br>
         326:    61 05           cpc    r22, r1<br>
         328:    08 94           sec<br>
         32a:    08 95           ret<br>
        <br>
        0000032c <__fp_zero>:<br>
         32c:    e8 94           clt<br>
        <br>
        0000032e <__fp_szero>:<br>
         32e:    bb 27           eor    r27, r27<br>
         330:    66 27           eor    r22, r22<br>
         332:    77 27           eor    r23, r23<br>
         334:    cb 01           movw    r24, r22<br>
         336:    97 f9           bld    r25, 7<br>
         338:    08 95           ret<br>
        <br>
        0000033a <_exit>:<br>
         33a:    f8 94           cli<br>
        <br>
        0000033c <__stop_program>:<br>
         33c:    ff cf           rjmp    .-2          ; 0x33c
        <__stop_program></font><br>
      -----------------------<br>
      <br>
      PH<br>
      <br>
      <div class="moz-cite-prefix">Dne 23.04.2024 v 18:23 Martin Záruba
        napsal(a):<br>
      </div>
      <blockquote type="cite"
        cite="mid:7cb703c6-54fe-4272-8b16-5d4e30ee47ac@volny.cz">
        <meta http-equiv="Content-Type"
          content="text/html; charset=UTF-8">
        <font face="Arial">Spíš myslím, že podstatné je umět si
          představit, jak i jednoduchý kód v C vytvoří mnoho strojových
          instrukcí. Skoro si netroufám představit si, co je výsledkem,
          pokud bych použil float.</font><br>
      </blockquote>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
HW-list mailing list  -  sponsored by <a class="moz-txt-link-abbreviated" href="http://www.HW.cz">www.HW.cz</a>
<a class="moz-txt-link-abbreviated" href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a>
<a class="moz-txt-link-freetext" href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>