kan någon visa mig hur man skulle kunna koda en sådan här c++ kod (if sats)
på lågnivå
c++
if(a='00011111')
{
}
finns det några instruktioner som kollar z flaggan. hittar inga sådana. Där med blir det svårt att kolla en hel byt.
Skapa en if sats i Pic 16f84
Tredje tråden du skapar om samma sak.... kan du inte hålla dig i en tråd? ja ja
Movf A,W // Flyttar A till W
Subwf X,W //subtraherar W från X och sparar svaret i W. X är en variabel (register) som du har lagt in ditt "if-värde" i. A är precis som i ditt exempel det värdet du vill kolla. Detta påverkar statusbiten Z.
Btfss f,b //f är det statusregister som hålller Z och b är den bit i registret som håller Z. Om det var så att den var satt (alltså om din if är uppfylld) så kommer den att hoppa nästa rad. dvs. du ska på raden under skriva vad som ska hända om det INTE var sant, troligen en GOTO sats. under GOTO kommer din sats {}
Movf A,W // Flyttar A till W
Subwf X,W //subtraherar W från X och sparar svaret i W. X är en variabel (register) som du har lagt in ditt "if-värde" i. A är precis som i ditt exempel det värdet du vill kolla. Detta påverkar statusbiten Z.
Btfss f,b //f är det statusregister som hålller Z och b är den bit i registret som håller Z. Om det var så att den var satt (alltså om din if är uppfylld) så kommer den att hoppa nästa rad. dvs. du ska på raden under skriva vad som ska hända om det INTE var sant, troligen en GOTO sats. under GOTO kommer din sats {}