RE:duda sobre un programa
Saludos:
Cuando se refieren a desempaquetar un número BCD, se refiere a convertirlo de su representación ASCII a su representación binaria. La acción de empaquetamiento, hace lo contrario, es decir, pasa el número de su representación binaria a su representación en ASCII
Un ejemplo:
...
mov ah,08h ;una petición para introducir ASCII del teclado
int 21h
almacena en el registro "al" el caracter ASCII , suponemos que tecleaste el 1 (valor 31H)
ahora para "desempaquetarlo", es decir, para usarlo como número (no como ASCII), por lo general se hace una resta o una función xor
sub al,30h o bien xor al,30h cualquiera de las operaciones anteriores te regresa el 01H
Para "empaquetar" un número se le suma a este el 30H o bien se hace una función or
Sin embargo, hay otro método que permite manejar los ASCII diectamente como números, son:
AAA ajuste despues de sumar
AAS ajuste despues de restar
AAM ajuste despues de multiplicar
AAD ajuste despues de dividir
En el libro de Peter Abel, en el capítulo 14 trata este concepto.
Espero haberme dado a entender