Autor Tema: Una ayudita técnica...  (Leído 1891 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JCCAec

  • PIC10
  • *
  • Mensajes: 31
Una ayudita técnica...
« 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.

Desconectado adrian2a1

  • Colaborador
  • PIC12
  • *****
  • Mensajes: 75
RE: Una ayudita técnica...
« Respuesta #1 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.

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: Una ayudita técnica...
« Respuesta #2 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
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado JCCAec

  • PIC10
  • *
  • Mensajes: 31
RE: Una ayudita técnica...
« Respuesta #3 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...


 

anything