Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Почему неработает функция прерывания int в программе на Delphi   Найти похожие ветки 

 
Demi   (2004-04-22 10:02) [0]

У меня есть кника по ассемблеру в ней написано зделайте так проделайте эдак. Проблема в том что всё было бы  нормально если бы команда  int не вызывала исключение, от которой всё зависит.Подскажите в чём проблема. Спасибо.


 
Игорь Шевченко ©   (2004-04-22 10:09) [1]


> У меня есть кника по ассемблеру


Сходить на форум по ассемблеру ?


 
Григорьев Антон   (2004-04-22 10:50) [2]

Программе, работающей в пользовательском режиме, нет нужды вызвать прерывания, вот система и не разрешает делать это. Забудьте вообще про прерывания и ищите альтернативный способ.


 
inic   (2004-04-22 11:05) [3]

Предыдущий человек (Григорьев Антон) прав. Я не помню точно, но обычные программы в Win32 выполняются в некотором режиме, для которых недопустимы некоторые инструкции процессора, например int, in, out и т.п. (необходимо прочитать материал о защищенном режиме - Protected Mode; уверен, что в Вашей книге по ассемблеру это описывается). Но такие инструкции доступны для драйверов (кстати, часто их и создают не в качестве драйвера, а в качетсве библиотеки к главной программе для доступа к ним).


 
PVOzerski ©   (2004-04-22 11:08) [4]

Уточнение: win"9x и win"NT здесь ведут себя по-разному.


 
Digitman ©   (2004-04-22 11:33) [5]


> если бы команда  int не вызывала исключение, от которой
> всё зависит


не понял, от кого и что зависит ? от исключения что-то зависит ? или от невозможности якобы использовать int-инструкцию ?


 
Матлабист   (2004-04-22 11:35) [6]

Почитай внимательно книжку, на какую OS она рассчитана. Скорее всего DOS ;)


 
Матлабист   (2004-04-22 11:50) [7]

> вот система и не разрешает делать это

Очень даже разрешает. Половина функций из ntdll уходят в int $2e. Например:

ntdll.ZwCreateMutant:  mov eax, $00000025
 lea edx, [esp+$04]
 int $2e ; Обращение к ядру Windows  
 ret $0010



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.071 c
7-1080318300
Vadim
2004-03-26 19:25
2004.04.11
Перезагрузка


1-1082616656
god
2004-04-22 10:50
2004.04.11
Подскажите команды для подсчета кол-ва элементов в мессиве (D7)


11-1068482799
=Sniper=
2003-11-10 19:46
2004.04.11
Динамическое создание ЭЛЕМЕНТОВ в MainMenu


4-1075808899
BlackLord2003
2004-02-03 14:48
2004.04.11
Ярлыки


1-1082302900
TechnDreamer
2004-04-18 19:41
2004.04.11
Обработка текста в TRichedit с учетом форматирования