INTERNET
 :
  |    

/

, . /

IBM PC

 
... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 

Ĵ

2 0 2 0 ( AH )

Ĵ

0

1

蠠 2

3

4

5

򠠠 6

蠠 7

Ĵ

2 0 ( AL)

Ĵ

蠠 0

⠠ 1

ೠ 2

蠠 3

蠠 4

⠠ 5

ࠠ 6

蠠 7

.

- " "

,-

, -

. rport(), ,-

, .

rport(int port) /* port / **/

{

union REGS r;

while(!check_stat(PORT)&256)/* */

if(kbhit()) /******* **/

{

getch();

exit(1);

}

r.x.dx = port; /************** **/

r.h.ah = 2; /****************** **/

int86(0x14,&r,&r);

if(r.h.ah & 128)

printf(" \n");

return (r.h.al);

}

BIOS 14H, 3

.

DX.

, BIOS,

AL. -

AL 7 AH

蠠 -


- 34 -

( ). rport(), -

.

, -

, , -

. -

, -

. rport()

, ,-

. kbhit() -

.

. kbhit() -

rport() -

, , -

, . -

, 14H, 2

,

7 .

, ,

,

,-

.

: --

.

- -

.

, -

.

:

send()

{

while ( )

{ send(); wait(); }

}

receivite()

{

do {

receive_byte();

send( );

} while( );

}

-

- -

,

, ,

- -

.

-

,

,

.

.

.-


- 35 -

:EOF (End Of File -

) -

.

- .

頠 -

, 砠

.  -

, ,

.

send_file(), .

void send_file(char *fname)

{

FILE *fp;

char ch;

struct stat statbuf;

struct

{

char c[2];

unsigned int count;

} cnt;

if ((fp = fopen(fname,"rb") == NULL )

{ printf (" %s\n",fp);

exit(1);

}

send_file_name(fname);/******* **/

stat(fname,&statbuf);

wait(PORT); /********

 
... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 


Copyright © 2005—2007 «RefStore.Ru»