Saltos de programacion

Solo disponible en BuenasTareas
  • Páginas : 4 (834 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de marzo de 2012
Leer documento completo
Vista previa del texto
Saltos PROGRAMACION
En programación, se denomina tabla de saltos a un método eficiente de transferencia de control de programas saltando a otra parte del código mediante una tabla de instruccionesde salto. Este sistema es utilizado normalmente en la programación en ensamblador aunque estas tablas también pueden ser generadas por un compilador.
Una tabla de saltos consiste en una lista deinstrucciones de salto incondicional que se ejecutan utilizando un offset creado mediante la multiplicación de un índice secuencial por la longitud de la instrucción (los bytes que ocupa en memoria cadainstrucción). Se basa en el hecho de que las instrucciones de salto en código máquina tienen una longitud fija y pueden ser ejecutadas de forma extremadamente eficiente por la mayoría del hardware,además de ser más útil cuando se trabaja con datos sin formato fácilmente convertibles a valores secuenciales de índice. Dados estos datos, una tabla de saltos suele ser bastante eficiente, siguiendonormalmente estos pasos: validación opcional de los datos de entrada, transformación de los mismos en un offset dentro de la tabla de saltos (esto suele necesitar multiplicarlos o desplazarlos para sulongitud coincida con las instrucciones de salto) y salto a una dirección obtenida a partir de la base de la tabla y el offset generado (esta operación suele incluir la suma del offset al registro delcontador de programa).
Otro método de implementación de las tablas de saltos consiste en un array de direcciones desde las cuales es capturada la dirección necesaria para saltar. Este método sueleimplicar un menor tamaño del código y evita los saltos indirectos. Normalmente el método empleado para construir la tabla de saltos suele venir determinada por la arquitectura del procesador en el cual vaa ser ejecutado el código.
Las tablas de saltos suelen usarse en el desarrollo de sistemas operativos. Tanto las llamadas al sistema como las funciones de biblioteca pueden ser referenciadas...
tracking img