Las versiones 2.00.0.0012 y posteriores también incluyen una versión de 64 bits de Easy Code. Si está trabjando en un sistema Windows de 64 bits, puede ejecutar el archivo "EasyCode64.exe" (en la carpeta "\EasyCode\Bin"). Tanto la versión de 32 bits ("EasyCode.exe") como la de 64 ("EasyCode64.exe") hacen uso de los mismos archivos, por consiguiente, puede trabajar con cualquiera de ellas sin tener que hacer el menor cambio.
Como demostración de que se pueden hacer aplicaciones grandes y complejas en lenguaje ensamblador con Easy Code, tenga en cuenta que Easy Code está totalmente programado en assembler usando el propio Easy Code. En otras palabras, Easy code es un proyecto visual de Easy Code.
Si
tiene cualquier duda durante la lectura de este archivo de ayuda,
y para una mayor comprensión del mísmo, por favor
consulte los
diversos ejemplos de la carpeta "\EasyCode\Examples",
que han sido diseñados con fines didácticos.
INFORMACIÓN
RELEVANTE PARA LOS USUARIOS DE WINDOWS XP, VISTA Y 2003 SERVER: Desde octubre
de 2020 https://www.easycode.cat
es una web segura ("https") y Windows XP, Vista y 2003 Server ya son sistemas
operativos antiguos que no tienen los protocolos TLS 1.1/1.2. Por ese
motivo es casi seguro que Easy Code no pueda acceder a su propio sitio
web en Windows XP, Vista o 2003 Server y, por consiguiente, que la opción
de menú "Buscar actualitzaciones" no funcione. No se conoce ninguna
actualización de Microsoft que solucione este problema.
INTRODUCCIÓN
Easy Code 2 es la evolución de la versión 1 (totalmente compatible) especialmente diseñado para generar aplicaciones Windows de 64 bits, y que da soporte a los ensambladores ASMC, FASM, GOASM, JWASM, MASM, POASM, UASM y SOLASM, versiones de 32 y 64 bits. El SOLASM (Solar Assembler) está contemplado en las versiones de Easy Code 2.02.0.0003 y posteriores (para más información, por favor vea el tópico El Solar Assembler).
Easy Code 2 es una aplicación que solamente puede ejecutarse en Windows XP y sistemas posteriores, y no funciona en ninguna versión de Windows previa a XP. La programación de este IDE se realizó en Windows XP, VISTA, 7 y 8, pero funciona correctamente en cualquier sistema operativo comercializado posteriormente (Windows 8.1, 10, 11).
IMPORTANTE:
Easy Code 2 trabaja SIEMPRE en modo Unicode
para dar soporte
a todos los idiomas. Sin embargo, puesto que algunos
ensambladores solamente aceptan texto ANSI, el texto de todas
las ventanas y/o módulos puede ser enviado al compilador
convertido a ANSI o no, en función de
la opción Codificación del texto
de la sección Configuración.
Este formato permite programar
aplicaciones Unicode de una manera rápida y
fácil (vea el tópico Aplicaciones
ANSI / Unicode). En ambos modos, ANSI o Unicode, el
editor de
código y todos los nombres y archivos
relacionados con los proyectos (nombres y archivos de
proyectos, recursos, ventanas y controles) se guardan
siempre en texto Unicode. Por ese motivo, los proyectos
generados con Easy Code 1 deben convertirse
al formato de la versión 2 y, por consiguiente,
después de la conversión ya no pueden ser
cargados con
la versión 1. Por ello, EC pide la
confirmación pertinente antes de hacer la
conversión.
AGRADECIMIENTOS
Héctor
A. Medina
Sin su
excelente e incansable ayuda, Easy Code 2 no
hubiera sido posible.
Brandon
B. Stewart
Por
probar/evaluar Easy Code 2 en profundidad, informar
de algunos errores y corregir el archivo de idioma
en inglés.
Steve
Hutchinson
Por
probar/evaluar Easy Code 2.
Wayne
Radburn
Por
probar/evaluar Easy Code 2 y hacer algunas
corecciones en el archivo de ayuda en inglés.
Jason
Jiang
Por
traducir el archivo de idioma al chino (ambos,
tradicional y simplificado).
C0dr4cK
Por
traducir el archivo de idioma al turco.
MFM
Dawdeh
Por
traducir el archivo de idioma al árabe.
Pavlů
Zdeněk
Por
traducir los archivos de idioma y de ayuda al checo.
ALGUNOS CAMBIOS
IMPORTANTES
Hay algunos cambios importantes en el compilador Masm de 64 bits (ml64.exe) que deben tenerse en cuenta:
ACERCA DE
WINDOWS 8.1 /
WINDOWS 10 / WINDOWS 11
Cuando copia
archivos o instala
programas en la mayoría de carpetas del disco de sistema C:
de estas tres versiones de Windows, el sistema cambia los permisos
al reiniciar la máquina de manera que el usuario no las
puede escribir
normalmente. Por ejemplo, si después de descomprimir el
programa EC
lo copia a C:\EasyCode y reinicia la
máquina, Windows 8.1/10/11
cambia los permisos de escritura de esta carpeta y de todas sus
subcarpetas y archivos. Esto forma parte de las medidas de seguridad
extendida de esos tres sistemas operativos, pero supone un
obstáculo
para los programas que escriben datos en los archivos de
configuración
y otros tipos de documentos. De acuerdo con esto, es muy recomendable
que tenga al menos dos discos (o un disco con dos particiones) y use
el segundo disco (D:, F:, G:,
o cualquier otra
letra que le haya asignado) para copiar la carpeta EasyCode.
Por
otra parte, la carpeta donde guarda los proyectos TAMPOCO
DEBERÍA
ESTAR en el disco C:.
Sin embargo, si todavía desea
usar el disco C:, o no dispone de ningún
otro, puede poner las
propiedades de “EasyCode.exe” en
“Ejecutar como Administrador”, o mover
la carpeta "EasyCode" a
“C:\Usuarios\<NombreUsuario>\AppData\EasyCode”,
donde todas las aplicaciones tienen permisos de escritura, y modificar
los archivos de configuración de acuerdo con la nueva ruta.
Por otra parte, tener una encriptación de 128 bits en su
política de grupo puede comportar que algunos ejecutables de
64
bits no puedan ejecutarse y que Easy Code se cierre. Si tiene
problemas al ejecutar los archivos de 64 bits relacionados
con la generación de proyectos, (compilador, enlazador, y
compiladores de recursos y librerías de todos los
ensambladores
usados), ponga las propiedades de todos los archivos afectados
para que se ejecuten como administrador. Por favor lea el archivo
FAQSAndTips.txt dentro de la carpeta EasyCode.
EL CONTROL SLIDER
En ocasiones es preciso asignar valores negativos al rango y/o la posición de un control Slider (también llamado Trackbar). Puesto que la Ventana de Propiedades de Easy Code no admite valores negativos, tendrá que hacer uso de los mensajes "TBM_..." dentro del código para asignarlos. Por favor vea la información para este control en MSDN.
ENSAMBLADORES
SOPORTADOS
Esta
sección es una pequeña guía para
saber las herramientas que se necesitan para cada ensammblador
soportado. Lógicamente, no es preciso tenerlas todas si no
se
desea, pero al menos deberá tener las herramientas de
el(los)
ensamblador(es) con el(los) que desee trabajar. Por simplicidad,
todas las rutas (paths) que se muestran a
continuación
se refieren a la raíz del disco C:\,
pero debería usar cualquier otro disco o ruta, incluso un
USB
(yo tengo todas esas herramientas en la raíz del disco
G:\). Como se ha dicho anteriormente, NO se recomienda usar
el disco de sistema C:, especialmente en Windows 8.1, Windows 10
y Windows 11, a causa de la restricción de permisos.
C:\ASMC (descargue
el conjunto de herramientas AsmC) C:\FASM (descargue
el Flat
assembler for Windows) C:\GOASM (descargue
el conjunto de herramientas ECGo.zip) C:\JWASM (descargue
el conjunto de herramientas JWasm.zip) C:\JWASM (versiones
de 32 y 64 bits disponibles aquí) C:\MASM32 (descargue
el MASM32
SDK versión 10 o posterior) C:\MASM64 (disponible
con
Microsoft
Visual Studio) C:\POASM (descargue
PellesC
32-bit) C:\POASM64 (descargue
PellesC
64-bit) C:\SOLASM (descargue
el Solar
assembler
bynary)
ASMC
FASM
GOASM
JWASM
UASM (se
recomienda la carpeta JWASM)
MASM32
MASM64
POASM
POASM64
SOLASM
Después de descomprimir el conjunto de herramientas de asmc se habrá creado la carpeta asmc-master. Por favor renómbrela como AsmC y tenga presente que la subcarpeta bin es la única que necesita Easy Code, por consiguiente, puede eliminar todas las demàs subcarpetas si lo desea.
IMPORTANTE: Cuando el cuadro de verificación "Este proyecto se ejecutará en modo Unicode" de las Propiedades del proyecto está marcado, la opción "/Zne" de la línea de comandos de AsmC NO FUNCIONA con Easy Code.
Después de descomprimir el conjunto de herramientas ECGo.zip se habrá creado la carpeta GoAsm. Por favor descargue inmediatamente las GoAsm Headers y póngalas en la subcarpeta Include (dentro de la carpeta GoAsm que se habrá creado al descomprimir ECGo.zip). De lo contrario, Easy Code no podrá generar proyectos GoAsm.
Después de descargar e instalar el Microsoft Visual Studio, cree una nueva carpeta con el nombre de MASM64 y cópiele todos los archivos necesarios relacionados con el ensamblador MASM de 64 bits (ml64.exe, link.exe, lib.exe, rc.exe y sus dependencias).
Después de descargar e instalar PellesC 32-bit en un sistema de 32 bits, cree una nueva carpeta con el nombre de POASM y cópiele todo el contenido de la carpeta C:\Program Files\PellesC\Bin.
Después de descargar e instalar PellesC 64-bit en un sistema de 64 bits, cree una nueva carpeta con el nombre de POASM64 y cópiele todo el contenido de la carpeta C:\Program Files\PellesC\Bin.
Después de descargar UASM (versiones de 32 y 64 bits), yo le recomendaría ponerlos en la carpeta JWASM, puesto que allí hay otros archivos necesarios, como jwlink.exe, pero puede crear una carpeta específica para UASM si aisí lo desea. Por otra parte, Easy Code 2.01.0.0002 y versiones posteriores también incluyen archivos de configuración específicos para UASM de 32 y 64 bits, por ello, si pone uasm32.exe y uasm64.exe en la carpeta JWASM, sus archivos de configuración de UASM pueden ser una copia de los de JWASM, puesto que solamente debe reemplazar jwasm.exe por uasm32.exe (en UAsm.cfg) o uasm64.exe (en UAsm64.cfg).
Para aplicaciones de 32 bits, GOASM usa las Go tools y las GoAsm Headers, todas ellas en la carpeta GoAsm creada con ECGo.zip. ASMC, JWASM, UASM, MASM y POASM usan los archivos include y librería de MASM32 (C:\MASM32), y FASM usa sus archivos include y equate (C:\FASM\INCLUDE) más algunos archivos include de la carpeta \EasyCode\Include\Fasm, especialmente programados para FASM. Además, FASM necesita que el MASM32 SDK esté instalado para poder generar proyectos visuales de 32 bits (se necesitan los archivos ".lib" del MASM32 SDK). Para los proyectos visuales de 64 bits FASM usa los archivos include y librería de las carpetas \EasyCode\Include\Fasm\Visual y \EasyCode\Lib\x64 respectivamente.
Para aplicaciones de 32 y 64 bits, el SOLASM usa un juego de archivos include, especialmente programados para él, que se encuentran en la carpeta \EasyCode\Include\SolAsm. Además, el SOLASM también necesita que el MASM32 SDK esté instalado SOLAMENTE si desea generar proyectos visuales de 32 bits (se necesitan los archivos ".lib" del MASM32 SDK). Para los proyectos visuales de 64 bits SOLASM usa los archivos include y librería de las carpetas \EasyCode\Include\SolAsm\Visual y \EasyCode\Lib\x64 respectivamente.
OBSERVACIONES: Los archivos ".obj" generados por el compilador SOLASM con la opción "/dbg" pueden producir errores con las últimas versiones del "link.exe" de Microsoft si su línea de comandos incluye la opción "/debug" (el autor del SOLASM ya ha sido informado de este problema). Por lo tanto, si le ocurre esto con alguna versión de link.exe, y todo está bien configurado en el archivo "SolAsm64.cfg", desmarque la opción "Agregar información simbólica" de las Propiedades del Proyecto (o evite la opción "/debug" en la línea de comandos del link.exe) para solventar el problema.
Para aplicaciones de 64 bits, GOASM usa los mismos archivos que para 32 bits (GoAsm Headers), mientras que ASMC, JWASM, UASM, MASM y POASM usan los archivos include y librería de las carpetas \EasyCode\Include\Masm\x64 y \EasyCode\Lib\x64 respectivamente, que han sido especialmente programados para aplicaciones de 64 bits.
Easy Code se distribuye con unos archivos de configuración, uno para cada ensamblador soportado. Estos archivos (en la carpeta EasyCode\Config) tienen la extensión "ori" y sirven de referencia para configurar el ensamblador correspondiente. Sin embargo, cada ensamblador necesita un archivo de configuración con la extensión "cfg" para funcionar correctamente, pero cuando se descarga Easy Code 2 no hay ningún archivo ".cfg". Todos estos archivos de configuración se crearán cuando Easy Code se ejecute por primera vez y se encontrarán en la carpeta EasyCode\Config. Para más información, por favor vea el aparatado Configuración.
Si su versión actual de Easy Code 2 es anterior a la 2.00.0.0007 (2 de diciembre de 2015), por favor siga las instrucciones del archivo Fasm.txt, dentro de la carpeta EasyCode.
FASM y SOLASM no tienen un enlazador (linker) propio y los proyectos visuales necesitan enlazar la librería visual de Easy Code. Por consiguiente, para que Easy Code pueda generar proyectos visuales con FASM y SOLASM, se usa el enlazador de Microsoft link.exe (SOLAMENTE para los proyectos visuales de FASM y SOLASM). Si desea generar proyectos visuales con FASM y SOLASM (todos los ejemplos son proyectos visuales), debe descargar e instalar el MASM32 SDK (para proyectos visuales de 32 bits) y el MASM64 (para proyectos visuales de 64 bits).
Ante la falta de documentación para generar drivers WINNT (*.sys) con jwlink.exe (JWasm) y linkw.exe (AsmC) se usa el enlazador de Microsoft link.exe (SOLAMENTE en los proyectos driver de JWasm / AsmC / UAsm).
El compilador de recursos wrc.exe que viene con JWasm puede funcionar mal con algunos proyectos (por ejemplo, los drivers de 64 bits enlazados con link.exe). Si es así, pruebe de agregar el switch -zm a su línea de comandos, o simplemente use el compilador de recursos rc.exe de Microsoft.
Los compiladores de recursos dzrc.exe y iddc.exe que vienen con AsmC no parece que puedan generar el archivo de recursos .bin que necesita Easy Code, por consiguiente, se usa el compilador rc.exe de Microsoft. Éste es el compilador que se indica en los archivos de configuración predeterminados de AsmC (AsmC.ori y AsmC64.ori).
AVISO: El MASM32 SDK disponble actualmente (masm32v11r) tiene algunos errores en los archivos kernel32 y kernel32p que hacen que el enlazador (link.exe) genere errores. Para solventar este problema, por favor descargue este archivo y siga las instrucciones del archivo Readme.txt.
CONFIGURACIÓN
Esta es la
parte más importante
de la puesta en marcha inicial de Easy Code para evitar problemas
y hacer que funcione correctamente para todos los ensambladores
soportados. La configuración de las rutas (paths)
correctas
y las opciones de la línea de comandos para cada
ensammblador,
enlazador (linker), y compilador de recursos y
librerías,
lleva tiempo y requiere ser cuidadoso.
Ahora, por favor ejecute el archivo
EasyCode.exe (en la carpeta EasyCode\Bin),
o haga
un doble clic sobre el icono del escritorio si es que eligió
crear
uno durante el proceso de instalación. Entonces vaya al
menú
Herramientas-->Configuración y
haga clic en este enlace
para empezar a configurar Easy Code.
PROGRAMACIÓN EN
64 BITS
Easy Code se
distribuye
con algunos archivos include y librería (localizados
en las carpetas \EasyCode\Include\Masm\x64 y
\EasyCode\Lib\x64, respectivamente) especialmente
hechos para la programación de aplicaciones de 64 bits
de ASMC, JWASM, UASM, MASM y POASM (FASM y GOASM hacen uso de
otros archivos). Aunque estos archivos son suficientes para
generar la mayoría de aplicaciones, es posible que
algunas aplicaciones más específicas necesiten
otros
archivos include y librería. Si es así, le
agradeceré
su colaboración. Por favor escriba el archivo
include
necesario, envíemelo, y yo generaré el archivo
librería
correspondiente para que ambos puedan ser distribuídos
en próximas versiones de Easy Code. De ese modo podremos
ir ampliando entre todos las posibilidades de Easy Code.
Muchas gracias.
La programación en 64 bits
no es tarea fácil y requiere conocer a fondo como
trabajan los sistemas operativos Windows de 64 bits. Para
tener una idea muy básica, por favor vea el
tópico Programando
aplicaciones de 64 bits.
ESCRIBIENDO CÓDIGO CON EASY CODE
Con el fin de que Easy Code pueda manejar los procedimientos, constantes y variables correctamente, evitando así errores al generar los proyectos, por favor tenga en cuenta las consideraciones que se explican en este enlace.
INICIANDO EASY CODE
Si se ejecuta Easy Code sin ningún nombre de proyecto en su línea de comandos, 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 ocho opciones disponibles según el tipo de proyecto:
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 evita tener que generar liberías estáticas (.lib) si no le gusta, y 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", "Librerías estáticas", "archivos objeto", "aplicaciones de consola", "drivers" y "servicios" son consideradas proyectos clásicos de manera natural. Solamente 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 .lib
serán agregados al proyecto por Easy Code
(solamente en el caso de los 'Common controls'). 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
Manifiesto
(sólo disponible para los proyectos Archivo
ejecutable visual, Archivo
ejecutable clásico y
Librería dinámica clásica)
indica si debe crearse e incluirse 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 "Manifiesto"
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.
El cuadro de verificación Macros
de Easy Code, en las Propiedades
del proyecto,
indica si las macros que vienen
con Easy Code (en la subcarpeta Macros) deben
incluirse en el proyecto o no.
AGREGAR ARCHIVOS A LOS PROYECTOS
Se recomienda que no se usen las directivas Include, #Include, IncludeLib o #DynamicLinkFile dentro del código fuente para agregar archivos a los proyectos. En su lugar, todos los archivos que se necesiten en un proyecto deberían agregarse con las correspondientes opciones del menú Proyecto. Otros archivos, include (*.inc), header (*.h) o library (*.lib), que no sean ninguno de los archivos predeterminados que usa el ensamblador o el enlazador, deberían copiarse a la carpeta del proyecto y entonces agregarlos con la opción de menú Proyecto-->Agregar archivos.
SUB-TÓPICOS
Configurando
Easy
Code
Escribiendo
el
código correctamente
Programación
de servicios NT
Programación
de controladores NT
(drivers)
Archivos de
configuración específicos (archivos INI)
Proyectos
visuales
(modo
potente de Easy
Code)
Proyectos
clásicos (estilo tradicional
del IDE)
Propiedades
del proyecto
Programación de aplicaciones Unicode
Fragmentos de código ('Code Snippets')
Controlando las excepciones (sólo proyectos visuales)
Configurando otros archivos de ayuda
Accediendo a la función 'WinMain' de Windows (sólo proyectos visuales)
Objeto Thread (sólo proyectos visuales)
Agregando "tooltips" a los proyectos visuales
Soporte
multilengua
Los
archivos de idioma (cómo hacerlos)
Aplicaciones ANSI /
Unicode
(sólo
proyectos visuales)
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)
Objeto App (sólo proyectos visuales)
Macros
de Easy
Code
(todos los proyectos)
Métodos
de
Easy Code (sólo proyectos
visuales)
Constantes
de Easy
Code
(sólo
proyectos visuales)
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 siguientes direcciones electrónicas. Gracias.
assembly@easycode.cat
rsala@easycode.cat
https://www.easycode.cat
Copyright
© 2004-2023 Ramon Sala / Héctor A. Medina
La
aplicación
Easy Code ha sido desarrollada con el
MASM32 SDK
v11 (Macro Assembler de 32 bits de
Microsoft)
La aplicación Easy Code de 64 bits ha sido
desarrollada con el compilador JWASM.
A partir de la versión 2.01.0.0001, se
ha
desarrollado con el compilador UASM64