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

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

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

Transcripción

1 ÍNDICE Introducción...pág. 1 Implementación de la práctica...pág. 2 Interrupciones...pág. 2 Función 0 INT 14h...pág. 4 Función 2 INT 14h...pág. 5 Función 5 INT 14h...pág. 6 Función 9 INT 21h...pág. 6 Protocolo del ratón...pág. 7 Diagrama de flujo...pág. 8 Explicación del código...pág. 9 Conclusiones...pág. 11 Anexo: código fuente...pág. 12 0

2 INTRODUCCIÓN En esta segunda práctica de la asignatura, el objetivo era doble: por un lado el alumno debía aprender los conocimientos básicos del lenguaje ensamblador 80x86. De todas formas, en otras asignaturas ya se había estudiado el lenguaje ensamblador, por lo que a pesar de que en esta ocasión se trataba de un lenguaje en concreto (el del 80x86) con sus características particulares, ésta no debía suponer la parte más complicada de la práctica. Por otro lado, el alumno debía aprender los mecanismos, por llamarlo de alguna manera, de un periférico en concreto, el ratón. A pesar de que éste podía ser distinto a petición del alumno (2 botones, 3 botones, distinto modelo, etc) todos partían de una base en común, la interfaz del mismo tenía que ser RS2/32. Así pues, la realización de esta práctica consistía en que el alumno realizase un programa ensamblador que utilizara la interrupción de BIOS INT 14h para así poder acceder al puerto serie. Mediante este puerto se leería la información transmitida por el ratón, para luego decodificar dicha información e informar al usuario por pantalla cuando se había pulsado un botón y, por supuesto, de que botón se trataba. Además, se podían realizar tareas opcionales por parte del alumno, como por ejemplo descifrar la información relativa al movimiento del ratón y mostrar por pantalla los valores de x e y que mostraría el cursor de dicho ratón, etc. 1

3 IMPLEMENTACIÓN DE LA PRÁCTICA A continuación pasaremos a explicar la implementación de la práctica, así como determinados aspectos importantes que consideramos relevantes. Empezaremos por explicar las interrupciones utilizadas, junto con las funciones más importantes de las mismas. Posteriormente, presentaremos un diagrama de flujo en el que se apreciará de forma sencilla el camino que hemos seguido para la realización de esta práctica. Finalmente, nos centraremos en explicar diversas secciones de nuestro código, que aclararán en mayor o menor medida nuestras soluciones adoptadas. INTERRUPCIONES Las interrupciones son señales enviadas a la CPU para que termine la ejecución de la instrucción en curso y atienda una petición determinada, continuando más tarde con lo que estaba haciendo. Cada interrupción lleva asociado un número que identifica el tipo de servicio a realizar. A partir de dicho número se calcula la dirección de la rutina que lo atiende y cuando se retorna se continúa con la instrucción siguiente a la que se estaba ejecutando cuando se produjo la interrupción. Hay tres tipos básicos de interrupciones: Interrupciones internas o excepciones: Las genera la propia CPU cuando se produce una situación anormal o cuando llega el caso. Interrupciones hardware: Son las generadas por la circuitería del ordenador en respuesta a algún evento. Interrupciones software: Producidas por el propio programa (instrucción INT) para invocar ciertas subrutinas. La BIOS y el DOS utilizan algunas interrupciones a las que se puede llamar con determinados valores en los registros para que realicen ciertos servicios. También existe alguna que otra interrupción que se limita simplemente a apuntar a modo de puntero a una tabla de datos. 2

4 En nuestro caso, la instrucción que utilizamos para poder tener acceso a los datos del controlador RS232 fue la instrucción 20. Hay que destacar que cualquier interacción con dicho controlador se hace desde la INT 14h. Pero para especificar el tipo de interacción que se quiere realizar hay que indicar una función en concreto. Para ello, el registro AH se debe inicializar al número de la función a utilizar, pudiendo ser este número 00h, 01h, 02h, 03h, 04h y 05h, respectivamente. Evidentemente, según se trate de un número u otro, se realizarán distintas acciones. Antes hemos comentado la utilización del registro AH para indicar que tipo de función se desea realizar. Pero, además de este registro, también deberemos tener en cuenta el registro AL si queremos mandar datos al controlador o recibir datos del mismo. Y es que, previa a la llamada a la interrupción INT14h, cuando queremos enviar un dato al controlador, dicho dato se ha de encontrar ubicado en el registro AL. Así mismo, un dato que se quiera recibir desde el controlador se almacenará en el mencionado registro AL, al haberse ejecutado la llamada a la interrupción INT14h. También hay que mencionar que antes de realizar la llamada a la interrupción INT14h, en el registro DX debemos almacenar el número del puerto RS232 en el que está conectado el ratón. Obviamente, esto se ha de realizar porque un ordenador tiene mas de un puerto RS232, si solo dispusiera de uno no sería necesario realizar la indicación anterior. Básicamente, estos son los conceptos que se han de tener claros a la hora de utilizar la interrupción INT14h, pues sin ellos la realización de la práctica no sería posible. A continuación pasaremos a explicar las funciones que utilizamos para el desarrollo de la práctica, ya que son igualmente importantes y su utilización es vital para lograr el objetivo de la misma. 3

5 FUNCIÓN 0 La función 0 (AH=00h) de la interrupción 14 (INT 14h) nos servirá para configurar el puerto. La configuración cambiará en función del ratón que vayamos a emplear. Para realizar dicha configuración, el registro AL estará formado por pequeños grupos de bits, cada uno de los cuales indicará una característica configurable del ratón. Vamos a mostrarlo a continuación, para que se entienda mejor lo que acabamos de explicar: Bits nº 0 y 1: Estos bits son los encargados de indicar el tamaño de la palabra, pudiendo elegir entre 8 bits (bit 0, bit 1 = 11) y 7 bits (bit 0, bit 1 = 10). Bit nº 2: Este bit indica el número de stop bits que utiliza la interfaz RS232. Puede tratarse de 1 stop bit (bit 2= 0) o de 2 stop bits (bit 2= 1). Bits nº 3 y 4: Son los encargados de indicar la paridad. Éstas son las posibles opciones: o Paridad nula (bit 4 bit 3 = 00, bit 4 bit 3 = 10) o Paridad par (bit 4 bit 3 = 11) o Paridad impar (bit 4 bit 3 = 01). Bits nº 5, 6 y 7: Por último, estos bits son los encargados de indicar la velocidad de transferencia del ratón conectado a la interfaz RS232. Las distintas opciones son: o 110 baudios (bit 5 bit 6 bit 7 = 000) o 150 baudios (bit 5 bit 6 bit 7 = 001) o 300 baudios (bit 5 bit 6 bit 7 = 010) o 600 baudios (bit 5 bit 6 bit 7 = 011) o 1200 baudios (bit 5 bit 6 bit 7 = 100) o 2400 baudios (bit 5 bit 6 bit 7 = 101) o 4800 baudios (bit 5 bit 6 bit 7 = 110) o 9600 baudios (bit 5 bit 6 bit 7 = 111) Esta función (la función 0) devuelve en el registro AH el estado del puerto, y en el registro AL el estado del módem (esto último no nos incumbe). 4

6 FUNCIÓN 2 La función 2 (AH= 02h) de la interrupción 14 (INT 14h) sirve para leer del puerto serie los datos recibidos. Estos datos deberemos tratarlos para saber en todo momento que acción realiza el usuario y así poder empezar a tratar los bytes de información correspondientes al ratón. Como ya ocurriera con otras funciones, previa a la llamada de la interrupción 14 (INT 14h) en el registro DX se ha de especificar el puerto al que está conectado el periférico (el ratón). Tras la llamada, la función 2 devuelve en el registro AX datos muy importantes de cara al desarrollo de la práctica. Por un lado, en el registro AH devuelve el estado del puerto, distinguiendo si se produjo algún envío de datos (en cuyo caso el bit más significativo estará a 0) o si por el contrario no se produjo envío ninguno, por lo que dicho bit contendrá un 1. Esto nos será de gran utilidad para saber en que momento el usuario está operando con el ratón. Por su parte, en caso de que se produjese algún envío de datos (un 0 en el bit más significativo del registro AH), en el regisro AL se almacenará el byte de información recibido. Una cosa importante a resaltar es el hecho de que el periférico en realidad no manda toda su información en un byte, sino que lo hace en paquetes de 3 bytes (incluso de hasta 4 bytes), y la función 2 (AH= 02h) de la interrupción 14 (INT 14h) sólo nos permite leer un byte. Es por eso por lo que se deberá llamar a esta función tantas veces como haga falta para poder descifrar los bytes enviados por el periférico y saber si se está realizando una acción u otra. 5

7 FUNCIÓN 5 La función 5 (AH= 05h) de la interrupción 14 (INT 14h) sirve para activar el lazo de prueba, el cual nos permitirá conectar el ratón al puerto serie sin necesidad de modificar el cable. La modificación de dicho cable no es necesaria porque el lazo de prueba conecta el controlador con el periférico. Por otro lado, antes de llamar a la interrupción 14 (INT 14h), debemos especificar si deseamos escribir o leer en el registro de control del puerto. En nuestro caso, deseamos realizar una escritura, por lo que deberemos establecer AL con el valor 01h (por lo que el valor 00h se refiere lógicamente a una operación de lectura). A su vez, el registro DX deberá contener el puerto al que está conectado el ratón. Para poner en marcha el lazo de prueba, deberemos activar en el registro BL el cuarto bit, que es el encargado de activar dicho lazo de prueba. Los demás bits no tienen importancia para el desarrollo de la práctica, por lo que no haremos ningún comentario al respecto. La función 5 (AH= 05h) de la interrupción 14 (INT 14h) devuelve en el registro AH el estado del puerto y en el registro BL el la información del registro de control del controlador RS232. Además devuelve en el registro AL el estado del módem (pero esto no nos atañe). FUNCIÓN 9 Otra de las funciones utilizadas en la práctica fue la función 9 (AH= 09h), pero esta vez correspondiente a la interrupción 21 (INT 21h). Dicha función lo que hace es desplegar una cadena de caracteres por pantalla. Antes de realizar la llamada a la interrupción correspondiente, el registro AH ha de contener el valor 09h, para indicar que acción queremos llevar a cabo. Además, el registro DX debe contener la dirección de inicio de la mencionada cadena de caracteres. Esta función no devuelve ningún valor contenido en algún registro, simplemente muestra los caracteres, uno a uno, desde la dirección indicada en el registro DX hasta encontrar un carácter $, que es interpretado como el final de la cadena. 6

8 PROTOCOLO DEL RATÓN A continuación mostraremos brevemente el protocolo de nuestro ratón. Dicho ratón consta de tres botones (izquierdo, central y derecho) y es modelo Genius. El protocolo utilizado es el de Logitech. Así pues, el protocolo Logitech se ajusta a la siguiente tabla: Byte bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 1 X 1 LB RB dy7 dy6 dx7 dx6 2 X 0 dx5 dx4 dx3 dx2 dx1 dx0 3 X 0 dy5 dy4 dy3 dy2 dy1 dy0 Hay que destacar que el periférico, como ya se comentó anteriormente, envía paquetes de 3 bytes al controlador RS232. Tan solo mandará paquetes de 4 bytes cuando se pulse el botón central. Otra cosa importante a destacar es la información del bit 7, que como se puede apreciar no es relevante. Por otro lado, mencionar que los ratones de 3 botones de Logitech usan una extensión diferente al protocolo Microsoft. Cuando el botón central está levantado, se envía el paquete anterior de 3 bytes. Cuando el botón central está pulsado, se envía un paquete de 4 bytes donde el 4º byte tiene el valor 0x20 (o, al menos, tiene activo el bit 0x20). En particular, la pulsación del botón central se indica como 0, 0, 0, 0x20 cuando ningún otro botón está pulsado. 7

9 DIAGRAMA DE FLUJO Antes de pasar a explicar determinadas partes de nuestro código, se mostrará el diagrama de flujo de la solución adoptada, para así tener un conocimiento previo de cómo hemos solventado las diversas dificultades que proponía la resolución de la práctica. Lectura del puerto NO AH? SÍ NO AL(6) SÍ Tratar (1er byte) Leer Tratar (2º byte) Leer Tratar (3er byte) Leer SÍ AH? NO AL(6) SÍ NO Tratar (4º byte) Cuando preguntamos por AH nos referimos a si el usuario ha realizado alguna acción o no, y cuando preguntamos por AL(6) nos referimos al sexto bit (bit 6) del registro AL (saber si está activo o no). 8

10 EXPLICACIÓN DEL CÓDIGO A continuación pasaremos a explicar los procedimientos utilizados en nuestro código, para que se entienda fácilmente lo que se hace en cada momento y no tener ningún problema en el apartado Anexo, en el que se pondrá todo el código fuente. Configuración del puerto: Por un lado usamos la función cero de la interrupción 14, que nos servirá para configurar el puerto. Para ello, en el registro AL metemos el valor 86h. Este valor se corresponde con las características de nuestro ratón (ver Función 0 ). Más concretamente nuestro ratón lo hemos configurado de la siguiente manera: Velocidad de transferencia 1200 baudios, sin bits de paridad, 2 stop bits y 7 bits como tamaño de palabra. Además, especificamos el puerto al que está conectado el ratón (etiquetado como comx). ConfigPUERTO Proc MOV AH, 00h MOV AL, 86h MOV DX, comx INT 14h Por otra parte, debemos de activar el lazo de prueba. Como ya se comentó anteriormente, esto se consigue mediante la función 5 de la interrupción 14. Tan solo debemos configurar los parámetros antes de realizar la llamada a dicha interrupción. En el registro AL insertamos el valor 01h mientras que en el registro BL activamos el cuarto bit. Además, en el registro DX, indicamos el puerto al que está conectado el ratón. nde MOV AH, 05h MOV AL, 01h OR BL, 10h MOV DX, comx INT 14h RET 9

11 Leer byte: Para saber que datos están siendo enviados por el ratón utilizamos la función 2 de la interrupción 14. Para ello, antes de realizar la llamada debemos de dejar indicado en el registro DX el puerto al que está conectado el ratón. Una vez realizada la llamada a la interrupción, el resultado se almacena en el registro AX, mediante el cual sabremos que acción ha realizado el usuario. LeerBYTE Proc nde MOV AH, 2h MOV DX, comx INT 14h RET Mostrar en formato binario los bytes enviados por el ratón: Para llevar a cabo este proceso, utilizamos una máscara que nos servirá para ir descodificando cada bit. Dicha máscara empieza valiendo 80h ( b) y su valor se irá reduciendo para ir tratando los respectivos bits hasta llegar al valor cero, momento en el que habremos terminado de mostrar los bits por pantalla. Si detectamos que se trata del bit cero, metemos en el registro DL el código ASCII del carácter cero (30h), en caso contrario metemos en ese mismo registro el código ASCII del carácter uno (31h). pbyte Proc push_a MOV DH, DL MOV CL, 80h mostrar: bitcero: AND DL, CL JZ bitcero MOV DL, 31h JMP impcarac MOV DL,30h 10

12 Por otro lado, para mostrar la información por pantalla utilizamos la función 2 de la interrupción 21, que imprimirá el contenido del registro DL. Además, desplazamos la máscara hacia la derecha, para que esté preparada para tratar el siguiente bit. Impcarac: MOV AH,2 INT 21h MOV DL, DH SHR CX, 1 JNZ mostrar Por último, imprimimos un salto de línea y restauramos los valores que habíamos guardado en la pila. MOV AH,9h nde MOV DX, offset sl INT 21h pop_a RET CONCLUSIONES Como conclusiones podríamos destacar el hecho de que el alumno haya adquirido conocimientos acerca de cómo determinados periféricos transmiten sus datos hacia el ordenador (en este caso un ratón). Así mismo, también ha supuesto un pequeño estudio del lenguaje ensamblador 80x86, sus ventajas, sus desventajas y sus principales comandos utilizados en la sintaxis. La práctica en sí no era muy complicada, la mayor dificultad residía en saber las pautas que debía seguir el ratón a la hora de comunicarse con el ordenador, así como la utilización de las distintas funciones de la interrupción 14. De todas formas, la práctica se podía complicar bastante dependiendo de las diversas posibilidades que el alumno podía realizar como parte optativa de la práctica (lo mínimo era que se indicase por pantalla cuando se habían pulsado cada uno de los botones). Aun así, tuvimos algunas dudas que fueron solventadas por el profesor de la asignatura (en cuanto a las prácticas se refiere). 11

13 ANEXO: CÓDIGO FUENTE ; A continuación se muestran dos macros. Una se encarga de introducir ; cuatro registros en la pila (push_a) mientras que la otra se encarga ; de sacarlos (pop_a). Esto sirve para salvar determinados valores y ; posteriormente recuperarlos sin haber perido su valor push_a Macro PUSH AX EndM PUSH BX PUSH CX PUSH DX ; Registros de 16 bits de propósito general, a pesar ; de que tienen asiganados tareas más específicas ; Mas concretamente, acumulador (AX), Base (BX), ; Contador (CX) y Dato (DX), respectivamente pop_a Macro POP DX EndM POP CX POP BX POP AX ; De la pila se deben sacar los registros en el orden ; inverso al que fueron introducidos ; Utilizaremos una macro para mostrar texto por pantalla. Se le pasará ; la dirección que indicará el texto a mostar. ; Para ello utilizaremos la funcion 9h de la interrupción 21, que ; sirve para imprimir una string mostrar_texto Macro msg push_a MOV DX, offset msg Ende MOV AH, 09h ; Se guardan los registros en la pila ; DX contendrá la dirección del texto a ; mostrar ; En AH se ha de especificar la función a ; utilizar (en este caso 09h) INT 21h ; Se llama a la interrupción 21 pop_a ; Se recuperan los registros de la pila 12

14 ; MENÚ PRINCIPAL comx Equ 0 DATOS SEGMENT MSG1: db "Practica 2 de Perifericos e Interfaces", 13, 13, 10, '$' eje_x db 00 eje_y db 00 SOLTAR db 00 IZQ: CENT: DER: xxx: yyy: db "BOTON IZQUIERDO", 13, 10, '$' db "BOTON CENTRAL", 13, 10, '$' db "BOTON DERECHO", 13, 10, '$' db "movimiento en X:",'$' db "movimiento en Y:", '$' sl: db 10,13,'$' ; Para imprimir un salto de línea (sl) DATOS ENDS PILA SEGMENT dw 512 DUP (?) ; Se asignan 512 palabras de ; contenido indefinido PPILA dw 0 PILA ENDS CODIGO SEGMENT ASSUME CS: CODIGO, SS: Pila, DS: DATOS, ES: DATOS ; Procedimiento encargado de configurar el puerto de donde se van a ; leer los datos y almacenarlos en memoria configpuerto Proc MOV AH, 00h MOV AL, 86h MOV DX, comx INT 14h ; La función 0 de la interrupción 14 nos ; servirá para configurar el puerto ; Configuración del puerto según las ; características de nuestro ratón (explicado ; con más detalle en la memoria) ; Se especifica el puerto que hay que ; configurar ; Se llama a la interrupción 14, encargada de 13

15 ; gestionar el puerto serie MOV AH, 05h ; Usaremos la función 5 para activar el "lazo ; de prueba" MOV AL, 01h ; Dicha función lleva dos parámetros, AL con el ; valor 01h OR BL,10h ; y BL, con el bit 4 activado MOV DX, comx ; Antes de llamar a INT14h metemos en el ; registro DX la dirección del puerto a ; utilizar INT 14h ; Llamada a la interrupción 14 RET EndP ; Procedimiento encargado de leer del controlador del registro de ; datos, para saber qué datos fueron enviados desde ; el periférico a dicho controlador. El resultado se almacena en el ; registro AX, mediante el cual sabremos la acción ; que realizó el usuario (se explica con más detalle en la memoria) leerbyte Proc EndP MOV AH, 2h ; Para leer del controlador se utiliza la ; función 2 de la interrupción 14 MOV DX, comx ; Especificamos en el registro DX el puerto ; donde se encuentra el periférico INT 14h ; Llamada a la interrupción 14 RET ; Proceso para mostrar por pantalla en formato binario los bytes ; enviados por el ratón pbyte Proc push_a ; Lo primeros que hacemos es guardar los ; registros en la pila MOV DH, DL ; DL contendrá el byte que queremos pasar ; a bits. Hacemos una copia en DH para no ; perder su valor MOV CL, 80h ; En CL estará la máscara (80h --> ; b) mostrar: AND DL, CL ; Hacemos un AND entre el byte a analizar ; y la máscara JZ bitcero ; Si el resultado es cero, es que el bit7 ; está a cero, por lo que saltamos a ; bitcero MOV DL, 31h ; En caso contrario, el bit7 está a uno, ; por lo que metemos en DL el código ; ASCII del carácter uno JMP impcarac bitcero: MOV DL,30h ; El registro DL contendrá el código ; ASCII del carácter cero 14

16 impcarac: MOV AH,2 ; Usaremos la función 2 de la ; interrupción 21 INT 21h ; Dicha función imprime el carácter que ; tendrá su código ASCII en el registro ; DL MOV DL, DH SHR CX,1 JNZ mostrar ; Restauramos el valor que contenía el ; registro DL ; Vamos desplazando hacia la derecha la ; máscara ; Mientra dicha máscara no valga cero, ; saltaremos a mostrar para volver a ; empezar MOV AH,9h ; Imprimimos un salto de línea. Para ello ; utilizamos la función 9 (imprimir ; string) de la interrupción 21 MOV DX, offset sl ; DX contiene la dirección del texto a ; mostrar INT 21h EndP pop_a RET ; Antes de retornar, recuperamos los ; registros que habíamos guardado en la ; pila ; Inicio del programa principal raton: MOV AX, DATOS MOV DS, AX MOV ES, AX MOV AX, PILA MOV SS, AX MOV SP, OFFSET PPILA mostrar_texto MSG1 CALL configpuerto ; Inicialización de los segmentos ; Se muestra el texto contenido en MSG1 ; Se configura el puerto adecuadamente ; Procesamiento de los bits que forman el protocolo de Microsoft bucle: CALL leerbyte ; Llamamos a leerbyte para leer del ; controlador de registro de datos TEST AH,80h ; Comprobamos que el bit más ; significativo del registro AH está a 1, ; y por lo tanto saber si el usuario ha ; hecho algo JNE bucle ; Si no lo está, el usuario no ha ; realizado ninguna acción, por lo que se ; sigue esperando a que se produzca ; alguna acción 15

17 TEST AL, 40h JZ bucle ; Ahora se comprueba si se ha empezado ; con el envío de los bytes de ; información ; Si no es así, se vuelve a bucle, en ; caso contrario comenzaremos a tratarlos ; tratamiendo del primer byte tratar: TEST AL, 20h ; Se comprueba si está activado el ; bit correspondiente a LB (Left ; Button) JZ no_izq ; Si no lo está, se salta a la ; etiqueta no_izq (no izquierdo) mostrar_texto IZQ ; En caso contrario se mostrará por ; pantalla que se ha pulsado el ; botón izquierdo no_izq: TEST AL, 10h ; De no haberse pulsado el botón ; izquierdo, se hará la misma ; comprobación con el botón derecho JZ no_der ; Si el bit correspondiente a RB ; (Right Button) es cero, se ; saltará a no_der (no derecho) mostrar_texto DER ; En caso contrario se mostrará por ; pantalla que se ha pulsado el ; botón derecho no_der: MOV eje_y, AL ; Metemos en eje_y el primer byte ; de información SHL eje_y, 3 ; Desplazamos tres bits a la ; izquierda para quedarnos con la ; información de x e y AND eje_y, 60h ; Ahora hacemos un AND con ; 60h( ) para quedarnos solo ; con la información de y SHL eje_x, 5 MOV eje_x, AL AND eje_x, 60h ; Desplazar cinco bits a la ; izquierda para quedarnos solo con ; la información de x ; Metemeos en eje_x el primer byte ; de información ; Hacemos de nuevo un AND con 60h ; para quedarnos solo con la ; información de x 16

18 ; tratamiendo del segundo byte CALL leerbyte AND AL, 3fh OR eje_x,al ; Llamamos a leerbyte para leer el ; segundo byte de información ; Hacemos un AND con 3fh( ) ; para quedarnos con la información ; de x ; Ahora le sumamos la información ; de x que ya teníamos para tener ; en eje_x la información ; del movimiento del eje x ; producido en el ratón ; tratamiendo del tercer byte CALL leerbyte AND AL, 3fh OR eje_y, AL mostrar_texto xxx MOV DL,eje_x CALL pbyte mostrar_texto yyy MOV DL,eje_y CALL pbyte ; El procedimiento es análogo al ; anterior, por lo que no merece ; más comentarios ; En eje_y tendremos la información ; del moviemiento del eje y ; producido en el ratón ; Se muestra el movimiento que se ; ha realizado sobre el eje x ; Pbyte se encargará de mostrar la ; información en formato binario ; Se actúa de la misma manera con ; el movimiento realizado sobre el ; eje y ; tratamiendo del cuarto byte CALL leerbyte TEST AH, 80h JE sig JMP bucle ; Se llama a leerbyte para tratar ; un nuevo byte ; Se comprueba si el usuario ha ; realizado alguna acción ; Cuando no se hace ninguna acción ; saltamos a la etiqueta sig ; En caso contrario volvemos al ; principio, a la etiqueata bucle sig: TEST AL, 40h ; Se hace a parte esta comprobación ; para evitar JZ sig2 ; desincronizarnos a la hora de ; saber qué byte estamos tratando JMP tratar ; Si el primer byte está activado, ; se vuelve a empezar 17

19 sig2: TEST AL, 20h ; Comprobamos que lo que se ha ; hecho ha sido pulsar el botón ; central JE sig3 ; Si ES 20h(Protocolo Logitech) se ; habrá pulsado el botón central JMP bucle sig3: mostrar_texto CENT ; Se muestra por pantalla que se ha ; pulsado el botón central JMP bucle ; Saltamos al bucle principal, para ; empezar de nuevo el mismo ; procedimiento MOV AH,4CH ; Se llama a la interrupción que ; finaliza el programa INT 21h ENDS End raton 18

20 19

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

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

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

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

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

ARQUITECTURA INTERNA DEL µp8086

ARQUITECTURA INTERNA DEL µp8086 El µp 8086 es un dispositivo de 16 bits de datos y 20 bits de direcciones. Esta dividido en dos subprocesadores: EU (Unidad de Ejecución). Es la encargada de realizar todas las operaciones de control y

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

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

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

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

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

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

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

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

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

Acceso Directo a Memoria

Acceso Directo a Memoria Tema 7: Acceso Directo a Memoria 7.1 El concepto Qué es una transferencia por acceso directo a memoria? El modelo de transferencia de información visto en los capítulos anteriores se denomina transferencia

Más detalles

9. Lenguaje ensamblador

9. Lenguaje ensamblador 9. Lenguaje ensamblador Lenguaje máquina: un programa o secuencia de instrucciones viene dado por una secuencia de códigos binarios. Lenguaje ensamblador: secuencia lógica de sentencias pertenecientes

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

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

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 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

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

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

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 6. Segmentación y modos de direccionamiento

Tema 6. Segmentación y modos de direccionamiento Tema 6. Segmentación y modos de direccionamiento Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 21 Índice Segmentación Modos de direccionamiento

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

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

SUPER CONTROLADOR DE SERVOS S310175

SUPER CONTROLADOR DE SERVOS S310175 SUPER CONTROLADOR DE SERVOS S310175 Controlador para servos con retroalimentación del par motor No es necesario realizar modificaciones a los servos Características: Sus ocho salidas independientes de

Más detalles

Un. VIII. Generación de Código Objeto

Un. VIII. Generación de Código Objeto Un. VIII. Generación de Código Objeto 8.1 Lenguaje Máquina Es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. El lenguaje máquina solo es entendible por las computadoras.

Más detalles

Introducción al EMU8086

Introducción al EMU8086 Introducción al EMU8086 Facultad: Estudios Tecnologicos. Escuela: Electrónica. Asignatura: Microprocesadores Objetivo General Utilizar el programa emulador EMU8086 y relacionarlo con los elementos básicos

Más detalles

Ejercicios - Intents y navegación entre actividades

Ejercicios - Intents y navegación entre actividades Ejercicios - Intents y navegación entre actividades Índice 1 Intents implícitos (0.8 puntos)...2 2 Intents explícitos (0.8 puntos)... 3 3 Navegación (0.8 puntos)...4 4 Actividades en diferentes tareas

Más detalles

07 Variables. 7.1 Variables globales Definición

07 Variables. 7.1 Variables globales Definición 07 Variables 07 Variables 7.1 Variables globales 7.1.1. Definición Las variables se utilizan para almacenar datos individuales en disco o en memoria. Son datos globales a la aplicación y comunes, en el

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

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

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

(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

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

Programas Residentes En Lenguaje Ensamblador

Programas Residentes En Lenguaje Ensamblador UNIVERSIDAD DEL VALLE DE GUATEMALA Facultad de Ingeniería Programas Residentes En Lenguaje Ensamblador Trabajo de investigación presentado por Hugo Chinchilla Luis Monteros Josué Rendón Estrada i INDICE

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

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

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

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

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

Tema 9 Periféricos de Entrada

Tema 9 Periféricos de Entrada Tema 9 Periféricos de Entrada Periféricos e Interfaces Tema 9/1 Contenido TECLADOS DISPOSITIVOS APUNTADORES DIGITALIZADORES Teclados Tecnología y Tipos Estructura Funcionalidad Interfaz al computador:

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

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

MICROSOFT EXCEL MICROSOFT EXCEL Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE MICROSOFT EXCEL MICROSOFT EXCEL 2013 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE IMPRESIÓN 11.1. Vista de Diseño de página En anteriores versiones existía la vista preliminar como

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

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

Registros de desplazamiento

Registros de desplazamiento Registros de desplazamiento Definición de registro de desplazamiento básico Tipos de registro de desplazamiento Configuraciones específicas Aplicaciones más típicas VHDL Ejercicio propuestos Definición

Más detalles

INTRODUCCIÓN. Comunicación Serial.

INTRODUCCIÓN. Comunicación Serial. INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al

Más detalles

Enlace PC PLC, vía teléfono.

Enlace PC PLC, vía teléfono. Enlace PC PLC, vía teléfono. realizado por: fernando pascual morales colaboración: moisés pérez monzón 1/14 Introducción Hay muchas aplicaciones que requieren de una conexión remota, desde la monitorización

Más detalles

Área Académica: Sistemas Computacionales

Área Académica: Sistemas Computacionales Área Académica: Sistemas Computacionales Tema: Arreglo de Registros Internos Profesor: Efraín Andrade Hernández Periodo: Julio Diciembre 2011 Keywords: Microprocessor, Records Tema: Arreglo de Registros

Más detalles

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

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología

Más detalles

Criba de Eratóstenes.

Criba de Eratóstenes. PRÁCTICA 5 ARM El objetivo de esta práctica, es escribir un programa en lenguaje ensamblador para encontrar los números primos entre 2 y 32768, empleando el método de la Criba de Eratóstenes. La Criba

Más detalles

CAPÍTULO 10. IMPRESIÓN.

CAPÍTULO 10. IMPRESIÓN. CAPÍTULO 10. IMPRESIÓN. Vamos a ver las diferentes técnicas relacionadas con la impresión de datos, como puede ser la configuración de las páginas a imprimir, la vista preliminar para ver el documento

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 6 de marzo de 017 Gustavo Romero López Práctica 3: El teclado del PC 1 / 11 Objetivos Objetivos: Fuentes: Recordar

Más detalles

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

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS MAESTRO: ERNESTO LEAL ALUMNOS: LUIS CARLOS BARRERA ORTIZ STHEPANIE FLORES GUILLEN En este cuestionario de estudiaran los microprocesadores

Más detalles

Funcionamiento del 8086/8088

Funcionamiento del 8086/8088 En este capítulo se ofrece una pequeña descripción del funcionamiento de un 8086/8088. En concreto, se explica cómo está organizada la memoria, como se ejecuta un programa y cómo se manejan las interrupciones.

Más detalles

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II

INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INSTITUTO TECNOLÓGICO DE CHIHUAHUA II Carrera: Ingeniería Informática Nombre de la materia: Arquitectura de Computadoras Nombre del docente: Ernesto Leal Nombre de los alumnos: Janeth Hernández Hernández,

Más detalles

Baudios PS SmartSwitch

Baudios PS SmartSwitch Menú Serie 1 Utilice el menú Serie para modificar aquellos valores enviados a la impresora mediante un puerto serie (Serie estándar o Serie Opción ). Para obtener más información, seleccione un elemento

Más detalles

Configuración básica de redes TCP/IP.

Configuración básica de redes TCP/IP. Configuración básica de redes TCP/IP. Repasando conceptos básicos Dirección IP: número IP que le asignamos a nuestro ordenador, no pudiendo estar repetida dentro de nuestra subred Máscara de subred: código

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

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

MÓDULOS B-MOTICS ESCLAVOS DE MODBUS. Bielsa electrónica S.L. Ref: mblogix1.0es.pdf

MÓDULOS B-MOTICS ESCLAVOS DE MODBUS. Bielsa electrónica S.L. Ref: mblogix1.0es.pdf MÓDULOS ESCLAVOS DE MODBUS MBLOGIX B-MOTICS 1 ÍNDICE DE CONTENIDO DESCRIPCIÓN GENERAL... 4 INSTALACIÓN... 5 WINDOWS... 5 LINUX... 5 MAC... 5 CONFIGURACIÓN DE LA COMUNICACIÓN... 6 SERIE RTU... 6 VELOCIDAD...

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

Manual de usuario de Kiva

Manual de usuario de Kiva Manual de usuario de Kiva 1 Manual de usuario de Kiva En este manual se tratan todos los aspectos funcionales de la aplicación para que el usuario aprenda el funcionamiento de ésta y pueda crear topologías

Más detalles

Programación de presostato diferencial de aceite

Programación de presostato diferencial de aceite Prologo: Programación de presostato diferencial de aceite Vamos a realizar una programación basada en el control de un diferencial de aceite de un compresor con bomba de aceite, vamos a usar dos presostatos

Más detalles

Programación en Visual Basic Ricardo Rodríguez García

Programación en Visual Basic Ricardo Rodríguez García Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.

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

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

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

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

Manual MSOFT versión 2.60

Manual MSOFT versión 2.60 Manual MSOFT Versión 2.60 Manual de instalador Manual MSOFT versión 2.60 Página i Índice 1. Descripción general... 2 2. Instalación y cableado... 2 2.1. Cableado... 2 2.2. Instalación del software de control

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

TAREAS OUTLOOK Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

TAREAS OUTLOOK Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE TAREAS OUTLOOK 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE TAREAS Si eres una persona muy ocupada que siempre tiene multitud de cosas que hacer, dispondrás de una libreta de anotaciones

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

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda Unidad 5. Tablas Una tabla está formada por celdas o casillas, agrupadas por filas y columnas, en cada casilla se puede insertar texto, números o gráficos. Lo principal antes de empezar a trabajar con

Más detalles

GENERACIÓN DE EXÁMENES TIPO TEST

GENERACIÓN DE EXÁMENES TIPO TEST PRÁCTICA Nº 5: 2 sesiones (S6: 25 de abril, 3, 4, 5 y 6 de mayo) (S7: 9, 10, 11, 12 y 13 de mayo) 0. OBJETIVOS GENERACIÓN DE EXÁMENES TIPO TEST a. Familiarizarse con el uso de listas con punto de interés.

Más detalles

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

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset

Más detalles

WINDOWS 98/Me CONFIGURACIÓN DE WINDOWS III. Sistema

WINDOWS 98/Me CONFIGURACIÓN DE WINDOWS III. Sistema 13 CONFIGURACIÓN DE WINDOWS III Sistema Sistema.lnk La utilidad Sistema proporciona información relativa a su equipo y a los dispositivos instalados en su ordenador; además, permite modificar la configuración

Más detalles

Práctica 5MODBUS: Bus Modbus

Práctica 5MODBUS: Bus Modbus Práctica 5MODBUS: Bus Modbus 1 Objetivos El objetivo de esta práctica es la utilización y la programación de una red Modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la

Más detalles

Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010

Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010 Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010 1. Configuración del adaptador de red para acceder a la configuración de la antena... 2 2.

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

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

LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. LABORATORIOS DE: DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA. MEMORIAS Y PERIFÉRICOS. PRÁCTICA #7 EL PUERTO PARALELO DE UNA COMPUTADORA OBJETIVO DE LA PRÁCTICA. Aprender la configuración del conector

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

Actividad 5: Configuración, direccionamiento y enrutamiento de redes Ethernet y Controller Link

Actividad 5: Configuración, direccionamiento y enrutamiento de redes Ethernet y Controller Link Actividad 5: Configuración, direccionamiento y enrutamiento de redes Ethernet y Controller Link 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 4 PLC Omrom CJ1M CPU11 ETN Estos autómatas

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

Lenguaje Ensamblador. Equipo 3. Alberto Abraham Gomez Cruz Edgar

Lenguaje Ensamblador. Equipo 3. Alberto Abraham Gomez Cruz Edgar Lenguaje Ensamblador Equipo 3 Alberto Abraham Gomez Cruz Edgar Unidad 1 1.3 Interruptores 1.4 Estructura de un programa en ensamblador Introducción El lenguaje ensamblador es el sistema alfanumérico para

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

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

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

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

Periféricos Avanzados Práctica 3. Programación del puerto paralelo.

Periféricos Avanzados Práctica 3. Programación del puerto paralelo. Periféricos Avanzados Práctica 3. Programación del puerto paralelo. Fundamento teórico. El puerto paralelo de un PC es una plataforma barata y una potente para implementar proyectos que deban hacerse con

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 constará de dos partes: 1ª parte: Test, con una puntuación de 5 puntos y 30 minutos de tiempo 2ª parte: Ejercicios prácticos, con una puntuación

Más detalles

Indice. Subrutinas vs rutinas de interrupción Subrutinas Tareas a realizar para utilizar una subrutina en el programa

Indice. Subrutinas vs rutinas de interrupción Subrutinas Tareas a realizar para utilizar una subrutina en el programa 1 Indice Introducción Subrutinas vs rutinas de interrupción Subrutinas Tareas a realizar para utilizar una subrutina en el programa Crear una subrutina Llamar a una subrutina Rutinas de interrupción Ejemplo

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

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO UNIDAD DIDÁCTICA ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO Los objetivos de este tema son: 1. Aprender a crear un nuevo libro de trabajo de Excel para empezar a trabajar. 2. Saber cómo guardar los cambios

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

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