11
Modos de direccionamiento No. Lista 12 8:00 – 9:00 Ensamblador MIGUEL ALEJANDRO DAVALOS HUERTA

Modos de direccionamiento

  • Upload
    nimrod

  • View
    43

  • Download
    4

Embed Size (px)

DESCRIPTION

Modos de direccionamiento. No. Lista 12 8:00 – 9:00 Ensamblador MIGUEL ALEJANDRO DAVALOS HUERTA. Esqueleto de un programa ensamblador. Tipo de modelo de un programa en ensamblador Determina el tamaño de los segmentos. Model small Stack Data Code Mov ax,@data Movds,ax Push ds - PowerPoint PPT Presentation

Citation preview

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