Hola a todos, bueno tengo una pequeña duda que no es nada sobre codigos ni algo por el estilo
quiza es mas teorico o quiza no
bueno estaba estudiando los Calls y se me vino a la mente
si los "saltos" de los calls afectan en algo la velocidad con que se ejecuta un codigo...?
digamos que estoy en la direccion 0000 0010 y hay un call a la direccion FFFF 0090 por decir algo, hay alguna diferencia en velocidad si cambia esa direccion de destino? osea que entre la direccion desde donde se "salta" a la direccion a "saltar" afecta
la distancia entre ellas en velocidad?
bueno quiza esto puede o no afectar pero es simple dudilla jeje
Gracias de ante mano!
Efectivamente, hay saltos largos y cortos y se codifican en la llamada, por ejemplo:
Call short Call far. Normalmente el compilador decide si utilizas solamente Call, lo ideal es forzarlo utilizando short or Far.
Además, JP son saltos de corta distancia y JMP también se puede forzar a short o far.
Como dice cierto usuario la diferencia es mínima pero cuando se programa en assembler es para utilizar los ciclos eficientemente. De lo contrario sigan utilizando alto nivel al programar.
La forma de programar en assembler es codificar lo requerido y luego optimizar el código en base a los ciclos utilizados por instrucción, mientras menos mejor. Tambien, hay que tener en cuenta que ciertas instrucciones solo permiten la ejecución de una sola instrucción por el procesador; otras instrucciones permiten que el procesador ejecute varias por ciclo.
Saludos