Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porGuillermo Mederos Modificado hace 9 años
1
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
2
“Esqueleto de un programa en ensamblador”
A continuación se presenta la estructura básica de un programa en ensamblador con extensión .asm: *model small: Existen diferentes segmentos que determinan el tamaño de los segmentos. (tarea wiki ¿Cuáles son esos modelos y sus tamaños de segmentos?) *stack: Pila *data: Segmento de datos variables, arreglos, cadenas, matrices *code: segmento de codigo
3
mov mov ds, ax Instrucciones para inicializar push ds ….CODIGO DEL PROGRAMA Código del programador …. mov ax, 4c00h Int 21h Instrucciones de terminacion End segmento de codigo
4
“declaración de datos en el segmento de datos”
Existen un conjuntos de directivas que nos permiten declarar datos en el segmento de datos, las directivas son las siguientes: db= Define byte = 8 bits = 1 caracter dw =Define palabra = 16 bits = 2 caracteres dd = define doble palabra = 32 bits = 4 caracteres No existen tipos de datos en el lenguaje ensamblador a diferencia de los lenguajes de alto nivel, lo que se realiza es para reservar espacios de memoria.
5
Nombre_Dato directiva valor(s)
Sintaxis para declarar datos, cadenas, arreglos, matrices: Nombre_Dato directiva valor(s) Ejemplos: 1: se desea declarar una variable de contador de tipo byte inicializada a cero en el segmento de datos. .data contador db 0 2. Define una variable llamada carácter inicializada con el carácter “z” carácter db ‘z’ 3. Declara una variable “promedio” inicializada con tu promedio general promedio db 87.82
6
contador_repe, contador_normal.
Evidencia n. 4 Define los siguientes esqueletos de programas en ensamblador: a. Guardar como p1.asm un documento creado en block de notas. Define las siguientes variables inicializadas a cero: promedio, sumatoria, contador_repe, contador_normal. b. Guardar como p2.asm, declarando las siguientes variables: + un arreglo inicializado con 4 valores de tipo carater(los que sean) +La variable “indice” inicializada a cero + un mensaje con tu nombre
7
MODOS DE DIRECCIONAMIENTO
Son las formas en que se hace referencia a l memoria. Varían de un autor a otro, se identifican entre 7u 8 modos de direccionamiento. 1.-DIRECCIONAMIENTO INMEDIATO 2.-DIRECCIONAMIENTO POR REGISTROS 3.-DIRECCIONAMIENTO DIRECTO 4.-DIRECCIONAMIENTO INDEXADO DIRECTO 5.-DIRECCIONAMIENTO RELATIVO A LA BASE 6.-DIRECCIONAMIENTO UNDIRECTO 7.-DIRECCIONAMIENTO BASE INDEXADO Explicación de cada uno(se utilizara la instrucción MOV para su explicación). 1.-DIRECCIONAMIENTO INMEDIATO. Se le identifica cuando el operador fuente es una constante. Ejemplos: a) MOV AH, 34H b) MOV BX, 0F989H c) MOV CH, ´C´ INVALIDOS: a) MOV CL, 9999H b) MOV DH, ´AB´
8
2. DIRECCIONAMIENTO POR REGISTROS
2. DIRECCIONAMIENTO POR REGISTROS. Se identifica cuando tanto el operando fuente como el operando destino son registros válidos del microprocesador. Ejemplos: a) MOV AX, BX b) MOV AH, AL c) MOV CX, CL d) MOV SI, DI INVALIDOS: a) MOV AH, BX b) MOV DL, BP
9
3. DIRECCIONAMIENTO DIRECTO
3. DIRECCIONAMIENTO DIRECTO. Se define cuando el operando fuente o el operando destino es una variable declarando en el segmento de datos. EJEMPLOS: a) MOV DX, palabra b) MOV datos, AX c) MOV caracter, ch INVALIDOS: No es permitido direccionar de variable a variable o de memoria a memoria. a) MOV palabra, dato b) MOV carácter, dato c) MOV carácter, arreglo[0]
10
P3.asm Diseñe un programa en ensamblador que utilice los primeros 3 modos de direccionamiento, haga referencia a por lo menos 2 instrucciones para cada modo de direccionamiento. NOTA: No repita los ejemplos vistos en clases.
11
4. Direccionamiento indexado directo
Se identifica cuando el operador fuente u operando destino es una variable declarada en el segmento de datos indexada por alguno de los registros índices ( SI,DI): Ejemplos: a) MOV arreglo[si], ´A´ b) MOV cl, vector[DI] c) MOV vector[SI]
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.