MOV ;movemos a ax el contenido de la cadena "A" eso significa el y data del segmento de datos

Documentos relacionados
Tema 1. Fundamentos del lenguaje ensamblador

Examen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Examen de Laboratorio de Estructura de Computadores I.T. Informática de Gestión / Sistemas. 16 de junio de 2010 Departamento de Automática ATC

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

Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2

Tema 4. Fundamentos del ensamblador

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR

Examen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC -

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

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

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii

Tema 5.2: Segmentación y modos de direccionamiento

Tema 6. Segmentación y modos de direccionamiento

INSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo

Instrucciones del microprocesador

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('(

Tema 2: Segmentación y modos de direccionamiento

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente:

PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO %TITLE IDEAL DOSSEG DATASEG

DEBUG Y USO DE CADENAS.

[etiqueta:] REP MOVSn

Formato para prácticas de laboratorio

Trabajo Práctico Nro 3: Assembler

Tema 4. Lenguaje máquina y lenguaje ensamblador

Iniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue:

Examen de teoría (5 puntos)

Tema 5. Presentación de datos por pantalla

Examen de teoría (5 puntos)

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

INT 21H Función 02H Salida de Carácter LLAMADA: AH = 02H DL = Código ASCII a enviar al dispositivo de salida. DEVUELVE: NADA.

ENSAMBLADOR. M.C. Laura Cuayahuitl Romero MODO DE DIRECCIONAMIENTO DIRECTO

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad I: Arquitectura y Programación de un Microprocesador (8086)

Práctica 2. Registros y posiciones de memoria

Interrupciones por hardware Interrupciones por so?ware

Espero que lo disfrutéis, como yo lo disfruté en su momento: MODEL small. .STACK 100h .DATA

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

Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado.

TAREA 1 ARITMETICA PARA BCD Y ASCII.

INSTRUCCIONES ARITMÉTICAS.

Examen de teoría (5 puntos)

Transferir datos por medio del puerto paralelo utilizando un lenguaje de bajo nivel. (Lenguaje ensamblador auxiliándose del macroensamblador MASM)

Práctica 4. Lenguaje máquina y lenguaje ensamblador

EL EMU8086 Y EL MICROPROCESADOR 8086.

Conceptos de Arquitectura de Computadoras Curso 2015

Tema 5.1: Presentación de datos en pantalla

Arquitectura Interna del 8088

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Organización de Computadoras. Clase 8

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

Examen de teoría (5 puntos)

Tema 4. Lenguaje máquina y lenguaje ensamblador

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

Arquitectura de Computadores II 8086 Parte II

PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO

ARQUITECTURA INTERNA DEL µp8086

INTRODUCCIÓN AL EMU8086.

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

Examen de teoría (5 puntos)

Tema 4: Las interrupciones y la ROM-BIOS

Arquitectura (Procesador familia 80 x 86 )

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

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

EL MACROENSAMBLADOR. Objetivos específicos. Materiales y equipo. Procedimiento

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

Macro posicionado de cursor PAMCUR

Instrucciones Aritméticas

INSTRUCCIONES LÓGICAS Y EL REGISTRO DE BANDERAS.

Registros Arquitectura x86. M. en C. Erika Vilches

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN

SISTEMAS BASADOS EN MICROPROCESADORES

DIRECTIVAS DEL ASM86

ÍNDICE. Introducción...pág. 1. Implementación de la práctica...pág. 2. Interrupciones...pág. 2

Intel 8086 modelo básico (primera parte) Registros:

6-REGISTROS DEL 8086 Y DEL 80286

Examen de teoría (5 puntos)

Introducción al simulador

Área Académica: Sistemas Computacionales

Tema 4. Lenguaje máquina y lenguaje ensamblador

PROGRAMACIÓN DE UN PROGRAMA DE DIBUJO

ITT-327-T Microprocesadores

Relación de Problemas I

Tema 2: Sistemas de numeración

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM.

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador.

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

ESTRUCTURAS DE LOS COMPUTADORES. Prácticas de Laboratorio

CONJUNTO DE INSTRUCCIONES Microprocesador 8086

control de Luces por el Puerto Paralelo 378H (16 Luces 4 bloques de 4)

Examen de teoría (4 puntos)

Sistemas de ecuaciones Ecuaciones lineales con dos incógnitas

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

PRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones

Tema 4: Lenguaje máquina - Lenguaje ensamblador

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II

Alternativas de programación

Ejercicios Tema 6. Funciones

Transcripción:

TITLE SUMA.MODEL SMALL.STACK 100H.DATA ;titulo del porgrama :modelo de la memoria ;tamaño de la pila ;segmento de datos A DB "teclea dos caracteres: $" ;cadena que vamos a mostrar en pantalla.code ;inicia segmento de codigo MOV AX,@DATA ;movemos a ax el contenido de la cadena "A" eso significa el signo @ y data del segmento de datos MOV DS,AX ;movemos la cadena a segmento ds MOV AH,9 ;mandamos a imprimir la cadena MOV DX, OFFSET A ;cargamos la direccion de la cadena al segmento de datos MOV AH,1 ;interrupcion del dos ;Leer un carácter del teclado y desplega ;interrucion del dos MOV BL,AL MOV AH,1 ;movemos el dato a bl ;leemos el segundo nuemro ;interruopcion del dos SUB bx,ax MOV DX, bx MOV AH, 2 ;realizamos la resta ;movemos el resultado a segmento dx ;mandamos a imprimir a pantalla ;interrupcion del dos MOV AH,4CH END ;fin del segmento de codigo ;interrupcion del dos ;fin del programa

TITLE multiplicacion ;nombre del programa.model small.stack.data ;modelo de la memoria ;tamaño de pila ;segmento de datos chr1 db? ;declaramos 6 constantes de tipo byte chr2 db? ; chr3 db? ; r1 db? ; r2 db? ; ac db 0 ;....code ;inicia segmento de codigo mov ah,01h ;Funcion que lee un caracter desde el teclado(leemos el primer numero) sub al,30h ;ajustamos valores de caracter a número acuerdense de interrupciones mov chr1,al ;movemos el primer valor introducido a chr1 mov ah,01h ;funcion leer caracter desde el teclado(leemos el segundo numero) sub al,30h ;Ajustamos valores de caracter a número mov chr2,al ;movemos el segundo valor introducido a chr2 mov ah,02h ;Función de manda a imprimir un caracter a pantalla mov dl,'*' ;mandamos a dl para poder ver en pantalla el caracter ;funcion de interruocion del dos

mov ah,01h ;leemos el tercer numero del teclado sub al,30h ;ajustamos de caracter a numero mov chr3,al ;mandamos el tercer numeroa chr3 mov ah,02h ;mandamos a imprimir a pantalla mov dl,'=' ;se imprime el signo = ;...Realizamos operación... mov al,chr3 ;al = chr3 ;movemos el tercer valor a al mov bl,chr2 ;bl = chr2 ;movemos el segundo caracter a bl mul bl ;realizamos la multiplicacion AL = chr3*chr2 mov Ah,0h ;lee un caracter del teclado AAM ;ajuste ascii despues de multiplicar recuerden ajustes mov ac,ah ;mandamos el valor a (Acarreo) ac = AH mov r2,al ;mandamos el Unidad del resultado a resultado dos r2 = AL mov al,chr3 ;movemos el tercer valoa al A(L = chr3) mov bl,chr1 ;movemos el primer valor a (BL = chr1) mul bl ;realizamos la multiplicacion por el primer valor AL = chr1*chr3 (BL*AL) ;...imaginen que estan haciendo un multiplicacion manual... mov r1,al ;movemos el valor de la Decena del resultador 1 = AL mov bl,ac ;BL = Acarreo anterior add r1,bl ;r1 = r1+ac (r1 + Acarreo)

mov ah,00h ;leemos nuevamente el valor mov al,r1 ;relizamos Asignación para el ajuste (AL = r1) AAM ;ajuste de multiplicacion ASCII mov r1,al ;r1 = AL mov ac,ah ;Acarreo para la Centena del resultado ac = AH ;...Mostramos resultado... mov ah,02h ;mandamos a imprimir a pantalla mov dl,ac add dl,30h ;colocamos la constante de acarreo en el registro dx ;realizamos el ajuste de numero a caracter ;Mostramos ac (Centena) mov ah,02h ;mandamos a imprimir a pantalla mov dl,r1 add dl,30h ;colocamos la constante de resultado en el registro dx ;realizamos el ajuste de numero a caracter ;Mostramos r1 (Decena) mov ah,02h ;mandamos a imprimir a pantalla mov dl,r2 add dl,30h.exit end ;colocamos la constante de resultado en el registro dx ;realizamos el ajuste de numero a caracter ;Mostramos r2 (Unidad) ;salimos del segmento de codigo parecedo a la interrupcion 4c00h ;fin del programa

TITLE Suma ;con lectura desde el teclado.model small ;modelo de la memoria.stack ;tamaño de la memoria.data ;segmento de datos msg db 'Introduce los numeros a sumar $' ;cadena para mostrar en pantalla.code.startup ;instrucción que indica el inicio de nuestro codigo mov ah,09h ;interrupcion para imprimir una cadena lea dx,msg ;obtenemos la direccion de memoria de ms ;ejecutamos la interrupcion mov ah,01h ;interr. lee el caracter 1 del numero 1 ;ejecutamos la interrupcion sub al,30h ;hacemos el ajuste de caracter a numero mov bl,al ;guardamos el numero en bl ;lee el caracter 2 del numero 1 sub al,30h ;hacemos el ajuste de caracter a numero mov cl,al ;movemos a cl ;lee el caracter 1 del numero 2 sub al,30h ;hacemos el ajuste de caracter a número

add bl,al ;lo sumamos a las decenas ;lee el caracter 2 del numero 2 sub al,30h ;hacemos el ajuste de caracter a numero add cl,al ;sumamos a las unidades mov ax,cx ;pasamos el R para convertirlo BCD aaa ;convierte BCD mov cx,ax ;respaldamos el resultado separado add bl,ch ;sumamos el acarreo a las decenas mov ax,bx ;pasamos ax para convertir a BCD aaa ;convertimos BCD separado mov bx,ax ;respaldamos el resultado mov dl,bh ;muevo las centenas a dl add dl,30h ;ajusto las centenas mov ah,02h ;interr. mostrar un caracter ;muestra las sentenas en pantalla mov dl,bl ;muevo las decenas a dl add dl,30h ;ajusto las decenas

;muestro las decenas mov dl,cl ;muevo las unidades a dl add dl,30h ;ajusto las unidades ;muestro las unidades.exit end