Download pptx - Modos de direccionamiento

Transcript
Page 1: Modos de direccionamiento

Modos de direccionamiento

No. Lista 128:00 – 9:00

EnsambladorMIGUEL ALEJANDRO DAVALOS HUERTA

Page 2: Modos de direccionamiento

Esqueleto de un programa ensamblador

• Model small• Stack• Data

• Code– Mov ax,@data– Movds,ax– Push ds

• …Codigo del programa• …• …

– Mov ax,4c00h– Int 21h

• end

Segmento de datos

Tipo de modelo de un programa en ensamblador Determina el tamaño de los segmentos

Segmento pila

Inicializacion

Finalizacion

Aquí se declaran:•Variables•Arreglos•Matrices•cadenas

Page 3: Modos de direccionamiento

Declaración de datos en el segmento de datos

• Directivas:– Db = define byte =8 bits = 1 carácter– Dw = define palabra = 16 bits = 2 caracteres– Dd = define doble palabra = 32 bits = 4 caracteres

• No existen tipos de datos en lenguaje ensamblador a diferencia de los lenguajes de alto nivel, lo que se realiza es para reservar espacios de memoria.

Sintaxis para declarar datos, cadenas, arreglos y matrices:

Nombre_Dato directiva valor(s)

Page 4: Modos de direccionamiento

Ejemplos1.- se desea declarar una variable contador de tipo byte inicializada a cero en

el segmento de data

.dataDb contador 0

2.- define una variable llamada “carácter” inicializada con el carácter ‘Z’.datacarácter db ‘z’

3.- declara una cariable “promedio” inicializada con tu promedio general

.datapromedio dw 89.99

Page 5: Modos de direccionamiento

Evidencia No.4

• Define los siguientes esqueletos de programas en ensambladorA. Guardar como p1.asm un documento creado en un block

de notas B. Define las siguientes variables inicializadas a cero:

promedio, sumatoria, contador_repe, contador_normal• Guardar como p2.as, declarando las siguientes

variables – Un arreglo inicializando con 4 valores de tipo carácter– La variable “índice” inicializada a cero– Un mensaje con tu nombre

Page 6: Modos de direccionamiento

METODOS DE DIRECCIONAMIENTO• Son las formas que hacen referencia a la memoria

• Varian de autor a autor, se identifican entre 7 u 8 modos de direccionamiento

• DIRECCIONAMIENTO INMEDIATO• DIRECCIONAMIENTO POR REGISTROS• DIRECCIONAIENTO DIRECTO• DIRECCIONAMIENTO INDEXADO DIRECTO• DIRECCIONAMIENTO RELATIVO A LA BASE• DIRECCIONAMIENTO INDIRECTO• DIRECCIONAMIENTO BASE INDEXADO

EXPLICACION DE CADA UNO: (SE UTILIZARFA LA INTRUCCION MOV PARA SU EXPLICACION).1.- DIRECCIONAMIENTO INMEDIATO.- SE LE IDENTIFICA CUANDO EL OPERANDO FUENTE ES UNA CONSTANTE.

EJEMPLO:A) MOV AH,34HB) MOV BX,0F98HC) MOV CH,’C’

INVALIDOS A) MOV CL,999HB) MOV DH , ‘AB’C) MOV ‘A’, BL

Page 7: Modos de direccionamiento

• 2.- DIRECCIONAMIENTO POR REGISTROS.- SEIDENTIFICA CUANDO TANTO EL OPERANDO FUENTE COMO EL OPERANDO DESTINO SON REGISTROS VALIDOS DEL MICROPROCESADOR.

• EJEMPLO:» A) MOV A, BX» B) MOV AH, AL» C) MOV CX, CL» D) MOV SI, DI

• INVALIDOS A)MOV AH, BX B)MOV DL, BP C) MOV CL, CX

Page 8: Modos de direccionamiento

• 3.- DIRECCIONAMIENTO DIRECTO: SE IDENTIFICA CUANDO EL OPERANDO FUENTE O EL OPERANDO DESTINO ES UNA VARIABLE DECLARANDO EN EL SEGMENTO DE DATO.

• EJEMPLO:» A)MOV DX,PALABRA» B)MOV DATOS, AX» C)MOV CARÁCTER, CH

• INAVALIDOS: NO ES PERMITIDO DIRECIONAR DE VARIABLE A VARIABLE O DE MEMORIA A MEMORIA.• A) MOV PALABRA, DATOS• B) MOV CARÁCTER, DATOS• C) MOV CARÁCTER, ARREGLO [0]• D) MOV PALABRA, PALABRA

Page 9: Modos de direccionamiento

P3.asm

• DISEÑE UN PROGRAMA EN ENSAMBLADOR QUE UTILICE LOS PRIMEROS 3 MODOS DE DIRECCIONAMIENTO, HAGA REFERENCIA A POR LO MENOS 2 INTRUCCIONES PARA CADA MODO DE DIRECCIONAMIENTO. NOTA: NO REPITA LOS EJEMPLOS VISTOS EN CLASE.

Page 10: Modos de direccionamiento

• 4.- DIRECCIONAMIENTO INDEXADO DIRECTO.- SE INDENTIFICA CUANDO EL OPERANDO FUENTE U OPERANDO DESTINO ES UNA VARIABLE DECLARADA EN EL SEGMENTO DE DATOS INDEXADA POR ALGUNO DE LOS REGISTROS INDICES ( SI, DI ):– EJEMPLO:

» A)MOV ARREGLO [SI] ‘A’» B)MOV CL, VECTOR [DI]» C) MOV VECTOR [SI]

• INVALIDOS:• MOV VECTOR1[SI], VECTOR2 [DI]

Page 11: Modos de direccionamiento

p4.asm

• DISEÑE UN PROGRAMA EN ENSAMBLADOR QUE DECLARE 3 ARREGLOS DE 4 ELEMENTOS CADA UNO, LOS 2 PRIMEROS ARREGLOS INICIALIZADOS CON CUALQUIER CONJUNTO DE CARACTERES. PASAR EL CONTENIDO DEL PRIMERO VECTOR AL TERCER VECTOR Y EL CONTENIDO DEL SEGUNDO VECTOR AL PRIMER VECTOR. IDENTIFICA POR MEDIO DE COMENTARIOS AL MODO DE DIRECCIONAMIENTO UTILIZADO EN CADA INSTRUCCION


Recommended