Programacion..

Solo disponible en BuenasTareas
  • Páginas : 2 (344 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de diciembre de 2011
Leer documento completo
Vista previa del texto
Estructuras condicionales y ciclos
Estas estructuras son las que dirigen el flujo de ejecución de un programa. Aún cuando es posible programar directamente en lenguaje ensamblador, presentamos lasestructuras de control de flujo más comunes en los lenguajes de alto nivel y su traducción a ensamblador. Para los programas de alto nivel utilizamos el lenguaje de programación C. Para la programacióntanto de las estructuras condicionales como de los ciclos, en lenguaje ensamblador se utilizan las instrucciones de comparación y los saltos condicionales.
Traducción de estructuras condicionalesPor ejemplo para realizar un extracto de programa que haga lo siguiente:
if(x>y)
result=x-y;
else
result=y-x;
Se puede traducir como:
| |movl x, %ebx |# %ebx = x|
| |movl y, %eax |# %eax = y |
| |cmpl %eax, %ebx |# compara %ebx con %eax |
||jg mayor |# si x>y salta a mayor |
| |subl %ebx, %eax |# sino %eax=y-x |
| |movl %eax, result |#guarda el resultado |
| |jmp fin |# salta a fin |
|mayor: |subl %eax, %ebx |# %ebx=x-y|
| |movl %ebx, result |# guarda el resultado |
|fin: | | |

Es importante destacar que alculminar la ejecución de las instrucciones subl %ebx, %eax y movl %eax, result, que corresponden a las acciones en caso que no se cumpla la condición, hay que incluir un salto incondicional que salteal final del programa para evitar que se ejecuten las instrucciones subl %eax, %ebx y movl %ebx, result seguidamente lo cual provocaría un error ya que se ejecutarían ambos cálculos del resultado y...
tracking img