Por el puerto B se obtiene el contenido del puerto A, pero los bits impares de la salida se fijan siempre a cero “0“.
El orden de los bits será B7,B6,B5,B4,B3,B2,B1,B0, siendo los impares: b7, b5, b3 y b1.
Por ejemplo: Si por el puerto A se introduce el dato b’—01100′, por el puerto B se visualiza ‘00000100’ En esto se observa que:
- Los bits impares siempre están a cero “0”, efectivamente: (Puerto B)=”0x0x0x0x”
- Los pares permanecen con el dato del puerto de entrada, efectivamente: (puerto A)=”—0x1x0″ y (puerto B)=”—0x1x0″
SOLUCIÓN.
Para la implementación del planteamiento del ejercicio, se evaluó una a una las instrucciones lógicas estudiadas y la más indicada para realizar esta operación es la andlw de la cual más adelante se profundizará.
Rápidamente hablando, esta instrucción tiene un comportamiento similar a la compuerta AND que comúnmente se usa en electrónica digital.
Si quieres conocer más a detalle la operación de la compuerta AND, te aconsejo que ingreses aquí para más información.
Si los bits pares permanecen en 0, entonces lo ideal es dejarlos en 0.
Se creó un valor constante llamado const b’01010101′
Se habilitó el puerto A como entrada con el fin de introducir un valor desde el dipswitch el cual es arbitrario.
La salida se visualizó en B.
PROGRAMA EN ASSEMBLER.
CIRCUITO.
PRODUCTO DEL DIA.
CONTENIDOS RELEVANTES.