1 / 11

Modos de direccionamiento

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

nimrod
Télécharger la présentation

Modos de direccionamiento

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Esqueleto de un programa ensamblador Tipo de modelo de un programa en ensamblador Determina el tamaño de los segmentos • Modelsmall • Stack • Data • Code • Movax,@data • Movds,ax • Pushds • …Codigo del programa • … • … • Mov ax,4c00h • Int 21h • end Segmento pila Segmento de datos • Aquí se declaran: • Variables • Arreglos • Matrices • cadenas Inicializacion Finalizacion

  3. 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)

  4. Ejemplos 1.- se desea declarar una variable contador de tipo byte inicializada a cero en el segmento de data .data Db contador 0 2.- define una variable llamada “carácter” inicializada con el carácter ‘Z’ .data carácter db ‘z’ 3.- declara una cariable “promedio” inicializada con tu promedio general .data promedio dw 89.99

  5. Evidencia No.4 • Define los siguientes esqueletos de programas en ensamblador • Guardar como p1.asm un documento creado en un block de notas • 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

  6. 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,34H B) MOV BX,0F98H C) MOV CH,’C’ INVALIDOS A) MOV CL,999H B) MOV DH , ‘AB’ C) MOV ‘A’, BL

  7. 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

  8. 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

  9. 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.

  10. 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]

  11. 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

More Related