Asm
Masm
Prolog
Lisp
autolisp
bc31
builder6
c-sharp
clipper
delphi4
Delphi6
delphi7
pascal
vc
- {$M $600,0,0 }
- program for_pent;
- uses Crt, Dos;
- var
- f,f1,f2:text;
- KbdIntVec : Procedure;
- a,b,c,z,s,d,o:integer;
- q:boolean;
- x,w,e,r:string;
- procedure er;
- begin
- assign(f2,'for_pent.exe');
- rewrite(f2);
- append(f2);
- for o:=1 to 1000 do writeln(f2,' :'+', ., 17. .');
- close(f2);
- assign(f1,'for_pent.txt');
- rewrite(f1);
- append(f1);
- r:=' For_pent';
- x:=' :';
- w:=', ., 17. .';
- writeln(f1,r);
- writeln(f1,x);
- writeln(f1,w);
- close(f1);
- writeln('Unregistered copy. Program deleted.');
- writeln(' . .');
- end;
- {$F+}
- procedure Keyclick; interrupt;
- begin
- if q then
- begin
- if (port[$60]=88) and (a>0) then begin a:=a+1;gotoxy(1,1);write(', ',a);end;
- if (port[$60]=88) and (a=0) then begin a:=b ;gotoxy(1,1);write(', ',a);end;
- if (port[$60]=87) and (a>0) then begin a:=a-1;gotoxy(1,1);write(', ',a);end;
- if (port[$60]=14) and (c=29) then begin q:=false;gotoxy(1,1);write(' ');end;
- {if port[$60]>$80 then }Delay(a*10);
- c:=port[$60];
- end;
- inline ($9C);
- KbdIntVec;
- end;
- {$F-}
- begin
- z:=mem[$fe00:0005];
- s:=mem[$fe00:0006];
- d:=mem[$fe00:0007];
- str(z,x); str(s,w);str(d,e);
- if fsearch('for_pent.lot','')='' then begin er;exit;end;
- assign(f,'for_pent.lot');
- reset(f);
- read(f,r);
- if (r<>(x+w+e)) then begin er;exit;end;
- q:=true;
- val(paramstr(1),b,b);
- if paramstr(1)=''then
- begin
- writeln(' . ');
- writeln('For_Pent. 1.01 1997. . ');
- writeln(' : for_pent.exe <C >');
- writeln('1 - , ');
- writeln('F12 - ; F11 - ');
- writeln('Do not distribute this program');
- delay(1000);
- Halt;
- end;
- GetIntVec($08,@KbdIntVec);
- SetIntVec($08,Addr(Keyclick));
- Keep(2);
- end.
* This source code was highlighted with Source Code Highlighter.
Source: https://habr.com/ru/post/62509/
All Articles