El Solar Assembler
El Solar
Assembler (SolAsm como nombre
común) es un
ensamblador multipaso, de alto nivel y macro ensamblador que puede
compilar código de 16/32/64 bits, y que se ejecuta en
Windows, Linux,
MacOS y Solar_OS. El Solar Assembler
está programado por Bogdan
Valentin Ontanu
y todavía está en fase de desarrollo, por
consiguiente, no está completo. Por favor lea atentamente el
Manual
del Solar Assembler y el apartado OBSERVACIONES
del
final de esta página para familiarizarse con su
sintaxis y evitar molestos errores a la hora de compilar.
Easy Code
versiones 2.02.0.0003 y posteriores
también dan soporte al SolAsm, sin
embargo
hay que tener presente que algunos proyectos no se pueden
generar con SolAsm porque está en fase de desarrollo,
por lo tanto, hasta la versión 0.36.76
(incluida)
los siguientes proyectos NO se pueden generar:
Drivers
NT
de 32 y 64 bits
Librerías
estáticas de 32 y 64 bits
Con el fin de
mantener la estructura básica de carpetas de los
otros ensambladores contemplados, le sugiero
que cree una carpeta llamada SolAsm en la
raíz de uno de sus discos duros (preferiblemente
que no sea el disco de sistema C:). Entonces cree
una subcarpeta llamada Bin y otra llamada Help
dentro de la carpeta SolAsm que acaba de crear
(éstas son las dos subcarpetas que se necesitan,
pero puede crear más si lo desea):
SolAsm
Bin
Help
Ahora descargue la última versión del Solar
Assembler Binary aquí
y una vez haya descomprimido el archivo
descargado, localice el archivo sol_asm2.exe y
cópielo a la subcarpeta \SolAsm\Bin que
acaba de crear. Entonces descargue la página sol_asm_manual.htm
y cópiela a la subcarpeta \SolAsm\Help
que acaba
de crear:
SolAsm
Bin
sol_asm2.exe
Help
Solar
Assembler Manual.htm
Puesto que Easy Code (para proyectos de 64 bits) y el
MASM32 SDK (para proyectos de 32 bits) proporcionan los archivos
include y librería
necesarios, no hace
falta nada más. Tenga en cuenta que el MASM32 SDK
solamente se necessita si piensa programar proyectos
visuales de 32 bits, de lo contrario no necesita
instalarlo.
Después de descargar la última versión
de Easy Code, ejecútelo, vaya al menú
Herramientas-->Configuración,
haga clic en la pestanya Configuraciones,
seleccione el ítem SolAsm en el
desplegable Configuración y siga
atentamente
las instrucciones del tópico Menú
Configuración -
Configurando Easy Code. Después repita
los mismos pasos anteriores, pero seleccionando el ítem
SolAsm64 en el desplegable Configuración.
Por favor vea también los comentarios relacionados con el
SOLASM en OBSERVACIONES
IMPORTANTES.
NOTA:
Todo funcionará bien si las configuraciones son correctas,
por lo
tanto, por favor tómese el tiempo que sea necesario en leer
el tópico Configuraciones,
para evitar
problemas posteriores.
El SolAsm es
un buen
ensamblador
pero, como se ha dicho anteriormente, está en fase de
desarrollo, por lo tanto, para más
información,
o para reportar errores generados por SolAsm, es
decir,
que no estén relacionados con Easy Code,
por favor
contacte con el autor Bogdan
Valentin Ontanu.
Los proyectos que no se pueden generar directamente con el
SolAsm (drivers NT de 32/64 bits y
librerías
estáticas de 32/64 bits) se podrían generar
manualmente
compilando el código con SolAsm y usando un linker
para los drivers, y un compilador de
librerías para las
librerías estáticas, aunque hay que saber como
hacerlo. Por otra
parte, la capacidad del SolAsm para generar drivers
NT en
el futuro está determinada por su autor.
El SolAsm tiene su propio compilador de
recursos, pero a la hora de escribir este documento
solamente puede crear los recursos siguientes:
- Cajas de diálogo
NOTA:
Esto es aplicable a
todos los tipos de proyecto excepto a los proyectos
visuales, que tienen todos los recursos disponibles porque
usan un compilador de recursos externo (normalmente el
rc.exe de Microsoft). Por otra parte, las
cajas de diálogo no acceptan las palabras clave
CLASS (nombre de clase), ni FONT
(parámetros
de la fuente), ni EXSTYLE (estilos extendidos).
- Controles
- Menús
Los recursos
de SolAsm se pueden agregar
manualmente siguiendo la sintaxis indicada en el manual del
SolAsm
(Chapter 8. Internal Resource compiler), pero
también se pueden
agregar de una manera más fácil y
cómoda
desde el Editor de Recursos
(recomendado). De este modo Easy Code creará un archivo con
extensión "rc" y se cuidará
de hacer todo el trabajo.
Por favor vea el ejemplo Classic en la carpeta
\EasyCode\Examples\SolAsm\x86\Classic (o
\EasyCode\Examples\SolAsm\x64\Classic).
En ese ejemplo
podrá ver como crear y asignar un menú y mostrar
una caja de
diálogo. Además, también
verá como debe crearse manualmente
un recurso fuente porque, como se ha explicado anteriormente,
el compilador de recursos del SolAsm no accepta la palabra
clave FONT para las cajas de diálogo.
AVISO:
Los recursos de menú deben cargarse con la
función
de la API LoadMenuIndirect,
mientras que los recursos de caja de diálogo deben
cargarse con la función de la API DialogBoxIndirectParam
(por favor
vea el ejemplo Classic).
OBSERVACIONES:
Como se ha dicho
anteriormente, el Solar Assembler está
en fase de
desarrollo, por consiguiente, tiene algunos problemas que deben ser
solucionados (cuidado con los espacios):
MAX_PATH + 1 MAL, produce un errorCuando se inicializan estructuras:
MAX_PATH+1 BIEN, no produce ningún error
{10 0 40 20 60} MAL, produce un errorOtro problema que afecta principalmente a los proyectos visuales es que la directiva extern NO funciona con las variables externas (SÍ que funciona con los procedimientos externos). Esto significa que en una ventana o módulo no se puede referenciar una variable que esté en otro módulo.
{ 10 0 40 20 60 } BIEN, no produce ningún error