Recomendação de software para um compilador MASM

Recomendação de software para um compilador MASM

Eu estive procurando por umMASMcompilador para Ubuntu. Mudei todas as minhas ferramentas de desenvolvimento para o Ubuntu. Agora estou fazendo uma aula de MASM e preciso muito de um compilador MASM. Eu vi algunsvídeos no YouTube. Eles usam principalmente um emulador DOS e instalam o compilador MASM nele. Eu realmente não sou a favor de algo assim.

Aqui está o que estou procurando:

  • Idealmente, ele terá alguns logs para solucionar problemas dos meus programas.

  • A interface gráfica do usuário é uma vantagem, mas não preciso dela.

  • Prefiro que o compilador não seja uma emulação do Windows (não precisaria usar WineHQ).

Atualmente estou usando Sublime Text com um pacote MASM, então não preciso de um IDE, no entanto, se a solução que você tem for um IDE, tudo bem, talvez como uma alternativa leve ao Visual Studio.

O que seria um bom compilador MASM nessas circunstâncias?

Responder1

Eu sugeriria jwasm (emfonteforjae assim por diantecódigo do Google)

A página do Google lista muitas alternativas e também mostra porque o jwasm é melhor que essas. Faça uma cópia direta da página de código do Google para obter uma boa sugestão e programas alternativos. Você precisará experimentá-los para decidir o que funciona para você. JWasm funciona em Linux; todos os outros talvez não.

JWasm

Características

  • Livre.
  • suporte nativo para formatos de saída Intel OMF, MS Coff (32 e 64 bits), Elf (32 e 64 bits), Bin e DOS MZ.
  • binários JWasm pré-compilados estão disponíveis para DOS, Windows e Linux. Para OS/2 e FreeBSD, makefiles são fornecidos.
  • Instruções até SSE4.2 são suportadas.
  • JWasm é escrito em C. A fonte é portátil e foi testada com sucesso com Open Watcom, MS VC, GCC e muito mais.
  • O código-fonte do JWasm é lançado sob a licença pública Sybase Open Watcom, que permite uso comercial e não comercial gratuito.

Comparado com outras montadoras

MASM

  • JWasm é gratuito, sem restrições artificiais de licença, pode ser usado para criar binários para qualquer sistema operacional.
  • JWasm é de código aberto, esqueça os bugs irritantes do MASM ...
  • Mais formatos de saída suportados (Bin, ELF).
  • Opcionalmente, módulos de objetos muito pequenos podem ser criados
  • Melhor suporte para Open Watcom, por exemplo, a convenção de chamada baseada em registro
  • JWasm é mais rápido que Masm.

TASM

  • JWasm está disponível. TASM não está legalmente disponível. E o LZASM, que é uma espécie de clone do TASM, entende apenas o modo IDEAL.
  • JWasm tem suporte total para STRUCTs e UNIONs. O TASM tem severas limitações e bugs nesta área.
  • JWasm suporta praticamente todos os recursos do MASM v6 (PROTO, INVOKE, diretivas hll, ...), a maioria dos quais o TASM não entende.
  • JWasm suporta instruções até SSE4, TASM está atrás.

POASM

  • JWasm é código aberto
  • JWasm também suporta saída em formato OMF, ELF e binário
  • JWasm oferece suporte a modelos de memória segmentada e de 16 bits. POASM entende apenas FLAT.
  • JWasm é compatível com a implementação de macros do MASM. POASM não é.
  • O POASM não tem a capacidade de criar um arquivo de listagem.

WASM

  • Os recursos macro do JWasm são muito melhores que os do Wasm.
  • JWasm suporta totalmente a sintaxe Masm v6. No Wasm, faltam a maioria das adições feitas no Masm v6.
  • Além do OMF, o JWasm suporta formatos de saída COFF, ELF e binários. JWasm oferece suporte a 64 bits.

Responder2

Eu acho que é importante ressaltar que o jwasm não tem suporte para convenções de chamada baseadas em POSIX (sistemas do tipo System V), então, se você estiver disposto a usar fetures como proto/procs com parâmetros, esteja ciente de que esses parâmetros serão passados os registros pelos compiladores C/C++, mas o jwasm não usará os registros corretos, mas a pilha como parâmetros, então você não poderá usar nomes de parâmetros como de costume na arquitetura de 64 bits.

informação relacionada