pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

 >  > Запись оставлена OCTAGRAM 27.12.2017 в 04:56 Получить справку

Запись оставлена OCTAGRAM 27.12.2017 в 04:56
запустить | скачать | новая запись

  1. { Демонстрация для темы на форуме http://forum.pascal.net.ru/index.php?showtopic=32274 }
  2.  
  3. program Test21h;
  4.  
  5. uses Dos;
  6.  
  7. type
  8.   TInterruptHandler = procedure(Flags: Word);
  9.  
  10. var
  11.   Int21hHandler: TInterruptHandler;
  12.   Buffer: string;
  13.   { должна быть глобальной переменной, чтоб быть в DS }
  14.   { должна заканчиваться на $ перед вызовом прерывания }
  15.  
  16. function ConstructInt21hCall: LongInt;
  17. var
  18.   DX: Word;
  19. begin
  20.   DX := Ofs(Buffer) + 1;
  21.   ConstructInt21hCall := LongInt(Integer(DX)) shl 16 or $0900;
  22. end;
  23.  
  24. {function GetFlags: Word; assembler;
  25. asm
  26.   pushf
  27.   pop ax
  28. end;}
  29.  
  30. const
  31.   NormalFlags = $7202; { получено при помощи GetFlags }
  32.  
  33. begin
  34.   {WriteLn(GetFlags);
  35.   Halt(0);}
  36.  
  37.   Dos.GetIntVec($21, Pointer(@Int21hHandler));
  38.   Str(93, Buffer);
  39.   Buffer := Buffer + #13#10'$';
  40.   ConstructInt21hCall; { АХ и DX инициализированы возвратом из функции }
  41.   Int21hHandler(NormalFlags);
  42. end.

Отправка исправлений и поправок. (cоздать новую запись)
После отправки поправок вы сможете посмотреть различия между старой и новой записью.

Использовать подсветку синтаксиса
В текущей реализации JS-DOS Read/ReadLn работают только при подключенном модуле Crt! Для подсветки отдельных строк используйте для них префикс @@


картинка


Запомнить мои настройки