Sunteți pe pagina 1din 9

MODOS DE

DIRECCIONAMIENTO

MODOS DE DIRECCIONAMIENTO:
1.- MODOS DE DIRECCIONAMIENTO DE MEMORIA DE PROGRAMA:
La bsqueda de una instruccin es hecha con CS+IP. Por lo tanto,
las instrucciones de jump y call pueden modificar el contenido del
registro IP de tres maneras:
a)
Direccionamiento relativo (programa)
Un desplazamiento de 8 bits o 16 bits, de forma inmediata es
adicionado al IP (adicin binaria con seal).
b)

c)

Direccionamiento directo (programa)


Los valores de IP o de IP y CS son especificadas en la instruccin
de forma inmediata. Esta operacin es clasificada como salto near
o salto far.
Near: altera IP (dentro del segmento)
Far: altera IP y CS (fuera del segmento)
Direccionamiento indirecto (programa)
El dato en la memoria es interpretado como una direccin para un
jump o call. Puede ocurrir de las dos formas.

MODOS DE DIRECCIONAMIENTO:
2.- MODOS DE DIRECCIONAMIENTO DE LA MEMORIA DE
DATOS:
Modo inmediato: El operando es una constante situada detrs del
cdigo de la instruccin.
mov AX,0fffh
El nmero hexadecimal 0fffh es la constante numrica. Al trabajar
con ensambladores, se pueden definir smbolos constantes:
dato

EQU 0fffh
; smbolo constante
MOV AX,dato

MODOS DE DIRECCIONAMIENTO:
Modo directo: El operando est situado en la direccin indicada en
la instruccin relativa al segmento. El byte o bytes que sigue al
cdigo OP de la instruccin dan el desplazamiento de 8 o 16 bits,
que sumando al registro DS, determina la direccin efectiva.
MOV AX,[57d1] ;
MOV AX,dato

MOV AX,ES:dato
dato DW 1234h ; variable del programa
En el segundo ejemplo se indica de forma explcita el segmento
tratndose del segmento ES.

MODOS DE DIRECCIONAMIENTO:
Modo de direccionamiento por registro: Los operandos, de igual
tamao, estn contenidos en los registros indicados en la instruccin:
MOV DX,AX
MOV AH,AL
Modo de direcionamiento indexado: es obtenido con el uso de SI (en
el segmento de datos) o DI (en el segmento extra) como indexador:
ADD AX, [SI]+yyzzh
Modo de direccionamiento indirecto: El operando se encuentra en una
direccin sealada por un registro de segmento ms un registro base
(BX/BP) o ndice (SI/DI)
MOV AX, [BP]
;AX=[SS*16+BP]
MOV ES:[DI],AX ;[ES*16+DI]=AX

MODOS DE DIRECCIONAMIENTO:
Modo de direccionamiento con base e ndice: El operando
se encuentra en una direccin especificada por la suma de un
registro de segmento, uno de base, uno de ndice y
opcionalmente un desplazamiento de 8 o de 16 bits:
MOV AX,ES:[BX+DI+DESP]
MOV AX,ES:desp[BX][DI]

MODOS DE DIRECCIONAMIENTO:

MOV AL,BH
MOV AL,22H
MOV AL,[2499H]
MOV AL,[BX]
MOV AL,[BX]+10
MOV AL,[BP]+5

:
MOV AL,[SI]+8
MOV AL,[DI]+20
MOV AL,[BX][SI]+10
MOV AL,[BX][DI]+5

NOTAS IMPORTANTES:

Las instrucciones se encuentran siempre en el


segmento de cdigo.
IP apunta siempre a la siguiente instruccin a ser
ejecutada en CS:IP.
Los datos casi siempre estn en el segmento de datos,
sin embargo se puede ubicar en cualquier segmento con
override. Ejemplos:
MOV AX,ES:[BX]
dato en ES
MOV AX,[BP]
dato en SS: BP
MOV AX,DS: [SI]
dato en DS:SI
MOV AX,[BX]
dato en DS:BX

EJERCICIOS

MOV AX,58FCH
MOV SI,6678H
MOV DS,2341H
MOV BH,99H
MOV BL,7F3H
Sumar 16H mas ABH y poner el resultado en
el registro AX.

S-ar putea să vă placă și