[fpc-pascal]Modifying cpu registers while in turbo pascal interrupt routine ?

Harald Houppermans houppermans at home.nl
Thu Mar 18 00:21:44 CET 2004


Maybe you guys know something about good old turbo pascal :D

Turbo pascal 7 has the 'interrupt' directive which can be placed behind a
procedure name to turn it into a interrupt handler.

procedure interrupt_handler(Flags, CS, IP, AX, BX, CX, DX, SI, DI, DS, ES,
BP: Word); interrupt;


All cpu registers will be copied into these parameters.

The documentation says that after the interrupt routine is done all these
parameters will be stored back into the cpu registers.

The problem is that these parameters are probably passed 'by value'. So
these are only copies.

When modifieing these parameters it is useless (?) because they are not
placed back into the cpu registers ???????

Is that true... ?

How does one write a decent interrupt routine for turbo pascal where cpu
registers can be modified... since the driver which calls the interrupt
routine excepts certain cpu registers to be changed/set. For example to


More information about the fpc-pascal mailing list