Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Своё прерывание 1Ch


Автор: Immortal 24.4.2005, 14:31
Как сделать процедуру которую можно использовать как прерывание.
Я знаю что такой пример вызывает Stack overflow, потому что такой вызов отличается от обычного передачей еще и регистра флагов, котрый из стека никто не удаляет, так что можно сделать?
Заранее спасибо.

Процедура должна быть паскалевская. И решение проблемы ЖЕЛАТЕЛЬНО(но не обязательно) тоже на Паскале без asm вставок.

Код

var
  Reg: Registers;

procedure Timer; far;
begin

end;

begin
  Reg.dx := ofs(Timer);
  Reg.ds := seg(Timer);
  Reg.ax := $251c;
  intr($21,Reg);

  while true do;
end.


[Модератор: Используйте пожалуйста теги [ code=delphi][/code]]

Автор: SPrograMMer 24.4.2005, 21:28
подпрограмма обработки прерываний должна быть с диррективой interrupt. А так вообще туда моно засуноть все-что угодно, не только
Цитата(Immortal @ 24.4.2005, 14:31)
на Паскале без asm вставок.
туда моно

Автор: Immortal 24.4.2005, 22:13
Спасибо большое, а всё-таки паскаль не такая уж и плохая штука smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)