Ahojte,
v premennej Command mam hodnotu napr.: 10011101. Potrebujem poslat na port znegovanu hodnotu.
Instrukciou COMF Command, F znegujem hodnotu a poslem na port. V simulatore vsetko ok, stav registru sa zneguje a na port sa vsetko posle ako ma.
Zahada pre mna je, ze ked program nahram do realneho procesora, odosle sa na port B’11111111’
Ked manualne vlozim do premennej znegovanu hodnotu B’01100010’ vsetko funguje aj v realnom svete.
Nevím jestli vadí mezera zrovna za čárkou, ale od jisté doby v souboru se zdrojovým kódem v ASM žádné mezery nemám a mám takový pocit, že Mikop ví dobře proč to píše. Mám s tím totiž taky svoje zkušenosti, sám jsem se už asi dvakrát potkal s podobným problémem - v situaci kdy neproběhl překlad až do konce a já po několik dní nevěděl proč a nemohl jsem na nic přijít, jsem pak narazil na podobné vlákno tuším na fóru Microchipu, kde se taky řešily mezery. Čistě ze zoufalství jsem pak šel a vyzkoušel všechny mezery odstranit, nahradil jsem je tabulátory a na začátky prázdných řádků dal všude středníky - a voilà, překlad najednou proběhl úplně bez problému a kód fungoval.
Nevím už přesně jaká verze překladače to byla ani s jakou chybou tehdy končil, je to už delší dobu (možná bych to ještě někde dohledal), nicméně na mezery v souboru jsem od té doby hodně hodně opatrný, v podstatě je mám už jen za středníky v komentářích.