Página 1 de 2

Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 19:37
por mentalthink
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!!!

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 19:46
por Lex Sparrow
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

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 19:53
por mentalthink
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...

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 21:42
por Namek
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:

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 21:53
por mcleod_ideafix
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".

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 22:12
por mentalthink
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

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 22:15
por mcleod_ideafix
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! :)

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 22:19
por Joss
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 .....

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 23:18
por mcleod_ideafix
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...

Re: Equivalencias en ASM a otros lenguajes...

Publicado: 13 Ene 2013, 23:23
por mentalthink
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: