Sie sind auf Seite 1von 3

Lenguaje de Bajo Nivel: La informacin que hace que el hardware de la computadora realice una determinada actividad de llama instruccin.

Las instrucciones equivalen a acciones elementales de la mquina, por lo que al conjunto de dichas instrucciones que son interpretadas directamente por la mquina se denomina lenguaje mquina. Se denomina lenguaje mquina a la serie de datos que la parte f sica de la computadora o hardware, es capa! de interpretar. Son dependientes de la mquina, "l lenguaje ensam#lador es simplemente una representacin sim#lica del lenguaje mquina L"NS$%BL$&'(: LOD 3,A: MEM 2,B: ADD A,B: STO : $AB%&) %2, )B, MEM, : !"# : $AB%&+ 3), S*, D%

L%)*+,N$: $AB%&& 'B, (3, )B: $AB%&2 2* (2,

-entajas del Lenguaje ensam#lador: (equiere considera#lemente menos memoria . tiempo de ejecucin que un programa escrito en los conocidos lenguajes de alto nivel, &a la capacidad de reali!ar tareas mu. t/cnicas que serian dif ciles, si no es que imposi#les de reali!ar en un lenguaje de alto nivel. "l conocimiento del lenguaje ensam#lador permite una comprensin de la arquitectura de la maquina que ning0n lenguaje de alto nivel puede ofrecer. Los programas residentes . rutinas de servicio de interrupcin casi siempre son desarrollados en el lenguaje ensam#lador. La memoria es aquella parte de la computadora en donde se almacenan los programas . los datos. La unidad #sica de memoria es el d gito #inario denominado ,it, el cual puede ser un 1 o un 2.La memoria cuenta con cierto n0mero de celdas 3c/lulas o posiciones4, cada una de las cuales puede almacenar una 5porcin6 de informacin, 7ada celda tiene un n0mero asociado denominado direccin por el que los programas pueden hacer referencia a ella. 8odas las celdas de una memoria tienen el mismo n0mero de #its en cada celda. 7ada celda puede almacenar 9: com#inaciones diferentes1 de informacin, Las celdas son la unidad ms peque;a direcciona#le, "l estndar esta#lecido de los fa#ricantes han esta#lecido como norma una celda de < #its, a la que se denomina ,-te. Los #.tes se agrupan en pala,ras, /0rds para poder ser ejecutadas por los procesadores, Los #.tes de una pala#ra pueden numerarse de der i!q o i!q der. "n la familia %otorola, las pala#ras se numeran por el e=tremo ma.or 5#ig endian6 3i!q der4. "n la familia ,ntel, las pala#ras se numeran por el e=tremo menor 5little endian6 3der i!q4. 8ipos de %emorias: ('%, ($%, >('%, ">('%, "9>('%, >L$, >L7, &,%%, S,%%,%"%'(,$ &" B+(B+?$, %emorias Secundarias, 7intas %agn/ticas, &iscos %agn/ticos, @le=i#les, Apticos, +SB Perifricos 8erminales, "=hi#icin de caracteres, %apas de #its (SB9C9, %dems, (atones, ?o.stic: . lpi! ptico, Scanner . 8a#leros &igitali!adores, impresoras, impacto, %atri! de puntos, Lser 8/rmicas, ,n.eccin de tinta BUSES: "s una ruta el/ctrica com0n entre m0ltiples dispositivos. "l #us puede estar formado por una sola l nea o por m0ltiples l neas. Bus de Datos.B "s un #us m0ltiple que se utili!an para transportar instrucciones, o datos entre los diferentes dispositivos. Bus de Direcciones.- es un #us m0ltiple que se utili!a para llevar la informacin de las localidades de memoria donde se tienen almacenadas las instrucciones o los datos. Bus de Control.- "s un #us simple que se utili!a para activar, desactivar, o sincroni!ar los diferentes dispositivos. Bus Unidireccional.- La informacin flu.e en un solo sentido,

CF.- Carry Flag, "l #it se enciende cuando se o#tiene un 5carr.6, o 5overflow6 de los #its ms significativos. Se utili!a en las operaciones de suma, resta . multiplicacin de #.tes. PF.- Parity Flag, indica paridad non D1 . paridad para D 2, con relacin al n0mero de 1Es o#tenidos en las operaciones del $L+. Se utili!a para la deteccin de errores de transmisin. AF.- Auxiliar Flag, "l #it se enciende cuando e=iste un 5carr.6 o 5#orrow6 de los #its menos significativos. Se utili!a durante las instrucciones aritm/ticas de punto flotante. ZF.- Zero Flag, el #it se enciende cuando el resultado de alguna operacin es cero 324. SF.- Sign Flag, "l #it se enciende cuando un n0mero se representa en forma negativa con complementos a dos o cuando el resultado de alguna operacin da un n0mero negativo. Si el #it es 2 el n0mero o el resultado de la operacin es positivo. TF.- Trap Flag, "l #it se enciende cuando el procesador se encuentra en modo de 5paso a paso6, para reali!ar un 5de#uging6. "l microprocesador genera una interrupcin interna despu/s de cada < instrucciones. F.- Interrupt Enable Flag, "l microprocesador reconoce que ha. un requerimiento de interrupcin e=terna de tipo 5mas:a#le6 DF.- Direction Flag, >ara operaciones con 5strings6 S 1 autodecremento del string de direccin ma.or a direccin menor o &"( ,F*. S 2 autoincremento del string de direccin menor a direccin ma.or o ,F* &"(. !F.- !"erflo# Fla$, 7uando ocurre una operacin de 5overflow6. 7uando el resultado de la operacin e=cede a la capacidad de la localidad de destino ("G,S8('S G"N"($L"S: (egistros de segmentos, (egistros de propsito general, (egistros de apuntadores, (egistros de ndices %e$istro CS. "l &'S almacena la direccin inicial del segmento de cdigo de un programa en el registro 7S. %e$istro DS. La direccin inicial de un segmento de datos de programa es almacenada en el registro &S. %e$istro SS. "l registro SS permite la colocacin en memoria de una pila, para almacenamiento temporal de direcciones . datos. %e$istros ES. $lgunas operaciones con cadenas de caracteres 3datos de caracteres4 utili!an el registro e=tra de segmento para manejar el direccionamiento de memoria. %e$istro FS. (egistro de punto flotanteH %e$istro &S.' (egistro glo#al HSon registros e=tra de segmento en los procesadores <2C<I . posteriores. %e$istro A(. "l registro $J, el acumulador principal, es utili!ado para operaciones que implican entradaKsalida . la ma.or parte de la aritm/tica. %e$istro B(. "l BJ es conocido como el registro #ase .a que es el 0nico registro de propsito general que puede ser ndice para direccionamiento inde=ado. (egistro 7J. "l 7J es conocido como el registro contador. >uede contener un valor para controlar el n0mero de veces que un ciclo se repite o un valor para corrimiento de #its, hacia la derecha o hacia la i!quierda. %e$isto D(. "l &J es conocido como el registro de datos. $lguna operaciones de entradaKsalida requieren uso, . las operaciones de multiplicacin . divisin con cifras grandes suponen al &J . al $J tra#ajando juntos. %e$istro SP. "l apuntador de la pila de 1I #its esta asociado con el registro SS . proporciona un valor de despla!amiento que se refiere a la pala#ra actual que esta siendo procesada en el stac:. %e$istro BP. "l B> de 1I #its facilita la referencia de parmetros, los cuales son datos . direcciones transmitidos v a stac:. %e$istro S . "l registro ndice fuente de 1I #its es requerido por algunas operaciones con cadenas 3de caracteres4. %e$istro D . "l registro ndice destino tam#i/n es requerido por algunas operaciones con cadenas de caracteres. Los procesadores <2C<I . posteriores permiten el uso de registros ampliados de C9 #its: "S>, "B>, "S,, "&,. %e$istro PC. "l registro contador de programa indica la instruccin actual en ejecucin. %e$istro P. "l registro apuntador de instrucciones 3,>4 de 1I #its contiene el despla!amiento de direccin de la siguiente instruccin que se ejecuta. "l ,> esta asociado con el registro 7S en el sentido de que el ,> indica la instruccin actual dentro del segmento de cdigo que se esta ejecutando actualmente.

>or lo tanto, la localidad real de memoria del #.te referido por la instruccin es 2LI99MN &ireccin del segmento &S: 2LO@2M &espla!amiento: P22C9M &ireccin real: 2LI99M
Bus Control.- Se encarga de buscar y de transmitir los datos, instrucciones y seales de control entre el microprocesador y los dispositivos externos del sistema. Instruction Queue.- Se utiliza como memoria temporal para las instrucciones que van a ser ejecutadas por EU. Con ayuda del Bus de Control busca las instrucciones en el ROM y las almacena en el Instruction Queue, esto permite que la ejecucin de las instrucciones sea mas eficiente. El Instruccin queue trabaja de una manera FIFO y el tamao de sus registros esta definido por el tamao del cdigo de operacin de una instruccin, que generalmente es del mismo tamao que el data bus. Address Control.- Es el que se encarga de determinar la localidad de memoria donde se encuentra el dato o la instruccin que va a ser utilizada por el EU. Con ayuda del Bus de Control sincroniza la activacin de los bus de datos y de direcciones. Adicionalmente cuenta con el instruccin pointer que le indica cual es la siguiente instruccin a ejecutar. Modos de Operacin: instrucciones bsicas, generalmente relacionadas con la compatibilidad de sus antecesores. Modo Protegido.- Utiliza nicamente las instrucciones nativas del procesador. Modo Real.- Utiliza todas sus instrucciones a toda su capacidad de procesamiento. Modo Step by Step.- El procesador trabaja paso a paso para poder detectar algn bug durante su ejecucin. Genera una interrupcin interna cada 8 instrucciones en promedio, dependiendo el tipo de microprocesador. Modo Mnimo.- Est relacionado con los modos protegido o real, donde el ciclo de reloj est a su velocidad mas baja. Modo Mximo.- Est relacionado con los modos protegido o real, donde el ciclo de reloj est a su mxima velocidad. Modo de AutoTest.- El microprocesador realiza una revisin interna de cada una de sus partes y de cada una de sus lneas, de entrada y salida, para verificar que todo este funcionando correctamente. Tipo de Instrucciones: Registro Memoria.- Permiten que las palabras sean extradas de la memoria y almacenadas en los registros del CPU. Registro Registro.- Permite extraer sus operandos de los registros, los lleva a los registros de entrada del ALU y almacena el resultado a otro registro del CPU. Memoria Memoria.- Permite extraer sus operandos de memoria, los lleva a los registros de entrada del ALU y el resultado se almacena en memoria. Ejecucin de Instrucciones: FETCH.- Buscar una instruccin en memoria, DECODE.- Identificar el tipo de instruccin, EXECUTE.- Ejecutar la instruccin. Modos de Direccionamiento: El campo de operacin de una instruccin especifica la operacin que se va a ejecutar. Esta operacin debe realizarse sobre algunos datos almacenados en registros de computadora o en palabras de memoria. La manera en que eligen los operandos durante la ejecucin del programa depende del modo de direccionamiento de la instruccin. El modo de direccionamiento especifica una regla para interpretar o modificar el campo de direccin de la instruccin antes de que se haga la referencia real al operando. Las computadoras utilizan tcnicas de modo de direccionamiento para acomodar una o las dos siguientes consideraciones: Proporcionar al usuario versatilidad de programacin al ofrecer facilidades como apuntadores a memoria, contadores para control de ciclo, indexacin de datos y reubicacin de datos. Reducir la cantidad de bits en el campo de direccionamiento de la instruccin. La disponibilidad de los modos de direccionamiento proporciona al programador con experiencia en lenguaje ensamblador la flexibilidad para escribir programas ms eficientes en relacin con la cantidad de instrucciones y el tiempo de ejecucin. Los diferentes modos de direccionamiento estn basados en el ciclo de ejecucin de instrucciones Modo Implcito: En este modo se especifican los operandos en forma implcita en la definicin de la instruccin. "complementar acumulador" es una instruccin de modo implcito porque el operando en el registro de acumulador est implcito en la definicin de la instruccin. Las instrucciones de direccin cero en una computadora organizada con stack son instrucciones de modo implcito porque esta implcito que los operandos estn en la parte superior de la pila.

el campo de direccin de la instruccin. En una instruccin de tipo brinco el campo de direccin especifica la direccin de transferencia de control del programa real. Modo de Direccionamiento Indirecto: En este modo, el campo de direccin de la instruccin proporciona la direccin en que se almacena la direccin efectiva en la memoria. El control recupera la instruccin de la memoria y utiliza su parte de direccin para accesar la memoria una vez ms con el fin de leer la direccin efectiva. Unos cuantos modos de direccionamiento requieren que el campo de direccin de la instruccin se sume al contenido de un registro especfico en la CPU. En estos modos la direccin efectiva se obtiene del clculo siguiente: Direccin efectiva = Parte de la instruccin + El contenido de registro CPU. Modo de Direccionamiento Indexado. En este modo el contenido de un registro ndice se suma a la parte de direccin de la instruccin para obtener la direccin efectiva. El registro ndice es un registro CPU especial que contiene un valor ndice. Modo de Direccionamiento de Registro Base: En este modo, el contenido de un registro base se suma a la parte de direccin de la instruccin para obtener la direccin efectiva. Esto es similar al modo de direccionamiento indexado, excepto en que el registro se denomina ahora registro base, en lugar de registro ndice. La diferencia entre los dos modos esta en la manera en que se usan mas que en la manera en que se calculan. Se considera que un registro base contiene una direccin base y que el campo de direccin de la instruccin proporciona un desplazamiento en relacin con esta direccin base. El modo de direccionamiento de registro base se utiliza en las computadoras para facilitar la localizacin de los programas en memoria. Interrupciones: Una interrupcin es una operacin que suspende la ejecucin de un programa de modo que el sistema pueda realizar una accin especial. La rutina de interrupcin ejecuta y por lo regular regresa el control al procedimiento que fue interrumpido, el cual entonces reasume su ejecucin. Cuando la computadora se enciende, el BIOS y el DOS establecen una tabla de servicios de interrupcin en las localidades de memoria 000H-3FFH. La tabla permite el uso de 256 (100H) interrupciones, cada una con un desplazamiento: segment relativo de 4 bytes en la forma IP:CS. Eventos de Interrupciones: Una interrupcin guarda en la pila el contenido del registro de banderas, el CS, y el IP. Ejemplo: La direccin en la tabla de INT 05H (que imprime la que se encuentra en la pantalla cuando el usuario presiona Ctrl + PrtSC) es 0014H (05H x 4 = 14H). La operacin extrae la direccin de cuatro bytes de la posicin 0014H y almacena dos bytes en el IP y dos en el CS. La direccin CS:IP entonces apunta al inicio de la rutina en el rea del BIOS, que ahora se ejecuta. La interrupcin regresa va una instruccin IRET (regreso de interrupcin), que saca de la pila el IP, CS y las banderas y regresa el control a la instruccin que sigue al INT Interrupcin Externas: Provocada por un dispositivo externo al procesador. Las dos lneas que pueden sealar interrupciones externas son la lnea de interrupcin no enmascarable (NMI) y la lnea de peticin de interrupcin (INTR). La lnea NMI reporta la memoria y errores de paridad de E/S. El procesador siempre acta sobre esta interrupcin, aun si emite un CLI para limpiar la bandera de interrupcin en un intento por deshabilitar las interrupciones externas. La lnea INTR reporta las peticiones desde los dispositivos externos, en realidad, las interrupciones 05H a la 0FH, para cronometro, el teclado, los puertos seriales, el disco duro, las unidades de disco flexibles y los puertos paralelos. Interrupcin Interna: ocurre como resultado de la ejecucin de una instruccin INT o una operacin de divisin que cause desbordamiento, ejecucin en modo de un paso o una peticin para una interrupcin externa, tal como E/S de disco. Los programas por lo comn utilizan interrupciones internas, que no son enmascarables, para accesar los procedimientos del BIOS y del DOS. Interrupciones de BIOS El BIOS contiene un extenso conjunto de rutinas de entrada/salida y tablas que indican el estado de los dispositivos del sistema. El DOS y los programas usuarios pueden solicitar rutinas del BIOS para la comunicacin con los dispositivos conectados al sistema. El mtodo para realizar la interfaz con el BIOS es el de las interrupciones de software. Interrupciones de DOS: Los dos mdulos del DOS, IO.SYS y MSDOS.SYS, facilitan el uso del BIOS, ya que son independientes de la maquina.

Interrupciones de BIOS INT 00H: Divisin entre cero. Llamada por un intento de dividir entre cero. Muestra un mensaje y por lo regular se cae el sistema.

INT 13H: Entrada/salida de disco. Acepta varias funciones en el AH para el estado del disco, sectores ledos, sectores escritos, verificacin, formato y obtener diagnostico.

Interrupciones de DOS INT 01H: Un solo paso. Usado por DEBUG y otros depuradores para permitir avanzar por paso a travs de la ejecucin de un programa. INT 02H: Interrupcin no enmascarare. Usada para condiciones graves de hardware, tal como errores de paridad, que siempre estn habilitados. Por lo tanto un programa que emite una instruccin CLI (limpiar interrupciones) no afecta estas condiciones. INT 03H: Punto de ruptura. Usado por depuracin de programas para detener la ejecucin. INT 04H: Desbordamiento. Puede ser causado por una operacin aritmtica, aunque por lo regular no realiza accin alguna. INT 05H: Imprime pantalla. Hace que el contenido de la pantalla se imprima. Emita la INT 05H para activar la interrupcin internamente, y presione las teclas Cltr + PrtSC para activarla externamente. La operacin permite interrupciones y guarda la posicin del cursor. INT 00H: Divisin entre cero. Llamada por un intento de dividir entre cero. Muestra un mensaje y por lo regular se cae el sistema. INT 01H: Un solo paso. Usado por DEBUG y otros depuradores para permitir avanzar por paso a travs de la ejecucin de un programa. INT 02H: Interrupcin no enmascarare. Usada para condiciones graves de hardware, tal como errores de paridad, que siempre estn habilitados. Por lo tanto un programa que emite una instruccin CLI (limpiar interrupciones) no afecta estas condiciones. INT 03H: Punto de ruptura. Usado por depuracin de programas para detener la ejecucin. INT 04H: Desbordamiento. Puede ser causado por una operacin aritmtica, aunque por lo regular no realiza accin alguna. INT 05H: Imprime pantalla. Hace que el contenido de la pantalla se imprima. Emita la INT 05H para activar la interrupcin internamente, y presione las teclas Cltr + PrtSC para activarla externamente. La operacin permite interrupciones y guarda la posicin del cursor. INT 08H: Sistema del cronometro. Una interrupcin de hardware que actualiza la hora del sistema y (si es necesario) la fecha. Un chip temporizador programable genera una interrupcin cada 54.9254 milisegundos, casi 18.2 veces por segundo. INT 09H: Interrupcin del teclado. Provocada por presionar o soltar una tecla en el teclado. INT 33H: Manejador del ratn. Proporciona servicios para el manejo del ratn. INT OBH, INT OCH: Control de dispositivo serial. Controla los puertos COM1 y COM2, respectivamente. INT 0DH, INT OFH: Control de dispositivo paralelo. Controla los puertos LPT1 y LPT2, respectivamente. INT 0EH: Control de disco flexible. Seala actividad de disco flexible, como la terminacin de una operacin de E/S. INT 20H: Termina programa. Finaliza la ejecucin de un programa .COM, restaura las direcciones para Cltr + Break y errores crticos, limpia los buffer de registros y regresa el control al DOS. Esta funcin por lo regular seria colocada en el procedimiento principal y al salir de el, CS contendra la direccin del PSP. La terminacin preferida es por medio de la funcin 4CH de la INT 21H. INT 21H: Peticin de funcin al DOS. La principal operacin del DOS necesita una funcin en el AH. INT 22H: Direccin de terminacin. Copia la direccin de esta interrupcin en el PSP del programa (en el desplazamiento 0AH) cuando el DOS carga un programa para ejecucin. A la terminacin del programa, el DOS transfiere el control a la direccin de la interrupcin. Sus programas no deben de emitir esta interrupcin INT 23H: Direccin de Cltr + Break. Diseada para transferir el control a una rutina del DOS (por medio del PSP desplazamiento 0EH) cuando usted presiona Ctlt + Break o Ctlr + C. La rutina finaliza la ejecucin de un programa o de un archivo de procesamiento por lotes. Sus programas no deben de emitir esta interrupcin. INT 24H: Manejador de error critico. Usada por el dos para transferir el control (por medio del PSP desplazamiento 12H) cuando reconoce un error critico (a veces una operacin de disco o de la impresora).Sus programas no deben de emitir esta interrupcin. INT 25H: Lectura absoluta de disco. Lee el contenido de uno o mas sectores de disco. INT 26H: Escritura absoluta de disco. Escribe informacin desde la memoria a uno o mas sectores de disco. INT 27H: Termina pero permanece residente (reside en memoria). Hace que un programa .COM al salir permanezca residente en memoria. INT 2FH: Interrupcin de multiplexion. Implica la comunicacin entre programas, como la comunicacin del estado de un spooler de la impresora, la presencia de un controlador de dispositivo o un comando del DOS tal como ASSIGN o APPEND. Los dos mdulos del DOS, IO.SYS y MSDOS.SYS, facilitan el uso del BIOS, ya que son independientes de la maquina. IO.SYS es una interfaz de nivel bajo con el BIOS que facilita la lectura de datos desde la memoria hacia dispositivos externos. MSDOS.SYS contiene un administrador de archivos y proporciona diferentes servicios.

Das könnte Ihnen auch gefallen