• Los enteros son de 32 bits
• Retorna el valor de la funció al registro eax.
• La funcion es responsable de liberar el espacio de las variables locales
• Es responsabilidad de quien pone los parametros de la pila de liberar espacio.
• El registro eax no hace falta salvarlo con el estado de la cpu, dado que siempre se hace servir para el retorno del resultado
... pero el primer problema que me encuentro es que no entiendo que hace esta instruccion del procedimiento main
lea eax, [ebp–4]
ya que diria que en esa desplazamiento no se ha puesto nada... y ya a partir de ahi me pierdo, les dejo el codigo ...
Código:
No sabia donde poner el post, el moderador ya decidira donde va mejor, y gracias de antemano .model large .386 .stack 100h .code sum proc push ebp mov ebp, esp push ecx mov eax, dword ptr [ebp+8] add eax, dword ptr [ebp+0Ch] mov ecx, dword ptr [ebp+10h] mov dword ptr [ecx], eax xor eax, eax pop ecx mov esp, ebp pop ebp ret sum endp main proc push ebp mov ebp, esp sub esp, 4h lea eax, [ebp–4] push eax mov eax, 02h push eax mov eax, 03h 6 push eax call sum xor eax, eax mov esp, ebp pop ebp ret main endp .startup call main .exit end