EJEMPLOS EJERCICIOS RESUELTOS MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR XOR DI,DI CLD REP STOSB

Documentos relacionados
Conceptos de Arquitectura de Computadoras Curso 2015

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

LENGUAJE ENSAMBLADOR PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA

Introducción al ensamblador 80x86

LENGUAJE ENSAMBLADOR PRÁCTICA 16 PRÁCTICA 16

EJEMPLOS EN ENSAMBLADOR

ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

Práctica 2. Registros y posiciones de memoria

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

Tema 2. Presentación de datos por pantalla. La ROM-BIOS

Intel Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini

Tema 5.1: Presentación de datos en pantalla

Tema 5. Presentación de datos por pantalla

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple.

Parámetro de entrada. Un parámetro pasado del procedimiento que hace la llamada al procedimiento invocado.

Trabajo Práctico Nro 3: Assembler

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1

Asignatura: ASSEMBLER INF-153 LABORATORIO 1

APÉNDICE D. Directivas, Operadores e Instrucciones del Lenguaje Ensamblador

Arquitectura de Computadores II 8086 Parte II

Macro posicionado de cursor PAMCUR

LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR

Alternativas de programación

El microprocesador de 16 bits 8086

CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC

INEL 4206 Microprocesadores Texto: Barry B Brey, The Intel Microprocessors:

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

Arquitectura de Computadores II Introducción al 8086

Arquitectura intel Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Práctica 3: El teclado del PC

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086

Resumen de las instrucciones del 8086/8088

EL EMU8086 Y EL MICROPROCESADOR 8086.

MANEJO DEL MOUSE EN LENGUAJE C++

Buses y Periféricos 2006/2007 Práctica 3. Ensamblador

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Fig. 1: Tipos de datos que puede manejar el procesador

LENGUAJE ENSAMBLADOR PRÁCTICA 1 PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA

Organización del Computador I 1er. Parcial 17-Mayo Turno:

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS

SISTEMAS BASADOS EN MICROPROCESADORES (2º - GRADO ING. INFORMÁTICA) EJERCICIO CLASE

METODOS DE INTEGRACION IV FRACCIONES PARCIALES

Programas de ordenador (software)

Digital II Documentación de las instrucciones INdg2, OUTdg2 y de los dispositivos mapeados en el espacio de E/S

Sistema'maestro esclavo para aplicaciones - generales de control.

Este grupo es una continuación del anterior, incluye las siguientes instrucciones:

6-REGISTROS DEL 8086 Y DEL 80286

UNIVERSIDAD NACIONAL DE INGENIERIA. Programación en Lenguaje Ensamblador

Consulta estado de exenciones, renovaciones y duplicados de "Bus LLIure"

INSTRUCCIONES ARITMÉTICAS.

Buses y Periféricos. ITIS. Ensamblador y Turbo debugger

Apéndice complementario a la práctica 6 Periféricos Avanzados. EL - DISCO

Manual Power Point Imprimir Presentaciones

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

Departamento de Sistemas e Informática

Modulo LCD MODULO LCD

Manual de Usuario. Aplicativo IBASE

ARQUITECTURA DEL MICROPROCESADOR 8086

UNIVERSIDAD NACIONAL DE PIURA INFORME FINAL TRABAJO DE INVESTIGACION

Todas las letras serán igual de grandes. Dejaré espacio suficiente entre palabra y palabra. Si me equivoco, borraré sin dejar manchas.

MICROSOFT EXCEL 2007

Funciones Básicas de la Hoja de Cálculo

Apellidos Nombre DNI

PRÁCTICA ALGORÍTMICA: EJERCICIOS PROPUESTOS

Guía de primera instalación para TD201P/T

INSTRUCTIVO FUNCIONAMIENTO DEL SISTEMA DE RECURSOS HUMANOS PROCESO DE REGISTRO DE FECHA DE INICIO DE LABORES

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1

Tema 9 Periféricos de Entrada

Tema 3: ASCII y operaciones de desplazamiento y lógicas

Módulo 08 Lenguaje Ensamblador

GUIA DE USO GRAPHMATICA

APUNTES DE INTRODUCCIÓN A LA ARQUITECTURA DEL PC

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011


APUNTES DE LENGUAJE ENSAMBLADOR. Lenguaje ensamblador

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

Organización n del Computador. CPU (ISA) Conjunto de Instrucciones de la Arquitectura

PROGRAMACION / Clave: 11214

APLICACIONES INFORMATICAS DE TRATAMIENTO DE TEXTOS. ADGD ACTIVIDADES DE GESTION ADMINISTRATIVA

DISPLAY LCD MICROPROCESADORES

Seleccionamos el programa Excel. Nos aparece la pantalla del programa

QUANTUM COMPUTACION CURSO DE PLANILLA ELECTRONICA MICROSOFT EXCEL 2013

"Programación en Ensamblador del microprocesador Pentium (I)"

Accesando a Sipe. Dentro del sitio podrás ver los requerimientos para utilizar SIPE,

Práctica 4 - Arquitectura CPU

CUADERNO DE CÁLCULO:

Práctica 4. Introducción a la programación en lenguaje ensamblador

UNIVERSIDAD NACIONAL DE INGENIERIA

Utilizando este botón se pueden crear los diferentes formatos utilizados en cada documento y con su respectivo prefijo.

Estos márgenes se definen en el menú Archivo, Configurar página... se nos muestra un cuadro de dialogo como este con tres pestañas:

GUÍA DE EXÁMENES DE PROGRAMACIÓN II

Tecnología de la Información y la Comunicación: "Procesador de textos" 1999

81,9(56,'$'32/,7e&1,&$'(0$'5,' (8,77(/(&2081,&$&,Ï1 '(3$57$0(172'(,1*(1,(5Ë$<$548,7(&785$67(/(0È7,&$6

LENGUAJE ENSAMBLADOR PRÁCTICA 13 PRÁCTICA 13

MÓDULO HOJAS DE CÁLCULO

Transcripción:

EJEMPLOS Y EJERCICIOS RESUELTOS Ejemplo: el siguiente código borra la pantalla (estableciendo el color 0 a todos los pixels): MOV MOV AX,0A000H ES,AX MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR XOR DI,DI CLD REP STOSB o podemos escribir cada línea de su propio color: CLD XOR DI,DI MOV AX,0A000H MOV ES,AX MOV AX,0FF00H BUCLE: MOV CX,320 REP STOSB INC AX JNZ BUCLE Nótese que asignando a AX el valor ff00h nos ahorramos una comparación en cada bucle, ya que el propio INC actualiza los flags. Ejemplo: title programa que imprime si es mayor de edad o no edad db 15 mayor db 'ERES MAYOR DE EDAD...','$' menor db 'ERES MENOR DE EDAD...','$'

cmp edad,18 jae b20 lea dx,menor ;carga la direccion de la indicacion ;llama al dos jmp b21 ;salta a la etiqueta b21 para salir lea dx,mayor ;carga la direccion de la indicacion ;llama al dos title programa que imprime si es mayor de edad o no edad db 15 mayor db 'ERES MAYOR DE EDAD...','$' menor db 'ERES MENOR DE EDAD...','$' cmp edad,18 jae b20 lea dx,menor ;carga la direccion de la indicacion ;llama al dos jmp b21 ;salta a la etiqueta b21 para salir lea dx,mayor ;carga la direccion de la indicacion ;llama al dos

Ejercicio 1. Desarrolle un programa en ensamblador que pase el contenido de una variable a otra. page 60,132 title prog02 Operaciones de movimiento pilasg segment para stack 'stack' dw 32 dup(0) pilasg ends datossg segment para 'data' cad1 db 'itslv' cad2 db 5 dup(?) datossg ends codigosg segment para 'code' inicio proc far assume ss:pilasg,ds:datossg,cs:codigosg mov ax,datossg lea bx,cad1 lea di,cad2 mov [di],al ;mover la letra i mov [di],al ;mover la letra t mov [di],al ;mover la letra s mov [di],al ;mover la letra l mov [di],al ;mover la letra v Ejercicio 2. Desarrolle un programa en ensamblador que tenga una variable para guardar el nombre de una persona, otra variable para guardar los apellidos de la persona y una ultima variable donde guardaremos todo el nombre completo. El programa deberá pasar el contenido de la variable que tiene el nombre a la variable donde se guardara el nombre completo y posteriormente pasar el contenido de la variable que tiene los apellidos a la misma variable donde se tendrá el nombre completo.

page 60,132 title p03asm (EXE) Operaciones de movimiento extendidos nom db 'FAUSTINO','$' ape db 'VAZQUEZ','$' nomcom db 'ABCDEFGHIJKLMNO','$' mov cx,08 lea si,nom lea di,nomcom mov al,[si] mov [di],al inc si dec cx jnz b20 mov cx,07 lea si,ape mov al,[si] mov [di],al inc si dec cx jnz b21 lea dx,nomcom ;carga la direccion de la indicacion ;llama al dos

page 60,132 title programa que imprime un marco car db '*','$' col db 0 ren db 0 ;limpiar pantalla mov ax,0600h mov bh,71h mov cx,0000h mov dx,184fh ;imprimir lineas horizontales mov cx,80 a10: ;colocar cursor mov ah,02h mov bh,00 mov dh,0 ;renglon 0 mov dl,col ;columna ;imprimir * mov ah,09h lea dx,car ;colocar cursor mov ah,02h mov bh,00 mov dh,22 mov dl,col ;imprimir * mov ah,09h lea dx,car inc col loop a10 ;imprimir lineas verticales mov cx,23 a20: ;colocar cursor mov ah,02h mov bh,00 mov dh,ren mov dl,0 ;imprimir mov ah,09h

lea dx,car ;colocar cursor mov ah,02h mov bh,00 mov dh,ren mov dl,79 ;imprimir mov ah,09h lea dx,car inc ren loop a20 title programa que imprime si es mayor de edad o no edad db 15 mayor db 'ERES MAYOR DE EDAD...','$' menor db 'ERES MENOR DE EDAD...','$' cmp edad,18 jae b20 lea dx,menor ;carga la direccion de la indicacion ;llama al dos jmp b21 ;salta a la etiqueta b21 para salir lea dx,mayor ;carga la direccion de la indicacion ;llama al dos

Ejercicios Propuestos: Ejercicio 1: 1. Calcule la sucesión de Fibonacci para los 10 primeros términos de la serie, utilizando para ello un ciclo controlado por la instrucción Loop. La sucesión está formada por números, de modo tal que cada número es la suma de los dos anteriores- Ejemplo: 1,1,2,3,5,8,13,21,34,55. RESPUESTA AL EJERCICIO PROPUESTO: Programa: Loop.ASM Descripción:.COMMENT * *.MODEL tiny. CODE Inicio: ; Punto de entrada al programa Mov AX,0; AX=0 Mov BX,1; BX=1 Estos son los dos primeros elementos 0+1=1 Mov CX,10 ; Repetir 10 veces Repite: Mov DX,AX ; DX=AX Add DX,BX ; DX=AX+BX Mov AX,BX ; Avanzar AX Mov BX,DX ; Avanzar BX Loop Repite ; siguiente número Mov AX,4C00h ; Terminar programa y salir al DOS Int 21h ; Ejercicio 2. Desarrolle un programa en ensamblador que pase el contenido de una variable a otra. RESPUESTA AL EJERCICIO PROPUESTO: title prog02 Operaciones de movimiento pilasg segment para stack 'stack' dw 32 dup(0) pilasg ends datossg segment para 'data' cad1 db 'itslv' cad2 db 5 dup(?) datossg ends codigosg segment para 'code' inicio proc far assume ss:pilasg,ds:datossg,cs:codigosg mov ax,datossg lea bx,cad1 lea di,cad2 mov [di],al ;mover la letra i mov [di],al ;mover la letra t

mov [di],al ;mover la letra s mov [di],al ;mover la letra l mov [di],al ;mover la letra v Ejercicio 3. Desarrolle un programa en ensamblador que tenga una variable para guardar el nombre de una persona, otra variable para guardar los apellidos de la persona y una ultima variable donde guardaremos todo el nombre completo. El programa deberá pasar el contenido de la variable que tiene el nombre a la variable donde se guardara el nombre completo y posteriormente pasar el contenido de la variable que tiene los apellidos a la misma variable donde se tendrá el nombre completo. RESPUESTA AL EJERCICIO PROPUESTO: title p03asm (EXE) Operaciones de movimiento extendidos nom db 'FAUSTINO','$' ape db 'VAZQUEZ','$' nomcom db 'ABCDEFGHIJKLMNO','$' mov cx,08 lea si,nom lea di,nomcom mov al,[si] mov [di],al inc si dec cx jnz b20 mov cx,07 lea si,ape mov al,[si] mov [di],al inc si dec cx jnz b21 lea dx,nomcom ;carga la direccion de la indicacion ;llama al dos