P. 1
134779820-Unidad-2-Lenguajes-de-Interfaz.pdf

134779820-Unidad-2-Lenguajes-de-Interfaz.pdf

|Views: 78|Likes:
Publicado porPepe Angel

More info:

Published by: Pepe Angel on Apr 24, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/09/2014

pdf

text

original

6B

Programación básica
Unidad 2

GEIDAR JESÚS RAMÍREZ PÉREZ Lenguajes de Interfaz 6B

ÍNDICE Ensamblador y ligador a utilizar……………………………………2 Ciclos numéricos………………………………………………………..4 Captura básica de cadenas…………………………….…………….5 Comparación y prueba………………………………………….........5 Saltos……………………………………………………………………..5 Ciclos condicionales…………………………………..………………..6 Incremento y decremento……………………………..……………….7 Captura de cadenas con formato ……………………………………8 Instrucciones aritméticas………………………………………………9 Manipulación de la pila …………………………………..…………….10 Obtención de una cadena con la representación hexadecimal…10 Instrucciones lógicas……………………………………………………15 Desplazamiento y rotación…………………………………………..….15 Obtención de una cadena con la representación decimal………..18 Captura y almacenamiento de datos numéricos……………………..19 Operaciones básicas sobre archivos de disco…………………...….22

La extensión no es necesaria ponerla y los parámetros /zi y /l sólo son útiles si queremos hacer un proceso de depuración (debug) con el Turbo Debugger. el linker o enlazador imprime un mapa de memoria que indica donde serán cargados los módulos objeto en la memoria. escrito en un fichero de texto. Con TASM el proceso de ensamblado se realiza escribiendo lo siguiente en la ventana de comandos: tasm /zi /l nombre donde nombre es el nombre del fichero . El código objeto consta del código en lenguaje máquina y de la información necesaria para enlazarlo con otros módulos objeto. Tras la ejecución de esta línea se nos creará un fichero “nombre. Para linkar con TASM escribimos: tlink /v nombre Tras esto se nos creará el fichero ejecutable (.ENSAMBLADOR Y LIGADOR A UTILIZAR Ensamblado Un ensamblador es el programa que convierte un listado de código fuente. que ha sido creado utilizando un editor de texto. los módulos objeto resultantes.obj Linkado y montado Al construir un programa algunos de sus módulos pueden colocarse en el mismo módulo fuente y ensamblarse juntos.com) que el sistema operativo se encargará de cargar en memoria . así como ciertas directivas o comandos para el propio ensamblador. en código objeto. Después de crearse el módulo de carga. deben ser enlazados para formar el módulo de carga. El código fuente es un fichero que contiene la secuencia de instrucciones en lenguaje ensamblador que forma el programa. algunos de los cuales pueden estar agrupados en librerías. es decir. éste es cargado por el cargador en la memoria del ordenador y comienza la ejecución. Además de dar como salida el módulo de carga.exe o . otros pueden estar en módulos diferentes y ser ensamblados separadamente. antes de que se pueda ejecutar el programa.asm con el código fuente. lenguaje máquina (el que finalmente interpretará el procesador) en el que sólo le faltan las referencias a rutinas externas. En cualquier caso.

la extensión no es necesaria ponerla y el parámetro /v sólo es útil para el Turbo Debugger. Hay 4 tipos de bucles básicos: o Bucles sin fin o Bucles por conteo.cuando lo ejecutemos. Un bucle es un bloque de código que se ejecuta varias veces. Las instrucciones de control de bucles son las siguientes: • INC incrementar • DEC decrementar • LOOP realizar un bucle • LOOPZ. De nuevo. CICLOS NUMERICOS Un bucle es un grupo de instrucciones que se ejecutan cíclicamente un número concreto de veces.LOOPE realizar un bucle si es cero . Bucles hasta o Bucles mientras. Para construir bucles disponemos de las siguientes instrucciones: Éstas posibilitan el grupo de control más elemental de nuestros programas.

JNZ salta si no igual a cero • JS salta si signo negativo • JNS salta si signo no negativo .• LOOPNZ. Las operaciones que se pueden realizar sobre las cadenas son las siguientes: COMPARACION Y PRUEBA Este grupo es una continuación del anterior. incluye las siguientes instrucciones: • TEST verifica • CMP compara SALTOS • JMP salta • JE.LOOPNE realizar un bucle si no es cero • JCXZ salta si CX es cero CAPTURA BÁSICA DE CADENAS Una cadena es una secuencia de bytes contiguos. JZ salta si es igual a cero • JNE.

JNAE salta si por abajo (no encima o igual) • JNB.• JP. JGE salta si no menor que (mayor o igual) • JLE. la cual está directamente relacionada con los valores iniciales. JNA salta si por abajo o igual (no encima) • JNBE. JNG salta si menor que o igual (no mayor) • JNLE. la última parte especifica cómo serán manipulados los valores iniciales en cada iteración del ciclo. iteración por ciclo)     Las tres partes del ciclo se encuentran separadas por . Ciclo IF Una característica del ciclo if/else es el uso de llaves { }. condición de terminación . (punto y coma) La primer parte del ciclo especifica valores previos a su inicio. La segunda parte indica la condición de terminación para el ciclo. JA salta si no por abajo o igual (encima) • JL. JG salta si no menor que o igual (mayor) CICLOS DE CONDICIONALES Ciclo For La Sintaxis empleada por el ciclo for es la siguiente: for (valores de entrada . JNGE salta si menor que (no mayor o igual) • JNL. JOP salta si paridad impar • JO salta si hay capacidad excedida • JNO salta si no hay capacidad excedida • JB. JAE salta si no está por abajo (encima o igual) • JBE. en el ejemplo anterior pudo notar que no fueron utilizadas llaves { } para delimitar las condicionales. Finalmente. JPE salta si paridad par • JNP. se asume que el ciclo o condicional tendrá efecto únicamente en la linea . al no emplearse este mecanismo.

es importante señalar que esta sintaxis de no utilizar llaves ({ } ) es válida y muy común (Lamentablemente) . Aunque es recomendable utilizar llaves ({ } ) para incrementar la legibilidad del código. Fuente .contigua a su inicio. registros y acumulador. en el momento en que la condición se convierte en falsa el ciclo termina. Sintaxis: MOV Destino. Instrucción(es) para salir del ciclo. }. MOV MOVS (MOVSB) (MOVSW) Instrucción MOV Propósito: Transferencia de datos entre celdas de memoria. Su formato general es: Cargar o inicializar variable de condición. Cada instrucción se puede usar con diferentes modos de direccionamiento. INCREMENTO Y DECREMENTO Las instrucciones del ensamblador Instrucciones de transferencia Son utilizadas para mover los contenidos de los operandos. Existe otra variación de if/else que agrupa las condicionales en una sola expresión: if (expresion Boolean operación falsa) ? operación verdadera : Ciclo While En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera. While (condición) { Grupo cierto de instrucciones.

BX sin embargo hace que el procesador coja el contenido de BX y lo copiara en AX. Fuente: memoria  Destino: memoria. MOV AX. Los diferentes movimientos de datos permitidos para esta instrucción son:  Destino: memoria. Fuente: registro de segmento  Destino: registro. Fuente: memoria  Destino: registro de segmento. Fuente: acumulador  Destino: acumulador.BL MOV AX. comparación o búsqueda rápida en bloques de datos: • MOVC transferir carácter de una cadena • MOVW transferir palabra de una cadena . He aquí nuestra primera instrucción: MOV destino.Donde Destino es el lugar a donde se moverán los datos y fuente es el lugar donde se encuentran dichos datos. porque no alteramos en absoluto el operando origen. Cuando decimos "mover" en realidad sería más apropiado "copiar". Fuente: memoria/registro  Destino: memoria/registro. Lo que hace es copiar lo que haya en "origen" en "destino". Fuente: registro  Destino: registro. en este caso de 16 bits. Fuente: dato inmediato  Destino: memoria. Lo de que primero vaya el destino y luego el origen es común a todas las instrucciones del 8086 que tengan dos operandos. Fuente: registro  Destino: registro. CAPTURA DE CADENAS CON FORMATO Permiten el movimiento. origen Efectivamente. Fuente: dato inmediato La instrucción MOV y los modos de direccionamiento. lo que había anteriormente en AX se pierde (puesto que un registro al fin y al cabo es un número. lo cual creará más de un quebradero de cabeza al principio. mientras que BX no se ve afectado. sirve para mover. y ahora le hemos asignado un nuevo valor).

Estas instrucciones son las que realiza directamente el 8086/8088 a. Grupo de sustracción: • SUB resta • SBB resta con acarreo negativo • AAS ajuste ASCII para la resta . Grupo de adición: • ADD suma • ADC suma con acarreo • AAA ajuste ASCII para la suma • DAA ajuste decimal para la suma b.• CMPC comparar carácter de una cadena • CMPW comparar palabra de una cadena • SCAC buscar carácter de una cadena • SCAW buscar palabra de una cadena • LODC cargar carácter de una cadena • LODW cargar palabra de una cadena • STOC guardar carácter de una cadena • STOW guardar palabra de una cadena • REP repetir • CLD poner a 0 el indicador de dirección • STD poner a 1 el indicador de dirección INSTRUCCIONES ARITMÉTICAS Instrucciones Aritméticas.

Sintaxis: • POPF extraer indicadores . Grupo de multiplicación: • MUL multiplicación • IMUL multiplicación entera • AAM ajuste ASCII para la multiplicación d.• DAS ajuste decimal para la resta c. Grupo de división: • DIV división • IDIV división entera • AAD ajuste ASCII para la división e. Conversiones: • CBW pasar octeto a palabra • CWD pasar palabra a doble palabra • NEG negación MANIPULACIÓN DE PILA Una de las funciones de la pila del sistema es la de salvaguardar (conservar) datos (la otra es la de salvaguardar las direcciones de retorno de las llamadas a subrutinas): • PUSH introducir • POP extraer • PUSHF introducir indicadores OBTENCION DE CADENA CON REPRESENTACION HEXADECIMAL Procesos de Control NOP (Operación nula).

es decir.NOP Indicadores: OF DF IF TF SF ZF AF PF CF Realiza una operación nula. Como en los PC se producen normalmente 18. origen Indicadores: OF DF IF TF SF ZF AF PF CF - Se utiliza en combinación con procesadores externos. Ejemplo: ESC 21. el microprocesador decodifica la instrucción y pasa a la siguiente. Realmente se trata de la instrucción XCHG AX.2 . Sintaxis: HLT Indicadores: OF DF IF TF SF ZF AF PF CF El procesador se detiene hasta que se restaura el sistema o se recibe una interrupción. ESC (Salida a un coprocesador). Al mnemónico ESC le siguen los códigos de operación apropiados para el coprocesador así como la instrucción y la dirección del operando necesario.AX. Sintaxis: ESC código_operación.AX HLT (Parada hasta interrupción o reset). tales como los coprocesadores de coma flotante o de E/S. y abre al dispositivo externo el acceso a las direcciones y operandos requeridos.

XLAT (traducción). por ejemplo.interrupciones de tipo 8 por segundo (del temporizador) algunos programadores utilizan HLT para hacer pausas y bucles de retardo. Sin embargo. introduciendo una señal por la patilla LOCK. el método no es preciso y puede fallar con ciertos controladores de memoria. Sintaxis: LOCK Indicadores: OF DF IF TF SF ZF AF PF CF - Es una instrucción que se utiliza en aplicaciones de recursos compartidos para asegurar que no accede simultáneamente a la memoria más de un procesador. cuando el coprocesador ha terminado una operación e indica su finalización. Suele preceder a ESC para sincronizar las acciones del procesador y coprocesador. Ocurre. Cuando una instrucción va precedida por LOCK. WAIT (Espera). LOCK (Bloquea los buses). Sintaxis: WAIT Indicadores: OF DF IF TF SF ZF AF PF CF - Provoca la espera del procesador hasta que se detecta una señal en la patilla TEST. el procesador bloquea inmediatamente el bus. Sintaxis: XLAT tabla .

3. Por ejemplo. el siguiente programa: DATOS SEGMENT TABLA DB 2. 4 XLAT TABLA Para finalizar con las instrucciones de transferencia veremos un grupo de tres instrucciones: LEA o cargar dirección efectiva .Inicializa BX con la dirección donde comienza la tabla MOVE AL. 16. 5.Indicadores: OF DF IF TF SF ZF AF PF CF - La instrucción XLAT tabla carga en el registro AL el contenido de la posición [BX][AL]. en donde el registro BX ha de apuntar al comienzo de una tabla. 23 DATOS ENDS CODIGO SEGMENT MOVE BX. 8. AL hace de índice de la tabla y de almacén destino del contenido de la tabla. OFFSET TABLA . OFFSET TABLA MOV AL. Otro ejemplo: MOV BX. Dicho de otra manera. 5 XLAT TABLA CODIGO ENDS Hace que al final el contenido de AL sea 16 ya que es el quinto elemento de la tabla y AL antes de XLAT TABLA contenía el valor 5.

origen Indicadores: . origen Indicadores: OF DF IF TF SF ZF AF PF CF - Transfiere el desplazamiento del operando fuente al operando destino.LDS o cargar el puntero en DS LES o cargar el puntero en ES denominadas de transferencia de direcciones. Sintaxis: LDS destino. Sin embargo. LEA (carga dirección efectiva). SI LDS (carga un puntero utilizando DS). OFFSET fuentey de hecho los buenos ensambladores (TASM) la codifican como MOV para economizar un byte de memoria. Otras instrucciones pueden a continuación utilizar el registro como desplazamiento para acceder a los datos que constituyen el objetivo. Esa sola instrucción es equivalente a estas dos: MOV DX. OFFSET DATOS ADD DX. En general. esta instrucción es equivalente a MOV destino. LEA es en algunos casos más potente que MOV al permitir indicar registros de índice y desplazamiento para calcular el offset: En el ejemplo de arriba. el valor depositado en DX es el OFFSET de la etiqueta DATOS más el registro SI. Sintaxis: LEA destino. El operando destino no puede ser un registro de segmento.

al destino indicado y a DS. 'DD' sirve para definir una variable larga de 4 bytes (denominada PUNT en el ejemplo). .OF - DF - IF - TF - SF - ZF - AF - PF - CF - Traslada un puntero de 32 bits (dirección completa de memoria compuesta por segmento y desplazamiento). LES (carga un puntero utilizando ES). Sintaxis: LES destino. origen Esta instrucción es análoga a LDS. el procesador toma 4 bytes de la memoria: con los dos primeros forma una palabra que deposita en destino y. en DS: SI se hace referencia a la posición de memoria 1234h: 5678h. con los otros dos. A partir de la dirección indicada por el operando origen. otra en DS. Ejemplo: PUNT DD 12345678H LDS SI. pero utilizando ES en lugar de D INSTRUCCIONES LÓGICAS Son operaciones bit a bit que trabajan sobre octetos o palabras completas: • NOT negación • AND producto lógico • OR suma lógica • XOR suma lógica exclusiva DESPLAZAMIENTO Y ROTACIÓN Instrucciones de Desplazamiento Circular RCL (Rotación a la izquierda con acarreo). PUNT Como resultado de esta instrucción.

Si el número de bits a desplazar es 1. en caso contrario su valor debe cargarse en CL y especificar CL como segundo operando: Ejemplos: . Si el número de bits es 1 se puede especificar directamente.CL RCL DI. Ejemplos: RCL AX.1 RCL AL. se puede especificar directamente. en caso contrario el valor debe cargarse en CL y especificar CL como segundo operando.Sintaxis: RCL destino. contador Indicadores: OF x DF IF TF SF ZF AF PF CF x Rotar a la izquierda los bits del operando destino junto con el indicador de acarreo CF el número de bits especificado en el segundo operando. en bytes. Sintaxis: RCR destino.1 RCR (Rotación a la derecha con acarreo). No es conveniente que CL sea mayor de 7. ó 15. en palabras. contador Indicadores: OF x DF IF TF SF ZF AF PF CF x Rotar a la derecha los bits del operando destino junto con el indicador de acarreo CF el número de bits especificado en el segundo operando.

contador Indicadores: OF x DF IF TF SF ZF AF PF CF x Rota a la izquierda los bits del operando destino el número de bits especificado en el segundo operando. Sintaxis: ROR destino. en caso contrario debe ponerse a través de CL. que puede ser 1 ó CL previamente cargado con el valor del número de veces. Si el número de bits es 1 se puede poner directamente.CL RCR BX. Ejemplos: ROL DX. ROL (Rotación a la izquierda). Sintaxis: ROL destino. contador Indicadores: OF x DF IF TF SF ZF AF PF CF x Rota a la derecha los bits del operando destino el número de bits especificado en el segundo operando. Ejemplos: ROR CL.1 ROR (Rotación a la derecha).1 .CL ROL AH.RCR BX.

si es mayor se especifica a través de CL. Si el número de bits a desplazar es 1 se puede especificar directamente. Los bits de la izquierda se rellenan con el bit de signo del primer operando. contador Indicadores: OF DF IF TF SF ZF AF PF CF X x x ? x X Desplaza a la izquierda los bits del operando el número de bits especificado en el segundo operando que debe ser CL si es mayor que 1 los bits desplazados.CL OBTENCIÓN DE REPRESENTACION DE CADENAS DECIMAL Instrucciones de Desplazamiento Lineal AL/SHL (Desplazamiento aritmético a la izquierda). SAR (Desplazamiento aritmético a la derecha). Sintaxis: SAL/SHL destino. Sintaxis: SAR destino. contador Indicadores: OF X DF IF TF SF x ZF x AF ? PF x CF x Desplaza a la derecha los bits del operando destino el número de bits especificado en el segundo operando. CL .ROR AX. Ejemplos: SAR AX.

Los 4 registros de segmento (CS.SAR BP. Los programas de este tipo pueden convertirse a formato COM.1 CAPTURA Y ALMACENAMIENTO DE DATOS NUMERICOS Bloques en ensamblador MODELOS DE MEMORIA. Los bits de la izquierda se llena con cero. SS) están asignados a la misma dirección.CL SHR CL. contador Indicadores: OF X DF IF TF SF x ZF x AF ? PF x CF x Desplaza a la derecha los bits del operando destino el número de los bits especificados en el segundo operando. ES. Sintaxis: SHR destino. Si el número de bits a desplazar es 1 se puede especificar directamente en el caso en que no ocurra se pone el valor en CL: Ejemplos: SHR AX. En el caso del Turbo C se pueden distinguir los siguientes: TINY: Se emplea en los programas donde es preciso apurar el consumo de memoria hasta el último byte.1 SHR (Desplazamiento lógico a la derecha). DS. datos y pila. Los modelos de memoria constituyen las diversas maneras de acceder a la memoria por parte de los compiladores de C. . por lo que existe un total de 64 Kb donde se mezclan código.

LARGE: Empleado en las aplicaciones grandes y también por los programadores de sistemas que no tienen paciencia para andar forzando continuamente el tipo de los punteros (para rebasar el límite de 64 Kb). es factible . todos los punteros son normalizados automáticamente y se admiten datos estáticos de más de 64 Kb. Segmentos Punteros Modelo Código Datos Pila Código Datos Tiny 64 Kbnear near Small 64 Kb64 Kbnear near Medium Compact 1 Mb 64 Kbfar near 64 Kb1 Mb near far far Large 1 Mb 1 Mb far Huge 1 Mb 1 Mb (Bloques > 64 Kb) far far MEDIUM: Este modelo es ideal para programas largos que no manejan demasiados datos. pero con algunas ventajas: por un lado. Se utilizan punteros largos para el código (que puede extenderse hasta 1 Mb) y cortos para los datos: la pila y los datos juntos no pueden exceder de 64 Kb.SMALL: Se utiliza en aplicaciones pequeñas. COMPACT: Al contrario que el anterior. Por ello. HUGE: Similar al anterior. este modelo es el apropiado para los programas pequeños que emplean muchos datos. Este modo es el que menos problemas da para manejar la memoria. el programa no puede exceder de 64 Kb aunque los datos que controla pueden alcanzar el Mb. aunque no se admite que los datos estáticos ocupen más de 64 Kb. ya que los punteros de datos son de tipo far por defecto. y gracias a esto último. Los segmentos de código y datos son diferentes y no se solapan. hay 64 kb para código y otros 64 Kb a repartir entre datos y pila. Tanto los datos como el código pueden alcanzar el Mb. Por ello. Por otro. no siendo quizá tan lento y pesado como indica el fabricante.

Usando la pila Una sección de la memoria del programa es reservado para el uso de una pila. esp. el cual almacena la dirección del tope de la pila. 1988. almacenados en la pila(cada entero ocupando 4 bytes) con el registro esp apuntando a la dirección del tope de la pila. Sin embargo. ya que los segmentos de los punteros se actualizan correctamente. La Intel 80386 y procesadores superiores contienen un registro llamado puntero a la pila. este modelo es el más costoso en tiempo de ejecución de los programas. 49. A diferencia de una pila creciendo hacia arriba. en las máquinas Intel crecen hacia abajo.manipular bloques de datos de más de 64 Kb cada uno. El puntero de la pila es decrementado de cuatro en cuatro y el número 15 es almacenando como lugares de 4 bytes. En la Figura 2 muestra las capas de la pila después de la ejecución pushl $15. 30 y 72. la figura 1 de abajo muestra 3 valores enteros. 1990 y 1991 . 1989.

%eax ret En Listing 3. Obviamente el tope de la pila debe contener una dirección válida OPERACIONES BASICAS SOBRE ARCHIVOS DE DISCO ENTRADA Y SALIDA Funciones que realiza Vamos a señalar las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida: . Esta última función es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los periféricos y la CPU (por ejemplo.Sincronización y coordinación de las operaciones. Qué sucede si no quieres copiar el valor del tope de la pila a un registro?. Puedes ejecutar la instrucción addl $4.Direccionamiento o selección del dispositivo que debe llevar a cabo la operación de E/S. %eax call foo ret foo: addl $5. #Listing 3 . . el cual transfiere el control a la instrucción cuya dirección se toma desde el tope de la pila. .Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). %esp el cual simplemente incrementa el puntero de la pila. suelen tener relojes diferentes). . La subrutina termina con ret. la instrucción call foo pone la dirección de la instrucción después de call en la llamada al programa sobre la pila y va hacia foo.La instrucción popl %eax copia el valor del tope de la pila(4 bytes) a eax e incrementa esp en 4.globl main main: movl $10.

Para efectuar una transferencia elemental de información son precisas las siguientes funciones: . etc. otros de escritura y otros de lectura y escritura (es importante resaltar que este hecho siempre se mira desde el punto de vista del proceso).Conversión de códigos. impresoras. algunos son de lectura. Estas partes suelen separarse claramente para . .) . códigos de redundancia cíclica. Definiremos una operación de E/S como el conjunto de acciones necesarias para la transferencia de un conjunto de datos (es decir. cintas. es decir. en que se incluyen operaciones como prueba y modificación del estado del periférico. Para realizar estas funciones la CPU gestionará las líneas de control necesarias. Sin esta función. el ordenador no sería operativo porque sus cálculos no serían visibles desde el exterior. conversión serie/paralelo.) hasta convertidores A/D y D/A para aplicaciones de medida y control de procesos. desde los dispositivos clásicos (terminales. etc.Se define una transferencia elemental de información como la transmisión de una sola unidad de información (normalmente un byte) entre el procesador y el periférico o viceversa. Para la realización de una operación de E/S se deben efectuar las siguientes funciones: . La mayoría de los periféricos están compuestos por una parte mecánica y otra parte electrónica.Establecimiento de una comunicación física entre el procesador y el periférico para la transmisión de la unidad de información. una transferencia completa de datos).Almacenamiento temporal de la información. . etc. . existen periféricos de almacenamiento también llamados memorias auxiliares o masivas. Existe una gran variedad de dispositivos que pueden comunicarse con un ordenador. discos. .Detección de errores (e incluso corrección) mediante la utilización de los códigos necesarios (bits de paridad.Recuento de las unidades de información transferidas (normalmente bytes) para reconocer el fin de operación. De todos los posibles periféricos. Es más eficiente utilizar un buffer temporal específico para las operaciones de E/S que utilizan el área de datos del programa.Sincronización de velocidad entre la CPU y el periférico. Dispositivos externos Una de las funciones básicas del ordenador es comunicarse con los dispositivos exteriores. Por otra parte.Control de los periféricos. el ordenador debe ser capaz de enviar y recibir datos desde estos dispositivo.

la pantalla de un terminal). A la componente electrónica del periférico se le suele denominar controlador del dispositivo o. el controlador estará formado por la parte digital del circuito. Por tanto. Frecuentemente los controladores de los dispositivos están alojados en una placa de circuito impreso diferenciada del resto del periférico.dar una mayor modularidad. El principal problema planteado por los periféricos es su gran variedad que también afecta a las velocidades de transmisión. . el mayor inconveniente que encontramos en los periféricos es la diferencia entre sus velocidades de transmisión y la diferencia entre éstas y la velocidad de operación del ordenador. también. por ejemplo. En este caso es bastante habitual que un mismo controlador pueda dar servicio a dispositivos de características similares. Si el dispositivo no tiene parte mecánica (como. adaptador del dispositivo.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->