Исключение после `вызова дальнего дескриптора TSS: смещение`
У меня большая проблема, которая застряла на месяц! Я пишу ассемблерный код для переключения задач call far [es:esi + TCB.addr_tss]
в бочах, как на картинке 1.
Теперь я перехожу к новой задаче, поэтому набираю 's' в bochs, как на рисунке 2:
На данный момент все кажется в порядке, общие регистры CS, SS, доменные регистры CR0, CR3, LDT тоже в порядке. Но знаете ли вы, что произойдет, если я уйду снова? Смотрите картинку ниже:
В чем дело?! Я понятия не имею. Я проверил DPL, ограничение сегмента, и ничего не кажется неправильным. О, Боже, благослови меня...