Modos de direccionamiento

Preview:

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

Modos de direccionamiento

No. Lista 128:00 – 9:00

EnsambladorMIGUEL ALEJANDRO DAVALOS HUERTA

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

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)

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

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

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

• 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

• 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

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.

• 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]

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