Recomendación de software para un compilador MASM

Recomendación de software para un compilador MASM

he estado buscando unMASAcompilador para Ubuntu. Moví todas mis herramientas de desarrollo a Ubuntu. Ahora estoy tomando una clase MASM y necesito urgentemente un compilador MASM. he visto algunosvídeos en youtube. Principalmente usan un emulador de DOS e instalan el compilador MASM allí. Realmente no estoy a favor de lucir algo como esto.

Esto es lo que estoy buscando:

  • Idealmente tendrá algunos registros para solucionar problemas de mis programas.

  • La interfaz gráfica de usuario es una ventaja, pero no la necesito.

  • Preferiría que el compilador no fuera una emulación de Windows (no sería necesario usar WineHQ).

Actualmente estoy usando Sublime Text con un paquete MASM, por lo que no necesito un IDE; sin embargo, si la solución que tiene es un IDE, estaría bien, tal vez como una alternativa liviana a Visual Studio.

¿Cuál sería un buen compilador MASM en estas circunstancias?

Respuesta1

Yo sugeriría jwasm (enforja fuentey encódigo de google)

La página de Google enumera muchas alternativas y también muestra por qué jwasm es mejor que estas. Nelow una copia directa de la página de códigos de Google para que tengas una buena sugerencia y obtengas programas alternativos. Deberá probarlos para decidir cuál funciona para usted. JWasm funciona en Linux; Es posible que todos los demás no.

JWasm

Características

  • Gratis.
  • soporte nativo para formatos de salida Intel OMF, MS Coff (32 y 64 bits), Elf (32 y 64 bits), Bin y DOS MZ.
  • Los binarios JWasm precompilados están disponibles para DOS, Windows y Linux. Para OS/2 y FreeBSD, se suministran archivos MAKE.
  • Se admiten instrucciones hasta SSE4.2.
  • JWasm está escrito en C. La fuente es portátil y ha sido probada con éxito con Open Watcom, MS VC, GCC y más.
  • El código fuente de JWasm se publica bajo la licencia pública Sybase Open Watcom, que permite el uso comercial y no comercial gratuito.

Comparado con otros ensambladores

MASA

  • JWasm es gratuito, no tiene restricciones de licencia artificiales y se puede utilizar para crear archivos binarios para cualquier sistema operativo.
  • JWasm es de código abierto, olvídate de los molestos bugs de MASM...
  • Se admiten más formatos de salida (Bin, ELF).
  • Opcionalmente se pueden crear módulos de objetos muy pequeños.
  • Mejor soporte para Open Watcom, por ejemplo, la convención de llamadas basada en registros
  • JWasm es más rápido que Masm.

TASM

  • JWasm está disponible. TASM no está disponible legalmente. Y LZASM, que es una especie de clon de TASM, sólo entiende el modo IDEAL.
  • JWasm tiene soporte total para STRUCT y UNION. TASM tiene graves limitaciones y errores en esta área.
  • JWasm admite prácticamente todas las funciones de MASM v6 (PROTO, INVOKE, directivas hll, ...), la mayoría de las cuales TASM no entenderá.
  • JWasm admite instrucciones hasta SSE4, TASM está detrás.

POASMO

  • JWasm es de código abierto
  • JWasm también admite salida en formato OMF, ELF y binario
  • JWasm admite modelos de memoria segmentada y de 16 bits. POASM solo entiende FLAT.
  • JWasm es compatible con la implementación de macros de MASM. POASM no lo es.
  • POASM carece de la capacidad de crear un archivo de listado.

ERA M

  • Las capacidades macro de JWasm son mucho mejores que las de Wasm.
  • JWasm es totalmente compatible con la sintaxis de Masm v6. En Wasm, faltan la mayoría de las adiciones realizadas en Masm v6.
  • Además de OMF, JWasm admite formatos de salida binaria, COFF y ELF. JWasm admite 64 bits.

Respuesta2

Creo que es importante señalar que jwasm carece de soporte para convenciones de llamadas basadas en POSIX (sistemas similares a System V), por lo que, si está dispuesto a utilizar funciones como proto/procs con parámetros, tenga en cuenta que esos parámetros se pasarán a través de los registros mediante compiladores C/C++, pero jwasm no usará los registros correctos sino la pila como parámetros, por lo que no podrá usar los nombres de los parámetros como es habitual en la arquitectura de 64 bits.

información relacionada