tinterrupt.pp 559 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. program test_interrupt;
  2. procedure test1;interrupt;
  3. begin
  4. Writeln('Test1 interrupt');
  5. end;
  6. procedure test2(var a,b : longint);interrupt;
  7. begin
  8. Writeln('Test2 interrupt');
  9. a:=1;
  10. b:=2;
  11. end;
  12. function test3 : longint; interrupt;
  13. begin
  14. Writeln('test3 called');
  15. test3:=55;
  16. end;
  17. var
  18. x,y : longint;
  19. begin
  20. x:=-1;
  21. test1;
  22. test2(x,y);
  23. if (x<>1) or (y<>2) then
  24. begin
  25. Writeln('Error with interrupt');
  26. Halt(1);
  27. end;
  28. if test3<>55 then
  29. begin
  30. Writeln('Error with interrupt function');
  31. Halt(1);
  32. end;
  33. end.