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

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

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

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

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

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

Tema 4: Las interrupciones y la ROM-BIOS

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

SISTEMAS BASADOS EN MICROPROCESADORES

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

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

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

CON LOS VALORES ASCII

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

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

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

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. PRÁCTICA #9 EL RATÓN DE UNA COMPUTADORA

INTRODUCCIÓN. Interrupciones.

Ejercicios Práctica 4 Primer Cuatrimestre de de abril de 2008

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

Formato para prácticas de laboratorio

Tema 1. Fundamentos del lenguaje ensamblador

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

Interrupciones por hardware Interrupciones por so?ware

Guía para ejercicios. Desde el comienzo hasta TP4.1

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

[etiqueta:] REP MOVSn

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

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

OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS)

Práctica Nº 5 Video y Teclado

Manual de Ayuda, Ultraportátil Acer Aspire One D260

Operaciones para Pantalla II

Conceptos de Arquitectura de Computadoras Curso 2015

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

ESTRUCTURAS DE LOS COMPUTADORES. Prácticas de Laboratorio

Lenguaje Ensamblador. Equipo 3. Alberto Abraham Gomez Cruz Edgar

PROGRAMACIÓN DE UN PROGRAMA DE DIBUJO

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

Tema 4. Fundamentos del ensamblador

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

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

Tema 2: Segmentación y modos de direccionamiento

Práctica 3: El teclado del PC

Práctica 3: El teclado del PC

Arquitectura de Sistemas

MANEJO DEL MOUSE EN LENGUAJE C++

Llamadas al sistema Índice

Arquitectura de Sistemas

Práctica 6. El procesador

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

Relación de Problemas I

Interrupciones en el simulador MSX88. Facundo Quiroga

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

Examen de teoría (5 puntos)

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

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp

Arduino. Teclado matricial. Col1 Col2 Col3 Col4

Tema 5.1: Presentación de datos en pantalla

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS.

Tabla de interrupciones

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

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

Tema 3. Estructuras de control

Práctica 2. Registros y posiciones de memoria

Programas Residentes En Lenguaje Ensamblador

(4) Unidad 4. Recursos de Programación SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

INTRODUCCIÓN AL EMU8086.

Arquitectura de computadoras

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

Práctica 1: Sencillo Juego en Ensamblador

Manual de Ayuda, Ultraportátil Toshiba NB300

LENGUAJE ENSAMBLADOR PRÁCTICA 10 PRÁCTICA 10

Teclado Matricial. Ing. Diego Chacón

Introducción al NASM. Convenciones de colores

Tema 5. Presentación de datos por pantalla

Instrucciones de Control de Flujo y Usos de la Pila

Universidad de Sevilla. Área de Ingeniería Telemática. Área de Ingeniería Telemática. Universidad de Sevilla. Fundamentos de Telemática

INSTRUCCIONES LÓGICAS Y EL REGISTRO DE BANDERAS.

Práctica de laboratorio: Instalación, configuración y partición de una segunda unidad de disco duro

MOV EBX, 0 ; Finalizar cad. destino

UNIVERSIDAD ALAS PERUANAS TECLADO. FACULTAD DE CIENCIAS AGROPECUARIAS Escuela Académico Profesional de Medicina Veterinaria

Manual de prácticas del Laboratorio de Dispositivos de Almacenamiento y de Entrada/Salida

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

El teclado permite introducir texto, datos numéricos u órdenes concretas al ordenador.

The Atomik Microkernel API Reference, version 0.1 december 2013 (Spanish)

Instrucción De Salto Incondicional

Programación de IA-32 Modo Real

Examen de teoría (5 puntos)

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

1. Teclado tradicional, principal o alfanumérico

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA

Sesión 8. Subrutinas. Computadores II Rodrigo Santamaría

Macro posicionado de cursor PAMCUR

PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROPROCESADOR INSTALADO 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO

CAPITULO IV OPERACIÒN

Laboratorio 04: Anidamiento de estructuras iterativas y selectivas

Utilidad Computer Setup

Transcripción:

Aúnque no os lo creáis, hace más de 30 años programaba en Assembler 8086 a "pelo", si si, a "pelo", lo habéis leido correctamente, en esa época en la que el Spectrum formaba parte de nuestra vida cotidiana, el ZX81, y el IBM PC con su 8086, una gran época sin duda, dicho esto, voy a compartiros un poco de código de Assembler del 8086, concretamente una rutina que realicé, para el desarrollo de videojuegos, es muy simple realmente, pero poder hacer esas llamadas a las interrupciones, la verdad es que para mi mucho mejor de como se está programando actualmente, debo de ser un "bicho raro" pero me sigo entusiasmando con ello, imaginad que me compré una disquetera de 1 44MB USB, para poder recuperar todo este código repartido entre varios disquettes :-). Espero que lo disfrutéis, como yo lo disfruté en su momento:.8086.model small.stack 100h.DATA desarrollado en Turbo Assembler por Javier Sanchez para PC Compatibles 1 / 17

definicion de datos iniciales del teclado, junto descripciones derecha DB 80 letra P derecha arriba DB 81 letra Q arriba abajo DB 65 letra A abajo izqu DB 79 letra O izquierda definicion de descripciones con retorno de carro desc DB 'F - Salir al DOS',0dh,0ah,'$' desc0 DB 'R - Reconfigura teclado',0dh,0ah,'$' 2 / 17

desc1 DB ' - Derecha ','$' mensaje derecha desc2 DB ' - Izquierda ','$' mensaje izquierda desc3 DB ' - Arriba ','$' mensaje arriba desc4 DB ' - Abajo ','$' mensaje abajo desc5 DB 'Configuracion Tecla ','$' mensaje configura return DB '',0dh,0ah,'$' retorno de carro Definicion de Macros Gotoxy macro fila,columna coloca cursor en coordenadas x,y mov ah,0fh AH = 0fh, numero de funcion 3 / 17

int 10h Deja BH, pagina de video activa mov dh, fila mov dl, columna mov bh, 0 0 = modo grafico / 1 = modo texto mov ah, 2 funcion de la BIOS int 10h interrupcion de la BIOS endm Print macro texto imprime una cadena de texto mov ax,@data sin retorno de carro mov ds,ax mov ah,9 4 / 17

mov dx,offset texto endm Letra macro caracter mov dl,caracter lee caracter y lo imprime mov ah,2 endm 5 / 17

.CODE call Cga llama a la rutina inicializacion de la CGA call imprime_tecla Imprime definicion de teclado en pantalla jmp lee_caracter realiza un salto a la lectura de teclado Rutina de lectura del teclado Bloque principal lee_caracter : mov ah,7 int 21 de la BIOS cmp al,82 si se pulsa la tecla R, redefinir 6 / 17

jz redefine salta a rutina redefinir teclado cmp al,114 si se pulsa la tecla r, redefinir jz redefine salta a rutina redefinir teclado cmp al,70 si se pulsa F jz final termina programa mov dl,al almacena caracter en dl mov ah,2 visualiza caracter jmp lee_caracter buelve al inicio final del programa 7 / 17

final : mov ah,4ch Final Termina el programa ret Rutina de redinicion del teclado de PC e impresion de la configuracion actual de este redefine : call reconfigura Salta a la subrutina de reconfi- guracion del teclado jmp lee_caracter devuelve el control al programa 8 / 17

principal reconfigura : Print desc5 imprime descripcion 5 Print desc2 imprime descripcion 2 mov ah,7 espera pulsacion sin eco mov izqu,al almacena al en izquierda mov dl,al almacena al en dl mov ah,2 imprime nueva tecla 9 / 17

definicion del teclado derecho Print desc5 imprime descripcion 5 Print desc1 imprime descripcion 1 mov ah,7 espera pulsacion sin eco mov derecha,al almacena al en derecha mov dl,al almacena al en dl mov ah,2 imprime nueva tecla 10 / 17

definicion del teclado arriba Print desc5 imprime descripcion 5 Print desc3 imprime descripcion 3 mov ah,7 espera pulsacion sin eco mov arriba,al almacena al en derecha 11 / 17

mov dl,al almacena al en dl mov ah,2 imprime nueva tecla definicion del teclado abajo Print desc5 imprime descripcion 5 Print desc4 imprime descripcion 4 mov ah,7 12 / 17

espera pulsacion sin eco mov abajo,al almacena al en derecha mov dl,al almacena al en dl mov ah,2 imprime nueva tecla call Cga Inicializa modo grafico call imprime_tecla Imprime configuracion de teclado ret retorna el control a redefine 13 / 17

imprime configuracion del teclado del PC en pantalla imprime_tecla : Gotoxy 1,1 colocacion de las coordenadas en 1,1 Print desc imprime retorno de carro Print desc0 imprime descripcion 0 Letra derecha imprime letra1 14 / 17

Print desc1 imprime descripcion 1 Letra izqu imprime letra2 Print desc2 imprime descripcion 2 Letra arriba imprime letra3 Print desc3 imprime descripcion 3 15 / 17

Letra abajo imprime letra4 Print desc4 imprime descripcion 4 ret Configuracion de la pantalla grafica a 320x200 4 colore Cga : mov ah,0 BIOS modo de funcion mov al,4 modo de pantalla 320x200 4 colores int 10h ejecuta rutina de la BIOS 16 / 17

ret END final del programa 17 / 17