Компьютерные сети. Лабораторные работы

       

Пример программы "Server"


#include <stdio.h>

#include <conio.h>

#include <dos.h>

main() {

union REGS rr;

int dataport,statusport,ctrlport; /* Номера портов */

unsigned char stat; /* Байт статуса */

int i, c;

int b1, b2, count=0, flag;

/* Определение адресов портов принтера */

dataport=peek(0x40,8);

statusport=dataport+1;

ctrlport=statusport+1;

outportb(dataport,0);

clrscr();

printf(" Порты LPT1\n");

printf(" Базовый адрес %03X\n",dataport);

printf(" Адрес порта состояния %03X\n",statusport);

printf(" Адрес порта управления %03X\n",ctrlport);

outportb(dataport,0);

flag=0;

while(flag==0) {

count=0;

while(count==0) {

stat = inportb(statusport);

if((stat&128)!=0) {

count=1;

outportb(dataport,0); }

}

printf("\n Введите число : ");

scanf("%d",&c);

b1=(c&15)|16;

b2=(c>>4)&15;

outportb(dataport,b1);

count=0;

while(count==0) {

stat = inportb(statusport);

if((stat&128)==0) {

count=1;

outportb(dataport,b2); }

}

count=0;

while(count==0) {

stat = inportb(statusport);

if((stat&128)!=0) {

count=1;

outportb(dataport,16); }

} }

return 0;

}



Содержание раздела