[fpc-pascal] Interruption handling on i8086

Tomas Hajny xhajt03 at hajny.biz
Sat Apr 10 16:05:28 CEST 2021


On 2021-04-09 19:56, Guillermo via fpc-pascal wrote:


Hi,

> I'm doing DOS development for fun and, after installing the compiler
> (was quite hard), I'm having problems handling interrupts.
> 
> I started with keyboard and it doesn't work. The handler declaration:
> 
> procedure DOS_KbdHandler; interrupt;
> 
> but compiler says:
> 
> keybrd.inc(14,29) Warning: Calling convention directive ignored:
> "OldFPCCall"

I believe that you need to add the "far" modifier after the "interrupt" - at least this has been the case with TP/BP and is probably needed at least for some memory models supported with FPC for i8086. The {$F+} directive as mentioned in your later post is an alternative, but not needed for the whole program (it might make it less efficient). I don't know if there are any other caveats.

Tomas



More information about the fpc-pascal mailing list