Con Uptime en ensamblador, volví a adentrarme en el maravilloso mundo de los ensambladores, que tantos buenos recuerdos me había traído.
Os comenté, que actualmente existen gran variedad de herramientas de este tipo, muchas de ellas, derivadas de Openwatcom Assembler (WASM), como UASM, ASMC o el difunto JWASM. Lo cierto es que si no fuera por OpenWatcom, y sin contar el pionero NASM (Netwide Assembler), todavía seguiríamos usando assemblers comerciales como Borland Turbo Assembler (TASM) o Microsoft Macro Assembler (MASM).
Lejos quedan los tiempos en que teníamos Arrowsoft A86/A386 y poco más. Ahora tenemos también FASM (Flat Assembler), LZASM (Lazy Assembler), y muchos más. Éstos, no sólo han ido añadiendo soporte de nuevas instrucciones (MMX, SSE, AVR, …), sino que soportan nuevas arquitecturas como x64, rivalizando, y diría que superando, incluso a MASM y TASM, que apenas han tenido avance.
Todo esto venía a un proyecto muy interesante que he visto: EasyCode, un IDE para ensamblador, con el añadido que ofrece funciones RAD, de ahí el subtítulo de Visual Assembler. A lo largo del tiempo, he visto multitud de proyectos de este tipo, recuerdo por ejemplo Assembler Editor, que era muy chulo, pero no aportaba nada, así que al final, terminabas escribiendo el código con tu editor favorito, que en mi caso era Semware QEdit, y ensamblando y enlazando con archivos .BAT.
EasyCode Visual Assembler, es un proyecto similar a Visual MASM, con la particularidad, que es un desarrollo catalán, escrito por Ramon Sala y Hector A. Medina.
Se centra en el desarrollo Win32 y Win64, y es bastante cómodo, porque ofrece un autocompletado, al menos para funciones de Windows, lo que en Microsoft llaman Intellisense.
Además, se integra con diferentes ensambladores y enlazadores, no solamente MASM y LINK, sino también ASMC (del autor de DOSZIP), FASM, GoASM, JWASM, y PoASM. Trae plantillas tipo para proyectos de consola, gráficos, y hasta drivers. Pero lo más espectacular, es sus funciones de desarrollo rápido RAD. Es increíble poder dibujar ventanas/diálogos en un editor, y que genere el código ensamblador básico y sus recursos asociados.
Para ello, necesita lógicamente un compilador de recursos, y que no necesariamente debe ser RC (Microsoft Resource Compiler), sirve WRC (Watcom Resource Compiler / OpenWatcom Resource Compiler).
Personalmente, no me planteo escribir aplicaciones para Windows en ensamblador, experimentos como WinVer tengo suficiente. Es divertido, y curioso, pero poco práctico. Y me temo, que esa es precisamente la utilidad de herramientas como esta, conseguir ir a contracorriente, porque desgraciadamente, hoy en día, ni siquiera los drivers se programan en ensamblador, así que yo sigo fiel a mi Emeditor, y a los programitas para DOS.
¡Qué chulo! Y además no es muy pesado, y es portable, vamos, una maravilla. Por la velocidad de descomprensión, debe venir súpercomprimido 😀 Veo que hasta tiene macros propias.
Lo he estado mirando (por desgracia no tengo ningún enlazador ahora para hacer algún exe) y tiene buena pinta, el único problema es el de seimpre, al ser de tan bajo nivel, depurar eso (o hacer algún programa complejo) es muy lento. Pero el IDE está bien, lástima que solo sea para ensamblador, lo podrían haber aprovechado para Java, por ejemplo.
Ya hubiera querido yo hace años tener una cosa así para programar en ensamblador…
Es una pasada de proyecto bianamaran. Cuando retomé el tema del ensamblador, me di cuenta que lo sigue usando mucha gente. No me refiero a por hobby como es mi caso, sino por necesidad. Microcontroladores, drivers, y cosas por el estilo. Ahí es donde EasyCode tiene mucho que aportar.
Ciertamente, como IDE es muy bueno. Sorprende lo que un proyecto así ha llegado a conseguir. Es cómodo, muy ágil, y va fluido. Hubiera sido bueno lo que sugieres, que agregaran soporte para otros lenguajes, y así extender su uso. En cuanto a enlazador, si no quieres complicarte, hazte con JWASM, o uno de sus derivados como UASM (http://www.terraspace.co.uk/uasm.html), y te ahorras el enlazador.
Gracias por la recomendación, Guti, pillaré el uasm.
Sobre el IDE, a ver si recogen el testigo de esta feedback y lo hacen accesible o apto para otros lenguajes, aunque también es verdad que ya hacerlo para ensamblador tan bien como lo han hecho ya tiene bastante mérito.
Por otro lado, sabiendo lo que «odias» las GUIs, que a ti te agrade un trabajo de este tipo es que de verdad es una buena herramienta. Además, como bien indicas siempre es agradable ver que este tipo de desarrollos también parten de la península, porque casi siempre son norteamericanos. Eso demuestra que aquí hay mucho nivel pero, por desgracia, pocas oportunidades e infravalorado.
No, no bianamaran. A mi me encantan los IDE y las herramientas gráficas. Lo que ocurre es que soy tan consciente de lo que implican esos pequeños detalles en cuanto a esfuerzo, y pulcritud, que muchas veces prefiero centrarme en el código, en la lógica, y hacer cosas por consola.
La prueba de ellos es FileOptimizer. No lo parece, pero su interfaz está trabajado. Lleno de detalles en todos los formularios, que además son muy completos. Sin embargo, es probable que la parte GUI, y su manejo, me haya supuesto más esfuerzo que el propio FileOptimizer. Desde las ventanas maximizables, hasta la ordenación del grid, etc.
osea que ya existe un «visual studio» para ensamblador?, por fin dejaré de tenerle pavor a ensamblador (nunca le entendí nada igual que a cobol), gracias por el aporte.
Más o menos Manuel. Sería más parecido a Delphi o Lazarus que a Visual Studio, pero esa es la idea.
Buenos días, me llamo Ramon Sala y soy el programador de Easy Code Visual Assembler (sin olvidar la imprescindible colaboración de Héctor A. Medina). Navegando por internet he encontrado esta página que desconocía y quisiera dar las gracias por los buenos comentarios que hacéis de Easy Code. La versión actual es la 2.02.0.0038 y seguiremos actualizándolo y corrigiendo los errores que pudieran aparecer. Gracias.
Por cierto, antes olvidé comentar que Easy Code está programado enteramente en ensamblador usando el propio Easy Code, es decir, Easy Code es un proyecto del propio Easy Code. Lo comento para que se vea que prácticamente se puede hacer cualquier programa en lenguaje ensamblador.
Encantado de que me hayas encontrado, y un placer tenerte por aquí Ramon Sala. Creo que somos muchos los que intentamos aportar algo, ya sea con literatura, con contenido, o como en vuestro caso, con software. Mis respetos.
Hola Javier, el placer es nuestro (de Héctor y mío), nuestros respetos por tu trabajo. Con la cantidad de sandeces que hay por internet, hacen falta más webs como la tuya. Saludos y enhorabuena.