Vous êtes sur la page 1sur 20

Semana 5:

Instrucciones Aritmticas/Lgicas en el
microcontrolador PIC10F200
Carlos Bazn, David Lavn, Juan Espejo, Vctor Melchor
Ir al repositorio del curso

Sbado, 23 de Abril de 2016

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

1 / 20

ndice

Una computadora diminuta: el microcontrolador


El microcontrolador PIC10F200
Implementacin de instrucciones Aritmticas/Lgicas

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

2 / 20

Una computadora diminuta:


el microcontrolador

Qu es un microcontrolador?

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

3 / 20

El microcontrolador PIC10F200

El microcontrolador PIC10F200 utiliza una arquitectura Harvard


en la que los programas y los datos son accedidos por buses
separados. Esto mejora el ancho de banda sobre la arquitectura
de von Neumann donde programas y datos son obtenidos por
el mismo bus.
Memoria
Programa Datos
256 12 16 8

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

4 / 20

El microcontrolador PIC10F200

La unidad aritmtica lgica (ALU) es de 8 bits de ancho y es


capaz de realizar las siguientes instrucciones:
lgicas
de rotacin
aritmticas

A menos que se indique lo contrario, las operaciones aritmticas


son de complemento a dos por naturaleza.

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

5 / 20

El microcontrolador PIC10F200
Instrucciones

Cada instruccin es un patrn de 12 bits dividido en un opcode


(que especifca el tipo de operacin) y uno o ms operandos. El
registro W es un registro de 8 bits empleado para operaciones
de la ALU. No es un registro direccionable.

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

6 / 20

El microcontrolador PIC10F200
Descripcin de los campos del opcode

Campo
f
W
k
d

CC101

Descripcin
Direccin de registros (0x00 - 0x1F)
Registro de trabajo
Campo literal, dato constante o etiqueta
Seleccin de destino:
d = 1 (guarda el resultado en W)
d = 0 (guarda el resultado en el registro f)
Por defecto d = 1

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

7 / 20

El microcontrolador PIC10F200
Organizacin de la memoria de programa

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

8 / 20

El microcontrolador PIC10F200
Organizacin de la memoria de datos

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

9 / 20

El microcontrolador PIC10F200
Instrucciones bsicas

MOVLW
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Move literal to W
MOVLW k
0 k 255
k (W)
Ninguno
El literal de 8 bits k es cargado en
el registro W.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

10 / 20

El microcontrolador PIC10F200
Instrucciones bsicas

MOVWF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Move W to f
MOVWF f
0 f 31
(W) (f)
Ninguno
Mueve los datos del registro W al
registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

11 / 20

El microcontrolador PIC10F200
Programa MOVWF

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

12 / 20

El microcontrolador PIC10F200
Instrucciones lgicas

ANDWF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

And W with f
ANDWF f,d
0 f 31
d [0, 1]
(W) .AND. (f) (dest)
Z
Los contenidos del registro W son
operados con los del registro f con
el operador AND. Si d es 0, el resultado es almacenado en el registro
W. Si d es 1, el resultado es almacenado en el registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

13 / 20

El microcontrolador PIC10F200
Programa ANDWF

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

14 / 20

El microcontrolador PIC10F200
Instrucciones lgicas

IORWF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Inclusive OR W with f
IORWF f,d
0 f 31
d [0, 1]
(W) .OR. (f) (dest)
Z
Los contenidos del registro W son
operados con los del registro f con
el operador OR inclusivo. Si d es
0, el resultado es almacenado en
el registro W. Si d es 1, el resultado
es almacenado en el registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

15 / 20

El microcontrolador PIC10F200
Instrucciones lgicas

XORWF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Exclusive OR W with f
IORWF f,d
0 f 31
d [0, 1]
(W) .XOR. (f) (dest)
Z
Los contenidos del registro W son
operados con los del registro f con
el operador OR exclusivo. Si d es
0, el resultado es almacenado en
el registro W. Si d es 1, el resultado
es almacenado en el registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

16 / 20

El microcontrolador PIC10F200
Instrucciones de rotacin

RLF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Rotate Left through Carry


RLF f,d
0 f 31
d [0, 1]
Ver descripcin de abajo
C
Los contenidos del registro f son rotados un bit a la izquierda a travs
de la bandera Carry. Si d es 0, el
resultado es almacenado en el registro W. Si d es 1, el resultado es
almacenado en el registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

17 / 20

El microcontrolador PIC10F200
Programa RLF

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

18 / 20

El microcontrolador PIC10F200
Instrucciones aritmticas

ADDWF
Sintaxis:
Operandos:
Operacin:
Estados afectados:
Descripcin:

CC101

Add W and f
ADDWF f,d
0 f 31
d [0, 1]
(W) + (f) (dest)
C, DC, Z
Los contenidos del registro W y f
son sumados. Si d es 0, el resultado es almacenado en el registro
W. Si d es 1, el resultado es almacenado en el registro f.

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

19 / 20

El microcontrolador PIC10F200
Programa ADDWF

CC101

Semana 5: Instrucciones Aritmticas/Lgicas en el microcontrolador PIC10F200

20 / 20

Vous aimerez peut-être aussi