Les versions 2.00.0.0012 i posteriors també inclouen una versió de 64 bits de l'Easy Code. Si esteu treballant en un sistema Windows de 64 bits, podeu executar el fitxer "EasyCode64.exe" (dins la carpeta "\EasyCode\Bin"). Tant la versió de 32 bits ("EasyCode.exe") com la de 64 bits ("EasyCode64.exe") fan servir els mateixos fitxers, per tant, podeu treballar amb qualsevol d'elles sense haver de fer el més mínim canvi.
Com a demostració que es poden fer aplicacions grans i complexes en llenguatge assemblador amb l'Easy Code, tingueu en compte que l'Easy Code està totalment programat en assembler utilitzant el propi Easy Code. En altres paraules, l'Easy Code és un projecte visual de l'Easy Code.
Si
teniu qualsevol dubte durant la lectura d'aquest fitxer d'ajuda,
i per a una major comprensió del mateix, si us plau
consulteu
els diversos exemples de la carpeta "\EasyCode\Examples",
que han estat dissenyats amb propòsits didàctics.
INFORMACIÓ
RELLEVANT PER ALS USUARIS DEL WINDOWS XP, VISTA I 2003 SERVER: Desde l'octubre
del 2020 https://www.easycode.cat
és una web segura ("https") i el Windows XP, Vista i 2003 Server ja
són sistemes operatius antics que no tenen els protocols TLS
1.1/1.2.
Per aquest motiu és gairebé segur que l'Easy Code
no pugui accedir al seu propi lloc web en Windows XP, Vista o 2003 Server i,
per tant, que l'opció de menú "Cerca
actualitzacions" no
funcioni. No es coneix cap actualització de Microsoft que
solucioni aquest problema.
INTRODUCCIÓ
L'Easy Code 2 és l'evolució de la versió 1 (totalment compatible) especialment dissenyat per a generar aplicacions Windows de 64 bits, i que dóna suport als assembladors ASMC, FASM, GOASM, JWASM, MASM, POASM, UASM i SOLASM, versions de 32 i 64 bits. El SOLASM (Solar Assembler) està contemplat a les versions de l'Easy Code 2.02.0.0003 i posteriors (per a més informació, si us plau vegeu el tòpic El Solar Assembler).
L'Easy Code 2 és una aplicació que només pot executar-se en Windows XP i sistemes posteriors, i no funciona a cap versió del Windows prèvia a l'XP. La programació d'aquest IDE s'ha dut a terme amb els Windows XP, VISTA, 7 i 8, però funciona correctament en qualsevol sistema operatiu comercialitzat posteriorment (Windows 8.1, 10, 11).
IMPORTANT:
L'Easy Code 2 treballa SEMPRE
en mode Unicode
per tal de donar suport a tots els idiomes. Tantmateix, atès
que alguns
assembladors només
accepten text ANSI, el text de totes les finestres i/o
mòduls pot ser enviat al compilador convertit a ANSI o no,
en funció de l'opció Codificació
del
text de la secció Configuració.
Aquest format permet programar aplicacions
Unicode d'una manera ràpida i fàcil (vegeu el
tòpic Aplicacions
ANSI / Unicode). En tots dos
modes, ANSI o Unicode, l'editor
de
codi i tots els noms i fitxers relacionats amb
els projectes (noms i fitxers de projectes, recursos, finestres i
controls) es desen sempre en text Unicode.
Això fa que
els
projectes generats amb l'Easy Code 1 s'hagin de convertir
al format de la versió 2 i, per tant, després de
la conversió ja no poden ser carregats amb la
versió
1. Per això, l'EC demana la confirmació pertinent
abans de fer la conversió.
AGRAÏMENTS
Héctor
A. Medina
Sense
la seva excel·lent i
incansable ajuda, l'Easy Code 2 no hauria estat
possible.
Brandon
B. Stewart
Per
provar/evaluar l'Easy Code 2 en profunditat, informar d'alguns errors
i corregir el fitxer d'idioma en anglès.
Steve
Hutchinson
Per
provar/evaluar l'Easy Code 2.
Wayne
Radburn
Per
provar/evaluar l'Easy Code 2 i fer
algunes coreccions al fitxer d'ajuda en anglès.
Jason
Jiang
Per
traduir el fitxer d'idioma al xinès (ambdós,
tradicional i simplificat).
C0dr4cK
Per
traduir el fitxer d'idioma al turc.
MFM
Dawdeh
Per
traduir el fitxer d'idioma a l'àrab.
Pavlů
Zdeněk
Per
traduir els fitxers d'idioma i d'ajuda al txec.
ALGUNS CANVIS
IMPORTANTS
Hi ha alguns canvis importants al compilador Masm de 64 bits (ml64.exe) que s'han de tenir en compte:
QUANT AL
WINDOWS 8.1 / WINDOWS 10 / WINDOWS 11
Quan copieu
fitxers o instal·leu
programes a la majoria de carpetes del disc del sistema C:
d'aquestes tres versions del Windows, el sistema canvia els permisos
en reiniciar la màquina de manera que l'usuari no les pot
escriure
normalment. Per exemple, si després de descomprimir el
programa EC
el copieu a C:\EasyCode i reinicieu la
màquina, el Windows
8.1/10/11 canvia els permisos d'escriptura d'aquesta carpeta i de totes
les seves subcarpetes i fitxers. Això forma part de les
mesures de
seguretat extesa d'aquests tres sistemes operatius, però
suposa un
obstacle per als programes que escriuen dades als fitxers de
configuració
i altres tipus de documents. D'acord amb això, és
molt recomanable
que tingeu com a mínim dos discos (o un disc amb dues
particions) i
feu servir el segon disc (D:, F:,
G:, o qualsevol
altra lletra que li hàgiu assignat) per copiar-hi la carpeta
EasyCode.
D'altra banda, la carpeta on deseu els projectes tampoc NO
HAURIA
D'ESTAR al disc C:.
Tantmateix, si encara voleu fer
servir el disc C:, o no en teniu cap altre, podeu
posar les
propietats del fitxer “EasyCode.exe” a
“Executa com a Administrador”,
o moure la carpeta "EasyCode" a
“C:\Usuaris\<NomUsuari>\AppData\EasyCode”,
on totes les aplicacions tenen permisos d'escriptura, i modificar els
fitxers de configuració d'acord amb la nova ruta.
D'altra banda, tenir una encriptació de 128 bits a la vostra
política de grup pot comportar que alguns executables de 64
bits
no puguin executar-se i que l'Easy Code es tanqui. Si teniu problemes
en executar els fitxers de 64 bits relacionats amb la
generació
de projectes (compilador, enllaçador, i compiladors de
recursos
i llibreries de tots els assembladors utilitzats), poseu les
propietats de tots els fitxers afectats per a que se executin
com a administrador. Si us plau llegiu el fitxer
FAQSAndTips.txt dins la carpeta EasyCode.
EL CONTROL SLIDER
De vegades és necessari assignar valors negatius al rang i/o la posició d'un control Slider (també anomenat Trackbar). Atès que la Finestra de Propietats de l'Easy Code no admet valors negatius, caldrà fer ús dels missatges "TBM_..." dins del codi per tal d'assignar-los. Si us plau vegeu la informació per aquest control a l'MSDN.
ASSEMBLADORS
SUPORTATS
Aquesta
secció és una petita guia per
saber les eines que es necessiten per a cada assemblador suportat.
Lògicament, no cal que les tingueu totes si no voleu,
però
almenys haureu de tenir les eines del(s) assemblador(s) amb
el(s) que vulgueu treballar. Per simplicitat, totes les rutes
(paths) que es mostren tot seguit es refereixen a
l'arrel del disc C:\, però
hauríeu de fer servir
qualsevol altre disc o ruta, fins i tot un USB (jo tinc totes
aquestes eines a l'arrel del disc G:\). Com s'ha dit abans,
NO es recomana fer servir el disc del sistema C:, especialment
amb el Windows 8.1, el Windows 10 y el Windows 11, a causa de
la restricció de permisos.
C:\ASMC (descarregueu
el conjunt d'eines AsmC) C:\FASM (descarregueu
el Flat
assembler for Windows) C:\GOASM (descarregueu
el conjunt d'eines ECGo.zip) C:\JWASM
(descarregueu el conjunt d'eines JWasm.zip) C:\JWASM
(versions de 32 i 64 bits disponibles aquí) C:\MASM32 (descarregueu
el MASM32
SDK versió 10 o posterior) C:\MASM64 (disponible
amb el Microsoft
Visual Studio) C:\POASM (descarregueu
el PellesC
32-bit) C:\POASM64 (descarregueu
el PellesC
64-bit) C:\SOLASM (descarregueu
el Solar
assembler
bynary)
ASMC
FASM
GOASM
JWASM
UASM (es
recomana la carpeta JWASM)
MASM32
MASM64
POASM
POASM64
SOLASM
Després de descomprimir el conjunt d'eines d'asmc s'haurà creat la carpeta asmc-master. Si us plau canvieu-li el nom per AsmC i tingueu present que la subcarpeta bin és l'única que necessita l'Easy Code, per tant, podeu eliminar totes les altres subcarpetes si voleu.
IMPORTANT: Quan el quadre de verificació "Aquest projecte s'executarà en mode Unicode" de les Propietats del projecte està marcat, l'opció "/Zne" de la línia d'ordres de l'AsmC NO FUNCIONA amb l'Easy Code.
Després de descomprimir el conjunt d'eines ECGo.zip s'haurà creat la carpeta GoAsm. Si us plau descarregueu immediatament les GoAsm Headers i poseu-les a la subcarpeta Include (dins de la carpeta GoAsm que s'haurà creat en descomprimir l'ECGo.zip). Altrament, l'Easy Code no podrà generar projectes GoAsm.
Després de descarregar i instal·lar el Microsoft Visual Studio, creeu una nova carpeta amb el nom de MASM64 i copieu-hi tots els fitxers necessaris relacionats amb l'assemblador MASM de 64 bits (ml64.exe, link.exe, lib.exe, rc.exe i les seves dependències).
Després de descarregar i instal·lar el PellesC 32-bit en un sistema de 32 bits, creeu una nova carpeta amb el nom de POASM i copieu-hi tot el contingut de la carpeta C:\Program Files\PellesC\Bin.
Després de descarregar i instal·lar el PellesC 64-bit en un sistema de 64 bits, creeu una nova carpeta amb el nom de POASM64 i copieu-hi tot el contingut de la carpeta C:\Program Files\PellesC\Bin.
Després de descarregar el UASM (versions de 32 i 64 bits), jo us recomanaria posar-los a la carpeta JWASM, atès que allà hi ha altres fitxers necessaris, com ara jwlink.exe, però podeu crear una carpeta específica per al UASM si així ho desitgeu. D'altra banda, l'Easy Code 2.01.0.0002 i versions posteriors també inclouen fitxers de configuració específics per al UASM de 32 i 64 bits, per tant, si poseu el uasm32.exe i el uasm64.exe a la carpeta JWASM, els vostres fitxers de configuració del UASM poden ser una còpia dels del JWASM, atès que només heu de canviar jwasm.exe per uasm32.exe (a UAsm.cfg) o uasm64.exe (a UAsm64.cfg).
Per aplicacions de 32 bits, el GOASM utilitza les Go tools i les GoAsm Headers, totes elles a la carpeta GoAsm creada amb l'ECGo.zip. Els ASMC, JWASM, UASM, MASM i POASM fan servir els fitxers include i llibreria del MASM32 (C:\MASM32), i el FASM fa servir els seus fitxers include i equate (C:\FASM\INCLUDE) més alguns fitxers include de la carpeta \EasyCode\Include\Fasm, especialment programats per al FASM. A més, el FASM necessita que el MASM32 SDK estigui instal·lat per poder generar projectes visuals de 32 bits (es necessiten els fitxers ".lib" del MASM32 SDK). Per als projectes visuals de 64 bits el FASM fa servir els fitxers include i llibreria de les carpetes \EasyCode\Include\Fasm\Visual i \EasyCode\Lib\x64 respectivament.
Per aplicacions de 32 i 64 bits, el SOLASM utilitza un joc de fitxers include, especialmente programats per a ell, que es troben a la carpeta \EasyCode\Include\SolAsm. A més, el SOLASM també necessita que el MASM32 SDK estigui instal·lat NOMËS si voleu generar projectes visuals de 32 bits (es necessiten els fitxers ".lib" del MASM32 SDK). Per als projectes visuals de 64 bits el SOLASM fa servir els fitxers include i llibreria de les carpetes \EasyCode\Include\SolAsm\Visual i \EasyCode\Lib\x64 respectivament.
OBSERVACIONS: Els fitxers ".obj" generats pel compilador SOLASM amb l'opció "/dbg" poden produir errors amb les últimes versions del "link.exe" de Microsoft si la seva línia d'ordres inclou l'opció "/debug" (l'autor del SOLASM ja ha estat informat d'aquest problema). Per tant, si això us passa amb alguna versió del link.exe, i tot està ben configurat al fitxer "SolAsm64.cfg", desmarqueu l'opció "Afegeix informació simbòlica" de les Propietats del Projecte (o eviteu l'opció "/debug" a la línia d'ordres del link.exe) per tal de solventar el problema.
Per aplicacions de 64 bits, el GOASM fa servir els mateixos fitxers que fa servir per a 32 bits (GoAsm Headers), mentre que els ASMC, JWASM, UASM, MASM i POASM fan servir els fitxers include i llibreria de les carpetes \EasyCode\Include\Masm\x64 i \EasyCode\Lib\x64 respectivament, que han estat especialment programats per a aplicacions de 64 bits.
L'Easy Code es distribueix amb uns fitxers de configuració, un per a cada assemblador suportat. Aquests fitxers (a la carpeta EasyCode\Config) tenen l'extensió "ori" i serveixen de referència per tal de configurar l'assemblador corresponent. Tantmateix, cada assemblador necessita un fitxer de configuració amb l'extensió "cfg" per tal de funcionar correctament, però quan es descarrega l'Easy Code 2 no hi ha cap fitxer ".cfg". Tots aquests fitxers de configuració es crearan quan l'Easy Code s'executi per primera vegada i es trobaran a la carpeta EasyCode\Config. Per a més informació, si us plau vegeu l'apartat Configuració.
Si la vostra versió actual de l'Easy Code 2 és anterior a la 2.00.0.0007 (2 de desembre del 2015), si us plau seguiu les instruccions del fitxer Fasm.txt, dins la carpeta EasyCode.
El FASM i el SOLASM no tenen un enllaçador (linker) propi i els projectes visuals necessiten enllaçar la llibreria visual de l'Easy Code. Per tant, per tal que l'Easy Code pugui generar projectes visuals amb el FASM i el SOLASM, s'utilitza l'enllaçador de Microsoft link.exe (NOMÉS per als projectes visuals del FASM i el SOLASM). Si voleu generar projectes visuals amb el FASM i el SOLASM (tots els exemples són projectes visuals), cal que descarregueu i instal·leu el MASM32 SDK (per als projectes visuals de 32 bits) i el MASM64 (per als projectes visuals de 64 bits).
Davant la falta de documentació per generar drivers WINNT (*.sys) amb el jwlink.exe (JWasm) i el linkw.exe (AsmC) s'utilitza l'enllaçador de Microsoft link.exe (NOMÉS als projectes driver del JWasm / UAsm / AsmC).
El compilador de recursos wrc.exe que ve amb el JWasm pot funcionar malament amb alguns projectes (per exemple, els drivers de 64 bits enllaçats amb link.exe). Si és així, proveu d'afegir el switch -zm a la seva línia d'ordres, o simplement utilitzeu el compilador de recursos rc.exe de Microsoft.
Els compiladors de recursos dzrc.exe i iddc.exe que venen amb l'AsmC no sembla que puguin generar el fitxer de recursos .res que necessita l'Easy Code, per tant, es fa servir el compilador rc.exe de Microsoft. Aquest és el compilador que s'indica als fitxers de configuració predeterminats de l'AsmC (AsmC.ori i AsmC64.ori).
AVÍS: El MASM32 SDK disponble actualment (masm32v11r) té alguns errors als fitxers kernel32 i kernel32p que fan que l'enllaçador (link.exe) generi errors. Per tal de solventar aquest problema, si us plau descarregueu aquest fitxer i seguiu les instruccions del fitxer Readme.txt.
CONFIGURACIÓ
Aquesta
és la part més important
de la posta en marxa inicial de l'Easy Code per tal d'evitar
problemes i fer que funcioni correctament per a tots els
assembladors suportats. La
configuració de les rutes (paths)
correctes i les opcions de
la línia d'ordres per a cada assemblador,
enllaçador
(linker), i compilador de recursos y llibreries,
porta una
mica de temps i requereix ser curós.
Ara,
si us plau executeu el fitxer
EasyCode.exe (a la carpeta EasyCode\Bin),
o feu
un doble clic damunt la icona de l'escriptori si heu triat
crear-ne una durant el procés
d'instal·lació. Llavors aneu
al menú Eines-->Configuració
i
feu clic en aquest enllaç per tal de començar
a configurar l'Easy Code.
PROGRAMACIÓ EN
64 BITS
L'Easy
Code es
distribueix
amb alguns fitxers include i llibreria (localitzats a
les carpetes \EasyCode\Include\Masm\x64 i
\EasyCode\Lib\x64, respectivament) especialment
fets per a la programació d'aplicacions de 64 bits dels
ASMC, JWASM, UASM, MASM i POASM (el FASM i el GOASM utilitzen altres
fitxers). Tot i que aquests fitxers són suficients per a
generar la majoria d'aplicacions, és possible que algunes
aplicacions més específiques necessitin altres
fitxers
include i llibreria. Si és així, us
agraïré la vostra
col·laboració. Si us plau escriviu el
fitxer include
necessari, envieu-me'l, i jo generaré el fitxer llibreria
corresponent per tal que tots dos puguin ser distribuïts
a les pròximes versions de l'Easy Code. D'aquesta manera
podrem anar ampliant entre tots les possibilitats de
l'Easy Code. Moltes gràcies.
La programació
en 64 bits no és tasca fàcil i requereix
conèixer a fons com treballen els sistemes operatius
Wndows de 64 bits. Per tal de fer-vos una idea molt
bàsica, si us plau vegeu el tòpic Programant aplicacions de 64
bits.
ESCRIVINT CODI AMB L'EASY CODE
Per tal que l'Easy Code pugui manejar els procediments, constants i variables correctament, i així evitar errors en generar els projectes, si us plau tingueu en compte les consideracions que s'expliquen en aquest enllaç.
INICIANT L'EASY CODE
Si executeu l'Easy Code sense cap nom de projecte a la seva línia d'ordres, us apareixerà un quadre de diàleg per tal de crear un projecte nou. D'altra banda, qualsevol paràmetre a la línia d'ordres que no tingui una extensió ".ecp", ".ecw", ".ecr" o ".asm" serà ignorat i també farà aparèixer el quadre de diàleg que es mostra tot seguit:
Hi ha vuit opcions disponibles segons el tipus de projecte:
L'Easy Code té dos modes principals, el "Projecte Visual" i el "Projecte Clàssic". El mode clàssic és el més tradiconal i conegut, on el programador escriu el codi de tot el projecte i el configura manualment per tal que funcioni després de compilar-lo i enllaçar-lo com a la majoria dels IDE's. El mode visual és on l'Easy Code destaca per ell mateix i es converteix en únic. Aquest mode us permet crear tota mena de finestres, controls i recursos del Windows per tal de programar una potent i complexa aplicació d'una manera molt ràpida i fàcil.
El projecte Fitxer objecte COFF clàssic és útil per tal de generar un fitxer objecte, d'un o més mòduls, que després es pot enllaçar amb altres projectes. Aquesta opció evita haver de generar lliberies estàtiques (.lib) si no us agrada, i només genera un fitxer .obj (en format COFF) tot i que hi hagi diversos mòduls al projecte. El fitxer objecte generat tindrà el nom del projecte més l'extensió .obj.
Quan es crea un projecte nou cal especificar el tipus de fitxer final que es desitja. Les "Llibreries dinàmiques", "Llibreries estàtiques", "aplicacions de consola", "fitxers objecte", "drivers" i "serveis" són considerats projectes clàssics de manera natural. Només quan trieu un fitxer "Executable", tindreu l'opció de generar un projecte tradicional (clàssic) o un projecte visual de l'Easy Code.
Si
voleu
utilitzar els 'Windows
Common controls' i/o el
control
'Rich edit',
marqueu el quadre de verificació corresponent i els seus
fitxers .inc
i .lib
seran afegits al projecte per
l'Easy Code (només en el cas dels 'Common controls').
D'altra banda, marcant/desmarcant aquests quadres, es
mostraran
o s'amagaran els botons corresponents a la caixa d'eines.
El quadre de verificació Manifest
(només disponible per als projectes
Fitxer executable visual,
Fitxer executable clàssic i
Llibreria dinàmica clàssica)
indica si s'ha de crear i incloure el fitxer necessari
per activar els nous "common controls" als sistemes Windows
XP i posteriors (vegeu Activant
els temes XP). Si aquest quadre
està marcat quan es crea el projecte, el
fitxer Manifest.xml
apareixerà dins del node
"Manifest"
de l'Explorador del projecte,
per tal que pugui ser editat a l'entorn
de l'Easy Code. Si us plau, llegiu atentament el tòpic Incloent
un Manifest al projecte.
El quadre de verificació Macros
de l'Easy Code, a les Propietats del projecte,
indica si les macros que venen amb l'Easy Code (a la subcarpeta
Macros) s'han d'incloure al projecte o no.
AFEGIR FITXERS ALS PROJECTES
Es recomana que no s'utilitzin les directives Include, #Include, IncludeLib o #DynamicLinkFile dins del codi font per afegir fitxers als projectes. En lloc d'això, tots els fitxers que es necessitin per un projecte s'haurien d'afegir amb les corresponents opcions del menú Projecte. Altres fitxers, include (*.inc), header (*.h) o library (*.lib), que no siguin cap dels fitxers predeterminats que fa servir l'assemblador o l'enllaçador, s'haurien de copiar a la carpeta del projecte i llavors afegir-los amb l'opció de menú Projecte-->Afegeix fitxers.
SUB-TÒPICS
Configurant
l'Easy Code
Escrivint
el
codi correctament
Programació
de serveis NT
Programació
de controladors NT (drivers)
Fitxers de
configuració específics (fitxers INI)
Projectes
visuals
(mode
potent de l'Easy Code)
Projectes
clàssics (estil tradicional de l'IDE)
Propietats
del
projecte
Programació d'aplicacions Unicode
Fragments de codi ('Code Snippets')
Controlant les excepcions (només projectes visuals)
Configurant altres fitxers d'ajuda
Accedint a la funció 'WinMain' del Windows (només projectes visuals)
Objecte Thread (només projectes visuals)
Afegint "tooltips" als projectes visuals
Suport
multillengua
Els
fitxers
d'idioma
(com fer-los)
Aplicacions
ANSI / Unicode (només projectes visuals)
Incloent
un Manifest al projecte (només projectes exe)
Activant
els temes
XP (tots els projectes)
Propietat
"OwnerDraw" (només projectes visuals)
Compilació condicional (tots els projectes)
Processant el temps "idle" (només projectes visuals)
Objectes
Control
Propietats dels
objectes
(només projectes visuals)
Llegint
i escrivint
propietats (només projectes visuals)
Personalitzant
objectes
(només projectes
visuals)
Recursos
- Editor
de
Recursos (tots els projectes)
Importació
de fitxers de recursos (tots els projectes)
Icona
de l'aplicació (tots els projectes)
Editor
de l'Easy Code
Editor de
Menús (tots els projectes)
Macros
de l'Easy
Code
(tots els projectes)
Mètodes
de
l'Easy Code (només projectes
visuals)
Constants
de l'Easy
Code
(només
projectes visuals)
L'Easy Code és completament gratuït.
Gaudïu-lo i feu grans i bones
aplicacions en assemblador. Si us plau notifiqueu qualsevol error o
problema que trobeu en aquest IDE. Quan notifiqueu
algun problema intenteu explicar com ha succeït per tal de
poder corregir-lo el més aviat possible (si
adjunteu un projecte de mostra, molt millor). Estaré
encantat de respondre personalment a través del
correu electrònic.
SUPORT TÈCNIC
Per a qualsevol dubte, suport tècnic o notificació d'errors, si us plau adreceu--vos a una de les següents adreces electròniques. Gràcies.
assembly@easycode.cat
rsala@easycode.cat
https://www.easycode.cat
Copyright
© 2004-2023 Ramon Sala / Héctor A. Medina
L'aplicació Easy Code de 32 bits ha estat desenvolupada
amb el MASM32
SDK v11 (Macro Assembler de 32 bits de
Microsoft)
L'aplicació Easy Code de 64 bits ha estat desenvolupada
amb el compilador JWASM.
A
partir de la versió 2.01.0.0001, s'ha
desenvolupat amb el compilador UASM64