Easy Code - Assemblador visual

Entorn visual de desenvolupament en llenguatge assemblador

Versió 1.09 GoAsm


INTRODUCCIÓ

Easy Code és una de les primeres Interfícies visuals d'Entorn de Desenvolupament (IDE) que treballa amb les Go tools de Jeremy Gordon, un excel·lent conjunt d'eines en assemblador per a Windows de 32/64 bits. L'Easy Code ha estat programat totalment en llenguatge assemblador, la qual cosa li dóna una sorprenent velocitat i rapidesa que es nota en dissenyar un projecte nou.

L'Easy Code necessita un entorn Windows de 32 bits per tal de poder funcionar, atès que no té cap suport de 16 bits. La programació d'aquest IDE es va dur a terme en Windows NT40 i, tot i que funciona correctament en Windows 95/98/ME, el seu major rendiment s'obté amb el sistema operatiu Windows NT40 de Microsoft o qualsevol altre comercialitzat posteriorment (Windows 2000/XP/2003/2008/VISTA/7/8).

IMPORTANT: L'Easy Code 1.07 treballa en mode Unicode quan s'executa en Windows NT i sistemes posteriors, o en mode ANSI quan s'executa en Windows 95/98/ME. En tots dos modes, ANSI o Unicode, l'editor de codi i tots els noms relacionats amb els projectes (noms i fitxers de projectes, recursos, finestres i controls) es processen sempre com a text ANSI per motius de compatibilitat. Quan s'executa com a Unicode (és a dir, en Windows NT o posterior), el quadre de diàleg per obrir i desar fitxers també és una finestra Unicode. Tot i així, un cop s'ha seleccionat un fitxer, el seu nom i la seva ruta ("path") es converteixen sempre a ANSI, per tant, tingueu present aquesta qüestió a l'hora de seleccionar carpetes o posar nom als objectes i fitxers dels vostres projectes.

El conjunt d'eines Go tools i les GoAsm Headers es troben disponibles gratuïtament i són necessàries per la plena funcionalitat d'aquesta versió de l'Easy Code. El conjunt ECGo, que conté gairebé tots els fitxers necessaris, ha estat preparat expressament per a l'Easy Code. Descarregueu la darrera versió de l'ECGo a:

http://www.godevtool.com/ECGo.zip


Després de descarregar i descomprimir el fitxer ECGo.zip, s'haurà creat una carpeta anomenada GoAsm. Podeu posar-la a qualsevol de les unitats de disc del vostre ordinador, tot i que és recomanable situar-la a l'arrel d'alguna d'elles (p.e: C:\GoAsm, D:\GoAsm, etc.). Llavors, si us plau descarregueu immediatament les GoAsm Headers i poseu-les a la carpeta \GoAsm\Include (que és buida). Altrament, l'Easy Code GoAsm no podrà generar cap projecte. Ara, haurieu de configurar l'IDE anant al menú
Eines->Configuració.

L'Easy Code GoAsm no utilitzarà mai més els fitxers ".inc". Per això s'han de descarregar les GoAsm Headers i posar-les a la carpeta "\GoAsm\Include".


AGRAÏMENTS

Paul E. Brennick Per escriure l'ajuda en anglès de l'Editor de Recursos, programar el seus excel·lents GeneSys, EasyCalc, CardFile i altres bons exemples (alguns inclosos), ajudar-me a provar i depurar l'Easy Code, i molt especialment per la seva constant ajuda i suport.
Jeremy Gordon

Per programar el fitxer executable clàssic, projecte per defecte, i tota l'ajuda i suport que han fet possible la versió GoAsm.

Phill Kahle Per traduir a l'anglès una bona part del fitxer d'ajuda de la primera versió de l'Easy Code i ajudar-me a provar-lo i a depurar-lo.
Edgard Hansen

Per permetre que l'Easy Code pugui utilitzar els fitxers de capçalera del GoAsm (de l'excel·lent projecte GoAsm Headers disponible a Donkey's Stable). Les GoAsm Headers són necessàries per tal que l'Easy Code GoAsm funcioni (vejeu el tòpic Utilitzant les 'GoAsm headers').

Robert Bieber Per permetre incloure els seus excel·lents projectes File Shredder i RGG (una demostració del GDI) com a exemples de l'Easy Code.
Mark Jones Per permetre incloure el seu excel·lent projecte MIDI Player com un exemple de l'Easy Code.
Mark Wright Per la seva gran i constant ajuda i suport en provar i depurar l'Easy Code.
Josep Vallès Per traduir al castellà el fitxer d'ajuda de la primera versió de l'Easy Code.
Héctor A. Medina Per la seva enorme ajuda i constant esforç en provar i depurar l'Easy Code (especialment en Windows 95), per programar el mètode GetCPUInfo i per escriure tot el codi relacionat amb els drivers.
Jason Jiang Per traduir els fitxers d'idioma xinès, tant el simplificat com el tradicional.
Noteworthy Lord Per traduir el fitxer d'idioma francès.


INICIANT L'EASY CODE

Si executeu l'Easy Code sense cap paràmetre a la línia de comandes que indiqui un projecte, una finestra o un mòdul, us apareixerà un quadre de diàleg per tal de crear un projecte nou. D'altra banda, qualsevol paràmetre a la línia de comandes 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 sis opcions disponibles segons el tipus de projecte:

Fitxer executable visual (exe)
Fitxer executable clàssic (exe)
Llibreria dinàmica clàssica (dll)
Aplicació de consola clàssica (exe)

Fitxer objecte COFF clàssic (obj)
Driver NT clàssic (sys)

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ó 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", les aplicacions de consola i els fitxers objecte COFF 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 .dll seran afegits al projecte per l'Easy Code. D'altra banda, marcant/desmarcant aquests quadres, es mostraran o s'amagaran els botons corresponents a la caixa d'eines.

El quadre de verificació Fitxer Manifest.xml (només disponible per als projectes Fitxer executable visual i Fitxer executable clàssic) indica si s'ha de crear 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 "Miscel·lània" 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.


NOTA: El projecte per defecte Fitxer executable clàssic (exe) ha estat programat per Jeremy Gordon, l'autor de les eines Go tools, i és el millor exemple de l'estil de programació que cal seguir.

OBSERVACIONS: A tots dos modes, visual i clàssic, la directiva .Code ha d'existir sempre (a cada Finestra o Mòdul) i estar definida després de les directives .Const, .Data? o .Data per tal que l'IDE treballi correctament (control dels procediments o "frames", macros, variables i estructures). Tot el codi que es trobi abans de la directiva .Code serà considerat com a dades. Si la directiva .Code no existeix, tot el text serà considerat com a dades i l'IDE treballarà molt lentament.



SUB-TÒPICS

Configurant l'Easy Code
Programació de serveis NT
Programació de controladors NT (drivers)
Fitxers de configuració específics (fitxers INI)
Utilitzant les 'GoAsm Headers'

Projectes visuals (mode potent de l'Easy Code)
Projectes clàssics (estil tradicional de l'IDE)
Propietats del projecte

Accedint a la funció 'WinMain' del Windows (només projectes visuals)

Modificant les opcions del compilador (tots els projectes)

Objecte Thread (només projectes visuals)

Afegint "tooltips" als projectes visuals

Marcadors (Bookmarks)

Suport multillengua
Els fitxers d'idioma (com fer-los)

Aplicacions ANSI / Unicode (tots els projectes)
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)

Compilant i Generant Projectes
Manejant Errors en temps d'execució (només projectes visuals)
Objectes App i Error (només projectes visuals)

Macros de l'Easy Code GoAsm (tots els projectes)
Mètodes de l'Easy Code GoAsm (només projectes visuals)
Constants de l'Easy Code GoAsm (només projectes visuals)


FITXERS I CARPETES

L'Easy Code es distribueix en un fitxer zip que inclou els fitxers llistats a continuació. Les subcarpetes principals es mostren en lletra negreta.


Bin

EasyCode.exe

Common

ECCalls.bin
ECConst.bin
ECStruct.bin
QuartzDB.ttf
UPX.EXE

Examples

CardFile
Drives
ECPDriver
ECPDrvTest
File Shredder
MDI
Memory
MIDIPlay
NetMon
Reboot
RGG
RSEdit
TabStrip
Theming

Help

EasyCode.hlp

Include

acpiioct.h
bugcodes.h
devguid.h
devioctl.h
diskguid.h
ECIncGo.h
excpt.h
ipfirewall.h
macros.h
mountdev.h
mountmgr.h
ntddcdrm.h
ntddcdvd.h
ntddchgr.h
ntdddisk.h
ntddft.h
ntddk.h
ntddkbd.h
ntddmou.h
ntddpar.h
ntddscsi.h
ntddser.h
ntddtape.h
ntddtdi.h
ntdef.h
ntdskreg.h
ntifs.h
ntiologc.h
ntnls.h
parallel.h
stireg.h
undoc.h
usb.h
usb100.h
usb200.h
usbdi.h
usbioctl.h
usbiodef.h
usbscan.h
usbuser.h

Language

ECCatCA.lge
ECChnPR.lge
ECChnTW.lge
ECEngIN.lge
ECEspES.lge

Lib

ECDllGo.dll
ECDllGou.dll
ECStcGo.lib
ECStcGou.lib

Macros

ECMacros.asm


Una vegada que l'Easy Code i les eines ECGo (fitxers GoAsm, GoLink, GoRC, etc.) s'han instal·lat, assegureu-vos que la configuració de l'Easy Code és correcta. Aneu al menú Eines-->Configuració, seleccioneu la pestanya Compilació / Enllaç i indiqueu les ubicacions correctes pels diferents fitxers i directoris. Haurieu de poder carregar tots els projectes d'exemple i generar-los sense errors (sempre que utilitzeu l'assemblador GoAsm.exe i l'enllaçador GoLink.exe). Si no teniu les eines ECGo instal·lades, només podreu editar els projectes.


PRESTACIONS DE L'EASY CODE

Algunes de les prestacions d'aquest IDE són:

L'Easy Code és completament gratuït. Gaudïu-lo i feu grans i bones aplicacions en assemblador. Si us plau notifiqueu qualsevol errada o problema que trobeu en aquest IDE. Quan notifiqueu algun problema intenteu explicar com ha succeït per tal de poder corregir el més aviat possible (si adjunteu un projecte de mostra, molt millor). Estaré encantat de respondre-us 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 adreces electròniques indicades. Gràcies.

asm@easycode.cat
rsala@easycode.cat

http://www.easycode.cat

Copyright © 2004-2015 Ramon Sala

L'aplicació Easy Code ha estat desenvolupada utilitzant el MASM32 SDK (Macro Assembler de 32 bits de Microsoft)