viernes, 5 de abril de 2013

PROCEDIMIENTO EXPERIMENTAL:


Parte 1. Codificar y analizar el siguiente programa en el sistema operativo Windows
#include<conio.h>
#include<dos.h>
#include<iostream.h>
#include<fstream.h>
main()
{

clrscr();
char caracter;
fstream imp;
cout<<"\n Programa para imprimir un carácter utilizando puerto paralelo";
cout<<"\n Ingresar el caracter";
cin>>caracter;
imp.open("LPT1",1,1);
if(!imp) {cout<<"\n Impresora desconectada";}
else{
cout<<"\n Enviando el carácter por el puerto";
imp<<caracter;
imp << '\r' // Retorno de carro (ENTER)

<< '\f' ; // Expulsa la última hoja de la impresora
imp.close();
cout<<"\n impresora cerrada";
}
getch();
}
Cual es la línea que abre el Puerto de datos

Parte 2. Verifica usando el debug del código anterior

Usando el debug del DOS podemos verificar la línea de puertos de entrada y de
salida con las interrupciones :
D040:08l8
Escriba y arme en octetos los puertos encontrados


Parte 3. Codificar y analizar el siguiente programa en el sistema operativo windows
#include <stdio.h>
#include <dos.h>
#include<conio.h>
int main()
{
clrscr();
unsigned int _far *puntero_a_direccion;

int i;
puntero_a_direccion=(unsigned int _far *)0x00000408;
for (i=0; i<3; i++)
{
if (*puntero_a_direccion == 0)
printf("No se encontro puerto asignado a LPT%d \n", i+1);
else
printf("La direccion asignada a LPT%d es 0x%Xh\n\n", i+1,
puntero_a_direccion);
puntero_a_direccion++;
}
getch();
return 0;
}
Identifique ud la dirección asignada al puerto de salida


Parte 3. Modificar el código anterior donde busque con los puertos y muestre el tiempo
que los encontró usando la siguiente función.
Void espera (int segundos)
{
clock_t fin;
fin=clock()*segundos*CLK_TCK;
while (clock()<fin) { }
}