X

PIC16F628A:Instrucciones de suma.

El microcontrolador PIC16F628A puede realizar operaciones aritméticas tales como: sumar, restar,incrementar o decrementar un registro.

En este post, nos enfocaremos en trabajar dos instrucciones de suma que son: addlw k y addwf f,d

INSTRUCCIÓN addlw k

Esta instrucción se encarga de sumar el contenido del registro “W” con el literal o el valor constante “k”, este resultado es almacenado en el acumulador o registro “W”. Si por alguna razón se produce un acarreo, el flag C del registro status, automáticamente se pone a “1”

Ejemplo:  addlw 0x4F

Si por ejemplo, el registro W contiene el valor 0xA3, se suman de la siguiente forma:

(W)+K= W

Se hace de la siguiente forma: 

0xA3+0x4F=0xF2 

El resultado 0XF2 será almacenado en el registro W

Como no hay acarreo, el flag C del registro status se pone en cero “0”

Ejemplo:  addlw 0x38

Si por ejemplo, el registro W contiene el valor 0xD1, se suman de la siguiente forma:

(W)+K= W

Se hace de la siguiente forma: 

0xD1+0x38=0x09

El resultado 0X09 será almacenado en el registro W

Como hay acarreo, el flag C del registro status se pone en cero “1”

 

INSTRUCCIÓN addwf f,d

Esta instrucció se encarga de sumar el contenido del registro W al contenido del registro f. Este resultado será almacenado en W si el destino “d” es igual a cero o f si el destino “d” es igual a uno. 

Al igual que en la instrucción anterior, se producirá acarreo si el flag C del registro status se pone a “1”

Ejemplo:  addwf PORTA, 0

suponiendo que W contiene a 0x17 y portA contiene a 0xC2

la suma entre ellos da 0xD9 y será almacenada en W, para este caso no existe acarreo por lo cual el C=0.

Ejemplo:  addwf contador, 1

suponiendo que W contiene a 0xD1 y contador contiene a 0x38

la suma entre ellos da 0x109 y será almacenada en f, para este caso existe acarreo por lo cual el C=1.

CONTENIDOS RELEVANTES.

Categories: MICROCONTROLADORES
fabio figueroa: soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

Este sitio usa cookies