uses crt,dos; var klavye : array[0..127] of boolean; olay : boolean; procedure yeni_kesme;interrupt; var bilgi : byte; eski_durum : boolean; begin bilgi:=port[$60]; eski_durum:=klavye[bilgi and 127]; klavye[bilgi and 127]:=not(boolean((bilgi and 128)=128)); if eski_durum<>klavye[bilgi and 127] then olay:=true; port[$20]:=$20; end; var eski_kesme : pointer; ekran : array[0..24,0..79] of word absolute $b800:0; n : byte; begin clrscr; gotoxy(1,20); write(' Programdan kmak iin *Esc* tuuna basn'); olay:=true; for n:=0 to 127 do klavye[n]:=false; getintvec(9,eski_kesme); setintvec(9,@yeni_kesme); repeat if olay=true then begin olay:=false; for n:=0 to 127 do if klavye[n]=true then ekran[(n div 16)*2,(n mod 16)*4]:=ord('')+(7*256) else ekran[(n div 16)*2,(n mod 16)*4]:=ord('')+(7*256); end; until klavye[1]=true; {esc} setintvec(9,eski_kesme); end.