Академический Документы
Профессиональный Документы
Культура Документы
=
nt displaceme bit - 32
nt displaceme bit 8
8
4
2
1
DI
SI
BP
DX
CX
BX
AX
DI
SI
BP
SP
DX
CX
BX
AX
:
GS
FS
ES
DS
SS
CS
PA
Ejemplos de Direccionamiento
Inmediato
MOV BL,44
MOV AX,44H
MOV SI,0
MOV CH,100
MOV AL,A
MOV AX,64H
MOV CL,11001110B
MOV EBX,12340000H
MOV ESI,12
MOV EAX,100H
Ejemplos de direccionamiento por
Registro
MOV AL, BL
MOV CH, CL
MOV AX, CX
MOV SP, BP
MOV DS, AX
MOV SI, DI
MOV BX, ES
MOV ECX, EBX
MOV ESP, EDX
MOV ES, DS ;?? NO se permite segmento a segmento
MOV BL, DX ;?? NO se permite tipos de datos distintos
MOV CS, AX ;?? NO se permite CS como destino.
Ejemplos de Direccionamiento
Directo
MOV AL, NUMERO
MOV AX, ALGO
MOV EAX, AGUA
MOV NOTICIAS, AL
MOV ALLA, AX
MOV CASA, EAX
MOV ES:[2000H],AL
MOV [2000H], AL
MOV AL, [1234H]
MOV CX, DATO+5
MOV TABLA1, AX
MOV AL, DATO1
Ejemplos de direccionamiento Indirecto por
Registro
MOV CX, [BX]
MOV [BP], DL
MOV [DI], BH
MOV AL, [EDX]
MOV ECX, [EBX]
MOV [DI], [BX] ;?? NO se permite transferencia de
memoria a memoria, excepto con instrucciones que
manejan cadenas de caracteres.
Ejemplos de direccionamiento Base
+Indice
MOV CX, [BX+DI]
MOV CH, [BP+SI]
MOV [BX+SI], SP
MOV [BP+DI], AH
MOV CL, [EDX+EDI]
MOV [EAX+EBX], ECX
Ejemplos de direccionamiento Base +Indice
Este direccionamiento se usa para accesar los elementos de un arreglo de datos en
memoria. Veamos la siguiente secuencia de instrucciones en lenguaje ensamblador.
ARREGLO DB 16 DUP(?) ;arreglo de 32 bytes en memoria
MOV BX, OFFSET ARREGLO
MOV DI, 10H
MOV AL, [BX+DI]
MOV DI, 2OH
MOV [BX+DI], AL
Asuma que el dato en la localidad 10H en ARREGLO es 29H.
Ejemplos de direccionamiento relativo por Registro
MOV AX, [DI+100H]
MOV ARREGLO [SI], BL
MOV LISTA [SI+2], CL
MOV DI, TABLA [BX]
MOV DI,[EAX+10H]
MOV TABLA1 [EBX], EAX
;A continuacin tenemos un ejemplo del uso del direccionamiento relativo por registro
MOV DI, 10H
MOV AL, ARREGLO [DI]
MOV DI, 20H
MOV ARREGLO [DI], AL
EJERCICIO 1
Asuma que DS=1512H. Encontrar la
direccion fisica y su contenido de la
localidad de memoria despues de
ejecutar:
MOV AL,99H
MOV [3518],AL
EJERCICIO 2
Asuma que DS=1120H, SI=2498H, y
AX=17FEH. Muestre graficamente el
contenido de las localidades de memoria
despues de ejecutar:
MOV [SI],AX
EJERCICIO 3
Asuma que DS=4500, SS=2000, BX=2100,
SI=1486, DI=8500, BP=7814, y AX=2512.
Muestre las direcciones fsicas donde se
almacena el contenido de AX en cada uno de
los casos siguientes:
1. MOV [BX]+20,AX
2. MOV [SI]+10,AX
3. MOV [DI]+4,AX
4. MOV [BP]+12,AX
NOTA: Todos los valores son hexadecimales.
EJERCICIO 4
De las instrucciones siguientes cuantas no codifican en
lenguaje ensamblador, d la razn por qu NO.
MOV AX,27
MOV AL,97F
MOV DS,9BF2
MOV CX,397
MOV SI,9516
MOV CS,3490
MOV DS,BX
MOV BX,CS
MOV CS,BX
MOV CS,BH
MOV AX,12345
MOV CS,DS
Ejemplos de instrucciones con
direccionamiento relativo base+ndice
MOV DH, [BX+DI+20H]
MOV AX, ARCHIVO [BX+DI]
MOV LISTA [BP+DI], CL
MOV LISTA1 [BP+SI+4], DH
MOV EAX, ARCHIVO1 [EBX+ECX+]
;Considere el siguiente segmento de programa. Asuma que un archivo de muchos arreglos de
datos existe en memoria, y que cada arreglo contiene muchos elementos.
MOV BX, OFFSET ARREGLOA
MOV DI, 0
MOV AL, ARCHIVO [BX+DI]
MOV BX, OFFSET ARREGLOC
MOV DI,2
MOV ARCHIVO [BX+DI], AL
Ejemplos de direccionamiento ndice
escalado
MOV EAX, [EBX+4*ECX]
MOV [EAX+2*EBX], CX
MOV AX, [EBP+2*EDI+100H]
MOV LISTA [EAX+2*EBX+10H],DX
Considere el ejemplo siguiente:
MOV EBX, OFFSET LISTA
MOV ECX, 2
MOV AX,[EBX+2*ECX]
MOV ECX,4
MOV [EBX+2*ECX], AX
MOV ECX,7
MOV [EBX+2*ECX], AX
Nota: LISTA es una variable tipo doble palabra.