El Solar Assembler
El Solar
Assembler (SolAsm com a nom
comú) és un
assemblador multipas, d'alt nivell i macro assemblador que pot
compilar codi de 16/32/64 bits, i que s'executa en Windows, Linux,
MacOS i Solar_OS. El Solar Assembler
està programat per Bogdan
Valentin Ontanu
i encara està en fase de desenvolupament, per tant, no
està complet. Si us plau llegiu atentament el Manual
del Solar Assembler i l'apartat OBSERVACIONS
del final d'aquesta
plana web per tal de familiaritzar-se amb la seva sintaxi i evitar
molestos errors a l'hora de compilar.
L'Easy Code versions 2.02.0.0003 i posteriors
també
donen suport al SolAsm, tantmateix cal tenir en
compte
que alguns projectes no es poden generar amb el SolAsm
perquè
està en fase de desenvolupament, per tant, fins a la
versió 0.36.76
(inclosa) els següents projectes NO es
poden generar:
Drivers
NT de 32 i 64
bits
Llibreries
estàtiques de 32 i 64 bits
Per tal de
mantenir l'estructura bàsica de carpetes dels altres
ensambladors
contemplats, us suggereixo que creeu una carpeta anomenada SolAsm
a l'arrel d'un dels vostres discs durs (preferiblement que no sigui el
disc de sistema C:). Llavors creeu una subcarpeta
anomenada Bin i una altra anomenada Help
dins de la
carpeta SolAsm que acabeu de crear (aquestes
són les
dues subcarpetes que es necessiten, però podeu crear-ne
més
si ho desitgeu):
SolAsm
Bin
Help
Ara descarregueu l'última versió del Solar
Assembler
Binary aquí
i un cop hàgiu descomprimit el fitxer
descarregat, localitzeu el fitxer sol_asm2.exe i
copieu-lo a la subcarpeta \SolAsm\Bin que acabeu de
crear. Llavors descarregueu la pàgina sol_asm_manual.htm
i copieu-la a la subcarpeta \SolAsm\Help que acabeu
de crear:
SolAsm
Bin
sol_asm2.exe
Help
Solar
Assembler Manual.htm
Atès que l'Easy Code (per projectes de 64 bits) i el MASM32
SDK (per projectes de 32 bits) proporcionen els fitxers
include i llibreria
necessaris, no us cal
res més. Tingueu en compte que el MASM32 SDK
només es
necessita si penseu programar projectes visuals de
32
bits, altrament no cal que l'instal·leu.
Després de descarregar l'última
versió de l'Easy Code, executeu-lo, aneu al menú
Eines-->Configuració,
feu clic a la pestanya Configuracions,
seleccioneu l'ítem SolAsm al desplegable
Configuració i seguiu atentament les
instruccions del tòpic Menú
Configuració - Configurant l'Easy
Code. Després repetiu les mateixes pases
anteriors, però seleccionant l'ítem SolAsm64
al desplegable
Configuració. Si us plau vegeu
també els comentaris
relacionats amb el SOLASM a OBSERVACIONS
IMPORTANTS.
NOTA:
Tot funcionarà bé si les configuracions
són correctes, per tant,
si us plau preneu-vos el temps que calgui en llegir el tòpic
Configuracions,
per tal d'evitar problemes posteriors.
El SolAsm
és un bon
ensamblador però, com s'ha dit anteriorment, està
en fase de desenvolupament, per tant, per a més
informació, o per reportar
errors generats pel SolAsm, és a dir, que
no estiguin
relacionats amb l'Easy Code, si us plau contacteu amb l'autor
Bogdan
Valentin
Ontanu.
Els projectes que no es poden generar directament amb el
SolAsm (drivers NT de 32/64 bits i llibreries
estàtiques de 32/64 bits) es podrien generar manualment
compilant el codi amb el SolAsm i fent servir un linker
per als drivers, i un compilador de llibreries per
a les
llibreries estàtiques, però cal saber com fer-ho.
D'altra banda, la capacitat del SolAsm per a generar drivers
NT en el futur està determinada pel seu autor.
El SolAsm té el seu propi
compilador de recursos, però
a l'hora d'escriure aquest document només se'n poden crear
els
següents:
- Caixes de diàleg
NOTA:
Aixó és
aplicable a tots els tipus de projecte excepte als
projectes
visuals, que tenen tots els recursos disponibles perquè fan
sevir un compilador de recursos extern (normalment l'rc.exe
de Microsoft). D'altra banda, les caixes
de diàleg no accepten les paraules clau CLASS
(nom de
classe), ni FONT (paràmetres de la
font), ni EXSTYLE
(estils extesos).
- Controls
- Menús
Els recursos
del SolAsm es poden afegir
manualment seguint la sintaxi indicada al manual del SolAsm
(Chapter 8. Internal Resource compiler),
però també es poden
afegir d'una manera més fàcil i còmoda
des de l'Editor de Recursos
(recomanat). D'aquesta manera l'Easy Code crearà un fitxer
de
recursos amb extensió "rc" i se'n
cuidarà de fer tota
la feina. Si us plau vegeu l'exemple Classic dins
la
carpeta \EasyCode\Examples\SolAsm\x86\Classic (o
\EasyCode\Examples\SolAsm\x64\Classic). En
aquest
exemple podreu veure com crear i assignar un menú i
mostrar una caixa de diàleg. A més,
també
es pot veure com s'ha de crear manualment un recurs font
perquè, com s'ha explicat abans, el compilador
de recursos del SolAsm no accepta la paraula clau FONT
per
a les caixes de diàleg.
AVÍS:
Els recursos de menú s'han de carregar amb la
funció
de l'API LoadMenuIndirect,
mentre que els recusors de caixa de diàleg s'han de
carregar amb la funció de l'API DialogBoxIndirectParam
(si us
plau vegeu l'exemple Classic).
OBSERVACIONS:
Com s'ha
dit abans, el SolAsm està en fase de desenvolupament,
per tant, té alguns problemes que cal solucionar (compte
amb els espais):
MAX_PATH + 1 MALAMENT, produeix un errorQuan s'inicialitzen estructures:
MAX_PATH+1 CORRECTE, no produeix cap error
{10 0 40 20 60} MALAMENT, produeix un errorUn altre problema que afecta principalment als projectes visuals és que la directiva extern NO funciona amb las variables externes (SÍ que funciona amb els procediments externs). Això vol dir que en una finestra o mòdul no es pot fer referència a una variable que estigui en un altre mòdul.
{ 10 0 40 20 60 } CORRECTE, no produeix cap error