[fpc-pascal]Porting to Free pascal this little Turbo Pascal code
Jérémie LEFRANCOIS
j.lefrancois at altran-tech.net
Fri Jul 30 14:36:17 CEST 2004
Thanks for you reply full of wisdom. Truth is, I *have* *to* make a program
that emulates multitasking that way.
I adapted the code (after several trials since I have no assembler experience)
and it seems to work fine now :-)
Here is the tip :
asm
movl bp_load, %ebp
movl ss_load, %esp
end;
=> loads the stack segment and base pointer
asm
movl %ebp, bp_save
movl %esp, ss_save
end;
=> saves the stack segment and base pointer
I enclosed the revised TASKER.PAS as zip document, in case it could help
someone else (thanks to Mr Warot).
En réponse à "Nelson M. Sicuro" <nelson at desktopsistemas.com.br>:
> In my humble experience with FreePascal, I know that you cannot mess
> with
> segment registers as you do in 16 bits mode. This code of yours need to
> be
> rewrited from scratch to be in 32 bits mode, without using the segment
>
> registers and the inline functions (replaced with asm statements).
> Anyway, this code seems unsafe to run in 32 bits anyway.
> Most 32 bits environments are indeed capable of multitask programming,
>
> take a look at the DOS 32 bit extenders that FreePascal uses.
>
> Best regards,
> Nelson
>
> > Anybody capable of providing me an answer on how to get this working
>
> > with Free
> > Pascal (under DOS) ?
> >
> > The trick is that the Base Pointer and Segment Stack are saved and
> > restored.
> > That is what I am trying to do . Note FreePascal only accepts ASM
> blocks.
> >
> > And also I do not know what instruction $89/$2e $8c/$16 $8b/$2e
> $8e/$16
> > $90/$90/
> > $90 refer to.
> > Regards.
> >
> >
__________________
Jérémie Lefrançois
06 73 27 35 97
Consultant
Altran Technologies
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TASKER.zip
Type: application/x-zip-compressed
Size: 1170 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20040730/1f5622b8/attachment.bin>
More information about the fpc-pascal
mailing list