lunes, 25 de noviembre de 2013

2do Cuestionario




1-      Qué es el acceso a dispositivos de almacenamiento

Cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso bajo en proporcion a su capacidad

2-      Como se hace el acceso a disco usando lenguaje ensamblador

Para leer o escribir en un disco, no se realiza byte a byte, sino más bien en bloques de bytes, debido a que el acceso a disco implica movimientos mecánicos además de que el acceso se da por sectores; en este proceso no intervienen el CPU, puesto que solo envía los comandos a la interfase que maneja la unidad de disco y ésta es la que se encarga de leer o escribir información de un área especial de memoria, llamada DMA; este proceso es conocido como acceso directo a memoria.

 

3-      mencione y describa las unidades básicas de adaptador de video

 

ü  Controlador de video, esta es la unidad "Es el caballo de batalla" genera las señales de rastreo del monitor para el modo seleccionado, texto o grafico

ü  Video de Bios, Que actua como una interfaz con el adaptador de video ,contiene rutinas,como para establecer el cursor y desplegar caracteres.

ü  Area de despliegue de video, en memoria contiene la informacion que el monitor va a mostrar.

miércoles, 20 de noviembre de 2013

Acceso a discos en lenguaje ensamblador

Dispositivo de almacenamiento de acceso directo:
   Cualquier tipo de dispositivo de almacenamiento secundario que tiene un tiempo de acceso  bajo en proporcion a su capacidad.

Como se hace el acceso de disco:
   Los datos se registran sobre la superficie del disco en una serie de circuferencias concentricas llamadas pistas (track).
varias pistas, una por cada cara del disco (generalmente 2), componen un cluser. Cada pista esta dividida en proporciohnes iguales llamadas sectores. Un sectoe es la unidad basica del almacenamiento en un disco. El tamaño de un sector se mide en bytes y depende de las caracteristicas del disco.
Un ejemplo de las 3 rutinas son:
  • que permiten lectura y escritura absoluta de sectores, asi como la determinacion del espacio libre disponible en un disco

Un ejemplo podria ser:
  • rutina_absoluteRead: Transfiere de uno o mas sectores al buffer especificado accesando directamente a los sectores logicos.
  • En caso de error se enciende el bit de acarreo y Ax con el codigo de error.



RESUMEN CAPITULO 10 (PROCESAMIENTO AVANZADO DE LA PANTALLA)

















 


martes, 12 de noviembre de 2013

Actividad para competencia




Procedimientos y Macros





Modularizacion

Diferencias entre Macros y Procedimientos

MACROS

  • rápidas por se ejecutan en linea en un programa 
  • puede pasar y recibir parámetros
  • estructura simple
  • Legible en un programa 

PROCEDIMIENTOS

  • Reducen el código 
  • Legible  en un programa


Programa 100 veces



public class Imprimir implements Runnable{
    public static void main(String[] args) {
        ImprimiNumeros print= new ImprimiNumeros(true);

        Thread hilo1= new Thread(print);
        hilo1.start();

        Thread main = new Thread (new Imprimir());//nuevo hilo del main
        main.start();
        try
        {
            main.sleep(100000);
        }catch(Exception ex){}
        print.detener();

    }
    public void run() {

        
    }
}
//------------------------------------------------------------------------------------------------------
/**
 *
 * @author  Gladys Lopez
 */
public class ImprimiNumeros implements Runnable{
private boolean continua;
private int contador=0;

public ImprimiNumeros (boolean continua){
    this.continua=true;
}
public void detener(){
    continua= false;
}


    public void run() {
       do{
           System.out.println("Mensaje"+contador++);
           try{
               Thread.sleep(1000);
           } catch(Exception ex){
               System.out.println("Error##");
           }
        }while(continua);
    }




domingo, 10 de noviembre de 2013

CODIGO SEGMENT CODE



Instrucciones de Desplazamiento, Rotación y Adeudos.

Básicamente permiten multiplicar  y dividir  por potencias de 2


·         SHL,SAL   desplazar a la izquierda(desplazamiento aritmético)
·         SHR  desplazar a la derecha
·         SAR  desplazamiento aritmético  a la derecha
·         ROL  rotación a la izquierda
·         ROR rotación a la derecha
·         RCL  Rotación con acarreo a la izquierda
·         RCR  Rotación con acarreo a la derecha
·         CLC Borrar acarreo
·         STC Poner acarreo  a 1

       INSTRUCCIONES DE DESPLAZAMIENTO O CORRIMIENTO DE BITS.
Las instrucciones de corrimiento, que son parte de la capacidad lógica de la computadora, pueden realizar las siguientes acciones:
 
1. Hacer referencia a un registro o dirección de memoria.
2. Recorre bits a la izquierda o a la derecha.
3. Recorre hasta 8 bits en un byte, 16 bits en una palabra y 32 bits en una palabra doble.
4. Corrimiento lógico (sin signo) o aritmético (con signo).

El segundo operando contiene el valor del corrimiento, que es una constante (un valor inmediato) o una referencia al registro CL. Para los procesadores 8088/8086, la constante inmediata solo puede ser 1; un valor de corrimiento mayor que 1 debe estar contenido en el registro CL. Procesadores posteriores permiten constantes de corrimiento inmediato hasta 31.

El formato general para el corrimiento es 

|  [etiqueta:]  |  Corrim.  |  {registro/memoria}, {CL/inmediato} |

DESPLAZAMIENTO O CORRIMIENTO DE BITS HACIA LA DERECHA.
Los corrimientos hacia la derecha (SHR y SAR) mueven los bits hacia la derecha en el registro designado. El bit recorrido fuera del registro mete la bandera de acarreo. Las instrucciones de corrimiento a la derecha estipulan datos lógicos (sin signo) o aritméticos (con signo): 


 
Las siguientes instrucciones relacionadas ilustran SHR y datos con signo:

  INSTRUCCION                COMENTARIO
   MOV    CL, 03
   MOV    AL, 10110111B    ; AL = 10110111
   SHR   AL, 01                     ; AL = 01011011    Un corrimiento a la derecha
   SHR    AL, CL                   ; AL = 00001011    Tres corrimientos adicionales a la derecha
  
El primer SHR desplaza el contenido de AL un bit hacia la derecha. El bit de mas a la derecha es enviado a la bandera de acarreo, y el bit de mas a la izquierda se llena con un cero. El segundo SHR desplaza tres bits más a AL. La bandera de acarreo contiene de manera sucesiva 1, 1 y 0; además, tres bits 0 son colocados a la izquierda del AL.

SAR se difiere de SHR en un punto importante: SAR utiliza el bit de signo para llenar el bit vacante de más a la izquierda. De esta manera, los valores positivos y negativos retienen sus signos. Las siguientes instrucciones relacionadas ilustran SAR y datos con signo en los que el signo es un bit 1:
 
En especial, los corrimientos a la derecha son útiles para (dividir entre 2) obtener mitades de valores y son mucho más rápidas que utilizar una operación de división.  Al terminar una operación de corrimiento, puede utilizar la instrucción JC (Salta si hay acarreo) para examinar el bit desplazado a la bandera de acarreo.


DESPLAZAMIENTO O CORRIMIENTO DE BITS A LA IZQUIERDA.

Los corrimientos hacia la izquierda (SHL y SAL) mueven los bits a la izquierda, en el registro designado. SHL y SAL son idénticos en su operación. El bit desplazado fuera del registro ingresa a la bandera de acarreo. Las instrucciones de corrimiento hacia la izquierda estipulan datos lógicos (sin signo) y aritméticos (con signo):

 SHL: Desplazamiento lógico a la izquierda    SAL: Desplazamiento aritmético a la izquierda


Las siguientes instrucciones relacionadas ilustran SHL para datos sin signo:
 
   INSTRUCCION                        COMENTARIO
    MOV    CL, 03
    MOV    AL, 10110111B          ; AL = 10110111
    SHL   AL, 01                           ; AL = 01101110    Un corrimiento a la izquierda
    SHL    AL, CL                         ; AL = 01110000   Tres corrimientos mas
 
El primer SHL desplaza el contenido de AL un bit hacia la izquierda. El bit de más a la izquierda ahora se encuentra en la bandera de acarreo, y el último bit de la derecha del AL se llena con cero. El segundo SHL desplaza tres bits más a AL. La bandera de acarreo contiene en forma sucesiva 0, 1 y 1, y se llena con tres ceros a la derecha del AL.

Los corrimientos a la izquierda llenan con cero el bit de mas a la derecha. Como resultado de esto, SHL y SAL don idénticos. Los corrimientos a la izquierda en especial son útiles para duplicar valores y son mucho más rápidos que usar una operación de multiplicación.

Al terminar una operación de corrimiento, puede utilizar la instrucción JC (Salta si hay acarreo) para examinar el bit que ingreso a la bandera de acarreo.

   
ROTACION DE BITS (DESPLAZAMIENTO CIRCULAR)

Las instrucciones de rotación, que son parte de la capacidad lógica de la computadora, pueden realizar las siguientes acciones:
 
1. Hacer referencia a un byte o a una palabra.
2. Hacer referencia a un registro o a memoria.
3. Realizar rotación a la derecha o a la izquierda. El bit que es desplazado fuera llena
el espacio vacante en la memoria o registro y también se copia en la bandera de acarreo.
4. Realizar rotación hasta 8 bits en un byte, 16 bits en una palabra y 32 bits en una palabra doble.
5. Realizar rotación lógica (sin signo) o aritmética (con signo).

El segundo operando contiene un valor de rotación, el cual es una constante (un valor inmediato) o una referencia al registro CL. Para los procesadores 8088/8086, la constante inmediata solo puede ser 1; un valor de rotación mayor que 1 debe estar contenido en el registro CL. Procesadores posteriores permiten constantes inmediatas hasta el 31. El formato general para la rotación es:
    
|  [etiqueta:]  |  Rotación  |  {registro/memoria}, {CL/inmediato} |
 
ROTACIÓN A LA DERECHA DE BITS
Las rotaciones a la derecha (ROR y RCR) desplazan a la derecha los bits en el registro designado. Las instrucciones de rotación a la derecha estipulan datos lógicos (sin signo) o aritméticos (con signo):



Las siguientes instrucciones relacionadas ilustran ROR:

INSTRUCCION                      COMENTARIO
MOV    CL, 03
MOV    BH, 10110111B          ; BH = 10110111
ROR    BH, 01                          ; BH = 11011011    Una rotación a la derecha
ROR    BH, CL                         ; BH = 00001011    Tres rotaciones a la derecha

El primer ROR desplaza el bit de más a la derecha del BH a la posición vacante de más a la izquierda. La segunda y tercera operaciones ROR realizan la rotación de los tres bits de mas a la derecha.

RCR provoca que la bandera de acarreo participe en la rotación. Cada bit que se desplaza fuera de la derecha se mueve al CF y el bit del CF se mueve a la posición vacante de la izquierda.

ROTACIÓN A LA IZQUIERDA DE BITS
Las rotaciones a la izquierda (ROL y RCL) desplazan a la izquierda los bits del registro designado. Las instrucciones de rotación a la izquierda estipulan datos lógicos (sin signo) y aritméticos (con signo):
 
  
Las siguientes instrucciones relacionadas ilustran ROL:

INSTRUCCION                     COMENTARIO
MOV    CL, 03
MOV    BL, 10110111B          ; BL = 10110111
SHR    BL, 01                          ; BL = 11011011    Una rotación a la izquierda
SHR    BL, CL                         ; BL = 00001011    Tres rotaciones a la izquierda
 
El primer ROL desplaza el bit de mas a la izquierda del BL a la posición vacante de mas a la derecha. La segunda y tercera operaciones ROL realizan la rotación de los tres bits de mas a la izquierda.

De manera similar a RCR, RCL también provoca que la bandera de acarreo participe en la rotación. Cada bit que se desplaza fuera por la izquierda se mueve al CF, y el bit del CF se mueve a la posición vacante de la derecha.

Puede usar la instrucción JC (salta si hay acarreo) para comprobar el bit rotado hacia la CF en el extremo de una operación de rotación.