<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Děkuji všem za snahu, rozšířilo mi to znalosti pointerů.  Další
    zkoumání však ukázalo, že souvislost s operátorem @ je spíše
    nepřímá.<br>
    <br>
    Zkušební kód (použity operátory @)<br>
    <br>
    <tt>void </tt><tt>p</tt><tt>dt_init(void)</tt><tt><br>
    </tt><tt>{</tt><tt><br>
    </tt><tt>   volatile uint32_t address;</tt><tt><br>
    </tt><tt><br>
    </tt><tt>   pdt_userpt_num |= ee_read(EE_USER_POINT_NUM_H) &lt;&lt;
      8;</tt><tt><br>
    </tt><tt>   address = (uint32_t)pdata1;    // zde se přiřadí 0x0000</tt><tt><br>
    </tt><tt>   address = (uint32_t)pdata1;</tt><tt>    // zde se
      přiřadí správná adresa<br>
      }<br>
    </tt><tt><br>
    </tt>A jeho překlad<tt><br>
      <br>
    </tt><tt>!   pdt_userpt_num |= ee_read(EE_USER_POINT_NUM_H) &lt;&lt;
      8;</tt><tt><br>
    </tt><tt>0x7822: MOVLW 0x0</tt><tt><br>
    </tt><tt>0x7824: MOVWF quotient, ACCESS</tt><tt><br>
    </tt><tt>0x7826: MOVLW 0x19</tt><tt><br>
    </tt><tt>0x7828: MOVWF arg, ACCESS</tt><tt><br>
    </tt><tt>0x782A: CALL 0xB7A2, 0</tt><tt><br>
    </tt><tt>0x782C: NOP</tt><tt><br>
    </tt><tt>0x782E: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7830: MOVWF f1, BANKED</tt><tt><br>
    </tt><tt>0x7832: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7834: MOVF f1, W, BANKED</tt><tt><br>
    </tt><tt>0x7836: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7838: MOVWF f3, BANKED</tt><tt><br>
    </tt><tt>0x783A: CLRF cntr, BANKED</tt><tt><br>
    </tt><tt>0x783C: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x783E: MOVF cntr, W, BANKED</tt><tt><br>
    </tt><tt>0x7840: MOVLB 0x1</tt><tt><br>
    </tt><tt>0x7842: MOVLB 0x1</tt><tt><br>
    </tt><tt>0x7844: IORWF f1, F, BANKED</tt><tt><br>
    </tt><tt>0x7846: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7848: MOVF f3, W, BANKED</tt><tt><br>
    </tt><tt>0x784A: MOVLB 0x1</tt><tt><br>
    </tt><b><tt>0x784C: MOVLB 0x1</tt></b><tt><b>    // bank 1</b><br>
    </tt><tt>0x784E: IORWF crc, F, BANKED</tt><tt><br>
    </tt><tt><br>
      !   address = (uint32_t)pdata1;</tt><tt><br>
    </tt><tt>0x7850: MOVLW 0x20</tt><tt><br>
    </tt><tt>0x7852: MOVWF f1, BANKED</tt><tt><br>
    </tt><tt>0x7854: MOVLW 0xD4</tt><tt><br>
    </tt><tt>0x7856: MOVWF cntr, BANKED</tt><tt><br>
    </tt><tt>0x7858: MOVLW 0x0</tt><tt><br>
    </tt><tt>0x785A: MOVWF f3, BANKED</tt><tt><br>
    </tt><tt>0x785C: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x785E: MOVF f1, W, BANKED</tt><tt><br>
    </tt><tt>0x7860: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7862: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7864: MOVWF ff2, BANKED</tt><tt><br>
    </tt><tt>0x7866: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7868: MOVF cntr, W, BANKED</tt><tt><br>
    </tt><tt>0x786A: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x786C: MOVWF f1, BANKED</tt><tt><br>
    </tt><tt>0x786E: MOVF f3, W, BANKED</tt><tt><br>
    </tt><tt>0x7870: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7872: MOVWF a, BANKED</tt><tt><br>
    </tt><b><tt>0x7874: MOVLB 0x0</tt></b><tt><b>        </b><b>// bank
        0</b><br>
    </tt><tt>0x7876: CLRF f2, BANKED</tt><tt><br>
      <br>
    </tt><tt>!   address = (uint32_t)pdata1;</tt><tt><br>
    </tt><tt>0x7878: MOVLW 0x20</tt><tt><br>
    </tt><tt>0x787A: MOVWF f1, BANKED</tt><tt><br>
    </tt><tt>0x787C: MOVLW 0xD4</tt><tt><br>
    </tt><tt>0x787E: MOVWF cntr, BANKED</tt><tt><br>
    </tt><tt>0x7880: MOVLW 0x0</tt><tt><br>
    </tt><tt>0x7882: MOVWF f3, BANKED</tt><tt><br>
    </tt><tt>0x7884: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7886: MOVF f1, W, BANKED</tt><tt><br>
    </tt><tt>0x7888: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x788A: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x788C: MOVWF ff2, BANKED</tt><tt><br>
    </tt><tt>0x788E: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7890: MOVF cntr, W, BANKED</tt><tt><br>
    </tt><tt>0x7892: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x7894: MOVWF f1, BANKED</tt><tt><br>
    </tt><tt>0x7896: MOVF f3, W, BANKED</tt><tt><br>
    </tt><tt>0x7898: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x789A: MOVWF a, BANKED</tt><tt><br>
    </tt><tt>0x789C: MOVLB 0x0</tt><tt><br>
    </tt><tt>0x789E: CLRF f2, BANKED</tt><br>
    <br>
    První přiřazení je s počáteční bankou 1 a nefunguje. Druhé je
    identické, ale s počáteční bankou 0 a již funguje. Při vynechání
    operátoru @ je kód přiřazení mírně odlišný a funguje správně.<br>
    <br>
    <br>
    J.S.<br>
    <br>
    <br>
  </body>
</html>