Не в ту сторону о стеке подумал, вот и все объяснение :(. Конечно, не нужен там push eax.
Да, это нужно чтобы не загнать esp на участок только что скопированного кода. Это зависит от размера кода.
Такое происходит когда вызываешь ф-ию API с невыравненным по границе 4 стеком. Если добавить push eax and esp, 0xFFFFFFF8 invoke MessageBox, 0,...
Все верно, видеопамять немного по-другому устроена -- каждая ячейка описана двумя байтами, первый -- код символа, второй -- цвет символа и цвет...
Ты немного путаешь транспортный протокол и протокол взаимодействия. PIO -- транспортный протокол, он описывает как данные должны передаваться от...
l_inc Посмотрел сейчас образ в Bochs. Он немного отличается от того, что в исходнике... И еще не понятно, зачем нужен такой код: mov dx, 01f7h m4:...
С этим сложновато. Первый бук -- некий "clevo", подробностей не известно, второй -- noname. Правда, есть марки экранов: рабочий LG 157e1b2, дохлый...
Мое почтение всем. Есть два ноутбука, один с издохшими внутренностями но живым монитором, второй с издохшим монитором, но живыми внутренностями....
n0name Я об этом узнал из стандарта ata-atapi-6-3b. Там в 6.4.2 сказано:
l_inc М.б. покажешь код полностью? Попробую в эмуляторе запустить.
n0name Да, точно. При чем, DMA команды в стандарте помечены как prohibited для ATAPI устройств.
l_inc Я не супер-спец по АТА но кое-что читал, можно попробовать разобраться. Есть несколько вопросов: 1. Как выполняется код -- из под...
На уровне физических протоколов разница значительна. На уровне логики необходимо дать Bus Master'у описание областей памяти, куда необходимо...
Отправь команду RESET, после ее успешного выполнения регистры командного блока содержат сигнатуру, по которой можно определить, что подключено к...
Chingachguk Смена уровня тут не при чем, где был загружен tr значения не имеет. Просто коду, выполняющемуся на нулевом уровне привилегий всегда...
Chingachguk 1. Только если произошла смена урвоней привилегий. И не только при прерывании но и при прохождении через call gate, но опять же,...
rei3er Самое простое, я думаю, померять время сохранения с помощью 'rdtsc'. Chingachguk 1. Почему не работает? Можно сказать, что работу свою TSS...
Не знаю точных цифр, но, вроде, быстрее. Тем более, что не обязательно сохранять все, что сохраняется в TSS -- селектор LDT, например, сохранять...
Chingachguk Я ж написал, для чего используется TSS. Если переключении на обработчик прерывания происходит смена уровней привилегий, то указатель...
Для возврата действительно достаточно посместить в стек указатели, как сказал rei3er. Но, например, при прерывании или использовании шлюза вызова,...
Имена участников (разделяйте запятой).