IORLW
W OR literal
W AND F
MOVLW Cargar literal en W
Sintaxis: [label] IORLW k
Operandos: 0 ≤ k ≤ 255
Operación: : (W) OR (k)⇒ (W)
Flags afectados: Z
Código OP: 11 1000 kkkk kkkk
Sintaxis:
[label] IORWF f,d
Operandos: d ∈ [0,1], 0 ≤ f ≤ 127
Operación: (W) OR (f) ⇒ (dest)
Flags afectados: Z
Código OP: 00 0100 dfff ffff
[label] MOVLW f
Sintaxis:
Operandos: 0 ≤ f ≤ 255
Operación:
(k) ⇒ (W)
Flags afectados: Ninguno
11 00xx kkkk kkkk
Código OP:
Descripción: Se realiza la operación
lógica OR entre el contenido del
registro W y k, guardando el
resultado en W.
Descripción: Realiza la operación
lógica OR entre los registros W y f.
Si d es 0, el resultado se almacena en
W, si d es 1 se almacena en f.
Descripción: El literal k pasa al
registro W.
Ejemplo: :
Ejemplo: :
Ejemplo:
IORLW 0x35
Antes: W = 0x9A
Después: W = 0xBF
MOVF
Mover a f
Sintaxis:
[label] MOVF f,d
Operandos: d ∈ [0,1], 0 ≤ f ≤ 127
Operación:
(f) ⇒ (dest)
Flags afectados: Z
Código OP:
00 1000 dfff ffff
Descripción: El contenido del
registro f se mueve al destino d. Si d
es 0, el resultado se almacena en W,
si d es 1 se almacena en f. Permite
verificar el registro, puesto que afecta
a Z.
Ejemplo:
MOVF REG,0
Después: W = REG
IORWF
IORWF REG,0
Antes: W = 0x91, REG = 0x13
Después: W = 0x93, REG = 0x13
MOVWF
Mover a f
Descripción: El contenido
registro W pasa el registro f.
No operar
Sintaxis:
[label] NOP
Operandos: Ninguno
Operación: No operar
Flags afectados: Ninguno
Código OP: 00 0000 0xx0 0000
del
MOVWF REG,0
Ejemplo:
Después: REG = 0x4F, W = 0x5A
NOP
Sintaxis:
[label] MOVWF f
Operandos: 0 ≤ f ≤ 127
Operación:
W ⇒ (f)
Flags afectados: Ninguno
Código OP:
00 0000 1fff ffff
MOVLW 0x5A
Antes: REG = 0xFF, W = 0x4F
Después: REG = 0x4F, W = 0x4F
Descripción: No realiza operación
alguna. En realidad consume un ciclo
de instrucción sin hacer nada.
Ejemplo: :
CLRWDT
Después: Contador WDT = 0,
Preescales WDT = 0,
/TO = 1, /PD = 1
RETFIE Retorno de interrup.
RETLW Retorno, carga W
RETURN Retorno de rutina
Sintaxis: [label] RETFIE
Operandos: Ninguno
Operación: : 1 ⇒ GIE; TOS⇒PC
Flags afectados: Ninguno
Código OP: 00 0000 0000 1001
Sintaxis: [label] RETLW k
Operandos: 0 ≤ k ≤ 255
Operación: : (k)⇒ (W); TOS⇒PC
Flags afectados: Ninguno
Código OP: 11 01xx kkkk kkkk
Sintaxis: [label] RETURN
Operandos: Ninguno
Operación: : TOS ⇒ PC
Flags afectados: Ninguno
Código OP: 00 0000 0000 1000
Descripción: El PC se carga con el
contenido de la cima de la pila
(TOS): dirección de retorno.
Consume 2 ciclos. Las interrupciones
vuelven a ser habilitadas.
Ejemplo: :
RETFIE
Descripción: El registro W se carga
con la constante k. El PC se carga
con el contenido de la cima de la pila
(TOS): dirección de retorno.
Consume 2 ciclos.
Ejemplo: :
RETLW 0x37
Descripción: El PC se carga con el
contenido de la cima de la pila
(TOS): dirección de retorno.
Consume 2 ciclos.
Después: PC = dirección de retorno
GIE = 1
Después: PC = dirección de retorno
W = 0x37
Después: PC = dirección de retorno
39
Ejemplo: :
RETURN