• Domingo 22 de Diciembre de 2024, 12:44

Autor Tema:  Que Hace Daa  (Leído 6544 veces)

Instru

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
    • http://www.geocities.com/instructivus
Que Hace Daa
« en: Martes 2 de Mayo de 2006, 01:36 »
0
Una duda. Que es lo que hace DAA? Pero si me le pudieran explicar con un ejemplo mejor, porque por mas que leo en los libros que tengo sobre la instruccion DAA nunca le entiendo que es lo que exactamente hace.

Saludos
Estoy aqui, estoy alla, estoy en todos lados!!!
Viva la emulacion!!!!

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Que Hace Daa
« Respuesta #1 en: Martes 2 de Mayo de 2006, 14:55 »
0

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Que Hace Daa
« Respuesta #2 en: Jueves 4 de Mayo de 2006, 02:02 »
0
:huh: la instrucción DAA (ajuste decimal) se utiliza para sumar dos bytes en formato BCD, despues de una suma realizada con las instrucciones ADD  
la instrucción DAA ajusta el resultado de la suma (para lo cual utiliza la información de los bits C y H del registro de condiciones, que son el acarreo del 8vo y 4to bits respectivamente, para corregir la suma e impedir los valores hexadecimales incorrectos (A-F).

Por ejemplo: si sumamos $01 + $09, obtenemos $0A, CC.C=0 y CC.H=0 (que no es un número BCD válido); la instrucción DAA se encarga de sumarle $06 para convertirlo en el valor correcto $10 (01+09=10).
Otro ejemplo: si sumamos $08 + $08, obtenemos $10, CC.C=0 y CC.H=1 (que es un número BCD válido, pero la suma es incorrecta porque CC.H=1), la instrucción DAA se encarga de sumarle $06 para convertirlo en el valor= $16 (08+08=16). Lo mismo vale para las decenas, salvo que aquí se utiliza el acarreo normal (CC.C) en lugar del medio acarreo (CC.H) y se suma $60.

Si CC.H y CC.C son 0 y los dígitos obtenidos son BCD, no es necesario sumar nada para ajustar el resultado (por ejemplo: $23+$11=$34).

espero te sirva, saludos  :hola:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Instru

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
    • http://www.geocities.com/instructivus
Re: Que Hace Daa
« Respuesta #3 en: Jueves 4 de Mayo de 2006, 05:47 »
0
Muchas gracias. Mucho mas claro. El ejemplo que me pusiste y el link de Eternal Idol estuvieron bastante bien.
Estoy aqui, estoy alla, estoy en todos lados!!!
Viva la emulacion!!!!