microconctroladores
Páginas: 13 (3210 palabras)
Publicado: 28 de octubre de 2013
Convención de términos
f Cualquier registro (SFR o GPR) de la RAM del PIC
w Work register o Registro de trabajo
b Posición de bit
k Campo literal, dato constante o etiqueta
d Selección de destino; d = 0: el resultado se almacena en W
d = 1: el resultado almacenar en el registro FPC Program Counter o Contador de Programa
TOS Top Of Stack o Cima de la Pil
< > Posición de bit dentro de un registro
TO Bit de Time-Out
PD Bit de Power-down
Label Nombre de una etiqueta
Notación de números en ensamblador
Hexadecimal: 0x15, H45, h7A
Decimal: D'41', d'156 ', .25
Binario: B'11110010', b'01010000'
Octal: O'32', o'77'
Ascii: 'A', 'a', 'b'
ADDLW
Add Literal andW
Sintaxis:
ADDLW k
Operandos:
0 ≤ k ≤ 255
Operación:
(W) + k → (W)
Status Afectado:
C, DC, Z
Descripción:
El contenido del registro W se suma al literal de ocho bits k y el resultado es colocado en el registro W.
Ejemplo 1: ADDWF PORTB, F ; PORTB = PORTB + W
Antes de instrucción Después de instrucción
PORTB = 0xE8 PORTB = 0x1E
W = 0x36W = 0x36
C = ? C = 1 ; Ocurrió un desbordamiento
Z = ? Z = 0 ; El resultado no es cero
Ejemplo 2: ADDWF REG, W ; W = REG + W
Antes de instrucción Después de instrucción
REG = 0x05 REG = 0x05
W = 0xF2 W = 0xF7
C = ? C =0 ; No hubo desbordamiento
Z = ? Z = 0 ; El resultado no es cero
ADDWF
Add W and f
Sintaxis:
ADDWF f, d
Operandos:
0 ≤ k ≤ 255
Operación:
(W) + (f) → (destino)
Status Afectado:
C, DC, Z
Descripción:
Sumar el contenido del registro W con el registro ‘f’.
Si d = 0, el resultado se almacena en el registro W.
Si d = 1, el resultado se almacenaen el registro ‘f’.
Ejemplo 1: ADDWF PORTB, F ; PORTB = PORTB + W
Antes de instrucción Después de instrucción
PORTB = 0xE8 PORTB = 0x1E
W = 0x36 W = 0x36
C = ? C = 1 ; Ocurrió un desbordamiento
Z = ? Z = 0 ; El resultado no es cero
Ejemplo 2: ADDWF REG,W ; W = REG + W
Antes de instrucción Después de instrucción
REG = 0x05 REG = 0x05
W = 0xF2 W = 0xF7
C = ? C = 0 ; No hubo desbordamiento
Z = ? Z = 0 ; El resultado no es cero
Instrucciones de ensamblador PIC
ANDLW
And Literal with W
Sintaxis:
ANDLW kOperandos:
0 ≤ k ≤ 255
Operación:
(W) AND k → (W)
Status Afectado:
Z
Descripción:
Aplica la operación AND entre el literal de 8 bits ‘k’ y el registro W. El resultado es colocado en W.
Ejemplo 1: ANDLW b'00001111' ; W = W AND 00001111
Antes de instrucción Después de instrucción
W = 0x34 W = 0x04
Z = ?Z = 0 ; El resultado no es cero
Ejemplo 2: ANDLW b'11110000' ; W = W AND 11110000
Antes de instrucción Después de instrucción
W = 0x0D W = 0x00
Z = ? Z = 1 ; El resultado es cero
ANDWF
And W with f
Sintaxis:
ANDWF f, d
Operandos:
0 ≤ f ≤ 127
d Є [0,1]
Operación:(W) AND (f) → (W)
Status Afectado:
Z
Descripción:
AND entre el registro W y el registro ‘f’.
Si d = 0, el resultado es almacenado en el registro W.
Si d = 1, el resultado es almacenado en el registro ‘f’.
Ejemplo 1: ANDWF STATUS, F ; STATUS = STATUS AND W
Antes de instrucción Después de instrucción
STATUS = 11111111 STATUS...
Leer documento completo
Regístrate para leer el documento completo.