TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: JCCAec en 12 de Marzo de 2005, 12:15:00

Título: Una ayudita técnica...
Publicado por: JCCAec en 12 de Marzo de 2005, 12:15:00
Holas geniales de los PIC, mi duda es:  qué función precisa cumple la instrucción:
    Swap,   eria su agradecido si me lo aclaran.
Título: RE: Una ayudita técnica...
Publicado por: adrian2a1 en 12 de Marzo de 2005, 16:07:00
Función  "Swap f,d":

Los cuatro bits de más peso del registro "f" se intercambian con los 4 bits de menos peso del mismo registro ‘f’. Si ‘d’ = 0 el resultado se almacena en W, si ‘d’ = 1 el resultado se almacena en ‘f’.

Un Ejemplo:      swapf     Reg1,F
Antes instrucción:                   (Reg1) = 0xA5.
Después instrucción:   (Reg1) = 0x5A.

Otro Ejemplo:      swapf     Reg1,W
Antes instrucción:                   (Reg1) = 0xA5   y    (W) = ¿?
Después instrucción:   (Reg1) = 0xA5   y    (W) = 0x5A.

Espero sea suficiente. Y si no, ya sabes vuelves a preguntar.

Adrian.
Título: RE: Una ayudita técnica...
Publicado por: todopic en 12 de Marzo de 2005, 16:34:00
Una aplicacion muy util de este comando, es colocar dos valores BCD en un solo byte...

por ejemplo escribes en los 4 bit de mayor peso (los 4 de la izquierda) las decenas, y en los 4 de de derecha las unidades...

para poder tomar el valor de los 4 de la izquierda, "tendrias" que por ejemplo, hacer un and, y luego rotar 4 veces a la derech para obtener su valor....
pero con swapf lo haces en un solo paso!! Rebotado


Norberto
Título: RE: Una ayudita técnica...
Publicado por: JCCAec en 12 de Marzo de 2005, 17:06:00
Sonrisa    De verdad muchas gracias, me quedó clarito
Que Dios los bendiga por tan noble tarea, cuidensen...