pic Jul. 2016 | Page 41

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