;exportar label de inicio do programa global _start section .data ;seccao data - dados inicializados ; variaveis de 32 bits x: dd 2 y: dd 3 section .text ;seccao text - codigo _start: nop ; Desenvolva uma função em assembler que calcula a potência de um ; valor (x^y). Essa função (potencia) tem como parâmetros a base (x) e o ; expoente (y), ambos valores inteiros. push dword [x] push dword [y] call potencia add esp, 8 mov [x], eax ; chamada ao sistema para terminar o programa mov eax, 1 ;codigo de "exit" mov ebx, 0 ;valor retornado ao sistema int 0x80 ;chamda ao sitema potencia: ; ebp + 12 = x ; ebp + 8 = y push ebp mov ebp, esp push ecx mov eax, [ebp + 12] mov ecx, [ebp + 8] dec ecx loop1: mul dword [ebp + 12] loop loop1 endfact: pop ecx pop ebp ret