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.cpp
ao projeto - adicione um arquivo chamado
addInAsm.asm
ao 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