Arquitectura de computadores

Solo disponible en BuenasTareas
  • Páginas : 2 (277 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de marzo de 2012
Leer documento completo
Vista previa del texto
Arquitectura De Computadores

Ejemplo 6.7. Programa que suma cuatro enteros



.data # Comienza la sección de datos
num1: .int 10
num2: .int 23num3: .int 34
num4: .int 43
result: .space 4 # Deposita aquí el resultado

.text # Comienza la sección de código
.global main #main es un símbolo global

main:
push %eax # Salva registros

mov num1, %eax # Carga primer número y acumula
add num2, %eax
add num3,%eax
add num4, %eax

mov %eax, result # Almacena resultado

pop %eax # Restaura registros
ret

num1, num2, num3, num4: Son los registrosen donde se guardan los valores a sumar.

Result: Es el registro en donde se guardara el resultado de la suma de los 4 registros anteriores.

Push %eax: Salva el registro%eax en la pila al comienzo del programa.

mov num1, %eax : Se mueve el primer numero al registro %eax.

add num2, %eax: Despues de guardar el primer numero en el registroahora se pueden sumar los numeros, entonces con esta instrucción se suma el segundo numero con lo que hay en el registro.

add num3, %eax: Lo que tiene num3 se suma con lo que hayen el registro %eax.

add num4, %eax: Por ultimo se suma lo que hay en num4 con lo que hay en el registro %eax.

Cuando se termina el proceso de las sumas lo que hay en elregistro %eax se almacena en una posición de memoria (result). Para terminar pop %eax restaura los registros utilizados ( %eax ). Con el codigo “pop” se extrae el elemento de lapila, el programa termina la ejecución con la instrucción RET.


Tomado de:

http://ocw.uc3m.es/ingenieria-telematica/arquitectura-de-ordenadores/lecturas/html/asm.html.
tracking img