Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Assembly] Instalando NASM - NetWide Assembler


felipeanchieta
 Compartilhar

Posts Recomendados

Olá,

 

Hoje vou falar um pouco do NASM, ou seja, o NetWide Assembler.

 

Adiantando, pra quem não sabe o que é Assembler:

É necessário se cadastrar para acessar o conteúdo.

 

Ok, agora certas considerações são necessárias:

 

• Se você não sabe o que é Assembly, se retire e vá estudar.

• Se você sabe o que é Assembly, mas ainda não tem interesse, guarde o link desse tópico nos favoritos.

• Se você sabe o que é Assembly, mas nunca terá interesse, sai daqui.

• E se você pensa que todo bom programa deve ter Interface Gráfica, ou seja, sem linha de comando, sai daqui e corte seus

pulsos na vertical.

 

E por favor, sem dúvidas noobs.

 

1. NETWIDE ASSEMBLER

========================

 

O NASM foi criado para ser um Assembler com as seguintes características:

 

• Multiplataforma - DOS, Windows, Linux, Solaris, OS/2, MacOS

• Trabalha com as seguintes arquiteturas: x86 e x64

• Tem suporte a 16 bits ( visto que, roda no DOS )

• Sem muitas macros, tornando o Assembly mais old school, mais cansativo, porém, mais educativo.

• Open-Source, livre pela licensa Berkley ( BSD )

• Utilizar uma sintaxe parecida com o Assembler da Intel, o FASM.

 

 

2. INSTALANDO O NETWIDE ASSEMBLER NO WINDOWS

=============================================

 

Baixe o NASM nos repositórios V

 

É necessário se cadastrar para acessar o conteúdo.

 

Hoje, a última versão estável é a 2.09.04.

 

 

Após baixar, instale o NASM, e o coloque no PATH. Ou seja,

o executável nasm.exe pode ser aberto no Prompt de Comando independendo

da pasta q ele está.

 

Se você não souber colocar pastas no PATH, procura no Google. É bem fácil.

É parecido com a instalação do Java SDK ( JDK ).

 

 

3. INSTALANDO O NETWIDE ASSEMBLER NO LINUX ( no meu caso, Ubuntu )

===================================================================

 

Vá no Terminal e logue como root.

 

su

 

Digite a senha do root e dê ENTER.

Depois, baixe o pacote nasm:

 

apt-get install nasm

 

Confirme e instale. Pronto!

 

 

4. UTILIZANDO O NETWIDE ASSEMBLER

==================================

 

No prompt (Windows) ou no shell/terminal (Linux), digite

 

nasm -h

 

Para obter ajuda :D

Para fazer um assembler simples, basta

 

nasm -o <arquivo de saida, .exe por exemplo> <arquivo .asm de entrada>

 

Exemplo:

 

nasm -o messagebox.exe messagebox.asm

 

Bem parecido com o GCC não é..

 

5. FIM

=======

 

Bom, agora boa sorte e pode sair por aí assemblando. A documentação do NASM é de fácil acesso!

 

Até mais!

Link para o comentário
Compartilhar em outros sites

Bem legal o tutorial

nunca usei o NetWide Assembler. Pra mim é novidade, como to aprendendo ASM é novo pra mim, mas sempre é novo é um bom caminho !

Vou baixar pra ir "assemblando" rsrs '

Até e Abrasz

4I1ShmNRGyg2k.webp

Link para o comentário
Compartilhar em outros sites

:)

 

Mas recomendo começar assemblando com o MASM que é mais puxado para o alto-nível, tipo, ele tem IF, ELSE, essas coisas que o Assembly não tem.

 

E isso se chama Macro, por isso, Micro$oft Macro Assembler.

Link para o comentário
Compartilhar em outros sites

Não importa se o masm usa macro porque o código gerado será o mesmo que quando usando assembly puro ex: push para colocar parametros na stack e call para chamar a função em vez de invoke e o if e else também será gerado igual ex: cmp eax, ebx jne shit

 

desde que você entenda a lógica por trás dessas macros não vejo porque usar o nasm.

Link para o comentário
Compartilhar em outros sites

Não importa se o masm usa macro porque o código gerado será o mesmo que quando usando assembly puro ex: push para colocar parametros na stack e call para chamar a função em vez de invoke e o if e else também será gerado igual ex: cmp eax, ebx jne shit

 

desde que você entenda a lógica por trás dessas macros não vejo porque usar o nasm.

 

Ok, quando o MASM for multi-plataforma conversaremos sobre isso.

Link para o comentário
Compartilhar em outros sites

Ok, quando o MASM for multi-plataforma conversaremos sobre isso.

 

Bem eu nunca disse que o MASM era multiplataforma, e nunca será porque como você disse o MASM é da Microsoft e a Microsoft não gosta de concorrência, mas vamos aproveitar que está é uma das poucas ferramentas distribuídas gratuitamente pela Microsoft.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.