: - /


: - /

--------------------------------------------------------------

:

- -

"-

"

1 9 9 2 .

.

1. ...........................................

2. -

.........................................

2.1. ...........

2.2. ......

3. -

.........................................

4. ..................

4.1. .............

4.2. ....

5. ...........................

6. ..................................

.

1.

-

-

,

. -

() ,

. ,

.

-

() - () . -

,堠 --

,, , -

( ), -

- (-

,,), .

-

.

- ;

-

( , ..)

--

pro411B IBM-

"".

2. -

pro411B.

2.1. .

pro411B

IBM PC XT/AT -

.

,

, -

. -

, -

. -

, -

.

pro411B .1.

.

-------

+-----T--------------------------------------------

/ +--------------------T----------------------------

+-------------------------------------T----------

L-------

---------

-----------------------------------------------------------

----+--- --------------+-----------------+------------

+-----+

+-----+

L-----T----------T----------T----------T------

-----------------------------------------

+-----+-----+---------+---------+---------+----

P0 P1 P2 P3

+-----+L----------L----------L----------L----------

L--------T-T-------------T---------------T----

+--------T------------T-------------

Ӡ +--------+-T----------+-T-----------+-

---+-+---+-+-----+-+----+------+-+-----+--

Ϡ Ϡ 𠠠

L------T-------L------T-------L--------------

-------+------

+-----+

+-----+ ⠠ pro411B

L-------- LT-T-T-------T-

L---------------------------------------------------------

0 1 2 15

. 1. pro411B

.

()

-

.

() -

() -

:, . pro411B

.

-

, --

. - .

,

( 65535 ),

- -

. pro411B 4 P0-P3 -

300H-303H. pro411B

,

.

, -

,

( ), -

( ) . -

() , -

,

.

- -

: ,, .

. -

,

( 18 65).

Ϡ pro411B -

- -

:

- :12 ;

- : -10..+10 ;

- : 15 ;

- : 16.

, -

(), ()

.

:

- : 12 ;

- : -10..+10 ;

- : 500 ;

- : 0.5 /;

- : 1.

.

2.2

, pro411B

-, -

300H-303H.

.

. ,

, ( ) -

.  1 ,

- pro411B.

1

- pro411B

------T--------T-----------------------T-------------------------

Ѧߦ Ҡ Š

+--T--T--T--T--T--T--T--+

7 6 5 4 3 2 1 0

+-----+--------+--+--+--+--+--+--+--+--+-------------------------+

b7b6b5b4b3b2b1b0 8 Ϡ

300H +--------+--+--+--+--+--+--+--+--+-------------------------+

a7a6a5a4a3a2a1a0 8 Ϡ

+-----+--------+--+--+--+--+--+--+--+--+-------------------------+

c3c2c1c0b b b9b8 4 Ϡ

Ϡ

301H +--------+--+--+--+--+--+--+--+--+-------------------------+

c3c2c1c0a a a9a8 4 Ϡ

Ϡ

+-----+--------+--+--+--+--+--+--+--+--+-------------------------+

X X Z Dt3t2t1t0 Ϡ

302H +--------+--+--+--+--+--+--+--+--+-------------------------+

X X X X X E R X

Ϡ

+-----+--------+--+--+--+--+--+--+--+--+-------------------------+

303H

L-----+--------+--+--+--+--+--+--+--+--+--------------------------

:

11...0 -

(0-4095);

b11...b0 -

(0-4095);

3...0 - (0-15);

t3...t0 - -

(0-15);

D - (D=1);

Z -

(Z=1);

R - (R=1 -

, );

E - (E=1 -

);

X - ( 0).

.

3. ߠ -

-

/

-.

-

Port[<_>:word],

byte, -

0..65535 ( )

O..FFFF ( ).

Port:

var x,y:byte;

var a:word;

begin

a:=$300;

x:=Port[a]; { a}

y:=1;

Port[$303]:=y { 303H}

Port[$302]:=32+16 {

end;

4.

4.1.

, [4].

, -

. 0

, .

1 .

2 .

-

, , -

F 1193180 IBM.

-

, F D,

16- ""

:

F = F/D

""

, . -

D,

, -

. -

,

D,

.

-

(40H-42H).

, -

- (BIOS) . -

0, -

, D=65535(FFFFH),

F = 18.2 .

, , -

, ,

.

, . -

, .2.

.

-------------

L-----T-------

F=119380

------+------

𠠠

( 0)

L-----T-------

F=18.2

------+------

L-----T-------

IRQ 0

------+------

L-----T-------

INT 8

------+------

INT8

L-----T-------

------+------

B=B+1

L-------------

.2.

.

0

,

IRQ0, .

18.2 , .. 55. ,

, -

INT8 BIOS.

1 4- -

ࠠ (),

0040:006C.

,

-

., n1 n2,

t1 t2, dt=t2-t1

:

dt=(n2 - n1)/18.2 (3.1)

(-

̠ XT,

e ), -

0 0 0.0 , -

DOS: 00:00:00.00. , -

, 23:59:59.99

((23*60+59)*60+59)*18.2+99=1573039

0..1573039

-

,

DOS, (. .

4.2). , -

INT8

.

4.2.

堠 DOS INT21H ,

-

-

--. 0.01 -

, 5

, .

2CH , 2DH - .

:

AH - ;

CH - ( 0 23);

CL - ( 0 59);

DH - ( 0 59);

DL - ( 0 99).

, CH...DL.

MS DOS

time,

DOS. ,

, time

.

(,

, ) -

, ,

.

5.5

SetTime GetTime DOS:

SetTime(var Hour,Minute,Second,Sec100:word)

GetTime(var Hour,Minute,Second,Sec100:word),

Hour -, Minute -, Second -, Sec100 -

.

. , ,

, -

e (Hour,Minute,Second).

, ,

, .

-

MemL. -

:

var TimeCount: longint;

. . .

TimeCount:=MemL[$0040 : $006C];

e (3.1).

5.

1. pro411B.

2. ?

3. , ?

4. ?

5. ?

6. .

7. ?

8. ?

9. . ?

6. .

1. ., ., . . : .: , 1987.-294 .

2. 12- IBM PC XT/AT: -- pro: , 1990.

3. : 3 . . 25 . - :/ . . , . . , . . .; . . .-. . . ;1987 -303 .

4. . IBM PC XT/AT: - . , 1991 - 544 .

_




© 2009