LENGUAJE ENSAMBLADOR PRÁCTICA 10 PRÁCTICA 10

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

Download "LENGUAJE ENSAMBLADOR PRÁCTICA 10 PRÁCTICA 10"

Transcripción

1 PRÁCTICA 10 USO DE MENÚS PARA MODIFICAR ARCHIVOS DE CONFIGURACIÓN 1 INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el uso de menús, para modificar archivos de configuración. La implementación de diferentes rutinas para salvar, hacer y recuperar ventanas. 2 OBJETIVOS 2.1 El alumno aprenderá a usar rutinas que permiten salvar una ventana, o crearla o recuperarla 2.2 Aprenderá a alternar archivos, usando menús, que contengan parámetros de operación de un programa, que esté en el momento de su ejecución. 2.3 Aprenderá a crear y ensamblar un programa residente que salve el contenido de una pantalla en modo alfanumérico de video. 3. DESARROLLO 3.1 Capturar y ensamblar el siguiente módulo con el nombre VENTANA.ASM. %TITLE RUTINAS PARA VENTANAS Y MENÚS IDEAL MODEL small rc EQU 13 ASCII del orno de carro nl EQU 10 ASCII de nueva línea DATASEG PUBLIC color,colornormal ancho db 0 ancho de la ventana alto db 0 altura de la misma SupIzq dw 0 coordenadas de vértice superior izquierdo InfDer dw 0 ídem para vértice superior derecho resto dw 0 La estructura de datos se construye con la siguiente información número de elementos, columna, renglón, tamaño de los elementos elemento inicial, cadena con complementos,

2 MenuLetras db 4,14,14,1,1, A\E\I\M\,0 No. Elementos, col, ren, long, ítems color db 0 ColorNormal db 1fh ColorGets db 2eh Nitems db 0 PalabraCfg db 0 seleccion db 0 ColorSelec db 30 CODESEG De CADENA.OBL EXTRN SacaCadena:proc,LeeCadena:proc De Cursor EXTRN De Pag4 EXTRN PUBLIC Cursi:near,CursorDer:near BorraPan:near SalvaVentana,HaceVentana,DespMenu,menú,RecupVentana %NEWPAGE EscrCarX EXHIBE UN CARÁCTER Y SU ATRIBUTO DE COLOR USANDO EL BIOS Entrada: AL con el ASCII del carácter a exhibir variable color con el byte de atributo Salida: Ninguna (sólo exhibe en página 0) Registros: Ninguno PROC EscrCarX push ax bx cx salva registros mov ah,9 llamada para imprimir carácter/atributo mov bh,0 Asigna página 0 mov cx,1 escribe solamente un carácter mov bl,[color] trae color int 10h escribe el carácter y el atributo callcursorder pop cx bx ax recobra registros ENDP EscrCarX ahora mueve el cursor a la siguiente posición Espera Entrada: :Salida: Registros: RUTINA QUE ESPERA A QUE SE OPRIMA UNA TECLA. FIN SI ES ESC Ninguna Ninguna, aunque termina el programa con la tecla ESCAPE Ninguno PROC Espera push ax Salva AX mov ah,0 función del BIOS para esperar teclazo 10-2

3 int 16h cmp al,27 se dio ESCAPE? je si, brinca pop ax recobra AX mov ax,4c00h regresa a DOS int 21h ENDP HaceVentana DIBUJA UNA VENTANA CON BASE EN UNA LISTA DE PARÁMETROS Entrada: CH, CL = (fila, columna) de vértice superior izquierdo DH, DL = (fila, columna) de vértice inferior derecho DI apunta a lista de parámetros Salida: Ninguna (exhibe ventanas) Registros: Ninguno PROC HaceVentana push ax bx cx dx salva registros mov [SipIzq],cx salva coordenadas mov [IngDer],dx Salva coordenadas mov [ancho],dl Calcula ancho de la ventana sub [ancho],cl resta columna izquierda dec [ancho] ajusta mov [alto],dh hace lo mismo para la altura sub [alto],ch resta fila superior dec [alto] ajusta mov dx,[supizq] mov bl,[di+9] trae color de la ventana mov bh,0 página 0 mov ah,9 función del BIOS para sacar carácter mov al,[di] trae carácter esquinero mov cx,1 una vez call CuXY posiciona el cursor int 10h CadVentana call CursorDer mueve el cursor mov al,[di+1] trae carácter para tope superior mov cl,[ancho] trae número de veces int 10h llama al BIOS mov dx,[supizq] DH = columna superior mov dl,[byte ptr InfDer] DL = fila derecha call CurXY se posiciona en esquina mov al,[di+2] trae carácter esquinero mov cx,1 una vez int 10h mov al,[di+7] trae cara para marco vertical inc dc ajusta fila mov dl,[byte ptr SupIzq] DL = columna izquierda call CurXY se posiciona int 10h exhibe carácter call CursorDer 10-3

4 mov al,[di+8] trae carácter de relleno push cx salva número de veces mov cl,[ancho] trae ancho int 10h pone relleno pop cx mov al,[di+3] trae carácter para marco mov dl,[byte ptr InfDer] trae columna call CurXY pone cursor int 10h saca marco call CusorDer mueve cursor mov al, trae sombreador push bx mov bl,08 gris int 10h pop bx dec [alto] terminó con parte media? jnz no, regresa mov dx,[infder] DH = fila inferior mov dl,[byte prt SupIzq] trae columna izquierda mov al,[di+6] trae esquinero inferior derecho call CurXY int 10h y lo exhibe call CursorDer mov al,[di+5] trae carácter de la base mov cl,[ancho] trae número de veces int 10h saca la base de la ventana inc dl inc dh call CurXY pone cursor mov al, trae sombreados push bx mov bl,08 gris int 10h pop bx mov dx,[infder] call CurXY mov al,[di+4] tare carácter esquinero inferior derecho mov cx,1 una vez int 10h call CusorDer mov al, trae sombreador mov bl,08 gris int 10h pop dx cx bx ax recupera registros ENDP HaceVentana SalvaVenta GUARDA CONTENIDO ORIGINAL DE LA VENTANA Entrada: CH, CX = (fila, columna) de vértice superior izquierdo DH, DL = (fila, columna) de vértice inferior derecho DI apunta al área para salvar contenido Salida: Área de la memoria con contenido de RAM de video Registros: Ninguno 10-4

5 PROC SalvaVentana push ax cx dx es si ds salva registros mov [SupIzq],cx salva coordenadas mov [InfDer],dx salva coordenadas mov [ancho],dl calcula ancho sub [ancho],cl resta columna izquierda inc [ancho] ajusta por marco y inc [ancho] sombra mov [alto],dh calcula altura sub [alto],ch resta fila superior inc [alto] ajusta por marcos y inc [alto] sombra mov ax,80 ancho de la pantalla sub al,[ancho] resta ancho shl ax,1 por 2 mov [resto],ax salva resto mov axm0b800h apunta el segmento de RAM para video mov ds,ax lo pone en DS mov ax,@data trae segmento original de datos mov es,ax lo pone en ES xor bx,bx BH = 0 xor ax,ax AH = 0 mov al,ch AL = fila superior mov bl,80 BL = ancho de pantalla mul bl mov bl,cl trae columna izquierda add ax,bx suma a dirección previa shl ax,1 por 2 mov si,ax arma registro fuente xor ch,ch CH = 0 cld incrementando mov cl,[es:ancho] suma contador rep movsw mueve caracteres y sus atributos add si,{es:resto] agrega los que ya no salva dec [es:alto] terminó? no, brinca pop ds si es dx cx ax recupera ENDP SalvaVentana :RecupVentana DIBUJA EL CONTENIDO SALVADO ANTES DE UNA VENTANA Entrada: CH, CX = (fila, columna) de vértice superior izquierdo DH, DL = (fila, columna) de vértice inferior derecho SI apunta a área de memoria donde se salvó la ventana Salida: Área de RAM de video queda actualizada Registros: Ninguno PROC RecupVentana push ax cx dx es ds si salva todo mov [SupIzq],cx salva coordenadas mov [InfDer],dx salva coordenadas 10-5

6 mov [ancho],dl calcula ancho sub [ancho],cl resta columna izquierda inc [ancho[ ajusta marcos y inc [ancho] sombra mov [alto],dh calcula altura sub [alto],ch resta fila superior inc [alto] ajusta marcos y inc [alto] sombra mov ax,80 ancho de la pantalla sub al,[ancho] resta ancho shl ax,1 por 2 mov [resto],ax salva bytes no salvados por fila mov ax,0b800h carga segmento de RAM de video mov es,ax lo pone en AS xor bx,bx BH = 0 xor ax,ax AH = 0 mov al,ch trae fila superior mov bl,80 pone ancho mul bl mov bl,cl trae columna izquierda add ax,bx suma a cantidad de caracteres shl ax,1 por 2 (para incluir atributo) mov di,ax arma registro de destino xor ch,ch arma contador cld pone auto incremento mov cl,[ancho] arma contador rep movsw mueve caracteres y sus atributos add di,[resto] agrega lo caracteres no salvados dec [alto] terminó? no, brinca pop si ds es dx cx ax recupera todo RecupVentana ENDP DespMenu Entrada: Salida: Registros: EXHIBE UN MENÚ CON BASE EN UNA LISTA DE PARÁMETROS SI apunta a lista de parámetros de menú Exhibe el menú especificado Ninguno PROC DespMenu push ax cx dx si salva cld auto incrementa lodsb mov cl,al lo pone en CL lodsw mov dx,ax y salva en DX call CurXY posiciona cursor xor ch,ch arma contador inc si ajusta apuntador lodsb mov [selección],al salva valor trae cantidad de ítems trae fila y columna trae número de ítem preseleccionado 10-6

7 mov bh,0 inicializa inc bh cmp [selección],bh jne mov al,[coloselec] trae color para marcado mov color,al lo salva mov al,16 trae carácter para marcado call EscrCarX lo exhibe mov al, seguido de espacio call EscrCarX jmp mov al,[colornormal] trae color normal mov [color],al lo salva mov al, pone espacios (para borrar) call EscrCarX call EscrCarX lodsp trae carácter del ítem cmp al, \ es el separador? si, brinca call EscrCarX lo exhibe inc dh otra fila call urxy pone cursor hasta agotar ítems pop si dx cx ax recobra todo ENDP DespMenu Menu Entrada: Salida: Registros: ESPERA TECLA DE FLECHA Y ENTER PARA PROCESAR UN MENÚ SI apunta a parámetros del menú Modifica un parámetro de la lista de un menú (selección) Ninguno PROC Menu push ax cx dx si Salva registros cld auto incrementa lodsb trae cantidad de ítems mov [Nitems],al lo salva lodsw trae posición del menú mov dx,ax lo pone en DX lodsb trae largo de ítems xor ch,ch arma contador mov cl,al add I,2 ajusta lodsb trae ítem seleccionado mov bh,al lo pone en BH dec dh decrementa fila superior add dh,bh agrega ítem seleccionado 10-7

8 call CurXY pone cursor mov al,16 trae carácter de marcado call EscrCarX lo exhibe call CurXY repone cursor mov l,[colorgets] trae color de resaltado mov [color],al lo salva call EscrNatrib2 cambia atributo call EsperaTecla2 espera teclazo cmp al,13 se dio ENTER? je con ENTER, salir cmp al,0 nada llegó? jne nada, salta cmp ah, M flecha derecha? sí, salta cmp ah, P flecha abajo? sí, salta cmp ah, K flecha izquierda? sí, salta cmp ah, H flecha arriba? sí, call PintaElec cambia atributo cmp bh,[nltems] estaba en el fondo? no, brinca mov bh,1 inicia selector sub dh,[nltems] inicia fila inc dh inc bh incrementa selector inc dh incrementa call PintaElec cmp bh,1 ya estaba arriba? no, brinca mov bh,[nltems] pone selector add dh,[nltems] pone fila de dec dh dec bh decrementa selector dec dh y pop si recobra apuntador mov [si+4],bh actualiza parámetro de ítem seleccionado pop dx cx ax recupera ENDP Menu 10-8

9 PintaElec BORRA MARCADOR Y REPONE ATRIBUTO EN ÍTEM Entrada: DX con posición del ÍTEM CX con largo del ÍTEM Salida: Cambia el atributo de un ÍTEM Registros Ninguno PROC PintaElec mov al,[colornormal] trae color normal mov [color],al lo salva mov al, espacio para buscar call CurXY pone cursor call EscrCarX pone espacio call CurXY repone cursor call EscrNatrib2 cambia atributo de color ENDP PintaElec PROC EsperaTecla2 mov ah,1 int 16h mov ah,0 int 16 ENDP EsperaTecla2 PROC EscrNAtrib2 push ax bx cx salva registros CX = N mov bh,0 página cero mov bl,[color] trae atributo mov ah,8 función para leer carácter y atributo int 10h del BIOS push cx salva N o menos mov cx,1 una vez mov ah,9 función para sacar atributo y carácter int 10h del BIOS pop cx trae cantidad call CursorDer mueve cursor lo hace N veces pop cx bx ax recobra ENDP EscrNAtrib2 END 3.2 Capturar el programa y salvarlo como en MENUS.ASM. Ensamblarlo y hacerlo ejecutable mediante: C:\SEM386>tasm /zi menus C:\SEM386>tlink /v menus,,,rem 10-9

10 %TITLE CAMBIA CONFIGURACIÓN PARA OTROS PROGRAMAS IDEAL DOSSEG MODEL small STACK 512 Programa MENUS.ASM ensamblarlo y ligarlo con: tasm /zi menus tlink /v menus,,,rem rc EQU 13 ASCII del orno de carro nl EQU 10 ASCII de nueva línea DATASEG EXTERN ColorNormal:byte, color:byte Letra db A letra a usar en caso de error Numero db 3 número a usar en caso de error CadVentana db í À,1fh CadSalVent db 2048 dup (0) área para salvar ventana original cadena1 db Letra May,0 cadena2 db Número de color,0 La estructura de datos se construye con la siguiente información: Número de elementos, columna, renglón, tamaño de los elementos, elemento inicial, cadena con elementos,0 MenuLetras db 4,14,14,1,1, A\E\I\M\,0No. elem, col, ren, long, ítems MenuNumeros db 3,24,14,1,1, 3\5\7\,0 MenuDatos db 2,48,08,2,1, 7\8\ 0 MenuBits db 3,36,08,4,1, UNO\DOS\TRES\,0 MenuPuertos db 2,12,15,5,1, COM1:\COM2:\,0 PalabraCfg db 0 config db A3121 ArchCfg db CONFIG.TXT,0 cadena ASCIIZ HandCfg dw 0 CODESEG De TECLADO.OBJ EXTRN EsperaTecla:proc,TraeCar:proc De ERRDISCO EXTRN ErrDisco:proc De CADENAS.OBJ EXTRN SacaCadena:proc,LeeCadena:proc De Cursor EXTRN CurXY:near,CursorDer:near 10-10

11 De Pag4 EXTRN De Ventana EXTRN BorraPan:near SalvaVentana:proc,HaceVentana:proc,RecupVentana:proc Inicia: mov mov es,ax mov ds,ax call LeeCnfig abre archivo de configuración y lo lee mov al,[colornormal] trae color mov [color],al lo salva mov cx,0a0ah define vértice superior izquierdo mov dl,60 define otro vértice mov dh,20 mov di,offset CadSalVent apunta al área para salvar call SalvaVentana salva ventana original mov di,offset CadVentana apunta a parámetros call HaceVentana dibuja la ventana mov dx,0c0ch define posición de cadena de 1er. menú call CurXY coloca ahí el cursor mov di,offset cadena1 apunta a cadena call SacaCadena exhibe dicha cadena mov si,offset MenuLetras apunta a parámetros de menú de letra call DespMenu lo exhibe mov dx,0c16h repite lo anterior call curxy mov di,offset cadena2 para cadena de 2do. Menú call SacaCadena mov si,offset MenuNumeros y el menú de números call DespMenu mov si,offset MenuLetras apunta a parámetros del menú de letras call menú el usuario elige uno de ellos mov si,offset MenuNumeros lo mismo para el menú de números call menú call EscrCnfig escribe cambios en archivo CONFIG.TXT mov cx,0a0ah redefine vértice superior izquierdo mov dl,60 e inferior derecho mov dl,20 mov si,offset CadSalVent apunta al área donde salvó call RecupVentana repone contenido original Salir: mov ah,04ch función de DOS: termina el programa mov al,0 regresa código de salida int 221h 10-11

12 %NEWPAGE Espera Entrada: Salida: Registros. RUTINA QUE ESPERA A QUE SE OPRIMA UNA TECLA. FIN SI ES ESCAPE Ninguna Ninguna, aunque termina el programa con la tecla ESCAPE Ninguno PROC Espera push ax salva AX mov ah,0 función del BIOS para esperar teclazo int 16h cmp al,27 se dio ESCAPE? sí, brinca pop ax recobra AX mov ax,4c00h regresa a DOS int 21h ENDP Espera PROC mov int jz mov int ENDP EsperaTecla2 ah,1 ah,0 16h EsperaTecla2 PROC EscrNAtrib2 push ax bx cx mov bh,0 mov bl,[color] mov ah,8 int 10h push cx mov cx,1 mov ah,9 int 10h pop cx call CursorDer pop cx bx ax ENDP EscrNAtrib LeeCnfig Entrada: Salida: Registros: ABRE EL ARCHIVO DE CONFIGURACIÓN Y LO LEE Ninguna Ninguna Ninguno 10-12

13 PROC LeeCnfig push ax bx cx dx si salva registros mov dx,offset ArchCfg apunta a cadena ASCIIZ mov ah,3dh para abrir archivo mov al,40h modo normal int 21h abre el archivo salta si no pudo mov [HandCfg],ax salva handle mov ah,3fh para leer archivo mov bx,[handcfg] trae handle mov cx,2 lee dos bytes mov dx,offset config apunta al área de salvar int 21h lee el archivo salta si no pudo mov al,[config] calcula número de selección sub al, A resta inferior shr al,2 /4 inc al ajusta mov [MenuLetras+4],al lo pone en cadena de menú mov al,[config+1 hace lo mismo para segundo menú sub al, 3 resta inferior shr al,1 /2 inc al ajusta mov [MenuNumeros+4] lo salva en su cadena mov ah,3eh la función para cerrar archivo mov bx,[handcfg] usando el handle int 21h con DOS hace proceso dummy mov ah,3ch función para crear archivo mov cx,00h normal mov dx,offset ArchCfg apunta a cadena ASCIIZ int 21h crea archivo brinca si no pudo mov [Handfg] salva handle mov al,[letra] le escribe parámetros por omisión mov [config],al pone A mov al,[numero] y 3 mov [config+1 mov ah,40h función para escritura mov bx,[handcfg] con handle mov cx,2 dos caracteres mov dx,offset config apunta al área int 221h escribe en el archivo mov ah,3eh función para cerrar archivo mov bx,[handcfg] trae handle int 21h invoca a call FormaPal llama a rutina dummy pop si dx cx bx ax ENDP LeeCnfig 10-13

14 EscrCnfig Entrada: Salida: Registros: ESCRIBE EL ARCHIVO DE CONFIGURACIÓN El parámetro de selección de cada lista de menú El área de memoria para salvar la configuración Ninguno PROC EscrCnfig push ax bx cx dx si salva todo mov al,[menuletras+4] trae número de ítem elegido dec al lo decrementa shl al,2 por 4 add al, A lo hace letra mov [config],al salva en área de config mov al,[menunumeros+4] hace lo mismo para siguiente menú dec al decrementa shl al,1 por 2 add al, 3 lo hace dígito decimal en ASCII mov [config+1],al lo salva mov dx,offset ArchCfg apunta a cadena ASCIIZ mov ah,3dh para abrir archivo mov al,02h modo normal int 21h abre el archivo brinca si hay mov [HandCfg],ax salva handle mov ah,40h función para escribir mov bx,[handcfg] trae handle mov cx,2 dos caracteres mov dx,offset config apunta a mensaje a escribir int 21h escribe en el archivo brinca si no pudo mov ah,3eh función para cerrar archivo mov bx,[handcfg] trae handle int 21h llama a DOS mov ah,3ch para crear un archivo mov cx,0000h normal int 21h crea archivo brinca si no puede call FormaPal rutina dummy pop si dx cx bx ax ENDP EscrCnfig 10-14

15 FormaPal Entrada: Salida: Registros: RUTINA PARA UN PROCESO EXTRA Ninguna Ninguna Ninguno PROC ENDP FormaPal Aquí puede ir una rutina más compleja para formar la configuración FormaPal END Inicia fin del programa MENUS.ASM 3.3 Ejecutar el programa MENUS y observar cómo modifica el archivo CONFIG.TXT y ver si preserva el contenido original de la ventana. Se muestran dos ejemplos de corrida del programa MENUS. Correrlo con diferentes contenidos de CONFIG.TXT y también sin que éste exista. Atributos para caracteres: Filas = fondo, columnas = frente Primer carácter es oscuro, el segundo brillante EE EE EE EE EE EE EE EE 01 EE EE EE EE EE EE EE EE 02 EE EE EE EE EE EE EE EE 03 EE EE EE EE EE EE EE EE 04 EE EE EE EE EE EE EE EE 05 EE EEÍ Ă 06 EE EE 07 EE EE letra May Num de color Línea en b A 3 E 5 Línea en c I 7 M Línea en v Línea en n Esta línea debe estar parpadeando en color 7 C:\SEM386>menus 10-15

16 ABCD.MAP ABCD.EXE DIRE.OBJ SONIDO.OBJ RATON.ASM RATON.OBJ RATON.MAP RATON.EXE DIRE.ASM SONIDO.MAP SONIDO.EXE ROJA.ASM ROJA.OBJ ROJA.OBJ ROJA.MAP ROJA.EXE ALERTA.~ ALERTA.ASN DIREC.OBJ DIREC.MAP DIREC.EXE LIB.TXT DIRECL.ASM DIRECTL.OBJ PONECAD.~AS DIREC.~AS CALCAZO DIRE.MAP DIRE.EXE PANA.CFG PONECAD.ASM DIREC.TXT CALCA.OBJ CALCA.MAP CALCA.EXE DIRW.ASM TABAS.ASM TASC.~TX RASC.TXT TASC.OBJ TASC.MAP ERRDISCO.ASM ERRDISCO.OBJ MENUS.ASM CUADRO.OBJ CUADRO.MAP CUADRO.EXE ALEGRIA.ASM ALEGRIA.OBJ ALEGRIA.MAP ALEGRIA.EX PANTALLA.EXE VIDEO.ASM PANTALLA.EXE CNFIG.OBJ Letra May Num de color CONFIG.~TX PAG4.OBJ CURSOR.OBJ MENUS.OBJ A 3 SALIDA.PRN [HOLZNER] E 5 [MEMUT] LPT2FILE.E I 7 LPT2FILE.MAP MACDOS.ASM SALIDA.PRI [CORTES] FECHESPEXE RELOJ.COM RELOJ.MAP 225 VENTANA.OBJ C:\menus 4. TAREAS 4.1 Agregar al módulo VENTANA.ASM rutinas del MOUSE que permitan elegir un ítem de un menú con el clic del botón izquierdo del mismo. 4.2 Modificar MENUS.ASM para subir un poco la ventan y agrandarla un poco y agregar procesamiento para los menús de puerto y de baudios. 4.3 Escribir un programa tipo COM llamándolo FOTO.ASM que se pueda dejar residente y que salve el contenido de una pantalla alfanumérica en el archivo XX.TXT (sobrescribiendo) si se usan las teclas Alt-Mayús Izq. El programa debe evitar su reinstalación y debe poder ser desinstalarlo con el comando: FOTO /C 10-16

CON LOS VALORES ASCII

CON LOS VALORES ASCII PRÁCTICA 6 FAMILIARIZARSE CON LOS VALORES ASCII DE TODAS LAS FUNCIONES DEL TECLADO. INTRODUCCIÓN La práctica siguiente está enfocada a que el alumno se familiarice con los valores ASCII de todas las funciones

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 12 PRÁCTICA 12

LENGUAJE ENSAMBLADOR PRÁCTICA 12 PRÁCTICA 12 PRÁCTICA 12 EJECUCIÓN DE UN PROGRAMA HIJO DESDE UN PROGRAMA PADRE 1. INTRODUCCIÓN En esta práctica veremos como se puede ejecutar un programa cualquiera desde nuestro programa mediante la función EXEC

Más detalles

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

PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROPROCESADOR INSTALADO 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO PRÁCTICA 7 MOUSE, EFECTOS SONOROS Y PROGRAMA QUE INFORMA DEL MICROESADOR INSTALADO 1. INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el MOUSE y las ventajas que se pueden tener del mismo, así

Más detalles

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

PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN 2. OBJETIVOS 3. DESARROLLO PRÁCTICA 3 OPERACIONES BÁSICAS CON DOS NÚMEROS BCD ENTEROS POSITIVOS 1. INTRODUCCIÓN Mediante esta práctica trabajaremos con números BCD de hasta veinte dígitos y haremos las operaciones básicas, suma,

Más detalles

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

Examen Parcial de Arquitectura de Computadoras Prof: Ing. José ESTRADA MONTES Examen Parcial de Arquitectura de Computadoras Prof: Ing José ESTRADA MONTES 1- Diseñe un sistema de control de un motor de paso ( hardware y software ) a través de una computadora y una tarjeta de interfase

Más detalles

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

EJEMPLOS EJERCICIOS RESUELTOS MOV CX,320*200 ; ESTA OPERACIÓN LA REALIZA EL ENSAMBLADOR XOR DI,DI CLD REP STOSB 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

Más detalles

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

PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN 2. OBJETIVOS 3 DESARROLLO %TITLE IDEAL DOSSEG DATASEG PRÁCTICA 4 GENERACIÓN DE SONIDOS DE DIFERENTES FRECUENCIAS 1. INTRODUCCIÓN Esta práctica está centrada a los sonidos que se pueden emitir en una computadora a través de un programa en LENGUAJE ENSAMBLADOR.

Más detalles

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,15 Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Cual de las siguientes afirmaciones

Más detalles

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 PRÁCTICA 8 PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC

LENGUAJE ENSAMBLADOR PRÁCTICA 8 PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC PRÁCTICA 8 COMUNICACIÓN SERIAL DE UNA PC 1. INTRODUCCIÓN Esta práctica está enfocada a la comunicación serial de un PC, interceptando la interrupción de uno de los puertos 2 OBJETIVOS 2.1 El alumno aprenderá

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

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

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

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

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

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

Espero que lo disfrutéis, como yo lo disfruté en su momento: MODEL small. .STACK 100h .DATA 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,

Más detalles

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

Examen de Laboratorio de Estructura de Computadores Septiembre 2005 I.T. Informática de Sistemas / Gestión Departamento de Automática ATC - Test (3 puntos) Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 1) Cual de las siguientes afirmaciones es correcta? [_] a) En lenguaje máquina se representan las

Más detalles

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

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 ExamendeLaboratoriodeEstructuradeComputadores I.T.InformáticadeGestión/Sistemas.16dejuniode2010 DepartamentodeAutomática ATC Test (3 puntos) Pregunta correcta = 0,30 Pregunta no contestada = 0 Pregunta

Más detalles

Tema 1. Fundamentos del lenguaje ensamblador

Tema 1. Fundamentos del lenguaje ensamblador Tema 1. Fundamentos del lenguaje ensamblador Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Índice Estructura del

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

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES

ESTRUCTURA Y ORGANIZACIÓN DE COMPUTADORES Instrucciones del 8088/8086. Instrucciones de trasferencia de datos. MOV MOV destino, origen Transfiere un byte o una palabra desde el operando origen al operando destino. PUSH PUSH origen Decrementa el

Más detalles

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

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad II: Arquitectura y Programacion de un Microprocesador (80X86) Arq. de Computadora I Ing. Carlos Ortega H. 1 Interrupciones FUNCIÓN INT

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

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

DEBUG Y USO DE CADENAS.

DEBUG Y USO DE CADENAS. 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). DEBUG Y USO DE CADENAS. Objetivos específicos Analizar paso

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

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

OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS) OPCIONES DE INT 21H (LLAMADAS A FUNCIONES DE DOS) AH Propósito Tipo Descripción. 0 Terminación del programa Control Termina la ejecución de un programa. 1 Entrada desde el teclado Teclado Espera entrada

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

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

El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM. Introduccion: El presente documento contiene la guia para poder construir metodos numericos en lenguaje ensamblador en este caso con FASM. Se explicara paso por paso e instruccion por instruccion que se

Más detalles

LENGUAJE ENSAMBLADOR PRÁCTICA 15 PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO

LENGUAJE ENSAMBLADOR PRÁCTICA 15 PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO PRÁCTICA 15 ENCRIPTADO DE ARCHIVOS, CLASIFICACIÓN POR MÉTODO DE PARTICIÓN / INTERCAMBIO 1. INTRODUCCIÓN Esta práctica ayudará a familiarizarse con el encriptado de archivos y las ventajas que se pueden

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

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

Tema 4. Fundamentos del ensamblador

Tema 4. Fundamentos del ensamblador Tema 4. Fundamentos del ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 30 Índice Filosofía de programación Organigramas

Más detalles

PROGRAMACIÓN DE UN PROGRAMA DE DIBUJO

PROGRAMACIÓN DE UN PROGRAMA DE DIBUJO Pedro A. Castillo Valdivieso Dpto. ATC. UGR 2007-2008 1 PROGRAMACIÓN DE UN PROGRAMA DE DIBUJO Objetivo de la práctica: Desarrollar un programa en ensamblador para hacer dibujos vectoriales en la pantalla,

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

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

Instrucciones del microprocesador

Instrucciones del microprocesador Instrucciones del microprocesador Formato de las Instrucciones Las líneas de instrucciones se integran de 4 campos. [Identificador]: Se utiliza par etiquetar a las intrucciones donde se realizara el salto,nombre

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

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

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

Transferir datos por medio del puerto paralelo utilizando un lenguaje de bajo nivel. (Lenguaje ensamblador auxiliándose del macroensamblador MASM) Microprocesadores. Guía 7 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). PUERTO PARALELO. Objetivos específicos

Más detalles

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

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086 Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos

Más detalles

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

PROCESAMIENTO DE LOS DATOS. Procesamiento de datos ascii a binario y de binario a ascii PROCESAMIENTO DE LOS DATOS Procesamiento de datos ascii a binario y de binario a ascii En ensamblador el tipo de dato es un carácter, por lo tanto es necesario procesar este dato y convertir de su correspondiente

Más detalles

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

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES EJERCICIO 1: Se tiene la siguiente instrucción del i80x86: MOV AL, Numero: S Se sabe que el contador de programa IP vale 6. S La instrucción ocupa 3 bytes. S

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

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA IC 2005 1 5041 NOMBRE DE LA ASIGNATURA Organización de Computadoras y Lenguaje Ensamblador PRÁCTICA No. 7 LABORATORIO DE NOMBRE

Más detalles

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

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('( 62/8&,21(6&20(17$'$6$/($0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 6(37,(0%5('(,7,*(67,Ï1,7,6,67(0$6 1º) Se desea realizar un fichero BAT que cumpla los siguientes requisitos: a) Si no se le pasa ningú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

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

(3) Unidad 3. Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(3) Unidad 3. Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM Unidad 3 Interfaz del ensamblador con el lenguaje C SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM Índice 3. Interfaz del ensamblador con el lenguaje C. 3.1. Características

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

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Examen de Estructura de Computadores. Septiembre de 25 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: El examen tendrá una duración total de 2 horas. La nota final

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

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

MOV ;movemos a ax el contenido de la cadena A eso significa el y data del segmento de datos 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

Más detalles

Tema 4: Las interrupciones y la ROM-BIOS

Tema 4: Las interrupciones y la ROM-BIOS Tema 4: Las interrupciones y la ROM-BIOS S Interrupciones S Tarjetas de vídeo y memoria asociada S El formato de los caracteres S Pantalla en modo alfanumérico S La ROM-BIOS S Modos de vídeo y su control

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

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen tendrá una duración total de 2 horas. El examen constará de dos partes: teoría y problemas. La nota final será la suma de las dos partes

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

CONJUNTO DE INSTRUCCIONES µp8086

CONJUNTO DE INSTRUCCIONES µp8086 CONJUNTO DE INSTRUCCIONES µp8086 Se llama INSTRUCCIÓN a las palabras reservadas ó MNEMÓNICOS en ensamblador, los cuales se traducen a lenguaje máquina para su posterior ejecución por parte de la CPU. Existen

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

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

Tema 2: Segmentación y modos de direccionamiento

Tema 2: Segmentación y modos de direccionamiento Tema 2: Segmentación y modos de direccionamiento Segmentación Modos de direccionamiento Direccionamiento relativo Instrucciones de transferencia de control Instrucciones aritméticas: comparación Ejemplo

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

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

Tema 4. La pila, los procedimientos y las macros

Tema 4. La pila, los procedimientos y las macros Tema 4. La pila, los procedimientos y las macros Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 2010-2011 Índice

Más detalles

CONALEP CANCUN 2 PROCESAMIENTO DE LA INFORMACION POR MEDIOS DIGITALES

CONALEP CANCUN 2 PROCESAMIENTO DE LA INFORMACION POR MEDIOS DIGITALES ú 1.-Para el uso de las herramientas para edición de textos con tablas, objetos, numeraciones, viñetas y formatos avanzados solo se tiene que entrar a Word para poder insertar las tablas y la viñeta. 2.-

Más detalles

Llamadas al sistema Índice

Llamadas al sistema Índice Índice 1. Fundamentos 2. bajo DOS 1/77 1. Fundamentos 1. Fundamentos Índice 1. Concepto 2. Librerías 3. Implementación 4. Interrupciones 2/77 1 1.1. Concepto Mecanismo por el cual las aplicaciones solicitan

Más detalles

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena

Trabajo Práctico Nro 5 Pase de Parámetros e Instrucciones de Cadena Instrucciones de Cadena Pase de parámetros Introducción El envío de parámetros a una función de asembler es un problema que nos enfrentamos comúnmente a la hora de desarrollar un software en este lenguaje,

Más detalles

Los números naturales y enteros en el 80X86 y en LAN

Los números naturales y enteros en el 80X86 y en LAN Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales

Más detalles

Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos

Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos Tema 5. Formato de instrucciones. Directivas, instrucciones de cadena y programas de varios módulos Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería

Más detalles

Tabla de interrupciones

Tabla de interrupciones Las principales interrupciones del 8086/8088 son las siguientes: Interrupción Hex Decimal Uso 00h 0 Generada por la CPU cuando se intenta hacer una división por cero 01h 1 Utilizada par ir paso a paso

Más detalles

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

control de Luces por el Puerto Paralelo 378H (16 Luces 4 bloques de 4) control de Luces por el Puerto Paralelo 378H (16 Luces 4 bloques de 4) 1.- Lo primero Tenemos que tener un cuenta que el puerto paralelo tiene solo 8 salidas de datos (D7...D2) y nosotros necesitamos controlar

Más detalles

INTRODUCCIÓN THINK-CELL. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

INTRODUCCIÓN THINK-CELL. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN THINK-CELL Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE INTRODUCCIÓN En este capítulo, un tutorial paso a paso le mostrará cómo crear un gráfico a partir de un garabato

Más detalles

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

INT 21H Función 02H Salida de Carácter LLAMADA: AH = 02H DL = Código ASCII a enviar al dispositivo de salida. DEVUELVE: NADA. INT 21H La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a través de la interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-APPLICATION-PROGRAM-INTERFACE

Más detalles

Organización de Computadoras. Clase 8

Organización de Computadoras. Clase 8 Organización de Computadoras Clase 8 Temas de Clase Organización de Registros Instrucciones Notas de Clase 8 2 Organización de registros Registros visibles al usuario: son utilizados por el programador.

Más detalles

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(2) Unidad 2. Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM (2) Unidad 2 Modelo de Programación del 80x86 de Intel SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM (2) Índice 2. Modelo de programación del 80x86 de Intel. 2.1. Familia

Más detalles

A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora

A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora 3. Factorial de un número en sistema decimal A. La estructura del código fuente será la siguiente: copie y pegue la información mediante la computadora name "fact" putc macro char push ax mov al, char

Más detalles

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera.

USO DE MEMORIA Y PERIFÉRICOS CON EMU8086. Kervin Sánchez Herrera. USO DE MEMORIA Y PERIFÉRICOS CON EMU8086 Kervin Sánchez Herrera. Estructura del Computador MEMORIA Uso de Memoria La memoria ROM ya está escrita y contiene el programa BOOT de inicio, este programa se

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

INTRODUCCIÓN AL EMU8086.

INTRODUCCIÓN AL EMU8086. Microprocesadores. Guía 1 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). INTRODUCCIÓN AL EMU8086. Objetivos

Más detalles

Tema 4. Lenguaje máquina y lenguaje ensamblador

Tema 4. Lenguaje máquina y lenguaje ensamblador Soluciones a los problemas impares 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 / 36 Tema 4: Hoja:

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

La pantalla principal de MicroMundos Pro

La pantalla principal de MicroMundos Pro La pantalla principal de MicroMundos Pro Barra de herramientas Tiene las herramientas para el manejo de archivos, para la edición y para otras opciones especiales MicroMundos. Página Es el área de trabajo

Más detalles

INFORMATICA I FORMATO

INFORMATICA I FORMATO INFORMATICA I 2.4.5 FORMATO El formato es una de las herramientas con que cuenta un procesador de textos para comunicar de distintas formas una palabra y/o frase, resaltándola, en negrita, dándole colores,

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

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

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 1.1 A 2.6 P1. Suponiendo que CS=0000h, DS=1000h, ES=FFFFh, SS=2000h,

Más detalles

Programación de IA-32 Modo Real

Programación de IA-32 Modo Real Programación de IA-32 Modo Real Control del flujo de la ejecución Erwin Meza Vega IA-32 Modo real (1/2) Acceso sólo a características limitadas del procesador Se comporta como un 8086 muy rápido Uso de

Más detalles

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

ENSAMBLADOR. M.C. Laura Cuayahuitl Romero MODO DE DIRECCIONAMIENTO DIRECTO ENSAMBLADOR M.C. Laura Cuayahuitl Romero MODO DE DIRECCIONAMIENTO DIRECTO IMPORTANTE: LEE CON MUCHO CUIDADO TODO LO ESCRITO EN ESTAS PÁGINAS Y ANALIZA BIEN LOS EJEMPLOS! EL DIA VIERNES 16 DE JUNIO REALIZARÉ

Más detalles

Hoja Electrónica de Cálculo CUADERNO DE TRABAJO

Hoja Electrónica de Cálculo CUADERNO DE TRABAJO CUADERNO DE TRABAJO 9 RECAPITULACIÓN 1 Dónde quedó mi calculadora? Antes de iniciar su práctica, haremos un repaso de lo visto en el video. ELEMENTOS DE LA VENTANA DE LA HOJA DE CÁLCULO Identifique los

Más detalles

Lección 3: Trabajar con texto Sección: Conocimientos Generales & Certificación

Lección 3: Trabajar con texto Sección: Conocimientos Generales & Certificación PASO A PASO 04 Cuarto Mini Proyecto TEMA Agregar a una diapositiva Cambiar el tamaño de Aplicar un Estilo rápido a Aplicar formato de relleno y contorno a Aplicar rellenos con imágenes y colores degradados

Más detalles

Arquitectura Interna del 8088

Arquitectura Interna del 8088 Arquitectura Interna del 8088 Intel diseñó el 8088/8086 para realizar al mismo tiempo las principales funciones internas de transferencia de datos y búsqueda de instrucciones. Para conseguir esto, el 8088

Más detalles

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

(4) Unidad 4. Recursos de Programación SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM (4) Unidad 4 Recursos de Programación SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM (4) Índice 4. Recursos de programación. 4.1. Interrupciones BIOS. 4.2. Interrupciones

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

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

PROCESADORES DE TEXTO. MICROSOFT WORD.

PROCESADORES DE TEXTO. MICROSOFT WORD. PROCESADORES DE TEXTO. MICROSOFT WORD. VENTANA DE MICROSOFT WORD Nombre documento Barra Títulos Barra menús Herramientas estándar Herramientas formato Reglas Área Edición Iconos Vista Barras desplazamiento

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

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

62/8&,21(6&20(17$'$6$/(;$0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 )(%5(52'( 62/8&,21(6&20(17$'$6$/($0(1'( /$%25$725,2(6758&785$6'(/26&20387$'25(6 )(%5(52'( 1º) Se desea realizar un fichero BAT que cumpla los siguientes requisitos: a) Si no se le pasa ningún parámetro o se le

Más detalles

Examen de teoría (5 puntos)

Examen de teoría (5 puntos) Examen de Estructura de Computadores. 4 de Septiembre de 24 Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: ª parte: Test, con una puntuación de 5 puntos y 3 minutos

Más detalles