Ensamblador - Problemas con modula 2

 
Vista:

Problemas con modula 2

Publicado por felixuco (1 intervención) el 03/11/2006 15:28:14
Pues resulta que estoy empezando la carrera y me he decidido por empezar unos ejercicios que hay de programacion de modula que es tipico con el que se empieza el de hola bueno como es corto lo pongo aqui:

MODULE HOLA;
FROM InOut IMPORT WriteString;
BEGIN
WriteString(" Hola mundo ");
END HOLA.

despues de compilarlo que no me da error le doy a link y me sale lo siguiente:
M2Link V3.5 (C) Copyrght 1987-1995 Fitted Software Tools. All rights reserved
--- incompatible module
at file position 000B

SAbeis estoy ultimo que es , en teoria al darle a Linkear deberia de crear el ejecutable pero nada de nada no le crea me la parrafada desa de incompatible module....
bueno quedo a la espera de vuestros post
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:Problemas con modula 2

Publicado por Jágel (1 intervención) el 07/11/2006 10:16:43
Probablemente ya lo hayas hecho y solucionado, y parecerá una estupidez mi respuesta, pero yo tuve el mismo problema después de un tiempo y lo que encontré es que ese error me daba si utilizaba un acceso directo al acceso directo del mc.exe, por lo que ahora no utilizo accesos directos (y por si acaso yo desinstalaría e instalaría otra vez el modula2, no siendo tengas alguna librería mal)
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

RE:Problemas con modula 2

Publicado por Ivan (1 intervención) el 28/12/2006 01:13:15
Hola, ¿Cómo va todo?

El problema que tienes es la inclusión de el punto y coma al final de
WriteString(" Hola mundo ");

Creo que es un error del libro de programación, ¿Estás en la UNED?

El punto y coma señala el final del sentencias del bloque. Como esa sentencia es la última del bloque (BEGIN-END), no debe figurar.
En caso que si que tengas otras sentencias deberás poner el punto y coma en las que preceden a la última del bloque.

Ejemplo:

MODULE Abecedario;
FROM InOut IMPORT WriteString;
BEGIN
WriteString(" ABCD ");
WriteString(" EFGH ");
WriteString(" IJKLM ");
WriteString(" NOPQ " <---- FIJATE EN QUE NO APARECE EL ";"
END Abecedario.

Si el bloque se trata de una iteración o selección también se aplica lo anterior. Es decir, no se pone el ";" en la última del bloque PERO ojo, tampoco después del DO, ni tras el THEN o ELSE en sentencias IF.

MODULE Numeros;
FROM InOut IMPORT WriteString, WriteLn, WriteInt;
VAR i : INTEGER;
BEGIN
FOR i:= 1 TO 10 DO
WriteString ("Numero : ");
WriteInt (i,3);
WriteLn <- FIJATE EN QUE NO APARECE EL ";" por ser final del bloque interno FOR
END <--- ni aquí tampoco por ser la estructura anterior un bloque y no le sigue
END Numeros. ninguna intrucción más dentro del BEGIN-END

Espero que te sirva. Se trata de un error engorroso y a veces de difícil detercción.
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