segunda_clase microprocesadores
TRANSCRIPT
-
7/26/2019 SEGUNDA_CLASE microprocesadores
1/9
MODOS DEMODOS DE
DIRECCIONAMIENTODIRECCIONAMIENTO
-
7/26/2019 SEGUNDA_CLASE microprocesadores
2/9
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 dejumpjump y callcall 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 esadicionado al IP (adicin binaria con seal).
b) Direccionamiento directo (programa)
Los valores de IP o de IP y CS son especificadas en la instruccinde 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)
c) Direccionamiento indirecto (programa)
El dato en la memoria es interpretado como una direccin para unjump o call. Puede ocurrir de las dos formas.
-
7/26/2019 SEGUNDA_CLASE microprocesadores
3/9
MODOS DE DIRECCIONAMIENTO:
2.- MODOS DE DIRECCIONAMIENTO DE LA MEMORIA DEDATOS:
Modo inmediato: El operando es una constante situada detrs delcdigo de la instruccin.
mov AX,0fffh
El nmero hexadecimal 0fffh es la constante numrica. Al trabajarcon ensambladores, se pueden definir smbolos constantes:
dato EQU 0fffh ; smbolo constante
MOV AX,dato
-
7/26/2019 SEGUNDA_CLASE microprocesadores
4/9
MODOS DE DIRECCIONAMIENTO:
Modo directo: El operando est situado en la direccin indicada enla instruccin relativa al segmento. El byte o bytes que sigue alcdigo 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:datodato DW 1234h ; variable del programa
En el segundo ejemplo se indica de forma explcita el segmento
tratndose del segmento ES.
-
7/26/2019 SEGUNDA_CLASE microprocesadores
5/9
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
-
7/26/2019 SEGUNDA_CLASE microprocesadores
6/9
MODOS DE DIRECCIONAMIENTO:
Modo de direccionamiento con base e ndice: El operandose encuentra en una direccin especificada por la suma de un
registro de segmento, uno de base, uno de ndice yopcionalmente un desplazamiento de 8 o de 16 bits:
MOV AX,ES:[BX+DI+DESP] MOV AX,ES:desp[BX][DI]
-
7/26/2019 SEGUNDA_CLASE microprocesadores
7/9
MODOS DE DIRECCIONAMIENTO:
MOV AL,BH
MOV AL,22H MOV AL,[2499H]
MOV AL,[BX]
MOV AL,[BX]+10MOV AL,[BP]+5
:
MOV AL,[SI]+8
MOV AL,[DI]+20
MOV AL,[BX][SI]+10
MOV AL,[BX][DI]+5
-
7/26/2019 SEGUNDA_CLASE microprocesadores
8/9
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 conoverride. 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
-
7/26/2019 SEGUNDA_CLASE microprocesadores
9/9
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.