ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

10
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

description

ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR. N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM. Determina el tamaño de los segmentos. A continuación se presenta la estructura básica de un programa en ensamblador con extensión . asm . Tipo de modelo de un programa en ensamblador. - PowerPoint PPT Presentation

Transcript of ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

Page 1: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

N.L 32ROMERO HERNÁNDEZ GABRIELA

VERÓNICA .HORA : 8 :00 -9 :00AM

ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

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

• Tipo de modelo de un programa en ensamblador.

• .model stall• .stack• .data

• Codemov ax,@datamov ds,axpush ds

…codigo programa

mov ax, 4c00hint ahend

Determina el tamaño de los

segmentos.Segmento

de pila

Segmento de Datos

Se declaran Variables, Arreglos, Matrices, Cadenas

Segmento de Código

Inicialización

Finalización

Page 3: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

DECLARACION DE DATOS EN EL SEGMENTO DE DATOS.

• DIRECTIVAS.db= define byte= 8bits= 1 Carácter.dw= define palabra= 16bits= 2 Caracteres.dd= define doble palabra= 32bits= 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 calor(es) Ejemplo:Se desea declarar 1 variable contador de tipo byte inicializada a cero en el segmento de datos..data

contador db 0

Segmento de Datos

Page 4: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

• 2) Define una variable llamada “Caracter” inicializada con el carácter “Z”.

.datacarácter db ‘z’

3) Declara una variable “promedio” inicializada con tu promedio general

.datapromedio dw 84.25

Page 5: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

MODOS DE DIRECCIONAMIENTO.

• Son las formas en que se hace referencia a la memoria.• Varian de autor a autor, se identifican 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 base• 6. Direccionamiento indirecto• 7. Direccionamiento base indexado• Explicación de cada uno, (se utilizara la instrucción MOV para la explicación).• 1. Direccionamiento inmediato. Se identifica cuando el operando 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• C) mov ‘A’, BL’

Page 6: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

• 2. Direccionamiento por registros. Se identifica cuando tanto el operando fuente como el operando destino son registros validos 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• C) mov cl, cx

Page 7: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

• 3. Direccionamiento directo. Se identifica cuando el operando fuente o el operando destino es una variable declarado en el segmento de datos.• Ejemplos:• A) mov dx, palabra• B)mov datos, ax• C) mov carácter, ch• Invalidos. No es permitido direccionar 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 8: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

• Diseñe un programa p3.asm 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 clase.

Page 9: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

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 indices (SI, DI):• Ejemplos:• A) mov arreglo[si], ‘A’• B) mov cl, vector [DI]• C)mov vector [SI], 0• Inválidos.

• A) mov vector1[SI], vector2[DI]• B) • C)

Page 10: ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR

• Diseñe un programa en ensamblador p4.asm que declare 3 arreglos de 4 elementos cada uno, los dos 1ros arreglos inicializados con cualquier conjunto de caracteres. Pasar el contenido del 1er vector al 3er vector y el contenido del 2do vector al 1er vector. • Identifica por medio de comentarios el modo de

direccionamiento utilizado en cada instrucción.