Skip to content
NASM 2.16.01

Compilador Online Assembler (NASM)

myCompiler é um compilador, editor e executor de código online e gratuito para Assembly que permite escrever, executar e compartilhar código Assembly diretamente no seu navegador. Funciona como playground, sandbox, fiddle, compilador na nuvem e REPL online para Assembly. Sem downloads, sem instalação necessária. Basta abrir o editor e começar a programar com realce de sintaxe, autocompletar e saída instantânea.

27+ linguagens Usado por 1M+ desenvolvedores Gratuito para sempre

Como executar código Assembly online

Três passos para ir da ideia ao código Assembly em execução neste playground online. Sem necessidade de conta.

Escreva seu código Editor de código com realce de sintaxe, números de linha e uma aba de arquivo mostrando o idioma atual main.asm 1 1 2 3 4 5 6 7 Assembly Ln 7, Col 25

Escreva seu código

Abra o editor Assembly e comece a escrever. O editor inteligente oferece realce de sintaxe, autocompletar e detecção de erros enquanto você digita.

Clique em Executar Editor com um botão Executar e dica de atalho de teclado para executar código em servidores na nuvem main.asm 2 Run or press Ctrl +

Clique em Executar

Pressione o botão Run ou pressione +Enter para executar seu código Assembly em servidores na nuvem seguros e isolados.

Veja os resultados Terminal integrado exibindo a saída do programa com prompt de comando e resultados de execução main.asm 3 1 2 ... Terminal $ nasm main.asm && ld && ./a.out $ Program finished

Veja os resultados

A saída aparece instantaneamente no terminal integrado. Erros e exceções são exibidos com mensagens claras e úteis.

Tudo o que você precisa para programar em Assembly

Um IDE online completo e playground de programação para Assembly no seu navegador. Escreva, execute e compartilhe código sem nenhuma configuração.

Zero configuração necessária

Comece a programar em segundos com este interpretador Assembly baseado no navegador. Sem downloads, sem instalações, sem configuração de ambiente. Abra seu navegador, acesse o myCompiler e comece a escrever código Assembly imediatamente.

Funciona em qualquer dispositivo com navegador web. Desktop, notebook, tablet, celular, Chromebook. Não há nada para instalar e nada para configurar.

Editor de código rico em recursos

Escreva Assembly com um editor de código profissional embutido no seu navegador. O realce de sintaxe colore seu código para facilitar a leitura, destacando palavras-chave, strings e funções de um jeito fácil de identificar.

O autocompletar inteligente sugere métodos e propriedades enquanto você digita, e a detecção de erros em tempo real captura os problemas antes de você executar seu código.

Projetos com múltiplos arquivos

Crie e gerencie múltiplos arquivos em um único projeto. Use a barra lateral de arquivos para organizar seu código em módulos e importe-os entre arquivos como em um IDE local.

Construa aplicações modulares com estrutura de projeto adequada. Cada arquivo é editável e você pode alternar entre eles instantaneamente.

Execute código instantaneamente

Clique no botão Executar ou pressione +Enter para executar seu código Assembly instantaneamente. Este executor de código online exibe a saída imediatamente no painel do terminal integrado. Seu código roda em servidores na nuvem seguros e isolados e os resultados aparecem em segundos.

Mensagens de erro e tracebacks são exibidos de forma clara, facilitando encontrar e corrigir problemas. O terminal suporta cores ANSI para formatação rica de saída.

Pronto para experimentar? Escreva e execute seu primeiro programa Assembly em segundos.

Abrir editor Assembly

Assembly no myCompiler

myCompiler executa o NASM 2.16.01, sempre atualizado com a versão estável mais recente. Você tem acesso a um IDE completo baseado no navegador com realce de sintaxe, autocompletar inteligente, suporte a projetos com múltiplos arquivos, terminal integrado para saída em tempo real e entrada padrão (stdin) para programas interativos. Escreva, compile, execute e depure código Assembly em qualquer dispositivo. Desktop, notebook, tablet, celular, Chromebook. Zero downloads, zero configuração e sem necessidade de cadastro. Salve seus programas com uma URL única e compartilhe com qualquer pessoa. Você também pode incorporar um editor Assembly funcional no seu próprio site.

Use este playground online de Assembly como um executor de código rápido para testar trechos, uma sandbox de programação para aprendizado, ou um compilador na nuvem para preparação de entrevistas técnicas. O editor inclui modo escuro para programar com conforto, atalhos de teclado para fluxos de trabalho mais rápidos e mensagens de erro claras com números de linha para depuração ágil. Estudantes o usam para tarefas e prática. Professores o usam para compartilhar exemplos funcionais. Desenvolvedores o usam para prototipar ideias. O myCompiler é amigável para iniciantes, rápido e completamente gratuito. Funciona em qualquer navegador moderno.

Comece a programar em Assembly

Exemplos de código em Assembly

Padrões comuns em Assembly que você pode experimentar no compilador online. Cada exemplo está pronto para executar.

Hello World em Assembly

main.asm
section .data
    msg db "Hello, World!", 10
    len equ $ - msg
section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Variáveis e tipos de dados em Assembly

main.asm
section .data
    num1    dq 42
    num2    dq 58
    msg     db "Sum: ", 0
    msglen  equ $ - msg

section .text
    global _start
_start:
    mov rax, [num1]
    add rax, [num2]     ; rax = 42 + 58 = 100
    ; exit with the sum as exit code
    mov rdi, rax
    mov rax, 60
    syscall

Condicionais If-Else em Assembly

main.asm
section .data
    pos_msg db "Positive", 10
    pos_len equ $ - pos_msg
    neg_msg db "Non-positive", 10
    neg_len equ $ - neg_msg

section .text
    global _start
_start:
    mov rax, 5          ; test value
    cmp rax, 0
    jle .non_positive
    mov rax, 1
    mov rdi, 1
    mov rsi, pos_msg
    mov rdx, pos_len
    syscall
    jmp .exit
.non_positive:
    mov rax, 1
    mov rdi, 1
    mov rsi, neg_msg
    mov rdx, neg_len
    syscall
.exit:
    mov rax, 60
    xor rdi, rdi
    syscall

Laços For e While em Assembly

main.asm
section .data
    newline db 10

section .bss
    buf resb 2

section .text
    global _start
_start:
    mov rcx, 5          ; loop counter
    mov rbx, 0          ; i = 0
.loop:
    test rcx, rcx
    jz .done
    ; convert rbx to ASCII digit and print
    mov rax, rbx
    add rax, 0x30
    mov [buf], al
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    mov rdx, 1
    syscall
    inc rbx
    dec rcx
    jmp .loop
.done:
    mov rax, 60
    xor rdi, rdi
    syscall

Funções em Assembly

main.asm
section .data
    msg db "Result: 120", 10
    len equ $ - msg

section .text
    global _start

; Compute factorial(n): n in rdi, result in rax
factorial:
    cmp rdi, 1
    jle .base
    push rdi
    dec rdi
    call factorial
    pop rdi
    imul rax, rdi
    ret
.base:
    mov rax, 1
    ret

_start:
    mov rdi, 5
    call factorial      ; rax = 120
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Arrays e coleções em Assembly

main.asm
; Array of 5 integers
section .data
    nums    dq 10, 20, 30, 40, 50
    count   equ 5

section .text
    global _start
_start:
    xor rax, rax        ; sum = 0
    xor rcx, rcx        ; i = 0
.loop:
    cmp rcx, count
    jge .done
    add rax, [nums + rcx*8]
    inc rcx
    jmp .loop
.done:
    ; exit with sum / 10 as code (15 = 150/10)
    mov rdi, rax
    mov rax, 60
    syscall

Memory Layout em Assembly

main.asm
; Assembly structs via memory layout
; struct Dog { name: 32 bytes, age: 8 bytes }
section .data
    dog_name db "Rex", 0
             times 29 db 0
    dog_age  dq 3
    msg      db "Dog initialized", 10
    msg_len  equ $ - msg

section .text
    global _start
_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msg_len
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall

Tratamento de erros em Assembly

main.asm
; Check syscall return value for errors
section .data
    filename db "nonexistent.txt", 0
    errmsg   db "File not found", 10
    errlen   equ $ - errmsg

section .text
    global _start
_start:
    ; Try to open file
    mov rax, 2          ; sys_open
    mov rdi, filename
    mov rsi, 0          ; O_RDONLY
    mov rdx, 0
    syscall
    ; Check for error (negative return)
    test rax, rax
    jns .ok
    mov rax, 1
    mov rdi, 2          ; stderr
    mov rsi, errmsg
    mov rdx, errlen
    syscall
.ok:
    mov rax, 60
    xor rdi, rdi
    syscall

Entrada e saída de arquivos em Assembly

main.asm
section .data
    filename db "output.txt", 0
    content  db "Hello, File!", 10
    cont_len equ $ - content

section .text
    global _start
_start:
    ; Open/create file (O_WRONLY|O_CREAT|O_TRUNC = 0o641)
    mov rax, 2
    mov rdi, filename
    mov rsi, 0o641
    mov rdx, 0o644
    syscall
    mov r8, rax         ; save fd
    ; Write to file
    mov rax, 1
    mov rdi, r8
    mov rsi, content
    mov rdx, cont_len
    syscall
    ; Close file
    mov rax, 3
    mov rdi, r8
    syscall
    ; Exit
    mov rax, 60
    xor rdi, rdi
    syscall

Chamadas de sistema em Assembly

main.asm
; Linux x86-64 system calls demo
section .data
    msg1 db "sys_write: stdout", 10
    len1 equ $ - msg1
    msg2 db "sys_write: stderr", 10
    len2 equ $ - msg2

section .text
    global _start
_start:
    ; Write to stdout (fd=1)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg1
    mov rdx, len1
    syscall
    ; Write to stderr (fd=2)
    mov rax, 1
    mov rdi, 2
    mov rsi, msg2
    mov rdx, len2
    syscall
    ; Exit with code 0
    mov rax, 60
    xor rdi, rdi
    syscall

Como receber entrada em Assembly online

myCompiler suporta entrada padrão (stdin) para programas em Assembly. Use as funções de entrada padrão do Assembly para ler a entrada do usuário. Insira seus dados de entrada no painel stdin antes de executar seu programa.

Isso funciona tanto para entrada de linha única quanto de múltiplas linhas. Você pode ler strings e convertê-las em números usando as funções de E/S integradas da linguagem.

Experimente você mesmo
main.asm stdin suportado
section .data
    msg db "Enter text: ", 0
    mlen equ $ - msg
section .bss
    buf resb 64
section .text
    global _start
_start:
    mov rax, 0
    mov rdi, 0
    mov rsi, buf
    mov rdx, 64
    syscall
    mov rdx, rax
    mov rax, 1
    mov rdi, 1
    mov rsi, buf
    syscall
    mov rax, 60
    xor rdi, rdi
    syscall
stdin
Hello!
Saída
Hello!

Sem configuração, sem cadastro. Comece a escrever código Assembly agora mesmo.

Começar a programar agora

Primeiros passos com Assembly online

Você pode começar a escrever e executar código Assembly agora mesmo sem instalar nada. Digite seu código e clique em Executar. Este executor de código Assembly gratuito executa seu programa instantaneamente e exibe a saída no painel do terminal abaixo do editor. Abra o editor online de Assembly, digite seu código e clique em Executar.

Se você é novo em Assembly, use este playground online de Assembly para começar com os fundamentos como variáveis, tipos de dados, condicionais e laços. Os exemplos de código acima cobrem todos os fundamentos necessários para começar. Cada exemplo pode ser copiado para a sandbox e executado imediatamente. Sem configuração, sem setup.

À medida que você avança, experimente criar projetos com múltiplos arquivos, usar bibliotecas e compartilhar seus programas com outras pessoas via URL. Cadastre-se gratuitamente para salvar seu trabalho e construir uma biblioteca pessoal de programas. O myCompiler funciona como um IDE online completo para Assembly direto no seu navegador.

Quem usa o myCompiler

Seja aprendendo a programar, se preparando para entrevistas ou prototipando ideias, o myCompiler foi feito para você.

Estudantes e Aprendizes

Pratique exercícios, complete tarefas e experimente com código sem precisar instalar nada em computadores escolares ou pessoais.

Professores e Educadores

Compartilhe exemplos de código com alunos via URLs únicas. Incorpore o compilador em materiais de curso para que os alunos possam executar exemplos diretamente no navegador.

Candidatos a entrevistas

Pratique problemas de entrevistas de programação, teste algoritmos e verifique soluções rapidamente durante a preparação para entrevistas técnicas.

Desenvolvedores profissionais

Prototipe ideias rapidamente, teste trechos de código ou experimente uma biblioteca sem configurar um ambiente local. Ótimo para experimentos rápidos.

Criadores de conteúdo e Blogueiros

Incorpore exemplos interativos em posts de blog, tutoriais e documentação para que os leitores possam executar o código sem sair da página.

Equipes e Colaboradores

Compartilhe trechos de código com colegas via URLs. Outros podem visualizar, executar e fazer fork do seu código para construir sobre o seu trabalho.

myCompiler vs. IDE local

Por que usar um compilador Assembly online em vez de instalar um localmente?

Recurso myCompiler IDE local
Tempo de configuração Instantâneo Minutos a horas
Instalação Nenhuma necessária Assembly + IDE necessários
Suporte a dispositivos Qualquer navegador Somente desktop
Compartilhamento de código URL com um clique Manual (arquivo, git, etc.)
Linguagens 27+ em um só lugar Uma por vez
Custo Gratuito para sempre Gratuito a R$$$
Funciona no Chromebook Sim Limitado

O que é Assembly?

Assembly é uma linguagem de programação de baixo nível que fornece uma representação legível por humanos das instruções de código de máquina de um processador. Diferente de linguagens de alto nível, Assembly tem uma correspondência quase um-para-um com as instruções binárias executadas pela CPU. NASM (Netwide Assembler), usado no myCompiler, é um dos assemblers x86/x86-64 mais populares, conhecido por sua sintaxe Intel limpa e formatos de saída portáveis.

Escrever em Assembly significa trabalhar diretamente com registradores da CPU (rax, rbx, rsp), endereços de memória, instruções aritméticas e chamadas de sistema Linux via syscall. Não há variáveis, funções ou objetos — apenas registradores, memória e instruções. Essa extrema explicitude torna Assembly inestimável para entender como computadores realmente funcionam.

Para que é usado o Assembly?

Assembly é usada para entender arquitetura de computadores e como CPUs executam programas, escrever kernels de sistemas operacionais e bootloaders (setores de boot x86 são escritos em Assembly), drivers de dispositivos para interação com hardware, otimizar caminhos críticos em compiladores e bancos de dados, engenharia reversa e análise de malware, e desenvolvimento de exploits em pesquisa de segurança. Compiladores como GCC e LLVM geram Assembly como passo intermediário.

Assembly para iniciantes

Assembly não é uma linguagem para iniciantes — requer entendimento de arquitetura de CPU, layout de memória, convenções de chamada e interfaces de chamada de sistema. No entanto, escrever Assembly ensina o que compiladores fazem e constrói um modelo mental insubstituível de computação. Estudantes de ciência da computação frequentemente escrevem um "Hello World" em Assembly como rito de passagem. Use o compilador NASM online do myCompiler para experimentar com Assembly x86-64 sem configurar um ambiente de desenvolvimento Linux.

Assembly vs outras linguagens

Comparada a C, Assembly requer gerenciamento manual de registradores e frames de pilha que C lida automaticamente, mas Assembly dá controle absoluto sobre cada instrução executada. Compiladores otimizadores modernos (GCC, Clang) frequentemente produzem Assembly tão eficiente quanto código escrito à mão, por isso Assembly é usada principalmente para caminhos críticos específicos em vez de programas inteiros. Comparada ao Rust ou C++, Assembly não tem sistema de tipos, nenhuma segurança de memória e nenhuma abstração — você trabalha no nível de abstração do hardware diretamente.

Por que usar um compilador Assembly online?

Um assembler NASM online, também chamado de sandbox Assembly ou playground x86, permite montar e executar código Assembly x86-64 diretamente no seu navegador sem instalar NASM e um ambiente Linux. Isso é valioso para cursos de arquitetura de computadores, aprender como chamadas de sistema funcionam, entender o uso de registradores de CPU e experimentar com conceitos de programação de baixo nível sem configuração local.

O IDE Assembly online do myCompiler usa NASM para x86-64 Linux, linkado com o runtime C. Você pode fazer chamadas de sistema Linux, escrever funções seguindo a ABI System V AMD64 e usar seções de dados para strings e constantes. Salve e compartilhe seus programas Assembly via URL — tudo gratuito.

Por que Assembly é tão popular?

Assembly permanece relevante porque todo software ultimamente executa como código de máquina, e entender Assembly é fundamental para compreender desempenho, vulnerabilidades de segurança e como compiladores funcionam. Engenheiros reversos e pesquisadores de segurança leem Assembly diariamente — todo binário se desassembla em Assembly. O ressurgimento do interesse em programação de sistemas, desenvolvimento embarcado e pesquisa de segurança manteve a educação em Assembly viva em universidades e bootcamps.

Oportunidades de carreira com Assembly

Conhecimento de Assembly é valorizado para funções de pesquisador de segurança/engenheiro reverso, engenheiro de sistemas embarcados, engenheiro de compiladores, desenvolvedor de sistemas operacionais e engenheiro de desempenho. Empresas de segurança, fabricantes de chips, empresas de defesa e firmas de software de baixo nível prezam expertise em Assembly. É frequentemente combinada com C e Rust para funções no nível de SO e firmware.

Experimente Assembly online Gratuito · Sem necessidade de cadastro

Atalhos de teclado

Programe mais rápido com estes atalhos de teclado no editor do myCompiler.

Executar código
+ Enter
Salvar programa
+ S
Alternar comentário
+ /
Indentar linha
Tab
Remover indentação
Shift + Tab
Desfazer
+ Z
Selecionar próxima ocorrência
+ D
Localizar e substituir
+ H

Incorpore o compilador Assembly no seu site

Adicione um compilador Assembly interativo ao seu site, blog ou plataforma de aprendizado. Os leitores podem escrever e executar código Assembly diretamente na sua página sem sair dela.

Perfeito para tutoriais técnicos, cursos de programação, documentação e conteúdo educacional. Salve um programa no myCompiler e use o link de incorporação para adicioná-lo a qualquer página web.

Embedded Assembly compilador, editor e executor de código
Output Run
HTML
<iframe
src="https://www.mycompiler.io
    /embed/asm-x86_64"
width="100%"
height="400"
frameborder="0">
</iframe>

Por que os desenvolvedores escolhem o myCompiler

Um IDE online completo para Assembly e 27+ outras linguagens de programação.

27+ linguagens

Python, JavaScript, Java, C++, Rust, Go, TypeScript, C# e muito mais. Todos os compiladores e interpretadores em um só lugar. Troque de linguagem instantaneamente.

Modo escuro e claro

Alterne entre temas claro e escuro com um clique. Programe confortavelmente em qualquer condição de iluminação, de dia ou de noite.

Compatível com dispositivos móveis

Editor totalmente responsivo otimizado para celulares, tablets e Chromebooks. Programe em qualquer dispositivo com navegador web. Sem necessidade de baixar aplicativo.

Salve e compartilhe código

Salve programas na sua conta, compartilhe via URLs únicas e deixe outros visualizarem, fazerem fork e executarem seu código. Ótimo para colaboração e revisões de código.

Tags e organização

Organize seus programas salvos com tags e encontre-os rapidamente com busca e filtros. Construa uma biblioteca pessoal de trechos de código e soluções.

Sem necessidade de conta

Comece a escrever e executar código imediatamente. Sem cadastro, sem e-mail, sem cartão de crédito. Crie uma conta gratuita depois, apenas se quiser salvar seu trabalho.

Perguntas frequentes

Perguntas comuns sobre o uso do compilador, playground e executor de código Assembly online.

Sim! O myCompiler é completamente gratuito para todas as linguagens suportadas, incluindo Assembly. Não há assinaturas, planos premium nem custos ocultos. Todos os recursos estão disponíveis sem custo.
O myCompiler mantém seu ambiente Assembly atualizado. Você pode ver a versão exata na seção de detalhes da linguagem nesta página. Atualizamos regularmente todos os runtimes para suas versões estáveis mais recentes.
O myCompiler usa NASM para Assembly x86-64 no Linux. Você pode escrever programas usando instruções x86-64, fazer chamadas de sistema Linux e aprender conceitos de programação de baixo nível.
Basta abrir o editor Assembly, escrever ou colar seu código e clicar no botão Executar. Seu código será executado em nossos servidores e a saída aparecerá no painel do terminal em segundos.
Sim. Clique em Salvar para armazenar seu programa. Você receberá uma URL única que pode compartilhar com qualquer pessoa. Os destinatários podem visualizar, fazer fork e executar seu código.
Sim. O myCompiler suporta projetos com múltiplos arquivos. Você pode criar, renomear e excluir arquivos na barra lateral. Isso permite organizar seu código Assembly como em um IDE local.
Sim. Todo código é executado em contêineres isolados em nossos servidores. Cada execução recebe seu próprio ambiente isolado que é destruído após a conclusão. Seu código não pode afetar outros usuários nem nossa infraestrutura.
Sim. O myCompiler tem um design responsivo otimizado para celulares e tablets. Você pode escrever e executar código Assembly em qualquer lugar. A interface móvel usa abas para alternar entre o editor, a saída e os painéis de arquivos.
Sim. Clique na aba Entrada no painel inferior, digite ou cole seus dados de entrada e clique em Executar. Seu programa lerá a entrada que você forneceu.
A execução é rápida. O código roda em nossa infraestrutura de nuvem otimizada e a saída geralmente aparece em segundos. O tempo de execução depende da complexidade do seu programa.
Sim. O myCompiler oferece um recurso de incorporação. Você pode copiar um trecho iframe e colá-lo no seu site, blog ou documentação. Os visitantes podem editar e executar código diretamente na sua página.
O myCompiler suporta atalhos comuns de editor, incluindo Executar (Ctrl/Cmd+Enter), Salvar (Ctrl/Cmd+S), Localizar (Ctrl/Cmd+F) e mais. Consulte a seção de atalhos de teclado nesta página para a lista completa.
Não. O myCompiler requer conexão com a internet porque o código é compilado e executado em nossos servidores na nuvem. O próprio editor carrega no seu navegador, mas executar código requer conectividade.
O myCompiler oferece um ambiente rápido, gratuito e sem configuração, com um editor de código moderno, suporte a múltiplos arquivos, modo escuro e compartilhamento instantâneo. É ideal para aprendizado, prototipagem, entrevistas e compartilhamento de exemplos de código.
Sim. O myCompiler é ótimo para praticar algoritmos e problemas de programação. Você pode escrever código Assembly, fornecer entrada personalizada e testar suas soluções instantaneamente. Salve seu trabalho e volte a ele a qualquer momento.
Use instruções de impressão ou saída de console para rastrear o comportamento do seu programa. O myCompiler exibe todas as saídas padrão e mensagens de erro no painel do terminal. As mensagens de erro incluem números de linha para ajudá-lo a localizar os problemas.

Pronto para escrever código Assembly?

Abra o playground gratuito de Assembly e comece a programar imediatamente. Sem downloads, sem necessidade de conta.

Comece a programar em Assembly

Gratuito · Sem necessidade de cadastro · NASM 2.16.01

Comece a programar em Assembly