Funciones Extendidas De Conversion Masm32
Hoy en día los lenguajes de alto nivel están altamente difundidos y los programadores los manejan a la perfección por su fácil comprensión y escritura.
Pero estos lenguajes presentan limitaciones en cuanto a lo que es permitido hacer con la pc y el código innecesario que se produce al compilarlos, es por ello que el lenguaje ensamblador aún es utilizado a pesar de tener un nivelbajo en la programación, esta complicación es compensada con la flexibilidad y velocidad que permite.
El Microsoft Macro Assembler (MASM) es un ensamblador para la familia x86 de microprocesadores. Fue producido originalmente por Microsoft para el trabajo de desarrollo en su sistema operativo MS-DOS, y fue durante cierto tiempo el ensamblador más popular disponible para ese sistema operativo.El MASM soportó una amplia variedad de facilidades para macros y programación estructurada, incluyendo construcciones de alto nivel para bucles, llamadas a procedimientos y alternación (por lo tanto, MASM es un ejemplo de un ensamblador de alto nivel).
La librería MASM32 contiene una gama de procedimientos dirigidos a aplicaciones que requieren una salida de datos a muy alta velocidad, llamadosFunciones Extendidas de Conversion. Son un total de seis funciones para este propósito pero en este documento se explican únicamente tres: wrd2bin_ex, hexflip32, bin2byte_ex.
Se presenta su nomenclatura, una breve descripción sobre su utilización y los parámetros que recibe, así como un ejemplo de cada función para poder visualizar su utilidad.
Hoja originalFunciones Extendidas de Conversión
Esta gama de procedimientos están dirigidos a las aplicaciones que requieren flujo de salida de datos a muy alta velocidad.
Pero si hay un procedimiento normal que realice lo mismo y la necesidad de conversión con alta velocidad no es muy crítica, este es una mejor opción por razones de eficiencia de tamaño.
wrd2bin_ex
Nomenclaturawrd2bin_ex proc var: WORD, búfer: DWORD
Descripción
Una palabra de alta velocidad a convertir en formato binario.
El valor que es contenido en el parámetro proc var: WORD puede ser un valor en binaro,octal,decimal o hexadecimal, el cual es convertido a su equivalente en binario y posteriormente almacenado en el parámetro bufer: DWORD.
Parámetros
1. var: El tamaño de variable a convertir.
2.buffer: La dirección del búfer de destino.
Valor de Retorno
No hay valor de retorno.
Comentarios
Este algoritmo es adecuado para la transmisión de salida binaria de alta velocidad.
hexflip32
Nomenclatura
hexflip32 proc src: DWORD
Descripción
Un algoritmo de propósito especial para la conversión normal hexadecimal a memoria hexadecimal.
Parámetros
1. src : La dirección dela cadena hexadecimal a convertir a memoria.
Valor de Retorno
Los datos convertidos se vuelven a escribir en el búfer de origen.
Comentarios
El algoritmo acepta el formato ensamblador notación hexadecimal con el final "h" y, opcionalmente, un "0" si es necesario. La longitud de la cadena no debe exceder los 10 bytes incluyendo la "h" y "0".
La salida siempre es una cadena hexadecimal enmemoria de 8 bytes de longitud.
Si la cadena de entrada es inferior a 8 bytes de longitud se rellena con "0" s para compensar la longitud.
La salida siempre se escribe en el buffer de la cadena de origen y el buffer debe ser por lo menos 9 bytes de longitud. Un buffer de 12 bytes cumple el criterio de alineación.
Por ejemplo:
“01199AAFFh” se convierte en “FFAA9911”
bin2byte_exNomenclatura
bin2byte_ex proc l pword: DWORD
Descripción
bin2byte_ex es una conversión de alta velocidad de un valor en notación binaria a un valor de un byte.
Parámetros
1.proc l pword La dirección de la cadena en notación binaria.
Valor de Retorno
El valor de retorno es el número ASCII del byte contenido en la notación binaria.
Comentarios
Este procedimiento es adecuado...
Regístrate para leer el documento completo.