.


:




:

































 

 

 

 


. . 1. .1 1.




. 1. .1 1.

.2. IBM PC - , - 60.

 

 

- , 7 , (. 9). ( 7) ( 0) ( 1) . , -: , . 128 .

- 60 . / (09), :

- 60;

( ) - ASCII, 2- ;

2- .

. 9

- - - -
  Esc   Enter   RightShift   ScrollLock
2-11 1¸9,0   Ctrl   PrtScr 71¸73 7¸9
  30¸40   Alt  
  =   `   75¸77 4¸6
  Backspace   LeftShift   CapsLock   +
  Tab   \ 59¸68 F1¸F10 79¸82 1¸3,0
16¸27 Q¸] 44¸53 Z¸/   NumLock   .

- 60 / , :

;

60H ;

60H ;

;

- .

Pascal / Port PortW. Port Byte, PotrW Word. Byte, , :

State:= Port [$80]; { 80 State}

Port [$90]:= State+1; { 90 }

- :

Uses crt, dos;

Var ScanCodeDown, ScanCodeUp,Scan:byte;

Begin

..

Delay(1000); { }

{ }

Port [$21]:=2; { }

Scan:=Port [$60]; { }

Writeln( );

Repeat

ScanCodeDown:=Port [$60]; { }

Until ScanCodeDown <> Scan; { }

Scan:=ScanCodeDown; { - }

Repeat

ScanCodeUp:=Port [$60]; { }

Until ScanCodeUp <> Scan; { }

Port [$21]:=0; { }

Writeln (- , ScanCodeDown);

Writeln (- , ScanCodeUp);

Writeln ( );

Readkey;

End.

. 3. ( FIFO) . , . , , . , . , , .

32 0040:001EH 0040:003. 0040:001AH 0040:001CH . 1EH 3CH, BIOS.

, .. . 15 . 15 16 , , (ASCII13) - Enter. , , .

 

 

, - ASCII . - ASCII 3 :

- (. 9);

ASCII (. 11);

ASCII (. 12).

ASCII , , .. - 2- , ASCII, - .

, F1-F10, Home, PageUp ., Alt-A, Ctrl-B .. - 2- , 0, , - , , .

. :

;

, .

: - ; . Turbo Pascal Keypressed.

, ( ). Turbo Pascal Readkey, , .. .

:

Begin

{ }

writeln( : ,MemW[$0040:$001A);

writeln( : ,MemW[$0040:$001C);

repeat until keypressed; { }

{ }

writeln( : ,MemW[$0040:$001A);

writeln( : ,MemW[$0040:$001C);

ch:=readkey; { }

writeln(': ',ch);

writeln (ASCII : ,ord(ch));

{ }

writeln( : ,MemW[$0040:$001A);

writeln( : ,MemW[$0040:$001C);

Writeln ( );

Readkey;

End.

. 4. - , , . , Alt, Ctrl, Shift,CapsLock . , -, . 0040:0017 0040:0018 (. 10).

Ins, , . , , .

. 10

,
0040:0017   Insert Caps Lock Num Lock Scroll Lock Alt Ctrl Shift Shift Caps Lock Num Lock Scroll Lock
0040:0018 2 - 0 Insert Caps Lock Num Lock Scroll Lock Ctrl Num Lock Ctrl Num Lock

Mem, - . :

Status17:= Mem [$0040:$0017]; { }

If Status17 and 4 <> 0 { 4H = 00000100B }

then .... { Ctrl }

else { Ctrl }

.5. BIOS 09 :

, - (. 3).

09 8.

09, ;

.

KeyBoard . :

ClearBuf ;

count_ press . , :

..

ClearBuf; { }

Count_press:= 0; { }

repeat

until count_press = 7; { 7 }

.

Status_ Print ( 0417);

Status_ Print ( 0417);

Buffer_ Print ( 041-041D ( 041-043).

.6. : - (. 9), ASCII (. 11.), (. 12.).

. 11

      !   A   a          
        B   b          
      #   C   c          
      $   D   d          
      %   E   e          
      &   F   f          
  BEL     G   g          
  BK   (   H   h          
  Tab   )   I   i          
  LF   *   J   j          
      +   K   k          
      ¢   L   i          
  CR   -   M   m          
      .   N   n          
      /   O   o          
          P   p          
          Q   q            
          R   r            
          S   s             ³
          T   t             £
          U   u             ó
          V   v             õ
          W   w             ÷
          X   x            
          Y   y            
      :   Z   z             .
      ;   [   {             .
      <   \   |             Ö
      =   ]   }             h
      >   ^   ~             z
      ?   _   Del             g
      @                    

. 12

2-
16-25 30-38 44-50 59-68 84-93 94-103 104-113 120-131 Shift + Tab (back-tab) Alt+Q Alt+P ( ) Alt+A Alt+L ( ) Alt+Z Alt+M ( ) F1-F10 Home Cursor-up ( ) PgUp Cursor-left ( ) Cursor-right ( ) End Cursor-down ( ) PgDn Ins Del F1-F10 +Shift F1-F10 +Ctrl F1-F10 +Alt Ctrl + PrtSc Ctrl + Cursor-left Ctrl + Cursor- right Ctrl + End Ctrl + PgDn Ctrl + Home Alt+l Alt+= ( ) Ctrl + PgUp

1. -?

2. ?

3. ?

4. ?

5. ?

6. ?

7. ?

8. ?

9. , ?

10. ?

3





:


: 2016-11-24; !; : 360 |


:

:

, .
==> ...

1345 - | 1198 -


© 2015-2024 lektsii.org - -

: 0.033 .