Ensamblador - procedimientos

 
Vista:

procedimientos

Publicado por Luis (1 intervención) el 25/04/2001 19:55:48
Como creo una subrutina que procese una cadena ASCII correspondiente a un numero hexadecimal y almacene en memoria el valor hexadecimal que se había leído como caracteres ASCII. Se pasan como parámetros el numero de caracteres ASCII a convertir, el puntero a la cadena ASCII y el puntero donse se almacenará la secuencia procesada. El empaquetado tiene que ser en formato little endian.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:procedimientos

Publicado por Googol (61 intervenciones) el 27/04/2001 12:28:32
Hola!
Tienes que ir recorriendo caracter a caracter, pasarlo a número, y luego sumarlo a lo que lleves.
En pseudocódigo:
resultado = 0;
mientras queden más caracteres:
siguiente = pasa a número(siguiente caracter)
resultado = (resultado*16) + siguiente
fin mientras

Si lo haces sobre un procesador que maneja los números en little endian, el resultado lo estará directamente. Si no, tendrás que invertir los bytes.
Pasar lo anterior a ensamblador no es muy dificil, aunque un poco pesado por los saltos.

Suerte!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar