Modos de Direccionamiento de la Memoria de Programa Intra-segmento Directo Intra-segmento Indirecto. Inter-segmento Directo. Inter-segmento Indirecto.
Direccionamiento Intra-Segmento Directo
Ejemplo1: 1000:0104 EB06 JMP 010C Ejemplo 2: 1000:0104 E92D11 JMP 1234 Desplazamiento en la instruccin IP + EA de salto EA=IP nuevo + desplazamiento Direccionamiento Intra-Segmento Directo Ejemplo 3: 2000:1007 EBF8 JMP 1001 Ejemplo 4: 2000:100B E9F2F0 JMP 0100
JMP NEXT JMP SHORT NEXT JMP NEAR NEXT Direccionamiento Intra-Segmento Indirecto La direccin efectiva EA del salto es el contenido de un registro o localidad de memoria que se accesa usando direccionamiento de datos. IP EA 2000:1007 FF263412 JMP [1234]; DS:1234=1002 IP 1002 Ejemplos: JMP BX JMP [BX] JMP WORD PTR [DI] JMP WORD PTR [SI]
Direccionamiento Inter-Segmento Directo
Desplazamiento Segmento Registro CS Registro IP Instruccin Direccionamiento Inter-Segmento Directo Ejemplos:
1000:1007 EA34120020 JMP 2000:1234
JMP FAR NEXT Direccionamiento Inter-Segmento Indirecto Aqui IP y CS se cargan con el contenido de dos palabras consecutivas residentes en la memoria de datos. Estas dos palabras contienen la direccin del salto lejano (FAR). Se excluye el modo de direccionamiento de datos por registro y el inmediato. Instruccin define Modo de direccionamiento de datos Memoria de Datos Desplazamiento IP Segmento CS Direccionamiento Inter-Segmento Indirecto Ejemplos
JMP FAR PTR [DI] JMP FAR PTR [BX] CALL FAR PTR [BX] Implantar en segmento de datos el valor de IP yCS para salto largo. Use comando E del debug. DS:0200 = 00H ; valor de IP DS:0201 = 05H DS:0202 = 00H ; valor de CS DS:0203 = 20H
NOP MOV SI,0200H JMP FAR PTR[SI] ; salto largo NOP
Direccionamiento Inter-Segmento Indirecto Ejemplo de un salto largo.