On Dec 5, 2007 12:22 PM, ninjaboy <[EMAIL PROTECTED]> wrote:
> 2007/12/5, Justin Ferguson <[EMAIL PROTECTED]>:
>
> > I'm not going to sit and debug your asm, but you're doing something
> > wrong because this works.
> >
> > Here's some 32-bit functions I wrote a while back for a project, it
> > should help you figure out whats going on.
> >
> >
> > void
> > unsetTF(void)
> > {
> > __asm__ __volatile__(
> > "pushf \n"
> > "mov $0x100, %eax \n"
> > "not %eax \n"
> > "andl (%esp), %eax \n"
> > "popf \n"
> > );
> > }
> >
> > void
> > setTF(void)
> > {
> > __asm__ __volatile__(
> > "pushf \n"
> > "orl $0x100, (%esp) \n"
> > "popf "
> > );
> >
> > return;
> > }
> >
> > unsigned int
> > isTFset(void)
> > {
> > unsigned int retval;
> >
> > __asm__ __volatile__(
> > "xor %%eax, %%eax \n"
> > "pushf \n"
> > "pop %%eax \n"
> > "and $0x100, %%eax \n"
> > : "=a" (retval)
> > );
> >
> > return retval;
> >
> > }
> The question is another, i'm sure that TF is set, i don't know why my
> handler is not caught after TF set.
>
> --
> noone is alone.
>
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ