LENGUAJE ENSAMBLADOR PRÁCTICA 5 PRÁCTICA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "LENGUAJE ENSAMBLADOR PRÁCTICA 5 PRÁCTICA"

Transcripción

1 PRÁCTICA 5 COPIAR UN ARCHIVO EXISTENTE EN UNO NUEVO CON DISTINTO NOMBRE Y EXTENSIÓN 1. INTRODUCCIÓN Esta práctica nos sirve para copiar un archivo existente a un archivo nuevo con diferente nombre y extensión, sin alterar su contenido. Para copiar un archivo a otro se usará el siguiente formato: C:\CALCA Nombarchivo1.Ext1 Nombarchivo2.Ext2 Donde: Nombarchivo1 = Nombre del archivo fuente Ext1 = Extensión del archivo fuente Nombarchivo2 = Nombre del archivo destino Ext2 = Extensión del archivo destino El programa CALCA exhibe los errores de acceso al disco, cuando el archivo no se encuentra, cuando no hay memoria en el disco o cuando el disco está protegido. Todos los mensajes se encuentran en un procedimiento. 2. OBJETIVOS 2.1. El alumno aprenderá a usar las interrupciones del DOS para abrir y cerrar archivos El alumno utilizará las funciones del DOS para leer y escribir archivos El alumno manejará cualquier tipo de error de acceso a un disco El alumno sabrá sacar un directorio de archivos 5-1

2 3. DESARROLLO 3.1. Capturar el siguiente módulo, ensamblarlo y guardarlo en la librería REM con el nombre ERRDISCO.ASM. %TITLE TRATAMIENTO DE ERRORES DE ACCESO A DISCO IDEAL DOSSEG MODEL DATASEG CadError DB -- ERROR --,0 err00 DB CAUSA DESCONOCIDA.,0 err01 DB MAL NÚMERO DE FUNCIÓN,0 err02 DB ARCHIVO NO HALLADO,0 err03 DB CAMINO NO HALLADO,0 err04 DB DEMASIADOS ARCHIVOS,0 err05 DB ACCESO DENEGADO,0 err06 DB HANDLE DE ARCHIVO ILEGAL,0 err07 DB BLOQUES DE MEMORIA DESTRUIDOS,0 err08 DB NO HAY SUFICIENTE MEMORIA,0 err09 DB MAL DIRECCIÓN DE MEMORIA,0 err0a DB AMBIENTE DAÑADO,0 err0b DB FORMATO ILEGAL,0 err0c DB CÓDIGO DE ACCESO MAL,0 err0d DB DATOS INCORRECTOS,0 err0e DB CAUSA DESCONOCIDA,0 err0f DB CAUSA DESCONOCIDA,0 err10 DB NO SE PERMITE REMOVER EL DIRECTORIO,0 err11 DB DISPOSITIVO NO ES EL MISMO,0 err12 DB NO SE PERMITEN ARCHIVOS,0 err13 DB DISCO PROTEGIDO CONTRA ESCRITURA,0 err14 DB UNIDAD DESCONOCIDA,0 err15 DB IMPULSOR NO LISTO,0 err16 DB COMANDO DESCONOCIDO,0 err17 DB ERROR DE DATOS (REDUNDANCIA),0 err18 DB LARGO DE ESCRITURA INADECUADA,0 err19 DB ERROR DE BÚSQUEDA,0 err1a DB TIPO DE MEDIO DESCONOCIDO,0 err1b DB SECTOR NO ENCONTRADO,0 err1c DB IMPRESORA NO TIENE PAPEL,0 err1d DB ERROR DE ESCRITURA EN EL DISCO,0 err1e DB ERROR DE LECTURA EN EL DISCO,0 err1f DB FALLA GENERALIZADA,0 errores DW err00,err01,err02,err03,err04,err05,err06,err07 DW err08,err09,err0a,err0b,err0c,err0d,err0e,err0f DW err10,err11,err12,err13,err14,err15,err16,err17 DW err18,err19,err1a,err1b,err1c,err1d,err1e,err1f CODESEG 5-2

3 De CADENAS.OBJ PUBLIC NuevaLinea:proc, SacaCadena:proc ErrDisco ErrDisco Entrada: Salida: Registros: ESCRIBE MENSAJE DE ERROR A LA SALIDA ESTÁNDAR Ninguna CF = 1, tras una operación de archivo en DOS) Ninguna, se exhibe el mensaje de error AX, BP, CX, DX, DI, SI push ds Salva registros de push es segmento mov ah,59h Número de función de DOS int 21h Trae información de DOS xor bx,bx Debe ser 0 pop es ds cmp ax,1fh AX > 1fh? Brinca si AX 1fh xor ax,ax Usa CAUSA DESCONOCIDA shl ax,1 *2 mov bx,ax Copia en BX mov di,[errores+bx] Pone dirección de la cadena push di Guarda DI call NuevaLinea Empieza otra línea mov di,offset CadError Apunta a 1ª. parte del mensaje call SacaCadena pop di Recobra call SacaCadena Exhibe mensaje call NuevaLinea Exhibe otra línea END ErrDisco Fin de módulo ERRDISCO.ASM Primero salvamos los registros DS y ES. Guardamos 58h en el registro AH, esto es para utilizar el servicio 58h de la interrupción 21h. Hacemos que el registro BX sea cero, posteriormente llamamos a la interrupción 21h. Al usar este servicio el código de error ampliado es devuelto al registro AX. Recuperamos registros DS y ES. Comparamos el registro AX con el valor 1fh, si AX es mayor que 1fh quiere decir que no hubo error, por lo tanto hacemos que AX sea cero. Caso contrario se exhibe el mensaje apropiado. 5-3

4 3.2. Capturar y ensamblar el siguiente programa mediante CALCA.ASM. %TITLE COPIA UN ARCHIVO EN OTRO, PIDE CONFIRMAR SOBRE ESCRITURA IDEAL DOSSEG MODEL small SNACK 256 rc EQU 13 ASCII de orno nl EQU 10 ASCII para nueva línea DATASEG ClaveFin DB 0 Para reportar error ArchEnt DW 0 Handel del archivo fuente ArchSal DW 0 Handel del archivo salida Pagina DB 256 dup ( ) Byte variable de E/S Apronta DB rc,nl, Archivo de salida existe. Sobre escribir? (s/n),0 DiscoLleno DB rc,nl, ERROR: Disco lleno,0 Notas DB rc,nl, CALCA copia todos los bytes de un archivo a DB rc,nl, un nuevo archivo, como demostración de los DB rc,nl, métodos para leer y escribir archivos en DB rc,nl, lenguaje ensamblador. Ejemplo de uso:,rc,nl DB rc,nl, CALCA <Arch1> <Arch2>,rc,nl,0 CODESEG De CADENAS.OBJ SacaCadena:proc,NuevaLinea:proc De ERRDISCO.OBJ ErrDisco:proc De PARAMS.OBJ TraePar:proc,CuentaPar:proc,TraeUnPar:proc Inicia: mov ax,@data AX apunta al segmento de datos mov es,ax ES tiene dicho valor call TraePar Trae parámetro del PSP call CuentaPar Trae número de parámetros dados cmp dx,2 Es de 2? Sí, salta a CALCAR mov di,offset notas Apunta al texto con DI call SacaCadena Despliega aclaración jmp salir Fin del programa 5-4

5 Intenta abrir el archivo de entrada xor cx,cx Parámetro inicial call TraeUnPar Trae dirección de cadena del parámetro mov dx,di Apunta a nombre de archivo con DS:DX xor al,al Especifica sólo lectura int 21h Intenta abrir Brinca si lo abrió jmp errores Caso contrario, a trato de error : Comprueba si el archivo de salida mov [ArchEnt],ax Salva andel del archivo fuente mov cx,1 Parámetro secundario call TraeUnPar Trae dirección de cadena del parámetro mov dx,di Le apunta con DS:DX call ArchExiste Existe el archivo destino? No, brinca call SacaCadena Exhibe nombre del archivo call Confirma Previene y pide confirmar Salta si hay permiso jmp salir Si no, se sale Intenta crear el archivo @@50: mov cx,1 Trae parámetro secundario call TraeUnPar Trae su dirección mov dx,di La pone en DS:DX xor cx,cx Atributos normales mov ah,3ch Función de DOS para crear archivo int 21h Crea archivo de entrada Brinca si no hubo error jmp errores Sí, a tratamiento de error mov [ArchSal],ax Salva andel del archivo destino mov bx,[archent] Pone andel en BX mov ah,3fh Función de DOS para leer un archivo mov cx,256 Lee 256 bytes a lo más mov dx,offset Pagina Buffer de entrada en DS:DX int 21h Que DOS lea el archivo Brinca si no hubo error jmp errores 5-5

6 or ax,ax Verifica si llego al final jz Sí, brinca mov cx,ax Pone número de bytes a escribir mov ah,40h Función de DOS para escribir archivo mov bx,[archsal] Pone andel en BX mov dx,offset Pagina Apunta al buffer int 21h Intenta escribir Brinca si no hubo errores jmp errores or ax,ax Verifica si condición de disco lleno Lo exhibe maneja el caso especial de disco lleno mov di,offset DiscoLleno Apunta al mensaje call SacaCadena Lo exhibe procede a cerrar ambos Salir: mov bx,[archent] Cierra fuentes mov ah,3eh Función de DOS de cerrar archivo int 21h Cierra archivo mov bx,[archsal] Cierra destino mov ah,3eh Función de DOS de cerrar archivo int 21h Cierra archivo jnc salir Sale si no hubo errores jmp errores mov ah,4ch Función de DOS para terminar programa mov al,[clavefin] int 21h DOS termina el programa Aquí se manejan los errores de E/S, que causan que el programa acabe después de sacar un mensaje alusivo Errores: mov [ClaveFin],al Salva código de error call ErrDisco Exhibe tipo de error jmp salir 5-6

7 ArchExiste PRUEBA SI EL ARCHIVO DE SALIDA YA EXISTE Entrada: DS:DX apunta a cadena ASCIIZ con nombre de archivo Salida: CF = 0 si el archivo existe CF = 1 si no existe o hubo error de acceso Registros: AX, BC xor al,al mov ah,3dh Función de DOS para abrir archivo int 21h mov bx,ax mov ah,3eh Cierra archivo por precaución int 21h usando a DOS clc ArchExiste Confirma OBTIENE RESPUESTA SI/NO DEL USUARIO Entrada: Ninguna :Salida: ZF = 0 si usuario tecleó N o n ZF =1 si usuario tecleó S o s Registros: AX, CX (indirectamente), DI mov di,offset apronta Apunta a cadena aprontadora call SacaCadena Exhibe dicha cadena mov ah,1 Función de DOS para recibir int 21h Un carácter desde el teclado or al,20h Lo hace minúscula cmp al, s Recibió S o s? Si, brinca cmp al, n Recibió N o n? Si, brinca jmp Confirma Reintenta cmp Hace ZF = 0 5-7

8 Confirma END En este programa básicamente utilizamos los servicios 3DH, 3EH, 3FH y 40H de la interrupción 21h. Estos servicios corresponden a, respectivamente, abrir, cerrar, leer y escribir archivos Hacer ejecutable el programa anterior mediante los siguientes comandos: C:\TASM /zi CALCA C:\TLINK /v CALCA,,,REM Si no tiene el archivo TLINK, puede teclear: C:>LINK CALCA,,,REM 3.4. Correr el programa mediante: C:\CALCA Arch1.Ext Arch2.Ext 3.5. Ejecutar el siguiente paso y observar lo que pasa. C:\CALCA SONY.ASM SANYO.ASM 3.6. Capturar los procedimientos siguientes y formar el módulo DIRECL.ASM: %TITLE OBTIENE Y EXHIBE UN DIRECTORIO IDEAL DOSSEG MODEL small NomArch EQU 30 Sesgo para nombrar el archivo DATASEG Fila3 DB 0 Apunta a fila del cursor Col3 DB 0 Apunta a columna del cursor segdta DW Segmento de área de transferencia de datos segdta DB 43 DUP ( ),0 Tiene una entrada de directorio Blanky DB,0 Cadena con blancos 5-8

9 CPDESEG PUBLIC Direc De PARAMS.OBJ TraePar:proc,CuentaPar:proc,TraeUnPar:proc De CADENAS.OBJ y MANCADE.OBJ LargoCad:proc,SacaCadena:proc,NuevaLinea:proc De VIDEO.OBJ PanPoneCad:proc,PanirXY:proc Direc LISTA DIRECTORIO TIPO /W Entrada: DS:DI apunta a cadena especificadora Direc mov [Fila3].0 Cursor en el origen mov [Col3],0 mov bx,offset Accion Forma apuntador a rutina de acción call MotorDir Llama a la máquina Direc PUBLIC MotorDir MotorDir Entrada: Salida: Registros: MÁQUINA PARA EXAMINAR DIRECTORIO CS:DI = dirección de subrutina DS:DI = dirección de cadena ASCIIZ de búsqueda Rutina en CS:BX ejecutada para cada coincidencia AX, CX, DX + otro que usase rutina en CS:BX MotorDir push es Salva registros que usa la función push bx 2Fh de DOS mov ah,2fh Función para traer DTA int 1h con DOS mov [segdat],es Salva dirección de segmento mov [sesdta],bx y sesgo de DTA pop bx Restaura pop es 5-9

10 Fija un nuevo DTA en la variable global de 43 bytes DatosDir mov dx,offset DatosDir DS:DX apunta a la variable mov ah,1ah número de función para fijar DTA int 21h Examina directorio para hallar coincidencias con cadena mov ah,4eh Función de DOS para primera coincidencia mov cx,10h Atributo archivo + subdirectorios mov dx,di DS:DX apunta a cadena jmp Omite siguiente asignación a AH mov ah,4fh DOS busca siguientes coincidencias int 21h Busca 1ª /siguiente coincidencia Sale si error o acabó call bx llama a rutina de acción restaura DTA push ds Preserva DS actual mov ds,[segdta] Pone dirección anterior del DTA en mov dx,[sesdta] DS:DX mov ah,1ah Usa esta función otra vez int 21h pop ds ENDE MotorDir PUBLIC Accion Accion Entrada: Salida: Registros: EXHIBE LOS NOMBRES DE ARCHIVOS QUE COINCIDEN DatosDir = entrada del directorio (llenada por DOS) Despliega nombre de arch/subdirectorio AH, DL, CX, DI Accion push bx mov di,offset DatosDir+NomArch Apunta al nombre del archive mov si,di call LargoCad 5-10

11 push cx mov dl,[col3] Prepara posición del cursor mov dh,[fila3[ push dx Salva posición call PanPoneCad Usa rutina de exhibir pop dx Recupera posición del cursor pop cx Recobra lardo de cadena add dl,cl La suma a posición del cursor mov si,offset Blanky Apunta a cadena de espacios sub cx,16 Calcula cuántos blancos neg cx call PanPoneCad Pone espacios add [Col2],16 Actualiza columna cmp [Col3],80 Llegó al borde? No, brinca mov [Col3],0 Pone columna 0 inc [Fila3] Incrementa hilera pop bx ENDE Accion END Fin del módulo DIRECL.ASM 3.7. Ensamblar el módulo anterior y ponerlo en librería REM: C:\SEM386>tasm /zi direcl C:\SEM386>tlib rem -+ direcl 3.8. Capturar los procedimiento siguientes y ponerlos en módulo VIDEO.ASM. %TITLE RUTINAS DE SALIDA A PANTALLA DE vides MAPEADO A MEMORIA Usar siempre IniciaPan antes de emplear estas rutinas IDEAL DOSSEG MODEL small FilaMax EQU 25 Número máximo de filas exhibidas ColMax EQU 80 Número máximo de columnas exhibidas BaseMono EQU 0b000h Dirección de segmento de RAM para mono BaseNormal EQU 0b800h Para CGA y VGA Byte de atributo y máscaras para el AND RECORD ByteAtrib Dest:1,Fondo:3,Brillo:1,Frente:3 mascdest EQU MASK Dest Máscara para destello 5-11

12 mascfondo EQU MASK Fondo Máscara para color de fondo mascbrillo EQU MASK Brillo Máscara para intensidad mascfrente EQU MASK Frente Máscara para color de frente DATASEG Atributo ByteAtrib <0,0,7> Atributo por omisión BaseVid DW BaseNormal Dirección de RAM de video FilaPan: arreglo de sesgos (desde BaseVid) en RAM de video BytesPorFila = ColMax*2 Fila = 0 LABEL FilaPan Word REPT FilaMax DW (Fila*BytesPorFila) Fila = Fila+1 ENDM CODESEG PUBLIC PanlrXY, PanLeeXY, PanPoneCar, PanPoneCad, PanLimpRect PoneDirVid PREPARA DIRECCIONAMIENTO A RAM DE VIDEO Entrada: DH = fila (la línea superior es 0) DL = columna (extremo izquierdo es 0) Salida: ES:DI = dirección de RAM de video NOTA: DH y DL no son verificados Registros: BX, DX, DI, ES, rutina privada para PanPoneCar, PanPoneCad PoneDirVid mov es,[basevid] ES = dirección de segmento de video xor bh,bh BH = 0 mov bl,dh BL = fila shl bx,1 Multiplica fila por 2 mov di,[filapan+bx] DI = dirección para buffer de fila push ax mov ah,15 Trae página active en BH int 10h xor bl,bl Página * 4096 shl bx,1 shl bx,1 shl bx,1 add di,bx pop ax xor dh,dh Columna a palabra de 16 bits shl dx,1 Multiplica columna por 2 add di,dx Suma sesgo de columna al de fila 5-12

13 PanlrXY Entrada: Salida: Registros: PoneDirVid FIJA LA POSICIÓN DEL CURSOR DH = fila (0, la de arriba) DL = columna (0, la primera El cursor se reposiciona en la página actual Ninguno PanlrXY push ax Salva registros usados push bx mov ah,15 Pone número de página de BH int 10h Usando el BIOS mov ah,2 Función del BIOS para fijar int 10h el cursor pop bx pop ax PanLeeXY Entrada: Salida: Registros: PanlrXY OBTIENE LA POSICIÓN DEL CURSOR Ninguna DH = fila (24, la inferior) DL = columna (79, la última) DX PanLeeXY push ax Salva lo que usa push bx push cx mov ah,15 Trae página de video a BH int 10h Con servicio a video del BIOS mov ah,3 Función del BIOS para leer int 10h La posición del cursor pop cx Repone todo pop bx pop ax PanLeeXY 5-13

14 PanPoneCar COLOCA UN CARÁCTER EN LA PANTALLA Entrada: AL = ASCII del carácter a desplegar DH = fila, DL = columna Salida: Carácter en AL es exhibido en la pantalla Registros: AX, BX, DX, DI no revisa a DH ni a DL PanPoneCar push es Salva registro de segmento ES call PoneDirVid Prepara ES:DI mov ah,[atributo] Atributo en AH stosw Exhibe atributo y carácter popes Recobra ES PanPoneCar PanPoneCad COLOCA UNA CADENA EN LA PANTALLA Entrada: CX = número de caracteres a escribir DX = fila, DL = columna (no verifica valores) DS:DI = dirección de la cadena Salida: Exhibe la cadena en la pantalla Registros: AX, BX, CX, DX, DI, SI push es Salva ES call PoneDirVid Prepara ES:DI mov ah,[atributo] Atributo en AH cld lodsb Pone siguiente carácter en AL stosw Exhibe atributo y carácter Ajusta contador CX pop es Repone PanPoneCad PanLimpRect LIMPIA ÁREA RECTANGULAR EN LA PANTALLA Entrada: CH, CL = fila, columna de esquina superior izquierda DH, DL = fila, columna de esquina inferior derecha Salida: Se limpia el rectángulo definido Registros: AX, BX PanLimpRect push bx 5-14

15 mov ah,6 Función del BIOS par enrollar mov al,0 Que limpie la ventana mov bh,[atributo] Atributo a usar en BH int 10h Usa servicio del BIOS IniciaPan Entrada: Salida: Registros: PanLimpRect INICIA EL PAQUETE DE VIDEO Ninguna BaseVid es inicializado Ninguno push ax Salva registros push bx mov ah,15 Función del BIOS para int 10h traer módulo de video en AL cmp al,7 Monocromático? No, brinca mov [BaseVid], BaseMono Asigna segmento para monocolor pop bx Recupera pop ax Regresa IniciaPan 3.9. Ensamblar el módulo anterior y ponerlo en librería REM: C:\SEM386>tasm /zi video C.\SEM386>tlib rem -+ video Capturar el siguiente programa y salvar en archivo DIREC.ASM %TITLE OBTIENE Y EXHIBE UN DIRECTORIO IDEAL DOSSEG MODEL small SNACK 256 NomArch EQU 30 Sesgo para nombre de archivo DATASEG 5-15

16 ClaveFin DB 0 Omision DB *.*,0 Cadena ASCIIZ por omisión segdta:word Segmento área de transferencia de datos sesdta:word Sesgo de área de transferencia DatosDir:byte Tiene una entrada de directorio CODESEG De DIRECL.OBJ MotorDir:proc,Accion:proc De PARAMS.OBJ TraePar:proc,CuentaPar:proc,TraeUnPar:proc De CADENAS.OBJ y MANCADE.OBJ LargoCad:proc,SacaCadena:proc,NuevaLinea:proc Salir: mov ax,@data AX = segmento de datos mov es,ax ES apunta a dicho segmento call TraePar Con DS = PSP, barre línea de comando call NuevaLinea Una línea abajo call CuentaPar Trae número de parámetros mov di,offset Omision Apunta a cadena de búsqueda inicial or dx,dx número de parámetros es cero? Si, brinca xor cx,cx Trae dirección de primer parámetro call TraeUnpar mov bx,offset Accion Apunta a subrutina de acción call MotorDir Barre entradas del directorio call NuevaLinea Deja espacio en pantalla mov ah,4ch Pide a DOS salir mov al,[clavefin] int 21h END Inicia Fin de módulo DIREC.ASM Ensamblar y ligar el programa DIREC mediante: C:\SEM386>tasm /zi direc 5-16

17 C:\SEM386>tlink direc,,,rem Ejecutar el programa mediante: C:\SEM386>direc Y C:\SEM386>direc *.exe 4. TAREAS 4.1. Cuando solamente se oprima CALCA, hacer que se escuche la melodía FANFA y avisar que necesita dos nombres de archivo en línea de comandos Hacer el programa FILTRO.ASM que lee un archivo y escribe otro que hace mayúsculas a todas las letras minúsculas del archivo fuente Hacer que el programa sea más autónomo en cuanto al tratamiento de errores de acceso a archivos. En particular, que pregunte al usuario si reintenta el acceso cuando no pueda acceder al archivo fuente Corregir los detalles del programa DIREC.ASM EJEMPLO DE CORRIDA DE DIREC: ABCD.ASM BINHEX.ASM CPU.ASM DIREC.ASM EXA1.ASM GRAFICOS.ASM MBIN.ASM PUNTO.ASM TASC.ASM VID-DEMO.ASM PUSEM4.ASM LINVGA.ASM DIRE.ASM ABIN.ASM CADENAS.ASM CRONO.ASM DISK.ASM EXHSEC.ASM HOLA10ASM PAG4.ASM REPARA.ASM TASCII.ASM VIDEO.ASM PUSEM5.ASM HOLA2.ASM ROJA.ASM ASINC.ASM CAJAS.ASM CRONOL.ASM EDITOR.ASM FANFA.ASM KBD.ASM PANTALLA.ASM SHELL.ASM TECLADO.ASM HELLO3.ASM PUSEM1.ASM INSTR1.ASM ALERTA.ASM BCD.ASM CALCA.ASM CUADRO.ASM EQUIPO.ASM FANTA.ASM MACDOS.ASM PARAMS.ASM SONIDOS.ASM TECLAS.ASM PUSEM3.ASM RES.ASM HOLA3.ASM DIRECL.ASM BINASC.ASM CONVI.ASM CURSOR.ASM ERRDISCO.ASM FECHESP.ASM MANCADE.ASM PARCHE.ASM STRAUSS.ASM TRM.ASM PUSEM2.ASM VGAGRAF.ASM RATON.ASM PONECAD.ASM C:\SEM386>DIREC *.ASM C:\SEM

18 Nombre de archivo: practica 5 ensamblador Directorio: C:\Computacion V\practicas Plantilla: C:\WINDOWS\Application Data\Microsoft\Plantillas\Normal.dot Título: PRÁCTICA 5 Asunto: Prácticas de laboratorio de Computación V Autor: M. en C. Salvador Saucedo Flores Palabras clave: Comentarios: Fecha de creación: 10/07/02 06:27 P.M. Cambio número: 31 Guardado el: 23/07/02 11:51 A.M. Guardado por: Pablo Fuentes Ramos Tiempo de edición: 875 minutos Impreso el: 30/07/02 10:05 A.M. Última impresión completa Número de páginas: 17 Número de palabras: 2,580 (aprox.) Número de caracteres: 14,711 (aprox.)

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 16 PRÁCTICA 16

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 16 PRÁCTICA 16 PRÁCTICA 16 PROGRAMA RESIDENTE QUE PUEDE USAR FUNCIONES DE DOS PARA CAPTURAR LA SALIDA A IMPRESORA 1. INTRODUCCIÓN La práctica está dedicada a ilustrar el método para hacer programas residentes en memoria

Más detalles

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

LENGUAJE ENSAMBLADOR 80386 PRÁCTICA 11 PRÁCTICA 11 CUATRO OPERACIONES FUNDAMENTALES EN NÚMEROS DE 8 BYTES PRÁCTICA 11 SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS ENTEROS POSITIVOS DE HASTA 20 DÍGITOS DECIMALES 1. INTRODUCCIÓN Mediante esta práctica, trabajaremos con números binarios de hasta veinte

Más detalles

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

LENGUAJE ENSAMBLADOR PRÁCTICA 1 PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA PRÁCTICA 1 PROGRAMA PARA EXHIBIR EN PANTALLA EL CÓDIGO DE BARRIDO DE LA TECLA OPRIMIDA 1. INTRODUCCIÓN Mediante el desarrollo de esta práctica se realizará un programa que exhiba en pantalla el código

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

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

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52 3DUWHGH(QVDPEODGRU 4º) Escribir un programa en ensamblador que pida un número de una cifra por teclado y saque como resultado

Más detalles

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

Práctica 4. Lenguaje máquina y lenguaje ensamblador Enunciados de prácticas Práctica 4. Lenguaje máquina y lenguaje ensamblador Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica

Más detalles

Arquitectura de Computadores II 8086 Parte II

Arquitectura de Computadores II 8086 Parte II 8086 Parte II Facultad de Ingeniería Universidad de la República Instituto de Computación Contenido Funciones recursivas Manejadores de dispositivos Rutinas recursivas(1/10) Introducción Salvar contexto.

Más detalles

PRÁCTICA 2 CONVERSIÓN DE UN NÚMERO DECIMAL A BINARIO Y HEXADECIMAL Y VICEVERSA 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO

PRÁCTICA 2 CONVERSIÓN DE UN NÚMERO DECIMAL A BINARIO Y HEXADECIMAL Y VICEVERSA 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO PRÁCTICA 2 CONVRSIÓN D UN NÚMRO DCIMAL A BINARIO Y HXADCIMAL Y VICVRSA 1. INTRODUCCIÓN n esta práctica convertiremos un número decimal, introducido por el teclado, a binario y hexadecimal y viceversa.

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 5.5 A 7.2 P1. Escribir una rutina de ensamblador que se quede

Más detalles

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

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]

Más detalles

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

P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: Problemas P1.- Para facilitar la tarea, suponemos definido en el segmento de datos lo siguiente: ascii DB 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 7_segm DB 3fh,06h,,71h el núcleo del código sería: mov dl, al lea

Más detalles

Práctica 2. Registros y posiciones de memoria

Práctica 2. Registros y posiciones de memoria Enunciados de prácticas Práctica 2. Registros y posiciones de memoria Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Práctica 2:

Más detalles

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

Iniciación del mouse El servicio utilizado es el 00, este servicio inicializa el controlador del mouse como sigue: Esta es una interrupción de DOS y ayuda a controlar el uso del mouse. Se puede establecer el uso del ratón en modo texto y en modo gráfico. Para hacer uso del mouse se debe establecer el modo de video,

Más detalles

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

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA IMPLEMENTACIÓN DE UN DRIVER DOS INTERFAZ CON UN SISTEMA DE RADIO

Más detalles

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

Intel 8086 modelo básico (primera parte) Registros: Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20

Más detalles

Tema 5: La pila, las macros y los procedimientos

Tema 5: La pila, las macros y los procedimientos Tema 5: La pila, las macros y los procedimientos S La pila S Las macros S Definición de procedimientos S Tipos de procedimientos: NEAR y FAR S Paso de parámetros a un procedimiento S Mediante registros

Más detalles

[etiqueta:] REP MOVSn

[etiqueta:] REP MOVSn INSTRUCCIONES DE CADENA Instrucción MOVSn MOVS mueve un byte, palabra o palabra doble desde una localidad en memoria a otra. Se carga la dirección de los operandos en los registros DI (Apuntador a la cadena

Más detalles

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

Tema 2. Presentación de datos por pantalla. La ROM-BIOS Tema 2. Presentación de datos por pantalla. La ROM-BIOS Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Tema 2: Presentación

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

Asignatura: ASSEMBLER INF-153 LABORATORIO 1

Asignatura: ASSEMBLER INF-153 LABORATORIO 1 UNIVERSIDAD MAYOR DE SÁN ANDRES FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA Asignatura: ASSEMBLER INF-153 LABORATORIO 1 Catedrático: Ms.C. Carlos Mullisaca Choque 12 de agosto de 2009

Más detalles

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

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales

Más detalles

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes:

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes: USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese que los registros

Más detalles

Trabajo Práctico Nro 3: Assembler

Trabajo Práctico Nro 3: Assembler Año 28 Banderas Nombre Estado = Estado = 1 Desbordamiento: Indica cuando el resultado de una operación con NV-No hubo OV-Desborde signo a excedido la capacidad del up. desborde Dirección: Controla la selección

Más detalles

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

2 de septiembre de 2010 Hoja: 1 / 10. Solamente existe una opción válida en las preguntas de respuesta múltiple. 2 de septiembre de 2 Hoja: / Normas del examen: Solamente existe una opción válida en las preguntas de respuesta múltiple. No se podrá emplear documentación adicional a la del examen. No se podrá emplear

Más detalles

Introducción al ensamblador 80x86

Introducción al ensamblador 80x86 Introducción al ensamblador 80x86 Por: Sadot Alexandres Fernández Colaboran: Carlos Rodríguez Morcillo, Javier Goyanes. Departamento de Electrónica y Automática Escuela Técnica Superior de Ingeniería Universidad

Más detalles

Instrucción De Salto Incondicional

Instrucción De Salto Incondicional INSTRUCCIONES DE CONTROL DE FLUJO Los programas que se han desarrollado hasta ahora se ejecutan en forma secuencial, esto es, el programa inicia su ejecución con la primera instrucción y continúa de arriba

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Enunciados de problemas Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Tema 4: Hoja: 2 / 28 Tema 4: Hoja: 3 / 28 Base

Más detalles

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

Buses y Periféricos 2006/2007 Práctica 3. Ensamblador Calculadora Descripción El objetivo de esta práctica es utilizar las interrupciones de BIOS y MSDOS para presentar una pequeña calculadora en pantalla. Se pretende programar una calculadora que opere en

Más detalles

INTRODUCCIÓN. Interrupciones.

INTRODUCCIÓN. Interrupciones. Interrupciones. INTRODUCCIÓN Una interrupción es la ocurrencia de un evento o condición la cuál causa una suspensión temporal del programa mientras la condición es atendida por otro subprograma. Una interrupción

Más detalles

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

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL SAN NICOLÁS INGENIERIA EN ELECTRÓNICA TÉCNICAS DIGITALES III TRABAJO PRÁCTICO N 3 ENLACE DE RUTINAS DE ASSEMBLER EN UN LEGUAJE DE ALTO NIVEL COMO C AÑO

Más detalles

Tema 5.1: Presentación de datos en pantalla

Tema 5.1: Presentación de datos en pantalla Tema 5.1: Presentación de datos en pantalla El registro de flags del i8086 Instrucciones de transferencia Instrucciones de transferencia de control Instrucciones aritméticas: comparación Representación

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática Escuela Politécnica Superior UAM COLECCIÓN DE PROBLEMAS DE LOS TEMAS 2.7 A 5.4 P1. Si SP=0006h y FLAGS=0210h al inicio de la ejecución

Más detalles

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR 85 MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR El módulo III está conformado por las unidades 7 y 8. El estudio de estas unidades, permite desarrollar en el estudiante las competencias necesarias en la

Más detalles

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

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005 Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento

Más detalles

EJEMPLOS EN ENSAMBLADOR

EJEMPLOS EN ENSAMBLADOR EJEMPLOS EN ENSAMBLADOR Introducción El lenguaje ensamblador como cualquier lenguaje de programación es un conjunto de palabras que le indican al ordenador lo que tiene que hacer. Sin embargo la diferencia

Más detalles

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001

Intel 8086. Arquitectura. Programación en Ensamblador Ing. Marcelo Tosini - 2001 Intel 8086 Arquitectura Características generales Procesador de 16 bits Bus de direcciones de 20 bits : 1 Mbyte Bus de datos interno de 16 bits Bus de datos externo de 16 bits en el 8086 8 bits en el 8088

Más detalles

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

Parámetro de entrada. Un parámetro pasado del procedimiento que hace la llamada al procedimiento invocado. CAPITULO 12 PROCEDIMIENTOS En el capítulo 6, aprendiste como utilizar un programa con procedimientos, en este capítulo aprenderás a usar las directivas e instrucciones que definen y llamas procedimientos.

Más detalles

Tema 5. Presentación de datos por pantalla

Tema 5. Presentación de datos por pantalla Tema 5. Presentación de datos por pantalla Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 24 Índice El registro de flags del i8086

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 13 PRÁCTICA 13

LENGUAJE ENSAMBLADOR PRÁCTICA 13 PRÁCTICA 13 PRÁCTICA 13 SUMA, RESTA, MULTIPLICACIÓN Y DIVISIÓN DE DOS NÚMEROS REALES DE PUNTO FLOTANTE DE PRECISIÓN SENCILLA, SEGÚN NORMA IEEE-754 1 INTRODUCCIÓN Mediante esta práctica trabajaremos con números reales

Más detalles

Instrucciones de Control de Flujo y Usos de la Pila

Instrucciones de Control de Flujo y Usos de la Pila 1 Instrucciones de Control de Flujo y Usos de la Pila Objetivos Generales Facultad: Estudios Tecnologicos. Escuela: Electrónica Asignatura: Microprocesadores Analizar la forma en que se ejecutan algunas

Más detalles

Operaciones para Pantalla II

Operaciones para Pantalla II Operaciones para Pantalla II Posicionamiento del cursor Utilizado en modo texto, el modo grafico no permite el uso del cursor. La interrupción para lograr esta función,es la H del BIOS, servicio 02. Descripción

Más detalles

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

Ingeniería en Sistemas. Sistemas Operativos. Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Sistemas Operativos Trabajo Práctico: Repaso de Interrupciones, direccionamiento de memoria y registros del procesador. Modalidad: Obligatorio. Objetivos: Abordar la materia Sistemas Operativos desde el

Más detalles

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

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

Práctica 3: El teclado del PC

Práctica 3: El teclado del PC Práctica 3: El teclado del PC Gustavo Romero López Arquitectura y Tecnología de Computadores 7 de junio de 2016 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar

Más detalles

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

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO 16.1 INTRODUCCIÓN: El teclado se comunica con la BIOS a través de puertos de comunicación controlados por las interrupciones de la

Más detalles

Introducción al NASM. Convenciones de colores

Introducción al NASM. Convenciones de colores Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C. 1 Convenciones de colores Rojo= Directivas propias del nasm sin traducción directa a ensamblador Morado= Directivas del ensamblador En

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

Más detalles

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

Ciclos de máquina. Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Ciclos de máquina Otro ejemplo: decremento de un registro par (donde rp = HL, DE, BC, SP) DCX rp Acceso a periféricos: función del pin IO/M Este μp cuenta con dos instrucciones específicas para I/O, llamadas

Más detalles

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

Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado. Sobre cómo dividir un programa ensamblador x86 (modo Real) en módulos compilables por separado. Fuente de la información de partida para este documento: http://homepage.mac.com/eravila/asmix86.html PRIMERO

Más detalles

DIRECTIVAS DEL ASM86

DIRECTIVAS DEL ASM86 DIRECTIVAS DEL ASM86 Directiva SEGMENT / ENDS nombre SEGMENT [alineación] [combinación] [nombre_clase] PARA PUBLIC BYTE COMMON WORD STACK PAGE MEMORY INPAGE AT nombre ENDS Se usa para definir un segmento

Más detalles

Desarrollo de Programas Residentes en base a un TSR genérico

Desarrollo de Programas Residentes en base a un TSR genérico Desarrollo de Programas Residentes en base a un TSR genérico Ing. Eduardo Vega Alvarado Jefe del Departamento de Laboratorios Ligeros del CINTEC-IPN E l presente artículo inicia una serie de trabajos sobre

Más detalles

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

Apéndice complementario a la práctica 6 Periféricos Avanzados. EL - DISCO Apéndice complementario a la práctica 6 Periféricos Avanzados. EL - DISCO LOS DISCOS. ESTRUCTURA FISICA. Los discos son el principal medio de almacenamiento externo de los ordenadores compatibles. Pueden

Más detalles

EL EMU8086 Y EL MICROPROCESADOR 8086.

EL EMU8086 Y EL MICROPROCESADOR 8086. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). EL EMU8086 Y EL MICROPROCESADOR 8086. Objetivos específicos

Más detalles

LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR

LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR LENGUAJE ENSAMBLADOR DEL MICROPROCESADOR. Registros Internos del Microprocesador 2. Conjunto de Instrucciones (Microprocesadores 886/888) 2. Instrucciones de Transferencia de Datos 2.2 Instrucciones de

Más detalles

Práctica Nº 4 Entorno de Programación

Práctica Nº 4 Entorno de Programación REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DE LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA DEP. DE ING. ELECTRÓNICA LABORATORIO DE ARQUITECTURA DEL COMPUTADOR Objetivos:

Más detalles

SISTEMAS BASADOS EN MICROPROCESADORES

SISTEMAS BASADOS EN MICROPROCESADORES SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática ENUNCIADO PROBLEMA 1 A continuación se incluye el código de una aplicación formada por un programa principal escrito en lenguaje C,

Más detalles

APENDICE B Ensamblador IASM11/Simulador AVSIM11

APENDICE B Ensamblador IASM11/Simulador AVSIM11 APENDICE B Ensamblador IASM11/Simulador AVSIM11 El programa ensamblador IASM11, es una herramienta que permitirá editar y ensamblar programas para el microcontrolador HC11. Este programa corre bajo la

Más detalles

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

Objetivo. Introducción. Tema: GENERACION DE CODIGO. Compiladores, Guía 11 1 Compiladores, Guía 11 1 Tema: GENERACION DE CODIGO. Facultad : Ingeniería Escuela :Computación Asignatura:Compiladores Objetivo Reconocer las diferentes instrucciones para la generación de código.ensamblador

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Tema 4. Lenguaje máquina y lenguaje ensamblador Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 47 Índice Introducción Juego de instrucciones Estructura

Más detalles

PROCEDIMIENTO PARA GENERAR LOS REQUERIMIENTOS DE SELLOS DIGITALES

PROCEDIMIENTO PARA GENERAR LOS REQUERIMIENTOS DE SELLOS DIGITALES PROCEDIMIENTO PARA GENERAR LOS REQUERIMIENTOS DE SELLOS DIGITALES 1. Requerimiento de Sellos El Usuario que desee realizar una Solicitud de Sello Digital debe ingresar a la siguiente dirección Web y descargar

Más detalles

Manual de Programación X86 sobre plataforma FPGA.

Manual de Programación X86 sobre plataforma FPGA. Instituto Tecnológico de Costa Rica. Escuela de Ingeniería Electrónica. Manual de Programación X86 sobre plataforma FPGA. Programas Básicos IA32 en Computador Específico. Realizado por: Kervin Sánchez

Más detalles

Alternativas de programación

Alternativas de programación Alternativas de programación Enteramente en bajo nivel programa completo librería rutina particular Embebido en alto nivel rutinas librería 1 Alternativas de programación Enteramente en bajo nivel programa

Más detalles

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

Este grupo es una continuación del anterior, incluye las siguientes instrucciones: CONJUNTO DE INSTRUCCIONES (Microprocesadores 8086/8088) Se pueden clasificar en los siguientes grupos: Instrucciones de Transferencia de Datos. Estas instrucciones mueven datos de una parte a otra del

Más detalles

Resumen de las instrucciones del 8086/8088

Resumen de las instrucciones del 8086/8088 Resumen de las instrucciones del 8086/8088 En este capítulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas más detalladamente en otro capítulo. Se puede

Más detalles

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

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X Se envía a través de una conexión RS232 8N1 de 9600 baudios una trama de datos que debe ser recibida por una PC. La trama tiene el siguiente formato : * N N X X X X X X X X X X X X X X X X X X X X Donde:

Más detalles

Práctica 1: Sencillo Juego en Ensamblador

Práctica 1: Sencillo Juego en Ensamblador Práctica 1: Sencillo Juego en Ensamblador El objetivo de esta práctica es aprender a programar usando el ensamblador 8086 y, en particular, aprender a utilizar las interrupciones de la BIOS y de MSDOS

Más detalles

MANEJO DEL MOUSE EN LENGUAJE C++

MANEJO DEL MOUSE EN LENGUAJE C++ MANEJO DEL MOUSE EN LENGUAJE C++ Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo Reforma Sur 2007, C.P. 88250, Nuevo Laredo, Tamps. México http://www.itnuevolaredo.edu.mx/takeyas E-mail: takeyas@itnuevolaredo.edu.mx

Más detalles

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas. Contenido Sistema de archivos Operaciones sobre archivos Métodos de acceso a archivos Directorio Sistema de archivos por capas Espacio libre Sistema de archivos Proporciona el mecanismo para el almacenamiento

Más detalles

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086

REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 REPERTORIO DE INSTRUCCIONES DEL MICROPROCESADOR 8086 INSTRUCCIONES DE TRANSFERENCIA: NINGUNA INSTRUCCIÓN DE TRANSFERENCIA AFECTA AL REGISTRO DE ESTADO (SALVO LAS EXPLÍCITAS CON EL REGISTRO DE ESTADO) A)

Más detalles

Apellidos Nombre DNI

Apellidos Nombre DNI A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de

Más detalles

Macro posicionado de cursor PAMCUR

Macro posicionado de cursor PAMCUR ESTRUCTURA DE COMPUTADORES I (Programas de ejemplo pantalla alfanumérico) 1 Macro posicionado de cursor PAMCUR ;Macro para posicionar el cursor en la página que yo le indique, si la fila o columna indicadas

Más detalles

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086

MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 MANUAL DE PROGRAMACIÓN EN ENSAMBLADOR 8086 ALUMNO: SANTIAGO SÁNCHEZ GONZÁLEZ TITULACIÓN: I.T.I. SISTEMAS ARQUITECTURA DE COMPUTADORES I ÍNDICE: PÁGINA Introducción al ensamblador...2 Procesos para la creación

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Nombre del módulo: Instalación de Sistemas Microprocesados. Guía sobre Programación en Ensamblador usando Emulador (emu8086)

Nombre del módulo: Instalación de Sistemas Microprocesados. Guía sobre Programación en Ensamblador usando Emulador (emu8086) Nombre del Plantel: Conalep Tehuacán 150 Nombre del módulo: Instalación de Sistemas Microprocesados Guía sobre Programación en Ensamblador usando Emulador (emu8086) Ing. Jonathan Quiroga Tinoco Grupo:

Más detalles

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las

Más detalles

CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC

CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC 66 CAPÍTULO 3 PROGRAMACIÓN EN AMBIENTE DE PC 3.1 EL SISTEMA OPERATIVO El sistema operativo (SO) provee el ambiente para que otros programas se ejecuten. En las computadoras que tienen múltiples usuarios,

Más detalles

TAREA 1 ARITMETICA PARA BCD Y ASCII.

TAREA 1 ARITMETICA PARA BCD Y ASCII. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. TAREA 1 ARITMETICA PARA BCD Y ASCII. Objetivos específicos Conocer el manejo de los caracteres ASCII para la presentación en

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

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

ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS ESTRUCTURA DE COMPUTADORES I (Capítulo 14: DIRECTIVAS) 1/32 14-DIRECTIVAS 14.1 INTRODUCCIÓN: Las directivas o pseudooperaciones se pueden dividir en cuatro grupos funcionales:! Directivas de datos.! Directivas

Más detalles

Ejemplo del uso de las subrutinas

Ejemplo del uso de las subrutinas Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays

Más detalles

Introducción a la Programación en Lenguaje Ensamblador.

Introducción a la Programación en Lenguaje Ensamblador. CAPITULO 5 Introducción a la Programación en Lenguaje Ensamblador. 5.1. INTRODUCCION Se entiende por modelo de programación al conjunto de registros accesibles por el usuario que junto al set de instrucciones

Más detalles

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

Tema 3: ASCII y operaciones de desplazamiento y lógicas Tema 3: ASCII y operaciones de desplazamiento y lógicas S Representación de cadenas de caracteres (alfanuméricas) S Operaciones de desplazamiento S Desplazamientos lógicos S Desplazamientos aritméticos

Más detalles

El microprocesador de 16 bits 8086

El microprocesador de 16 bits 8086 INTRODUCCIÓN El microprocesador de 16 bits 8086 En 1978 Intel sacó al mercado el 8086, con un bus de datos de 16 bits y capaz de direccionar hasta 1 Mb de memoria. La importancia del 8086 se debe a que

Más detalles

Tema 4: Lenguaje máquina - Lenguaje ensamblador

Tema 4: Lenguaje máquina - Lenguaje ensamblador Tema 4: Lenguaje máquina - Lenguaje ensamblador S Introducción S Modos de direccionamiento: S Juego de instrucciones: S Direccionamiento inmediato S Instrucciones de transferencia S Direccionamiento directo

Más detalles

Comandos básicos MS-DOS

Comandos básicos MS-DOS Comandos básicos MS-DOS Inicio Para iniciar DOS en Windows XP, hay que irse al botón de Inicio, Ejecutar y poner cmd. Se abrirá una ventana de DOS en la que se probarán todas las opciones de los comandos

Más detalles

OpenOffice.org Calc MANUAL CALC 1.INTRODUCCIÓN... 2 2. ENTORNO... 3 1.1 BARRAS DE MENÚ... 3 1.2 PERSONALIZACIÓN DE BARRAS... 4

OpenOffice.org Calc MANUAL CALC 1.INTRODUCCIÓN... 2 2. ENTORNO... 3 1.1 BARRAS DE MENÚ... 3 1.2 PERSONALIZACIÓN DE BARRAS... 4 MANUAL CALC Índice de contenido 1.INTRODUCCIÓN... 2 2. ENTORNO... 3 1.1 BARRAS DE MENÚ... 3 1.2 PERSONALIZACIÓN DE BARRAS... 4 3. MANEJO DE DOCUMENTOS... 5 2.1 ABRIR DOCUMENTOS... 5 2.2 GUARDAR DOCUMENTOS

Más detalles

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

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

UNIVERSIDAD NACIONAL DE PIURA INFORME FINAL TRABAJO DE INVESTIGACION

UNIVERSIDAD NACIONAL DE PIURA INFORME FINAL TRABAJO DE INVESTIGACION UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERIA INDUSTRIAL INFORME FINAL TRABAJO DE INVESTIGACION ANALISIS DE LOS DISPOSITIVOS DE ARRANQUE DE LA PC RESPONSABLE : DEPARTAMENTO ACADEMICO DE INFORMATICA

Más detalles

TEMA 2 WINDOWS XP Lección 3 PROGRAMA WORDPAD

TEMA 2 WINDOWS XP Lección 3 PROGRAMA WORDPAD TEMA 2 WINDOWS XP Lección 3 PROGRAMA WORDPAD 1) TRATAMIENTO DE TEXTOS Uno de los programas accesorios más útiles entre los que vienen con Windows XP es WordPad: un tratamiento de textos pequeño, pero potente,

Más detalles

INSTRUCCIONES ARITMÉTICAS.

INSTRUCCIONES ARITMÉTICAS. Microprocesadores. Guía 4 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). INSTRUCCIONES ARITMÉTICAS. Objetivos

Más detalles

Guía de uso del programa AVR-Studio

Guía de uso del programa AVR-Studio Guía de uso del programa AVR-Studio El entorno de desarrollo AVR-STUDIO nos permite cargar, ensamblar y depurar los programas que escribimos en lenguaje ensamblador. Los pasos para crear un proyecto nuevo

Más detalles

Introducción Mic i ro r s o of o t t W or o d r

Introducción Mic i ro r s o of o t t W or o d r Introducción Microsoft Word Qué es el Microsoft Word? Word es uno de los procesadores de texto, más utilizados para trabajar con documentos en la actualidad. Casi no existe persona con computadora, que

Más detalles

UNIDAD III PROCESADOR DE TEXTO WORD.

UNIDAD III PROCESADOR DE TEXTO WORD. UNIDAD III PROCESADOR DE TEXTO WORD. 3.1 Introducción. Hace algunos años, para crear documentos de texto se debía ser todo un experto de la industria editorial o de las artes gráficas, ya que las máquinas

Más detalles

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32

Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Aprendiendo Sistemas Operativos: Programación de Procesadores de Arquitectura IA-32 Este documento forma parte de la serie Aprendiendo Sistemas Operativos y sirve como una introducción a los aspectos básicos

Más detalles

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

Digital II Documentación de las instrucciones INdg2, OUTdg2 y de los dispositivos mapeados en el espacio de E/S Digital II Documentación de las instrucciones INdg2, OUTdg2 y de los dispositivos mapeados en el espacio de E/S Departamento de Sistemas e Informática Escuela de Electrónica Facultad de Ciencias Exactas

Más detalles

8.4. El software en los μprocesadores

8.4. El software en los μprocesadores 8.4. El software en los μprocesadores Ejemplo de comandos de la CPU: Tarea: Sumar dos números A y B. Suponer los datos A y B almacenados en las posiciones 1000 2 y 1010 2 respectivamente. El resultado

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Relación de Problemas I

Relación de Problemas I Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros

Más detalles

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

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. PRÁCTICA #9 EL RATÓN DE UNA COMPUTADORA LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. PRÁCTICA #9 EL RATÓN DE UNA COMPUTADORA OBJETIVO DE LA PRÁCTICA Conocer y emplear el ratón de una computadora,

Más detalles