если брать flat модель, а если что посложнее?
господа, читайте спецификацию это не грабли, а вполне нормальная ошибка
настоящее понимание приходит только с практикой, так сказать "прочувствовав" все на своей шкуре, голая теория, имхо, мало чего дает
надеюсь не свою писать? ;-)
xCodex могу с многозадачностью помочь в этом вопросе я хорошо ориентируюсь поддержка виртуальной памяти будет?
Exception13 дескриптор LDT нужен обязательно, потому как при переключении задач выполняется загрузка регистра LDTR аналогично выполнению...
GDT_LDT dq 0x0000820001FFF ... SEL_flatDS equ 001000b SEL_16bitCS equ 010000b SEL_32bitCS equ 011000b...
бит 6 в байте 6 TSS дескриптора должен быть сброшен да, и еще сделай в GDT валидный LDT дескриптор, а то LDTR = 0 в TSS сегментах (TSS_0, TSS_1)...
интересно, из каких соображений так сделано... ведь если используется нечто посложнее flat модели, переключение задач програмными средствами...
NoName а понял, что ты хочешь тогда используй retf, но придется со стеком повозиться exception_handler: push ebp mov ebp, esp ... add...
если логически подумать, то сможет имхо, работа с картой имеет смысл только если IOPL < CPL
ну дык а чем просто iretd ; retf для шлюза вызова не катит? со стека будут сняты последовательно EIP, CS, [EFLAGS], ESP, SS, что вернет управление...
конечно можно (если сможешь бит NT установить) pushfd or dword [esp], 0x4000 popfd ; set NT bit iretd только есть следующие НО: 1....
ну так я и говорил не про APIC, а про I/O APIC ;-) спасибо за поправку
Nouzui ну да, тоже верно
skyproc I/O APIC - PCI устройство VENDOR ID = 0x8086 DEVICE ID = 0x1361 в конфигурационном пространстве есть два основных регистра 1. BAR (offset...
mov eax, cr3 and eax, 0xFFFFF000 call <что-то, что дает возможность получить виртуальный адрес по физическому>
mr_Infern0 не говори чушь, CR3 изменяется при каждом переключении задач и первый раз устанавливается не из RM, а из PM
Sheff в GDTR храниться линейный (читать виртуальный (во flat модели)) адрес, преобразовывать ничего не надо
fasm при использовании format ELF executable создает исполняемый файл
Имена участников (разделяйте запятой).