Sintassi:
andwf f,d
Operazione equivalente:
d = W AND f (dove d può essere W o f)
Descrizione:
Questa istruzione effettua l'AND logico tra il valore contenuto
nell'accumulatore W ed il valore contenuto nel registro indirizzato dal
parametro f. Il parametro d è un flag che indica su
quale registro deve essere memorizzato il risultato.
Per d = W il risultato viene memorizzato nel registro
W
Per d = F il risultato viene memorizzato nel registro f
Esempio:
Spesso l'AND logico viene utilizzato per mascherare il valore di alcuni
bit all'interno di un registro. Se ad esempio volessimo estrarre dal numero binario
01010101B i quattro bit meno significativi al fine di ottenere il seguente valore
00000101B, basterà preparare una maschera del tipo 00001111B e farne l'AND con il nostro
valore di partenza, vediamo come:.
movlw 01010101B ;Memorizza nel registro ; all'indirizzo
movwf 0CH ;0CH il valore iniziale da mascherare
movlw 00001111B ;Prepara la maschera di bit
andwf 0CH,W ;Effettua l'AND e memorizza il
;risultato nell'accumulatore W
Il risultato in W sarà 00000101B come rischiesto.
W = 00001111 AND
f = 01010101 =
----------------
W = 0000010101
La ANDWF influenza il bit Z del
registro STATUS che varrà 1 se il risultato dell'operazione è 0.
|