<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120229</guid>
        <pubDate>Tue, 02 Apr 2002 06:02:12 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120229</link>
        <description><![CDATA[devilray: Добавлю следующее: int 3h имеет машинный код 0xCC , то есть таким кодом можно забить любую инструкцию (любой длины) и получить программный брейкпойнт. софтайс любит int 3h :)))))))))))]]></description>
        <author>devilray</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120228</guid>
        <pubDate>Mon, 01 Apr 2002 17:09:18 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120228</link>
        <description><![CDATA[rivitna: Да, блин, затейники! Бедная винда не может справиться со всепоглощающим любопытством!<br><br>Сразу скажу из виндов прерывания вызывать можно и даже нужно в некоторых случаях, например с vxd-ками так и следует делать.<br><br>Вот пытливый ум пишет в виндах int 13h, весело что-то набивает в регистры на входе. А что винда? Бесцеремонно посылает! Так вот int 13h (интерфейс BIOS для работы c дисками) находится в абсолютно другом измерении и такой вызов ничем не обоснован, винда еще тактична, что матом не посылает!<br><br>В защищенном режиме при обработке инструкции int процессор находит соответствующий дескриптор в IDT (Interrupt Descriptor Table), а этот дескриптор описывает обработчик прерывания (исключения )защищенного режима, который и запускается для указанного прерывания (или исключения). IDT - одна из ключевых таблиц, которая создается при переходе в защищенный режим. Повторяю DOS-кие прерывания в другом измерении находятся. При работе в окне DOS, где DOS-приложения работают в режиме V86 для них все по-старому, почти. Эмулируется таблица векторов прерываний реального режима.<br>Так что не стоит искушать судьбу и резвиться с прерываниями. В 99 случаев из 100 ничего не произойдет, конечно, но все равно не стоит.<br><br>Итак, int 3.<br>Что это такое в защищенном режиме? Программная контрольная точка, ловушка отладчика. На входе ничего нет. Обработчик этого прерывания просто PL-привередлив, поэтому не стоит удивляться на грубые отбивания винды от вашего насилования. Кстати, это прерывание использует CIH для входа в Ring0, но это отдельная история.<br><br>А вот int 20h  в Win9x имеет очень важное значение, через это прерывание организован интерфейс работы с vxd, ну а в DOS Вы помните, что оно значит...<br><br>В виндах 9x обычно это выгладит так:<br>int 20h<br>DD ?<br>где ? и есть вызываемый сервис vxd.<br><br>ЗЫ: Не стоит шалить. Процесс познания - есть важный процесс, но это не наши методы!<br>]]></description>
        <author>rivitna</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120227</guid>
        <pubDate>Mon, 01 Apr 2002 15:53:44 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120227</link>
        <description><![CDATA[Kuss: смешно, да, а люди мучаются. :)]]></description>
        <author>Kuss</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120226</guid>
        <pubDate>Mon, 01 Apr 2002 12:49:42 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120226</link>
        <description><![CDATA[Muran: Это конечно научный подход :)<br>Забить регистры всяким хламом, вызвать какое-нибудь прерывание и посмотреть, что будет.<br>Замечательный стиль программирования.<br>P.S. только без обид. Я долго угарал, прочитав ваши строчки. :)]]></description>
        <author>Muran</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120225</guid>
        <pubDate>Mon, 01 Apr 2002 09:42:07 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120225</link>
        <description><![CDATA[Kuss: по моему под виндой подругому как-то надо, я пробовал когдато досовые прерывания в 32 разрядном приложении, тоже ничего не вышло.]]></description>
        <author>Kuss</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120224</guid>
        <pubDate>Mon, 01 Apr 2002 06:51:56 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120224</link>
        <description><![CDATA[NEOHack: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Kuss, 01.04.02, 10:48:36</span><div class='quote '>int 3 - это и есть выполнение прерывания 03h<br>во первых надо (обычно) записать в ax вектор функции, и еще кучу параметров в разные регистры (если надо)<br>а во вторых что делает 3 прерывание?</div></div><br><br>Да я так &nbsp;для примера написал, любой INT вызываешь со всякими ax, dx, al и т.д. и всё равно виснет.<br>]]></description>
        <author>NEOHack</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120223</guid>
        <pubDate>Mon, 01 Apr 2002 06:48:36 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120223</link>
        <description><![CDATA[Kuss: int 3 - это и есть выполнение прерывания 03h<br>во первых надо (обычно) записать в ax вектор функции, и еще кучу параметров в разные регистры (если надо)<br>а во вторых что делает 3 прерывание?]]></description>
        <author>Kuss</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120222</guid>
        <pubDate>Mon, 01 Apr 2002 06:36:49 +0000</pubDate>
        <title>ASM</title>
        <link>https://forum.sources.ru/index.php?showtopic=14162&amp;view=findpost&amp;p=120222</link>
        <description><![CDATA[NEOHack: Почему при выполнение такого кода система виснет<br><br>_asm<br>{<br> &nbsp; &nbsp;INT 3<br>}<br><br>Я знаю, что дело в прерывании, как это исправить?]]></description>
        <author>NEOHack</author>
        <category>Assembler</category>
      </item>
	
      </channel>
      </rss>
	