¿Cuándo se utilizan los saltos cercanos y los saltos cortos en el lenguaje ensamblador?
La instrucción JMP transfiere incondicionalmente la ejecución desde la ubicación de ejecución actual del programa a otra ubicación. Esta transformación puede ser una transformación corta (desplazamiento en el rango [-128, 127]), una transformación cercana (desplazamiento en el rango [-32K, 32K]) o una transformación lejana (entre diferentes segmentos de código).
Las transferencias cortas y las transferencias cercanas son transferencias dentro del segmento. La instrucción JMP solo asigna el desplazamiento de la posición de la instrucción de destino al registro del puntero de instrucción IP para realizar la función de transferencia. Pero la rama lejana es una rama entre segmentos. La instrucción JMP no solo cambiará el valor del registro del puntero de instrucción IP, sino que también cambiará el valor del registro del segmento de código CS.
Respuesta complementaria: si la dirección simbólica es una etiqueta, debe estar dentro de un párrafo; si la dirección simbólica es una variable de doble palabra, debe estar entre párrafos.