----- Original Message ----- From: "Nikolay Nikolov" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, March 18, 2004 12:04 PM Subject: Re: [fpc-pascal]wow quite cool example you made there :)
> Harald Houppermans wrote: > > >WOW very interesting indeed > > > >I thought you did it like this: > > > >asm > > mov CS, blabla > > mov IP, blabla > >end > > > >But now I see !!! > > > >You are actually using the parameters: > > > >CS := blabla; :) > >IP := blabla; :) > > > > > >Those interrupt parameters actually allow something which otherwise isn't > >allowed ?! > > > The CS and IP parameters access the return address stored on the stack. > (so after the iretd it will continue executing from there) In 16-bit DOS > you can even simulate multithreading using this. Just hook int8 and > store the CS/IP and all the other registers for the current thread and > load CS/IP/registers of the next thread to be executed. Alas I didn't > find a way to do that in 32-bit DPMI. :) Hmm... so one just keeps cycling like in a circle... hmm So no problems with losing stuff ? But euhm... how to exit the program without crashing ? > > > _______________________________________________ > fpc-pascal maillist - [EMAIL PROTECTED] > http://lists.freepascal.org/mailman/listinfo/fpc-pascal > _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal