Uma das formas mais fáceis, hoje em dia, de começar a escrever código em Assembly é criando funções para programas em C++.
Para escrever uma função, em assembly, para ser executada em C++:
- abra uma nova instância do Visual Studio 2019 e inicie um
Empty Project (C++)(chame-oMyFirstASMFunction) - clique com o botão direito no nó do projeto na janela
Solution Explorer - clique em
Build Dependencies > Build Customizations... - habilite a opção
masm - clique em
OK - adicione um arquivo chamado
main.cppao projeto - adicione um arquivo chamado
addInAsm.asmao projeto
O código necessário em C++ é bem simples e deve ser colado em main.cpp. Ele apenas faz a chamada para o código Assembly que desejamos executar.
#include <iostream>
extern "C" int addInAsm(int a, int b);
int main() {
int a = 2;
int b = 3;
int result = addInAsm(a, b);
std::cout << a << " + " << b << " = " << result << std::endl;
return 0;
}
A função em Assembly, no nosso exemplo, que iremos escrever receberá dois números e irá retornar a soma (o código deve ser colado em addInAsm.asm)
.model flat, c
.code
addInAsm proc
; Initialize a stack frame pointer
push ebp
mov ebp, esp
; load the paramaters
mov eax, [ebp + 8] ; eax = a
mov ecx, [ebp + 12] ; ecx = b
;
add eax, ecx
; restore the stack frame
pop ebp
ret
addInAsm endp
end
Executando o programa, podemos confirmar que tudo está funcionando bem e que a função que escrevemos em assembly foi corretamente executada.

muito top cara +e realmente fera