SALTOCONDICIONAL
-
Upload
sheylly-nathaly-altamirano-cordova -
Category
Education
-
view
18 -
download
0
Transcript of SALTOCONDICIONAL
UNIVERSIDAD POLITECNICA AMAZONICA
TEMA:
INTEGRANTES:
CURSO:
DOCENTE:
SALTO CONDICIONAL
MICROPROCESADORES
MARCO AURELIO PERRO CHULLI
SADY YUBITZA CHAVEZ CHAppaSheylly natali Altamirano cordova
Salto condicional
Un salto es una interrupción del flujo normal de las instrucciones, haciendo que el procesador continúe en otro punto del programa ("salta" a otra parte del programa). Un salto condicional es una instrucción (más bien una familia de instrucciones) que realiza el salto si se cumple una condición determinada con anterioridad. El problema es que el procesador no sabe si se realizará el salto o no hasta que se evalúa la condición y si esto ocurre en la mitad del pipeline, es posible que tenga que borrar el pipeline y comenzar de nuevo en el nuevo punto de ejecución, perdiendo tiempo y trabajo.
INSTRUCCIONES DE LOS SALTOS
EJEMPLOS
Ejemplo de salto incondicional directo:
addl %eax, %ebxjmp etiq1 # salto incondicional a etiq1subl %edx, %ebxetiq1: addl %edx, %ebx
En este caso la tercera instrucción no se ejecuta ya que al ejecutarse el salto el programa pasa a ejecutar la instrucción 4.
movl valor1, %eax # %eax=valor1movl valor2, %ebx # %ebx=valor2cmpl %ebx, %eax# compara valor1 con valor2jl menor # si valor1 < valor2 salta a etiq1subl $5,%eax # si valor1 >= valor2 resta 5 a %eaxjmp fin # salta a finmenor: addl $5,%eax # si valor1 < valor2 suma 5 a %eaxfin:
Programa que calcula la expresión x=(a+(b-c))/(c*d) dados los valores a=4, b=5, c=2, d=7 declarados en la sección de datos# Programa que calcula x=(a+(b-c))/(c*d).section .dataa: .long 4b: .long 5c: .long 2d: .long 7x: .long 0 .section .text.globl _start_start:
movl b, %eax # %eax=bsubl c, %eax # %eax=b-caddl a, %eax # %eax=(b-c)+amovl c, %ecx # %ecx=cimull d, %ecx # %ecx=c*dcltd # %edx=0idivl %ecx # %eax=((b-c)+a)/(c*d)
%edx=restomovl %eax, x # guarda el resultado en x
movl $1, %eax # fin del programamovl $0, %ebxint $0x80
Identificar el conjunto de instrucciones que implementan la estructura de salto condicional
Para facilitar la programación, el lenguaje ensamblador del MIPS aporta un conjunto de pseudoinstrucciones de salto condicional que permiten comparar dos variables almacenadas en registros (a nivel de mayor, mayor o igual, menor, menor o igual) y según el resultado de esa comparación saltan o no, a la instrucción referenciada a través de la etiqueta.
CONCLUSION