Descargar

Esqueleto de un programa en ensamblador

Enviado por Pablo Turmero


    edu.red 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 Code mov ax,@data mov ds,ax push ds código programa mov ax, 4c00h int ah end 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

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

    edu.red 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 .data promedio dw 84.25

    edu.red MODOS DE DIRECCIONAMIENTO. Son las formas en que se hace referencia a la memoria. Varían 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 (se utilizara la instrucción MOV para la explicación).

    edu.red 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’ Inválidos: A) mov cl, 9999h B) mov dh, ‘AB C) mov ‘A’, BL’

    edu.red 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 Inválidos. A) mov ah, bx B) mov dl, bp C) mov cl, cx

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

    edu.red 7.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 índices (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)

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