Documente Academic
Documente Profesional
Documente Cultură
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)
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:
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.