home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / tp_util / intvec.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-08-14  |  1.2 KB  |  62 lines

  1.  
  2. PROGRAM INTVEC;
  3.  
  4. { SAVE / RESTORE INTERRUPTVEKTOREN }
  5.  
  6.  
  7. USES  SELECTD;
  8.  
  9.  
  10. TYPE  INTBUF = ARRAY[0..$CF] OF LONGINT;
  11.  
  12.  
  13. VAR   I,J   : WORD;
  14.       S     : STRING;
  15.       INTS  : INTBUF ABSOLUTE 0:0;
  16.       F     : FILE OF INTBUF;
  17.  
  18.  
  19. PROCEDURE ERKLAERE;
  20. BEGIN
  21.   WRITELN;
  22.   WRITELN('Programm INTVEC');
  23.   WRITELN;
  24.   WRITELN('INTVEC S    speichert die Interrupt- Vektoren auf File');
  25.   WRITELN('INTVEC R    restauriert die Interrupt- Vektoren von File');
  26.   WRITELN('INTVEC D    löscht File INTVEC.SAV');
  27.   WRITELN;
  28.   WRITELN('Es wird das File INTVEC.SAV auf demselben Directory wie INTVEC.EXE benutzt.');
  29.   WRITELN;
  30.   HALT;
  31. END;
  32.  
  33.  
  34. BEGIN
  35.   IF PARAMCOUNT = 0 THEN ERKLAERE;
  36.   S := PARAMSTR(1);
  37.   FOR I := 1 TO LENGTH(S) DO S[I] := UPCASE(S[I]);
  38.   IF LENGTH(S) > 1 THEN IF (S[1] = '/') OR (S[1] = '-') THEN DELETE(S,1,1);
  39.  
  40. {$I-}
  41.   ASSIGN(F,'INTVEC.SAV');
  42.   IF  S[1] = 'S' THEN BEGIN
  43.     REWRITE(F);
  44.     IF IORESULT = 0 THEN BEGIN
  45.       WRITE(F,INTS);
  46.       CLOSE(F);
  47.     END;
  48.   END;
  49.   IF S[1] = 'R' THEN BEGIN
  50.     RESET(F);
  51.     IF IORESULT = 0 THEN BEGIN
  52.       READ(F,INTS);
  53.       CLOSE(F);
  54.     END;
  55.     IF S[2] = 'D' THEN ERASE(F);
  56.   END;
  57.   IF S[1] = 'D' THEN ERASE(F);
  58.  
  59. END.
  60.  
  61.  
  62.