А после 'std' есть 'cld'? Win требует, чтобы EFLAGS.DF был сброшен при вызове API. Возможно, там и валится. А вообще, неоплохо бы взять Olly и...
Не думаю, что они помогут в этом случае -- они позволяют проверить наличие прав на чтение/запись сегмента по селектору сегмента. Ну а т.к....
pananton Сегментация не может быть отключена, она включается вместе с защищенным режимом. Win использует flat модель памяти, соотвественно, все...
У тебя в исходнике стоит 'add eax, PAGE_TABLES_BASE_ADDRESS or 0x3', в предыдущем посте я писал, что это надо изменить на 'add eax,...
Неважно, в каком порядке и как располагать таблицы. Их адреса известны тебе заранее. Соотвественно вычислять их не надо. 1. Существует ли физ....
Зачем? Старшие 2 бита адреса -- индекс в PDPT. Размер элемента PDPT -- 8 байт. Он содержит физический адрес каталога таблиц. Соотвественно,...
ُУгу, настолько сложный, что аж не работает ;). Совсем забыл: каждая entry же 8 байт. Соотвественно, должно быть так: map_addr: and ebx,...
Хм, странный немного код у тебя. Попробуй заменить на этот: map_addr: and ebx, 0xFFFFF000 mov edx, eax shr eax, 0x1E shl eax, 0x3 add eax,...
vg 'jmp nextletter' во второй части, где идет сравнение с 'S' замени на 'jmp @B'. А вообще, IMHO логичнее сделать так: mov esi, eax .l00p:...
Думаю, что по-другому никак. Тут даже дело не в типах параметров (кажется, они могут быть любого типа), а в том, что их надо как-то передать, т.е....
Jupiter Теперь все в PNG :). Aquila Выслал письмо.
Мое почтение всем. Написал небольшую статью про PAE. В каком-то смысле, это перевод Intel Manual (писал под впечатлением от прочитанного). Может...
Прогнал код в Bochs. Перезагрузка происходит не на инструкции 'mov cr0, eax', а дальше, полсе дальнего прыжка 'jmp 0x20:0x0000000'. Пятый...
Без кода сказать что-то трудно. Уточню лишь: учтено ли, что CR3, PDE & PTE содержат физические адреса, а не линейные? Есть ли очищающий jmp после...
Мое почтение всем. Перечитываю сейчас пятикнижие Интелово -- главу о страничном преобразовании. И наткунлся на такой абзац: 3.7.4 Memory Aliasing...
Если я не ошибаюсь, то p = ExAllocatePool(NonPagedPool, sizeof(CHAR*3)); надо заменить на p = ExAllocatePool(NonPagedPool, sizeof(CHAR) * 3);
Great Я думаю, однокурсница была не совсем честна. Я не знаю татарский, но вот что сказал мой друг из Казахстана:
Vilco В MS VS 8 он называется 'chkstk.asm'. DDK под рукой нет.
Adrax Нет, адресация неправильна. Во-первых, 'mov bx, word[eax]' кладет в bx _содержимое_ по адресу еах, а не сам адрес, во-вторых, bx --16 битный...
keksn Скорость выполнения меня волнует. Дело в том, что я использую SEH, который сам по себе не очень быстрый, при чем, возможно, вызываться мой...
Имена участников (разделяйте запятой).