Matthew Dillon said: > :There're a couple of places in swtch.s where code looks like this, > : > :#ifdef VM86 > : btrl %esi, _private_tss > : je 3f > : ... > :3: > :#endif > : > :The conditional jump statement doesn't seem right, according to manual, > :btrl instruction modifies CF flag but not Z, so the jump should be jae/jb > :instead of je/jne. Could anyone confirm this? > : > :-lq > > btrl only effects the Carry. The VM86 code looks wrong to me, though > there is an outside chance that it is doing a conditional jump based > on something that occured prior to the btrl. > Even though you are correct in practice, the Intel Architecture Software developer's manual #2 says that the ZF is undefined, not that it is unchanged. In fact, the above code sequence is incorrect "by the book."
-- John | Never try to teach a pig to sing, dy...@iquest.net | it makes one look stupid jdy...@nc.com | and it irritates the pig. To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-current" in the body of the message