Duda convertir Hex a Ascii

Iniciado por panteraxavi, 26 Mayo 2012, 13:17 PM

0 Miembros y 1 Visitante están viendo este tema.

panteraxavi

En primer lugar, os envío un saludo a todos. Acabo de llegar a este foro y espero disfrutar mucho aquí. 

Tengo una duda con un ejercicio que estoy realizando en ASM para MIPS.  El código creo que me está funcionando creo que bien. Se trata de introducir una palabra a codificar y devolverme la palabra codificada en base al algoritmo escrito. Mas o menos indico lo que he hecho:

1º.- Reservé un espacio de memoria .word para almacenar la palabra codificada. La codificación ocupa 2 palabras en MIPS (64 bits).

2º.- Una vez codificado,el resultado que tengo en $s0 y en $s1, lo almacena en la posición del punto 1  en hexadecimal.

3º.- Finalizo el programa con 2 instrucciónes para almacenar en memoria el resultado:  sw $s0,numOut($0) y sw $s1,numOut+4($0)

3º.- Ahora la duda, ¿ Cómo hago para que me retorne el resultado es ascii ?.

Gracias por vuestra ayuda

panteraxavi

Creo que lo he conseguido. Lo que he hecho es llamar a la función syscall con la opción de impresión de cadena de caracteres.  No obstante, de la manera que tenía situada la etiqueta donde había reservado memoria para almacenar el resultado, me sacaba la impresión desde esta posición hasta que comenzaba el main. Lo que he hecho es copiar la instrucción justo antes del comienzo del main.

Un Saludo

CasiqueCasimiro

haber si entendí, vos necesitas hacer una encriptacion/codificación tipo cesar (es al valor ascii del símbolo realizare operaciones matemáticas para dar otro carácter diferente)  ? si es haci, es mas facil tener definido un vector de X espacios vacíos, luego, al pedir el dato con la int 21/ah 07 , con la int 21/ah 02 muestro la tecla escrita por la persona, luego sobre el registro donde quedo ese carácter almacenado, aplicarle el algoritmo (ese carácter/símbolo que la persona ingresa, ya se pasa a numero ascii en hexa y se guarda en un registro, usa el seguimiento del emu8086 para ver bien en cual era, por que yo me olvide), una ves aplicado el algoritmo y modificado su valor , guardarlo en el vector, usando:

mov vector[DI],"registro del valor modificado"
inc DI

donde, le muevo al vector en la poción en que apunta DI el valor codificado y luego le aumento 1 para apuntar al siguiente lugar de tu vector.

espero que te allá sido de ayuda.