[syslinux] Calling between real mode and protected mode on the core32 branch

Ferenc Wagner wferi at niif.hu
Sun May 31 13:06:56 PDT 2009


"H. Peter Anvin" <hpa at zytor.com> writes:

> The first argument is [...] (CS << 6)+IP in the case of core_farcall().

Is (CS << 6) an unfortunate crossing of CS*16 and CS<<4?

> To break a 32-bit pointer apart into a seg:off pair, use the SEG() and
> OFFS() macros:
>
> 	regs.es       = SEG(ptr);
> 	regs.ebx.w[0] = OFFS(ptr);

How is the possible segment ambiguity resolved?
-- 
Thanks,
Feri.




More information about the Syslinux mailing list