Equivalencias en ASM a otros lenguajes...

Foro dedicado a la programación en todo tipo de sistemas clásicos.
Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Equivalencias en ASM a otros lenguajes...

Mensajepor mentalthink » 13 Ene 2013, 19:37

Me explico, no sé si la pregunta es chorra o no, el hecho es que me preguntaba si hay por ahí, ya que lo he buscado pero no encuentro nada...

Hay algún libro o manual, quizás en la Época a alguién se le ocurrió hacerlo , que te enseñe por ejemplo ha hacer algo como:

for a=1 to 100

pero en ASM...

A lo que me refiero si hay algún documento que te enseñe, por ejemplo a hacer un IF, o a recorrer un array, vamos lo que hacemos normalmente pero la traduccion a ensamblador...

Supongo que si existiera sería algo genérico, no me refiero por ejemplo al CPC, pero supongo que teniendo algo así, sería reltivamente sencillo aprender a comprender el ASM en muy poco tiempo...

Pues nada más,
Saludos!!!

Avatar de Usuario
Lex Sparrow
Amiga 2500
Amiga 2500
Mensajes: 2776
Registrado: 28 Dic 2005, 12:26
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
consola_favorita: Nintendo NES/Clónica
Primera consola: TV Games/Pong Clone
Gracias dadas: 187 veces
Gracias recibidas: 45 veces
Contactar:

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor Lex Sparrow » 13 Ene 2013, 19:46

Pues no es ninguna tontada lo que dices. Mucha gente se anima a programar en ensamblador (o C, o lo-que-sea) cuando consigue establecer un paralelismo entre su lenguaje preferido y el nuevo a aprender.

Aquí tienes una muestra que no es exactamente lo que pides pero que se acerca mucho.

Hello World in Many Programming Languages
Alejandro - Lex Sparrow | M |

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mentalthink » 13 Ene 2013, 19:53

Pues gracias Lex, hombre yo funciono de esa manera como comentas, de hecho yo todo lo hago en GLBasic, pero con un poco de ayuda que voy pillando de aquí y alla entiendo más o menos el C++ (Recuerdo cuando empecé, que le tenia una tirria al Eclipse que ni te cuento)...

Hombre yo no sé si habrá, algún alma caritativa que se animará ha hacer un documento similar, pero quizás con ese empujón la genté se tiraria a programar más para estos cacharros...

El tema de la idea, es que yo por ejemplo veindo algún código de los Compañeros de Amstrad ESP, y aunque lo comentán, yo no veo como sacan un Sprite, porque aquí mueves los bits de un lado a otro y esas cosas... Estaría bien esto, pero bueno, es una petición particular y tampoco es plan de ponerse "pesaó".

Por otro lado y para no abrir otro hilo, y como es de ASM también... solo es por mera curiosidad...

En el CPC, hay "comandos" que hacen la vida más facil a la hora de programar el CPC, que son las llamadas al firmware, si no me equivoco, es como una funcion, en esté caso un "trozo" de memoria dónde hay varios comandos en ASM que hacen algo predifinido... Pero, hay algún sitio dónde se vean esos códigos, o sea lo que hacen esas instrucciones destripadas?¿... Se que está la Biblia de Firmware, que es la página azul, que si no vás con cuidado te quedas sin retinas :mrgreen: , pero hay si no me equivoco no hay nada a esté respecto...

Avatar de Usuario
Namek
Atari 1040 STf
Atari 1040 STf
Mensajes: 840
Registrado: 11 Jul 2011, 13:13
Gracias dadas: 18 veces
Gracias recibidas: 63 veces

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor Namek » 13 Ene 2013, 21:42

Siento discrepar un poco, pero eso que propones esta bien para hacerte una idea de como se hacen ciertas cosas en ASM, pero las diferencias a la hora de programar en BASIC o ASM las veo tan grandes que realmente pienso que para aprender ASM te tienes que olvidar un poco del BASIC y empezar desde CERO, piensa que un lenguaje de alto nivel te facilita tanto las cosas que no te haces una idea de los problemas que te vas a encontrar a la hora de programar en ASM.

Yo empece con el CURSO de Z80 de Microhobby y la verdad es que con un poco de paciencia y ganas se aprende bastante rapido, tambien empece con el M68000 con el manual que publico ANAYA y lo poquito que he tocado del 6502 con el curso de programacion de la ATARI 2600, la ventaja es que cuando empiezas a comprender uno los vas comprendiendo casi todos a la vez con sus diferencias.

Animo y ya nos cuentas... :roll:

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mcleod_ideafix » 13 Ene 2013, 21:53

Lo que pides es precisamente la primera parte de la asignatura (ya extinta) que impartíamos en Ingenería Informática (Técnicas de programación en bajo nivel). En esa asignatura se enseñaba cómo diferentes estructuras de C equivalían poco más o menos a otras ciertas estructuras en ensamblador del IA32.

Posiblemente encuentres información sobre esto en textos relacionados con creación de compiladores. La última parte, la generación de código, en su versión más simple, traduce desde el árbol de sintáxis abstracta construido a partir del lenguaje de alto nivel, a una versión en ensamblador.

El texto que nosotros usábamos en la carrera (cuando yo era alumno) es el libro "Compilers".
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mentalthink » 13 Ene 2013, 22:12

Ah, pues gracias McLeod... concretamente es esté?¿... Por compilers a secas no me sale nada exacto... Mercí.

http://books.google.es/books/about/Comp ... 9QAAAAMAAJ

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mcleod_ideafix » 13 Ene 2013, 22:15

mentalthink escribió:Ah, pues gracias McLeod... concretamente es esté?¿... Por compilers a secas no me sale nada exacto... Mercí.

http://books.google.es/books/about/Comp ... 9QAAAAMAAJ


¡Justo ese! :)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 930
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor Joss » 13 Ene 2013, 22:19

La idea es muy buena, pero llevarlo a la práctica es mas complicado. El problema que tiene el ensamblador es que está muy ligado a la máquina en la que corre, y al final te quedaría un tutorial de ensamblador en Amstrad CPC o en Spectrum ZX, etc. Para el Amstrad puedes encontrar un tutorial en amstrad.es de Miguel Sky, y luego amplias con las librerias cpcrslib para C, que antes de linkar deben de mostrar el código en ensamblador de como lo hacen.

Con tu comentario me he acordado de estos libros que había en la época y explicaban con dibujitos como funcionaban las cosas. Hay uno de código máquina:
Código de máquina para principiantes

mcleod_ideafix escribió:El texto que nosotros usábamos en la carrera (cuando yo era alumno) es el libro "Compilers".

@mcleod_ideafix: puedes dar el autor del libro si te acuerdas, por favor? en el amazon me salen varios, aunque uno con varios autores se repite (Alfred V. Aho, Monica S. Lam, Ravi Sethi und Jeffrey D. Ullman).

EDITO: Contestado!!!! :D .....

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mcleod_ideafix » 13 Ene 2013, 23:18

Mira, he encontrado, de mis apuntes de la carrera, un extenso archivo TXT (que nosotros imprimíamos en papel continuo) y que son unos apuntes de la asignatura "Compiladores" escritos en formato texto plano, y usando los caracteres de bloque de MSDOS para dibujar cajas. He conseguido pasarlo (más o menos) a PDF respetando las "cajas".
Hay algo que te puede interesar a partir de la página 151. Es poco y escueto, pero es un comienzo...
Adjuntos
apuntes_compiladores.zip
(307.22 KiB) Descargado 635 veces
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Equivalencias en ASM a otros lenguajes...

Mensajepor mentalthink » 13 Ene 2013, 23:23

Gracias Joss el curso de Amstrad ESP, ya lo miré, y aunque está bien a mi parecer faltan ejemplos... pero volveré ha hecharle un ojo, es lo de siempre le tiempo.
McLeod, voy a bajar estó que me pasas , ya te digo algo cuando me lo haya mirado, y obviamente gracias por tomarte la molestia y el tiempo,..

Gracias a ambos!!!. :jumper: :jumper:


Volver a “Programación”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados