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.

Deja un comentario