Вопрос № 46178: Можно-ли с помощью ассемблера отключить дрейвер windows
зная код и класс устрайства(драйвера)...Вопрос № 46216: Уважаемые эксперты!
Я написал простейшую программу в TASM'e, которая по идее должна выводить на экран цифру '3' но почему-то ничего не выводится..
...Вопрос № 46228: Вопрос такой: как реализовать паралельную работы процессора и сопроцессора?
А теперь немного комментариев: по этому вопросу насколько я понимаю мнения писателей книг не очень сходятся. Я порылся по моим докам, и обнаружил в них следующие противор...Вопрос № 46241: Здравствуй, не могли бы вы мне подсказать какой размер содержит буфер в этом отрезке программы
mov ah,0ah
mov dx,offset buffer
mov byte ptr buffer,10h
int 21h...
Вопрос № 46.178
Можно-ли с помощью ассемблера отключить дрейвер windows
зная код и класс устрайства(драйвера)
Отправлен: 14.06.2006, 10:36
Вопрос задал: Platon (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Platon!
Извини, код на С, на чистом WINAPI. Переделать проблем не должно быть.
Разве что, найти WINSVC.H с описанием всех констант
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 14.06.2006, 11:18
Отвечает: mix_mix
Здравствуйте, Platon!
Не, грузить диспетчер служб, работать с сервисами, с безопасностью Win, зачем?
Есть прекрасная недокументированная функция ZwUnloadDriver из ntdll.dll
Вот ее синтаксис:
ZwUnloadDriver(
IN PUNICODE_STRING DriverRegistryEntry
);
Ответ отправил: mix_mix (статус: 4-ый класс)
Ответ отправлен: 14.06.2006, 20:06
Вопрос № 46.216
Уважаемые эксперты!
Я написал простейшую программу в TASM'e, которая по идее должна выводить на экран цифру '3' но почему-то ничего не выводится..
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Столяров Дмитрий Геннадьевич/Dimitriy!
А если так? Сравни - поймешь все сам.
.stack 100h
.code
start:
mov dl, 3
add dl, 30h
mov ah ,2
int 21h
mov ah,4c00h
int 21h
end start
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 14.06.2006, 22:10
Вопрос № 46.228
Вопрос такой: как реализовать паралельную работы процессора и сопроцессора?
А теперь немного комментариев: по этому вопросу насколько я понимаю мнения писателей книг не очень сходятся. Я порылся по моим докам, и обнаружил в них следующие противоречия, вернее варианты ответа на мой вопрос:
1. Процессор и сопроцессор всегда работают паралельно, за исключением тех случаев когда процессору нужны данные которые должен вычислить сопроцессор. В таком случае центральный стоит а сопроцессор работает.
2. Процессор и сопроцессор работают паралельно только если давать особенные команды. Иначе процессор будет всегда ждать окончания вычислений в сопроцессоре.
Итак, уважаемые эксперты, пожалуйста, внесите ясность в этот вопрос. И, если вас не затруднит, в случае, если для паралельно работынужны особенные команды - дайте мне по ним пояснения и примеры.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Реуцкий Вадим Андреевич!
Так как IU и FPU являются отдельными операционными устройствами, вполне
допускается одновременное выполнение команд IU и FPU.
Для достижения параллельности не требуется специальных приемов программирования.
Целочисленные и численные команды инициируются в том порядке, в каком появляются во входном потоке.
При этом надо не надо забывать о тщательной проработке особых случаев FPU.
Так что, верен ответ 1
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 14.06.2006, 22:05 Оценка за ответ: 5 Комментарий оценки: Спасибо, Игорь Витальевич, ваш ответ внес ясность в поставленный мною вопрос.
Вопрос № 46.241
Здравствуй, не могли бы вы мне подсказать какой размер содержит буфер в этом отрезке программы
mov ah,0ah
mov dx,offset buffer
mov byte ptr buffer,10h
int 21h
Отправлен: 14.06.2006, 21:04
Вопрос задал: Dim_tcc (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Dim_tcc!
Функция 0ah предполагает, что в DS:DX лежит адрес буфера со следующей
структурой:
1) byte ptr [DX+0] - максимальная длина буфера, начиная с [DX+2]
2) byte ptr [DX+1] - сюда запишется реальная длина принятой строки
3) byte ptr [DX+2] - сам буфер
Т.о.. необходимо задать:
buffer db 10h, 0, 10h dup (0)
Тогда указанный фрагмент корректно отработает
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 14.06.2006, 21:43