Easy Code - Ensamblador visual

Entorno visual de desarrollo en lenguaje ensamblador

Versión 1.09 GoAsm


INTRODUCCIÓN

Easy Code es una de las primeras Interfaces visuales de Entorno de Desarrollo (IDE) que trabaja con las Go tools de Jeremy Gordon, un excelente conjunto de herramientas en ensamblador para Windows de 32/64 bits. Easy Code ha sido programado totalmente en lenguaje ensamblador, lo cual le confiere una sorprendente velocidad y rapidez que se nota al diseñar un proyecto nuevo.

Easy Code necesita un entorno Windows de 32 bits para poder funcionar, puesto que no tiene ningún soporte de 16 bits. La programación de este IDE se llevó a cabo en Windows NT40 y, aunque también funciona correctamente en Windows 95/98/ME, su mayor rendimiento se obtiene con el sistema operativo Windows NT40 de Microsoft o cualquier otro comercializado posteriormente (Windows 2000/XP/2003/2008/VISTA/7/8).

IMPORTANTE: Easy Code 1.07 trabaja en modo Unicode cuando se ejecuta en Windows NT y sistemas posteriores, o en modo ANSI cuando se ejecuta en Windows 95/98/ME. En ambos modos, ANSI o Unicode, el editor de código y todos los nombres relacionados con los proyectos (nombres y archivos de proyectos, recursos, ventanas y controles) se procesan siempre como texto ANSI por motivos de compatibilidad. Cuando se ejecuta como Unicode (es decir, en Windows NT o posterior), el cuadro de diálogo para abrir y guardar archivos también es una ventana Unicode. Aun así, una vez se ha seleccionado un archivo, su nombre y su ruta ("path") se convierten siempre a ANSI, por consiguiente, tenga presente esta cuestión a la hora de seleccionar carpetas o dar nombre a los objetos y archivos de sus proyectos.

El conjunto de heramientas Go tools y las GoAsm Headers se encuentran disponibles gratuitamente y son necesarios para la plena funcionalidad de esta versión de Easy Code. El conjunto ECGo, que contiene casi todos los archivos necesarios, ha sido preparado expresamente para Easy Code. Descargue la última versión de ECGo en:

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


Después de descargar y descomprimir el archivo ECGo.zip, se habrá creado una carpeta llamada GoAsm. Puede ponerla en cualquiera de las unidades de disco de su ordenador, aunque es recomendable situarla en la raíz de alguna de ellas (p.e: C:\GoAsm, D:\GoAsm, etc). Entonces, por favor descargue inmediatamente les GoAsm Headers y póngalas en la carpeta \GoAsm\Include (que está vacía). De lo contrario, Easy Code GoAsm no podrá generar ningún proyecto. Ahora, debería configurar el IDE en el menú Herramientas->Configuración.

Easy Code GoAsm no usará nunca más los archivos ".inc". Por ello, deben descargarse las GoAsm Headers y ponerlas en la carpeta "\GoAsm\Include".


AGRADECIMIENTOS

Paul E. Brennick Por escribir la ayuda en inglés del Editor de Recursos, programar sus excelentes GeneSys, EasyCalc, CardFile y otros buenos ejemplos (algunos incluidos), ayudarme a probar y depurar Easy Code, y muy especialmente por su constante ayuda y soporte.
Jeremy Gordon

Por programar el archivo ejecutable clásico, proyecto por defecto, y toda la ayuda y soporte que han hecho posible la versión GoAsm.

Phill Kahle Por traducir al inglés una buena parte del archivo de ayuda de la primera versión de Easy Code y ayudarme a probarlo y depurarlo.
Edgard Hansen

Por permitir que Easy Code pueda usar los archivos de cabecera para GoAsm (del excelente proyecto GoAsm Headers disponible en Donkey's Stable). Las GoAsm Headers son necesarias para el funcionamiento de Easy Code GoAsm (vea el tópico Usando las 'GoAsm headers').

Robert Bieber Por permitir incluir sus excelentes proyectos File Shredder y RGG (una demostración del GDI) como ejemplos de Easy Code.
Mark Jones Por permitir incluir su excelente proyecto MIDI Player como un ejemplo de Easy Code.
Mark Wright Por su gran ayuda y constante soporte en probar y depurar Easy Code.
Josep Vallès Por traducir al español el archivo de ayuda de la primera versión de Easy Code.
Héctor A. Medina Por su enorme ayuda y constante esfuerzo en probar y depurar Easy Code (especialmente en Windows 95), por programar el método GetCPUInfo y por escribir todo el código relacionado con los drivers.
Jason Jiang Por traducir los archivos de idioma chino, tanto el simplificado como el tradicional.
Noteworthy Lord Por traducir el archivo de idioma francés.


INICIANDO EASY CODE

Si se ejecuta Easy Code sin ningún parámetro en la linea de comandos que indique un proyecto, una ventana o un módulo, aparecerá un cuadro de diálogo para crear un proyecto nuevo. Por otra parte, cualquier parámetro en la linea de comandos que no tenga una extensión ".ecp", ".ecw", ".ecr" o ".asm" será ignorado y también aparecerá el cuadro de diálogo que se muestra a continuación:

Hay seis opciones disponibles según el tipo de proyecto:

Archivo ejecutable visual (exe)
Archivo ejecutable clásico (exe)
Librería dinámica clásica (dll)
Aplicación de consola clásica (exe)

Archivo objeto COFF clásico (obj)
Driver NT clásico (sys)

Easy Code tiene dos modos principales, el "Proyecto Visual" y el "Proyecto Clásico". El modo clásico es el mas tradiconal y conocido, donde el programador escribe el código de todo el proyecto y lo configura manualmente para que funcione después de compilarlo y enlazarlo como en la mayoría de los IDE's. El modo visual es donde Easy Code destaca por sí mísmo y se convierte en único. Este modo le permite crear todo tipo de ventanas, controles y recursos de Windows para programar una potente y compleja aplicación de una manera muy rápida y fácil.

El proyecto Archivo objeto COFF clásico es útil para generar un archivo objeto, de uno o mas módulos, que después puede enlazarse con otros proyectos. Esta opción solamente genera un archivo .obj (en formato COFF) aunque haya varios módulos en el proyecto. El archivo objeto generado tendrá el nombre del proyecto mas la extensión .obj.

Cuando se crea un proyecto nuevo hay que especificar el tipo de archivo final que se desea. Las "Librerías dinámicas", las aplicaciones de consola y los archivos objeto COFF son considerados proyectos clásicos de manera natural. Sólo cuando elija un archivo "Ejecutable", tendrá la opción de generar un proyecto tradicional (clásico) o un proyecto visual de Easy Code.

Si desea utilizar los 'Windows Common controls' y/o el control 'Rich edit', marque el cuadro de verificación correspondiente y sus archivos .inc y .dll serán agregados al proyecto por Easy Code. Por otra parte, marcando o desmarcando estos cuadros, se mostrarán o se ocultarán los botones correspondientes en la caja de herramientas.

El cuadro de verificación Archivo Manifest.xml (sólo disponible para los proyectos Archivo ejecutable visual y Archivo ejecutable clásico) indica si debe crearse el archivo necesario para activar los nuevos "common controls" en sistemas Windows XP y posteriores (vea Activando los temas XP). Si este cuadro está marcado cuando se crea el proyecto, el archivo Manifest.xml aparecerá dentro del nodo "Misceláneo" del Explorador del proyecto, para que pueda ser editado en el entorno de Easy Code. Por favor, lea atentamente el tópico Incluyendo un Manfiesto en el proyecto.


NOTA: El proyecto por defecto Archivo ejecutable clásico (exe) ha sido programado por Jeremy Gordon, el autor de las herramientas Go tools, y es el mejor ejemplo del estilo de programaciób a seguir.

OBSERVACIONES: En ambos modos, visual y clásico, la directiva .Code debe existir siempre (en cada Ventana o Módulo) y estar definida después de las directivas .Const, .Data? o .Data para que el IDE trabaje correctamente (control de los procedimientos o "frames", macros, variables y estructuras). Todo el código que se encuentre antes de la directiva .Code será considerado como datos. Si la directiva .Code no existe, todo el texto será considerado como datos y el IDE trabajará muy lentamente.



SUB-TÓPICOS

Configurando Easy Code
Programación de servicios NT
Programación de controladores NT (drivers)
Archivos de configuración específicos (archivos INI)
Usando las 'GoAsm Headers'

Proyectos visuales (modo potente de Easy Code)
Proyectos clásicos (estilo tradicional del IDE)
Propiedades del proyecto

Accediendo a la función 'WinMain' de Windows (sólo proyectos visuales)

Modificando las opciones del compilador (todos los proyectos)

Objeto Thread (sólo proyectos visuales)

Agregando "tooltips" a los proyectos visuales

Marcadores (Bookmarks)

Soporte multilengua
Los archivos de idioma (cómo hacerlos)

Aplicaciones ANSI / Unicode (todos los proyectos)
Incluyendo un Manifiesto en el proyecto (sólo proyectos exe)

Activando los temas XP (todos los proyectos)

Propiedad "OwnerDraw" (sólo proyectos visuales)

Compilación condicional (todos los proyectos)

Procesando el tiempo "idle" (sólo proyectos visuales)

Objetos Control
Propiedades de los objetos (sólo proyectos visuales)
Leyendo y escribiendo propiedades (sólo proyectos visuales)
Personalizando objetos (sólo proyectos visuales)

Recursos - El Editor de Recursos (todos los proyectos)
Importación de archivos de recursos (todos los proyectos)
Icono de la aplicación (todos los proyectos)

Editor de Easy Code
Editor de Menús (todos los proyectos)

Compilando y Generando Proyectos
Manejando Errores en tiempo de ejecución (sólo proyectos visuales)
Objetos App y Error (sólo proyectos visuales)

Macros de Easy Code GoAsm (todos los proyectos)
Métodos de Easy Code GoAsm (sólo proyectos visuales)
Constantes de Easy Code GoAsm (sólo proyectos visuales)



ARCHIVOS Y CARPETAS

Easy Code se distribuye en un archivo zip que incluye los archivos listados a continuación. Las subcarpetas principales se muestran en letra negrita.


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 vez que Easy Code y las herramientas ECGo (archivos GoAsm, GoLink, GoRC, etc.) se hayan instalado, asegúrese de que la configuración de Easy Code es correcta. Vaya al menú Herramientas-->Configuración, seleccione la pestaña Compilar / Enlazar e indique las ubicaciones correctas para los diferentes archivos y directorios. Debería poder cargar todos los proyectos de ejemplo y generarlos sin errores (siempre que utilice el ensamblador GoAsm.exe y el enlazador GoLink.exe). Si no tiene las herramientas ECGo instaladas, sólo podrá editar los proyectos.


PRESTACIONES DE EASY CODE

Algunas de las prestaciones de este IDE son:

Easy Code es completamente gratuito. Disfrútelo y haga grandes y buenas aplicaciones en ensamblador. Por favor notifique cualquier error o problema que encuentre en este IDE. Cuando notifique algún problema intente explicar como ha sucedido para poder corregirlo lo antes posible (si adjunta un proyecto de muestra, mucho mejor). Estaré encantado de responderle personalmente a través del correo electrónico.


SOPORTE TÉCNICO

Para cualquier duda, soporte técnico o notificación de errores, por favor diríjase a una de las direcciones electrónicas indicadas. Gracias.

asm@easycode.cat
rsala@easycode.cat

http://www.easycode.cat

Copyright © 2004-2015 Ramon Sala

La aplicación Easy Code ha sido desarrollada utilizando el MASM32 SDK (Macro Assembler de 32 bits de Microsoft)