Em resumo descrito em apenas três palavras, yasm é um projeto modular assembler, mas na verdade é uma reescrita completa do projeto Netwide Assembler, projetado desde o início para dar suporte a vários conjuntos de instruções (x86 e amd64 no momento), aceitar a gás e sintaxes NASM, bem como a saída binária, ELF64, ELF32, Mach-O 32/64-bit, 32/64-bit objeto formats.User featuresUser visível características visíveis COFF, RDOFF2 e Windows incluem análise full-featured e léxico do NASM e sintaxes de gás, o apoio inicial para a sintaxe TASM, suporte para valores inteiros de 64 bits, suporte a internacionalização usando gettext, um simples otimizador 2-pass, e suporte para arquiteturas amd64) (conjunto de instruções de 64 bits, o que pode ser ativado usando o & nbsp; & Ldquo; amd64 -m & rdquo; opção ou selecionando um 64-bit de saída formato de objeto explícito.
Ela permite a constantes de 64 bits e maior inteiros, incluindo operações matemáticas, suporta uma ampla gama de formatos de objetos, inclusive COFF, Binário, RDOFF2, ELF32, ELF64, Win32, Win64, bem como 64-bit e 32-bit Mach- saídas de arquivo objeto o. Além disso, ele suporta o CodeView, DWARF2 e esfaqueia formatos de depuração, é executado em sistemas operacionais UNIX e Linux, bem como os recursos do Microsoft Windows e DOS.Internal featuresInternal incluem um gás e NASM sintaxe lexers que são escritos com a ferramenta re2c, recursive- funcionalidade analisador de ascendência tanto para o gás e NASM sintaxes, analisadores de instruções específicas de arquitetura, uma pequena coleção de funções portáteis e úteis, como strdup, mergesort e strcasecmp, bem como um conjunto padrão de entrada de teste assembler files.Under o capô e availabilityThe projeto está disponível para download somente como um arquivo de origem, o que obriga o usuário a configurar manualmente e compilar o programa antes da instalação. A melhor parte de um arquivo de origem é que ele pode ser instalado em qualquer sistema operacional GNU / Linux, ao contrário de pré-construídos pacotes binários que são projetados para um certo tipo de distribuição.
O que é novo nesta versão:
- usar um maduro x86 NASM-sintaxe e AMD64 assembler que pode direcionar Win32, Win64, MacOS X, e derivados do Unix;
- usar um montador GAS-sintaxe diferente do GAS;
- experimentar o novo TASM-like sintaxe ou frontend;
- tem montagem de nível fonte depuração usando DWARF2 ou CodeView? 8,0 (VS 2005);
- tem um assembler software livre que suporta Win32 / Win64 Structured Exception Handling (SEH) e ELF32 / ELF64 segmento de armazenamento local (TLS);
- direcionar os novos conjuntos de instruções AMD ou Intel AVX SSE5;
- acompanhar o progresso do yasm em termos de estabilidade e funcionalidade set;
- contribuir para o desenvolvimento yasm a partir de uma nova versão.
O que é novo na versão 0.7.2:
- Esta versão adiciona 64-bit Mach-O PIC apoio, --prefix e opções --suffix para nomear globals e suporte para recém-especificadas instruções AVX / AES não na especificação original.
- Ele também gera uma deslocalização GOTPCREL para & quot; rel wrt ..gotpc & quot; e otimiza o impulso não-estrita a byte tamanho em todos os casos possíveis, juntamente com várias outras correções.
Comentários não encontrado