Передача управления привилигерованному коду
Т.е. если вам нужна процедура, для доступа к которой нужен уровень 0 - вы должны вызвать прерывание и потом вызывать нужную ф-цию.
если тебе надо именно через call, то никакие регистры настраивать не надо. надо настраивать GDT, создать в ней шлюз вызова. Для вызова шлюза через команду call надо указать селектор шлюза в качестве операнда
Без разницы как делать это, через прерывание или через call, всё равно надо будет делать шлюз вызова (в таблице IDT или GDT соответственно)
Вообще более подробно об этих вещах написано в книге
Зубков С.В. Ассемблер для DOS, Windows и Unix
http://www.gogsite.ucoz.ru/load/7-1-0-2
они должны работать быстрее всего
они должны работать быстрее всего
Расскажте о ней? Какие у неё параметры?
Volume 3A: System Programming Guide
Кстати, еще есть SYSCALL/SYSRET от AMD. Описание есть в отдельном документе "SYSCALL and SYSRET Instruction Specification" (# 21086).
Кстати, еще есть SYSCALL/SYSRET от AMD.
но это уже не защищённый режим
?????
но когда посмотрел маны маны от AMD и Intel был очень сильно удивлён. на процессорах Intel SYSCALL/SYSRET доступны только в 64 битном режиме, на процах AMD доступны в обоих режимах. на процессорах Intel SYSENTER/SYSEXIT доступны в обоих режимах, на процах AMD доступны только в защищённом.
Поэтому чтобы не было глюков: в защищённом режиме лучше всегда юзать SYSENTER/SYSEXIT, а в 64 битном SYSCALL/SYSRET
но когда посмотрел маны маны от AMD и Intel был очень сильно удивлён. на процессорах Intel SYSCALL/SYSRET доступны только в 64 битном режиме, на процах AMD доступны в обоих режимах. на процессорах Intel SYSENTER/SYSEXIT доступны в обоих режимах, на процах AMD доступны только в защищённом.
Поэтому чтобы не было глюков: в защищённом режиме лучше всегда юзать SYSENTER/SYSEXIT, а в 64 битном SYSCALL/SYSRET
хм. 64 != защищенный? Что в вашем понимании тогда вообще "защищенный режим"? Может просто имеет смысл проверять разрядность процессора?
ладно, скажем так: legacy mode и long mode.
в моём понимании защищённый режим это 32 битный режим процессора.