Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

Alguien que sepa ensamblador 8086?

BocaDePez
BocaDePez

Hola wenas,

posteo en este foro porque a lo mejor alguno se le ha dado el siguiente problema con el queridisimo lenguaje ensamblador 80X86; como se puede extraer de una ristra de digitos en octal, decimal o hexadecimal su equivalente algebraico en binario?

He estado mirando como puedo encontrar una equivalencia entre el peso de la base en la que se representan los digitos en la ristra (porque realmente los caracteres de la cadena son bytes con su respectivo codigo ASCII) y la base binaria, pero no encuentro ninguna forma, alguien me podria dar una idea? Yo no quiero pasar esta ristra a otra ristra, sino la ristra en cuestion a un valor numerico en binario para guardar en un registro de 32 bits. Gracias.

Saludos.

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
Bodescu

Hace mucho de esto, pero creo recordar que podrias transformar una cadena hexa tomando los digitos de dos en dos desde la derecha, y almacenando su valor en decimal, y luego trasladar esos valores decimales abinario.

Siento no ser de mas ayuda, pero es algo que apenas recuerdo, y conque va de memoria y de hace la tira de tiempo, , pues igual hasta ni es asi.

Un saludo

BocaDePez
BocaDePez

y los deberes y tareas no son pal colegio...

huele a cuando budescu y servidor programabamos en codigo maquina...

🗨️ 1
BocaDePez
BocaDePez

o sea emsamblador... que luego dice alguno que maquina es 1010111010111

Buster

Si te he entendido bien lo que planteas es fácil.

Si por ejemplo quieres guardar el valor 33 en base octal, 10 en base decimal o 3F en base hexadecimal lo único que tienes que hacer es un MOV al registro. Por ejemplo:

MOV AX, 3Fh

Y ya tendrías el valor 3F hexadecimal en el registro AX.

Y lo mismo con la base decimal:

MOV AX,10d

Dices que tiene que ser un registro de 32 bits, pues entonces sólo tienes que usar EAX por ejemplo:

MOV EAX,12345678h

Si no te referías a esto a ver si te puedes explicar mejor.

Saludos.

Frankie2004

Mi 8086 está algo oxidado, recuerdo más el Z80 o el 68000 (soy uno de la vieja escuela que viene de Spectrum y Amiga) pero en teoría podrías hacerlo con cualquier micro si te pones a analizar la situación en pseudocódigo. También depende si se ha comprobado anteriormente que los dígitos estén dentro de los valores correctos para su base.

Por ejemplo, para hexadecimal yo haría:

- Inicializas el registro de destino a cero
- Lees el primer carácter por la izquierda y lo metes en un registro temporal
- Restas 0x30 (el código ASCII del "0")
- Si es mayor de 0x09 entonces es una letra (si es menor ya tenemos el valor)
- Haces un OR 0x20 para igualar mayúsculas y minúsculas
- Restas 0x27 (0x61 - 0x30 - 0x0A, siendo 0x61 el ASCII de la "a")
- Si es mayor de 0x0F pues obviamente está fuera de rango.
- Rotas el registro de destino 8 bits hacia la izquierda y le haces un OR con el registro temporal
- Continúas el bucle hasta que te quedes sin caracteres por leer.

🗨️ 3
Bodescu

Ah...

Aquellas laaaaargas cadenas de hexa para compilar e en codigo fuente que salian en la micromania... Aquellas cargas eternas en las que justo al final leisas 'R; Error cargando cinta', con sus amenos colorcitos y su banda sonora original... xDDD

Que tiempos aquellos en los que un Spectrum +2A 128 era lo mas de lo mas xDD

Nostalgia de mi querido procesador Z80 de lavadora, con sus flamantes 8 bits...

Un saludo

🗨️ 2
Frankie2004

Bueno, algunos locos seguimos haciendo juegos nuevos para el Spectrum.

Pertenezco a un grupo llamado Computer Emuzone Games Studio, que se dedica a programar para Spectrum, Amstrad, MSX en modo nativo y "remakes" de juegos clásicos de 8 bits (Sir Fred, Capitan Sevilla ...) para PC.

Ahora mismo tenemos en el caldero al menos 6 títulos nuevos. No nos ha dado tiempo para sacar nada especial en la RetroEuskal 2007, pero seguro que en la feria de MadriSX & Retro en Marzo del 2008 habrá buenas sorpresas.

Si quieres, puedes poner tu emulador favorito y echar un vistazo a las cosillas que vamos haciendo:
computeremuzone.com
cezgs.computeremuzone.com

🗨️ 1
Bodescu

Quiero quiero JUAS!!!!

Capitan Sevilla... Nada menos xDDDDD

Maravilloso que algunos colg... emhhh... fanaticos y añorantes sigan trabajando en eso.

Toda una buena noticia, la verdad. Al menos para los que hemos vivido la etapa del 8bit.

Un saludo