viernes, 3 de octubre de 2008

Instrucciones ( VI ) BCD

Para representar números decimales usando código binario se creó el BCD.

El BCD se usa para que los sistemas digitales puedan procesar números decimales directamente.
Algunos circuitos integrados pueden convertir, contar, y otras cosas.
El procesador puede hacer todo eso y más usando estas instrucciones de FASM: daa , das , aaa , aas , aam , aad.

DAA ajuste decimal después de sumar

  • Verifica si el flag de acarreo auxiliar esta 1 o el contenido de los cuatro bits menos significativos de AL es mayor que 9, en cuyo caso se suma 6 a AL. Tras todo esto, comprueba si el flag de acarreo esta activado o el contenido de los 4 bits menos significativos es mayor que 9, en cuyo caso se suma 60h a AL. El flag de acarreo se activa si se ha realizado la segunda operación, y el de acarreo auxiliar si se realiza la primera.

DAS ajuste decimal después de restar

  • Corrige el resultado en AL de la resta de dos números BCD empaquetados, convirtiéndolo también en un valor BCD empaquetado. Si el nibble inferior tiene un valor mayor que 9 o AF es 1, a AL se le resta 6, AF se pone a 1. Si el nibble mas significativo es mayor que 9 ó CF está a 1, entonces se resta 60h a AL y se activa después CF

AAA Ajusta ASCII después de sumar

  • Esta instrucción se emplea tras sumar dos números BCD no empaquetados de dos dígitos con ADD AX,reg/mem. Comprueba si el contenido de AL supera a nueve, y realiza si es cierto una operación que consiste en restar 10 de AL. AH se incrementa si AL fue superior a 9.

AAS Ajusta ASCII después de restar

  • Se emplea después de restar dos números BCD no empaquetados con SUB AX,reg/mem. Comprueba si AL es mayor a 9, y si lo es, suma 10 a AL. Si se realiza ajuste, el flag de acarreo se activa

AAM Ajusta ASCII después de multiplicar

  • Convierte el número binario de 8 bits en AL en un número BCD no empaquetado de dos dígitos en AX. AL debe ser menor que 100 para que el ajuste proporcione un número válido.

AAD Ajusta ASCII después de dividir

No hay comentarios: