<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">PORTCbits.RC4 nabyva
hodnot 0 nebo 1.<br>
(kopieBytu & 0b10000000) nabyva hodnot 0 nebo 0x80.<br>
<br>
Prekladac udelal presne to, co se po nem chce :-)<br>
<br>
Bez prerovnani bitu by to slo napsat takto:<br>
<br>
if (((kopie & 0x80) && RC4) || (!(kopie &
0x80) && !RC4))<br>
<br>
Pokud by bity byly na stejnem miste (RC4), pak by slo napsat<br>
<br>
if ((kopie ^ PORTC) & 0x10)<br>
<br>
<br>
<br>
Hynek<br>
<br>
<br>
<br>
</font>
<div class="moz-cite-prefix">Dne 4.4.2013 13:39, Miroslav Draxal
napsal(a):<br>
</div>
<blockquote cite="mid:002701ce3129$182dadb0$48890910$@cz"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-2">
<meta name="Generator" content="Microsoft Word 12 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.StylE-mailovZprvy17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Dobrý den,<o:p></o:p></p>
<p class="MsoNormal"> Se v tom nějak plácám. Prosím znalce, kde
dělám chybu<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">char kopieBytu;<o:p></o:p></p>
<p class="MsoNormal">#define SPI_DATA_IN PORTCbits.RC4<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if ((kopieBytu & 0b10000000) !=
SPI_DATA_IN) //SPIverifi<o:p></o:p></p>
<p class="MsoNormal">{ chyba verifikace }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">přeloží jako <o:p></o:p></p>
<p class="MsoNormal">Rozbor pokud má verifikovat (na vstupu RC4
je HI, v kopieBytu = 0b10000000) mi vyhodnotí jako chybu
verifikace, což je špatně.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">!
if ((kopieBytu & 0b10000000) != SPI_DATA_IN)
//SPIverifi<o:p></o:p></p>
<p class="MsoNormal">0x1F48: SWAPF PORTC, W,
ACCESS (1001000 <span
style="font-family:Wingdings">è</span>W=00001001)<o:p></o:p></p>
<p class="MsoNormal">0x1F4A: ANDLW
0x1
(W=00000001)<o:p></o:p></p>
<p class="MsoNormal">0x1F4C: MOVWF divisor, ACCESS
(0x5D) (W do 0x5D)<o:p></o:p></p>
<p class="MsoNormal">0x1F4E: MOVF quotient, W, BANKED
(0x82) (kopieBytu do W=10000000)<o:p></o:p></p>
<p class="MsoNormal">0x1F50: ANDLW
0x80
(W=10000000)<o:p></o:p></p>
<p class="MsoNormal">0x1F52: XORWF divisor, W, ACCESS
(0x5D) (10000000 XOR 00000001 = 10000001)
????<o:p></o:p></p>
<p class="MsoNormal">0x1F54: BTFSS STATUS, 2, ACCESS<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Se mi nezdá řádek 0x1F52, ten přeci o
podmínce nic neříká. <o:p></o:p></p>
<p class="MsoNormal">Díky za reakce. Míra<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
</blockquote>
<br>
</body>
</html>