MODOS DE DIRECCIONAMIENTO

Slides:



Advertisements
Presentaciones similares
Instrucciones de operación sobre datos
Advertisements

REGISTROS INTERNOS DEL PROCESADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Declaración de datos en el segmento de datos.. EXISTEN UN CONJUNTO DE DIRECTIVAS QUE NOS PERMITEN DECLARAR DATOS EN EL SEGMENTO DE DATOS, LAS DIRECTIVAS.
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
MODOS DE DIRECCIONAMIENTO
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Programación en ensamblador
SEMANA 9_2.
Andrés Núñez Herrero Enrique España Blanco Rodrigo Cembrero Carazo
ARQUITECTURA INTEL Modos de direccionamiento
SPARC (Scalable Processor Architecture)
Programación en Lenguaje Ensamblador.
Arquitectura de Conjunto de Instrucciones (ISA)
INTRODUCCION AL ASSEMBLER 86
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
SEMANA 05_2.
Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C.

Evidencia no. 5 modos de direccionamiento Paréntesis para poder resolverla ADD OP-DESTINO, OP.FUENTE OP1 OP2 SUMA= ADD ¿Cómo funciona? Op_Destino=Op_Destino+Op.Fuente.
MODOS DE DIRECCIONAMIENTO No. Lista 21 7am Rivas chacón Ana cristina
Arquitectura del 8086/8088 El 8086 Arquitectura de computadoras II
Introducción al lenguaje ensamblador
Tema 2: INTRUCCIONES Profesor: Carlos Concha S LENGUAJES DE BAJO NIVEL.
MODOS DE DIRECCIONAMIENTO

1 SEMANA 04_2. 2 OPERADORES ARITMETICOS OPERADOR: + FORMATO: VALOR1 + VALOR2 FUNCION : SUMA VALOR1 Y VALOR2 EJEMPLO : TABLA_MAS_2 DW TABLA + 2 ; (DESPLAZAMIENTO.
Clase 10: Estructuras de datos y arreglos.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Arquitectura del 8086/8088 TEEL 4011
Conceptos Arquitectónicos del computador
IPN Escuela Superior de Cómputo MICROPROCESADORES II.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
C ONTINUACIÓN M ODOS DE DIRECCIONAMIENTO. 5. R ELATIVO A LA BASE Se le identifica cuando dentro de la instrucción aparece un registro base mas un desplazamiento.
Microprocesador (80X86) Universidad Nacional de Ingeniería
Introducción al lenguaje ensamblador
Estructura de Computadores Comandos DEBUG Programación en Assembler Profesora : Tatiana Marín R.
Tema 1: DATOS Y REGISTROS
Unidad I: Registros e Interrupciones Facilitador: Ing. Eduardo Brando.

Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
MODOS DE DIRECCIONAMIENTO
A este registro se le conoce también como registro de estado. Consta de 16 bits y únicamente 9 de ellos contiene información, indican el estado de la.
introducción al Lenguaje Ensamblador
MODOS Y METODOS DE DIRECCIONAMIENTO
Modos de Direccionamiento  No. 18  8:00-9:00am  Lenguaje ensamblador.
Microprocesador (8086) Universidad Nacional de Ingeniería

PROGRAMACION A BAJO NIVEL
MODOS DE DIRECCIONAMIENTO
1 Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas M.C. Juan Carlos Olivares Rojas.
SEMANA 01_2.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
No. De lista: 27 No. De lista: 27 Hora: 8-9 am Hora: 8-9 am Materia: Lenguaje Ensamblador Materia: Lenguaje Ensamblador.
METODOS DE DIRECCIONAMIENTO NO. 12 HORA: 8:00 ENSAMBLADOR MIGUEL ALEJANDRO DAVALOS HUERTA.
No. 26 8:00 a.m. Lenguaje Ensamblador. Segmento de Pila  Model small  stack  Data  Code  mov  mov ds, ax  push ds  …código del programa.
No. De Lista: 23 Hora: 8:00 a 9:00 Lenguaje Ensamblador.
TEMA : ARQUITECTURA DE COMPUTADORAS

introducción al Lenguaje Ensamblador
Maquinas Digitales UNIDADES DE CONTROL.
No. Lista 9 8:00 am-09:00 am LENGUAJE ENSAMBLADOR.
Modos de Direccionamiento
Modos de Direccionamiento No. Lista 31 7 am Lenguaje ensamblador.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Arquitectura de PCs Lenguaje ASM Intel Lenguaje de máquina y ASM Toda CPU interpreta su código de máquina propio Instrucciones en código de máquina.
Clase 7 Assembly - Simulador MSX88.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
Transcripción de la presentación:

MODOS DE DIRECCIONAMIENTO N. L :6. MATERIA: Lenguaje ensamblador. HORA: 7:00 – 8:00 A.M.

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 .stack .data .code mov ax,@data mov ds,ax push ds ….CÓDIGO DEL PROGRAMA. mov ax, 4c00h int 21h end Existen diferentes modelos que determinan el tamño delos segmentos.

DECLARACION DE DATOS EN EL SEGMENTO DE DATOS. Existen un conjunto de directivas que nos permiten declarar datos en el segmento de datos, las directivas son las siguientes. 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, matrices: Nombre_Dato directiva valor(s)

EJEMPLOS. .data Contador db 0. 1.- Se desea declarar una variable 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. .data carácter db ‘z’ 3.- Declara una variable “promedio”, inicializada con tu promedio general. promedio db 9

EVIDENCIA No. 4 Define los siguientes esqueletos de programas en ensamblador: A.- Guardar como p1.asm un documento creado en bloc 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 von 4 valores de tipo carácter los que sean. La variable “ínidice” inicializada a cero. Un mensaje con tu nombe.

Tamaños de los modelos, y el tamaño del segmento de código.

MODOS DE DIRECCIONAMIENTO. Son las formas en que se hace referencia a la memoria. Varian de autor a autor, se identificn entre 7 u 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 INDIRECTO. 7.- DIRECCIONAMIENTO BASE INDEXADO.

DIRECCIONAMIENTO INMEDIATO Se le identifica cuando el operando es una constante. Ejemplos: Mov ah,34h Mov bx,0f989h Mov ch, ‘c’ Invalidos: - mov cl, 9999h - mov dh, ‘ab’.

DIRECCIONAMIENTO POR REGISTROS Se identifica cuando el operando fuente como el operando destino son registros válidos del microprocesador. Ejemplos: mov, ax,bx Mov ah,al Mov cx,cl Mov si,di Inválidos. Mov ah,bx Mov dl,bp

DIECCIONAMIENTO DIRECTO Se identifica cuando el operando fuente o el operando destino es una variable declarado en el segmento de datos. Ejemplos: Mov dx,palabra Mov datos,ax Mov carácter,ch Inválidos. No es permitido direccionar de variable a variable o de memoria a memoria. Mov palabra,datos Mov carácter,datos Mov carácter,arreglo[0]

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.

DIRECCIONAMIENTO INDEXADO DIRECTO. Se identifica cuando el operando fuente u operando destino es una variable declarada en el segmento de datos indexada por alguno de los registros índice. Ejemplos: Mov arreglos[si],’a’ Mov cl,vector[di] Mov vector[si],0

5.- RELATIVO A LA BASE Bx,bp Ejemplos: . Data Mivector db 9,8,7,6,5,4,3,2,1 .code Inicialización. Mov bp,0 Mov al, mivector [bp+1] Mov ch,mivetor[bp+4(desplazamiento)]

6.- INDIRECTO Instrucciones de apoyo: Lea: Obtiene la dirección efectiva. Sintaxis: Lea op_destino, op_fuente Se identifica a este modo de direccionamiento cuando se accede directamente a la dirección efectiva del arreglo o matriz para hacer referencia a uno de lo elementos. NOTA: No debe aparecer el nombre de la variable definida por el programador . Lea si, mivector : si apunta al inicio de mivector.

P5.asm Diseña el programa declarando en el segmento de datos los arreglos que contienen 16 de los nombres del grupo ensamblador de las 7 am, por medio de código y haciendo uso de direccionamiento relativo a la base agrega el carácter ‘$’, en la última posición de cada arreglo.

DIRECCIONAMIENTO INDIRECTO El direccionamiento indirecto, puede llegar a clasificarse en dos submodos. A) Indirecto por registros. Como se menciono anteriormente el direccionamiento indirecto hace referencia a una localidad de memoria, sin necesidad de referenciar al nombre de la variable o arreglo. Por lo tanto el modo de direccionamiento indirecto por registro ayuda a localizar un dato en memoria haciendo uso de registros de 16, 32 o 64 bits. Lea si, mivector Mov [si],’$’ Lea bp,arreglo Mov [bp],44bbh INVALIDO. Mov [ah],0 B) Indirecto inmediato. En este modo de direccionamiento se hace referencia de manera directa a una localidad de memoria, sin hacer uso de ningún registro ni de ninguna variable. Mov [40B9h], ah Mov bx,[1000h]

7.- BASE INDEXADO En este modo de direccionamiento ayuda a hacer referencia a un valor en la memoria haciendo uso de una variable mas un registro base mas un registro indice. Recordando los registros base BX, BP, SI, DI. Ejemplos: .data Matriz db 1,2,3,4 Db 5,6,,7,8 Db 9,10,11,12 db 13,14,15,16.

.code Inicialización Mov si,1 Mov bx,2 Mov ah, matriz[si][bx] Add dl,matriz[3][0] Mov ah,matriz[1][2] Mov ah,matriz[1+2] Mov dx,0 Mov di,3 Mov bp,4 Mov dx, matriz [di],[bp]