I have a big problem that's got me stuck for a month!
I'm writing assembly code to do a task switch by call far [es:esi + TCB.addr_tss]
in bochs, like picture 1.
Now I step into the new task, so I type 's' in bochs, like picture 2:
For now, everything seems OK, the general registers CS, SS, the cotrol registers CR0, CR3, the LDT is OK too. But do you know what will happen if I step again? See picture below:
What's wrong?! I have no idea. I examined DPL, segment limitation, and nothing seems wrong. Oh, god bless me...