![]() |
|
|
![]()
|
|
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: нет Всего: 29 |
Какие основные прерывания есть в винде? И какие функции они выполняют? Про int 13 и int 21 уже знаю.
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
В Винде нет прерываний.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: нет Всего: 37 |
Ну аппаратные прерывания все же есть.
|
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: нет Всего: 29 |
Я про программные и не говорю, я говорю про те аппаратные прерывания которые используются в Windows или в процессе ее загрузки |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
ну да? 21h - чисто программное прерывание... да и 13h-extender тоже... впрочем неважно. Конечно, аппаратные прерывания используются... их список можно посмотреть, скажем, в менеджере оборудования, ежели попросить вид "ресурсы по типу". -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
ну-ну а как тогда идет обращение к ядру для вызова kernel-части API? через шлюзы вызова что-ли? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Dude03 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.4.2006 Репутация: нет Всего: 6 |
||||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: нет Всего: 146 |
kd> !idt -a
Dumping IDT: 00: 804dfbff nt!KiTrap00 01: 804dfd7c nt!KiTrap01 02: Task Selector = 0x0058 03: 804e015b nt!KiTrap03 04: 804e02e0 nt!KiTrap04 05: 804e0441 nt!KiTrap05 06: 804e05bf nt!KiTrap06 07: 804e0c33 nt!KiTrap07 08: Task Selector = 0x0050 09: 804e1060 nt!KiTrap09 0a: 804e1185 nt!KiTrap0A 0b: 804e12ca nt!KiTrap0B 0c: 804e1530 nt!KiTrap0C 0d: 804e1827 nt!KiTrap0D 0e: 804e1f25 nt!KiTrap0E 0f: 804e225a nt!KiTrap0F 10: 804e237f nt!KiTrap10 11: 804e24bd nt!KiTrap11 12: Task Selector = 0x00A0 13: 804e262b nt!KiTrap13 14: 804e225a nt!KiTrap0F 15: 804e225a nt!KiTrap0F 16: 804e225a nt!KiTrap0F 17: 804e225a nt!KiTrap0F 18: 804e225a nt!KiTrap0F 19: 804e225a nt!KiTrap0F 1a: 804e225a nt!KiTrap0F 1b: 804e225a nt!KiTrap0F 1c: 804e225a nt!KiTrap0F 1d: 804e225a nt!KiTrap0F 1e: 804e225a nt!KiTrap0F 1f: 806edfd0 hal!HalpApicSpuriousService 20: 00000000 21: 00000000 22: 00000000 23: 00000000 24: 00000000 25: 00000000 26: 00000000 27: 00000000 28: 00000000 29: 00000000 2a: 804df417 nt!KiGetTickCount 2b: 804df522 nt!KiCallbackReturn 2c: 804df6c7 nt!KiSetLowWaitHighThread 2d: 81e698f1 2e: 804deea6 nt!KiSystemService 2f: 804e225a nt!KiTrap0F 30: 804de560 nt!KiStartUnexpectedRange 31: 804de56a nt!KiUnexpectedInterrupt1 32: 804de574 nt!KiUnexpectedInterrupt2 33: 804de57e nt!KiUnexpectedInterrupt3 34: 804de588 nt!KiUnexpectedInterrupt4 35: 804de592 nt!KiUnexpectedInterrupt5 36: 804de59c nt!KiUnexpectedInterrupt6 37: 806ed728 hal!PicSpuriousService37 38: 804de5b0 nt!KiUnexpectedInterrupt8 39: 804de5ba nt!KiUnexpectedInterrupt9 3a: 804de5c4 nt!KiUnexpectedInterrupt10 3b: 804de5ce nt!KiUnexpectedInterrupt11 3c: 804de5d8 nt!KiUnexpectedInterrupt12 3d: 806eeb70 hal!HalpApcInterrupt 3e: 804de5ec nt!KiUnexpectedInterrupt14 3f: 804de5f6 nt!KiUnexpectedInterrupt15 40: 804de600 nt!KiUnexpectedInterrupt16 41: 806ee9cc hal!HalpDispatchInterrupt 42: 804de614 nt!KiUnexpectedInterrupt18 43: 804de61e nt!KiUnexpectedInterrupt19 44: 804de628 nt!KiUnexpectedInterrupt20 45: 804de632 nt!KiUnexpectedInterrupt21 46: 804de63c nt!KiUnexpectedInterrupt22 47: 804de646 nt!KiUnexpectedInterrupt23 48: 804de650 nt!KiUnexpectedInterrupt24 49: 804de65a nt!KiUnexpectedInterrupt25 4a: 804de664 nt!KiUnexpectedInterrupt26 4b: 804de66e nt!KiUnexpectedInterrupt27 4c: 804de678 nt!KiUnexpectedInterrupt28 4d: 804de682 nt!KiUnexpectedInterrupt29 4e: 804de68c nt!KiUnexpectedInterrupt30 4f: 804de696 nt!KiUnexpectedInterrupt31 50: 806ed800 hal!HalpApicRebootService 51: 804de6aa nt!KiUnexpectedInterrupt33 52: 804de6b4 nt!KiUnexpectedInterrupt34 53: 804de6be nt!KiUnexpectedInterrupt35 54: 804de6c8 nt!KiUnexpectedInterrupt36 55: 804de6d2 nt!KiUnexpectedInterrupt37 56: 804de6dc nt!KiUnexpectedInterrupt38 57: 804de6e6 nt!KiUnexpectedInterrupt39 58: 804de6f0 nt!KiUnexpectedInterrupt40 59: 804de6fa nt!KiUnexpectedInterrupt41 5a: 804de704 nt!KiUnexpectedInterrupt42 5b: 804de70e nt!KiUnexpectedInterrupt43 5c: 804de718 nt!KiUnexpectedInterrupt44 5d: 804de722 nt!KiUnexpectedInterrupt45 5e: 804de72c nt!KiUnexpectedInterrupt46 5f: 804de736 nt!KiUnexpectedInterrupt47 60: 804de740 nt!KiUnexpectedInterrupt48 61: 804de74a nt!KiUnexpectedInterrupt49 62: 8238e1a4 Unknown_Module_f8439000+0x2C4 (KINTERRUPT 8238e168) 63: 81e55734 USBPORT!USBPORT_InterruptService (KINTERRUPT 81e556f8) 64: 804de768 nt!KiUnexpectedInterrupt52 65: 804de772 nt!KiUnexpectedInterrupt53 66: 804de77c nt!KiUnexpectedInterrupt54 67: 804de786 nt!KiUnexpectedInterrupt55 68: 804de790 nt!KiUnexpectedInterrupt56 69: 804de79a nt!KiUnexpectedInterrupt57 6a: 804de7a4 nt!KiUnexpectedInterrupt58 6b: 804de7ae nt!KiUnexpectedInterrupt59 6c: 804de7b8 nt!KiUnexpectedInterrupt60 6d: 804de7c2 nt!KiUnexpectedInterrupt61 6e: 804de7cc nt!KiUnexpectedInterrupt62 6f: 804de7d6 nt!KiUnexpectedInterrupt63 70: 804de7e0 nt!KiUnexpectedInterrupt64 71: 804de7ea nt!KiUnexpectedInterrupt65 72: 804de7f4 nt!KiUnexpectedInterrupt66 73: 81e61044 VIDEOPRT!pVideoPortInterrupt (KINTERRUPT 81e61008) USBPORT!USBPORT_InterruptService (KINTERRUPT 81e60d98) 74: 804de808 nt!KiUnexpectedInterrupt68 75: 804de812 nt!KiUnexpectedInterrupt69 76: 804de81c nt!KiUnexpectedInterrupt70 77: 804de826 nt!KiUnexpectedInterrupt71 78: 804de830 nt!KiUnexpectedInterrupt72 79: 804de83a nt!KiUnexpectedInterrupt73 7a: 804de844 nt!KiUnexpectedInterrupt74 7b: 804de84e nt!KiUnexpectedInterrupt75 7c: 804de858 nt!KiUnexpectedInterrupt76 7d: 804de862 nt!KiUnexpectedInterrupt77 7e: 804de86c nt!KiUnexpectedInterrupt78 7f: 804de876 nt!KiUnexpectedInterrupt79 80: 804de880 nt!KiUnexpectedInterrupt80 81: 804de88a nt!KiUnexpectedInterrupt81 82: 8238e984 Unknown_Module_f8439000+0x2C4 (KINTERRUPT 8238e948) 83: 81ff246c portcls!CKsShellRequestor::`vector deleting destructor'+0x26 (KINTERRUPT 81ff2430) 84: 804de8a8 nt!KiUnexpectedInterrupt84 85: 804de8b2 nt!KiUnexpectedInterrupt85 86: 804de8bc nt!KiUnexpectedInterrupt86 87: 804de8c6 nt!KiUnexpectedInterrupt87 88: 804de8d0 nt!KiUnexpectedInterrupt88 89: 804de8da nt!KiUnexpectedInterrupt89 8a: 804de8e4 nt!KiUnexpectedInterrupt90 8b: 804de8ee nt!KiUnexpectedInterrupt91 8c: 804de8f8 nt!KiUnexpectedInterrupt92 8d: 804de902 nt!KiUnexpectedInterrupt93 8e: 804de90c nt!KiUnexpectedInterrupt94 8f: 804de916 nt!KiUnexpectedInterrupt95 90: 804de920 nt!KiUnexpectedInterrupt96 91: 804de92a nt!KiUnexpectedInterrupt97 92: 81e4e954 serial!SerialCIsrSw (KINTERRUPT 81e4e918) 93: 81e561e4 i8042prt!I8042KeyboardInterruptService (KINTERRUPT 81e561a8) 94: 804de948 nt!KiUnexpectedInterrupt100 95: 804de952 nt!KiUnexpectedInterrupt101 96: 804de95c nt!KiUnexpectedInterrupt102 97: 804de966 nt!KiUnexpectedInterrupt103 98: 804de970 nt!KiUnexpectedInterrupt104 99: 804de97a nt!KiUnexpectedInterrupt105 9a: 804de984 nt!KiUnexpectedInterrupt106 9b: 804de98e nt!KiUnexpectedInterrupt107 9c: 804de998 nt!KiUnexpectedInterrupt108 9d: 804de9a2 nt!KiUnexpectedInterrupt109 9e: 804de9ac nt!KiUnexpectedInterrupt110 9f: 804de9b6 nt!KiUnexpectedInterrupt111 a0: 804de9c0 nt!KiUnexpectedInterrupt112 a1: 804de9ca nt!KiUnexpectedInterrupt113 a2: 804de9d4 nt!KiUnexpectedInterrupt114 a3: 804de9de nt!KiUnexpectedInterrupt115 a4: 81fd355c USBPORT!USBPORT_InterruptService (KINTERRUPT 81fd3520) a5: 804de9f2 nt!KiUnexpectedInterrupt117 a6: 804de9fc nt!KiUnexpectedInterrupt118 a7: 804dea06 nt!KiUnexpectedInterrupt119 a8: 804dea10 nt!KiUnexpectedInterrupt120 a9: 804dea1a nt!KiUnexpectedInterrupt121 aa: 804dea24 nt!KiUnexpectedInterrupt122 ab: 804dea2e nt!KiUnexpectedInterrupt123 ac: 804dea38 nt!KiUnexpectedInterrupt124 ad: 804dea42 nt!KiUnexpectedInterrupt125 ae: 804dea4c nt!KiUnexpectedInterrupt126 af: 804dea56 nt!KiUnexpectedInterrupt127 b0: 804dea60 nt!KiUnexpectedInterrupt128 b1: 823cbb5c ACPI!ACPIInterruptServiceRoutine (KINTERRUPT 823cbb20) b2: 81ee7a2c serial!SerialCIsrSw (KINTERRUPT 81ee79f0) b3: 804dea7e nt!KiUnexpectedInterrupt131 b4: 8201aa1c USBPORT!USBPORT_InterruptService (KINTERRUPT 8201a9e0) b5: 804dea92 nt!KiUnexpectedInterrupt133 b6: 804dea9c nt!KiUnexpectedInterrupt134 b7: 804deaa6 nt!KiUnexpectedInterrupt135 b8: 804deab0 nt!KiUnexpectedInterrupt136 b9: 804deaba nt!KiUnexpectedInterrupt137 ba: 804deac4 nt!KiUnexpectedInterrupt138 bb: 804deace nt!KiUnexpectedInterrupt139 bc: 804dead8 nt!KiUnexpectedInterrupt140 bd: 804deae2 nt!KiUnexpectedInterrupt141 be: 804deaec nt!KiUnexpectedInterrupt142 bf: 804deaf6 nt!KiUnexpectedInterrupt143 c0: 804deb00 nt!KiUnexpectedInterrupt144 c1: 806ed984 hal!HalpBroadcastCallService c2: 804deb14 nt!KiUnexpectedInterrupt146 c3: 804deb1e nt!KiUnexpectedInterrupt147 c4: 804deb28 nt!KiUnexpectedInterrupt148 c5: 804deb32 nt!KiUnexpectedInterrupt149 c6: 804deb3c nt!KiUnexpectedInterrupt150 c7: 804deb46 nt!KiUnexpectedInterrupt151 c8: 804deb50 nt!KiUnexpectedInterrupt152 c9: 804deb5a nt!KiUnexpectedInterrupt153 ca: 804deb64 nt!KiUnexpectedInterrupt154 cb: 804deb6e nt!KiUnexpectedInterrupt155 cc: 804deb78 nt!KiUnexpectedInterrupt156 cd: 804deb82 nt!KiUnexpectedInterrupt157 ce: 804deb8c nt!KiUnexpectedInterrupt158 cf: 804deb96 nt!KiUnexpectedInterrupt159 d0: 804deba0 nt!KiUnexpectedInterrupt160 d1: 806ecd34 hal!HalpClockInterrupt d2: 804debb4 nt!KiUnexpectedInterrupt162 d3: 804debbe nt!KiUnexpectedInterrupt163 d4: 804debc8 nt!KiUnexpectedInterrupt164 d5: 804debd2 nt!KiUnexpectedInterrupt165 d6: 804debdc nt!KiUnexpectedInterrupt166 d7: 804debe6 nt!KiUnexpectedInterrupt167 d8: 804debf0 nt!KiUnexpectedInterrupt168 d9: 804debfa nt!KiUnexpectedInterrupt169 da: 804dec04 nt!KiUnexpectedInterrupt170 db: 804dec0e nt!KiUnexpectedInterrupt171 dc: 804dec18 nt!KiUnexpectedInterrupt172 dd: 804dec22 nt!KiUnexpectedInterrupt173 de: 804dec2c nt!KiUnexpectedInterrupt174 df: 804dec36 nt!KiUnexpectedInterrupt175 e0: 804dec40 nt!KiUnexpectedInterrupt176 e1: 806edf0c hal!HalpIpiHandler e2: 804dec54 nt!KiUnexpectedInterrupt178 e3: 806edc70 hal!HalpLocalApicErrorService e4: 804dec68 nt!KiUnexpectedInterrupt180 e5: 804dec72 nt!KiUnexpectedInterrupt181 e6: 804dec7c nt!KiUnexpectedInterrupt182 e7: 804dec86 nt!KiUnexpectedInterrupt183 e8: 804dec90 nt!KiUnexpectedInterrupt184 e9: 804dec9a nt!KiUnexpectedInterrupt185 ea: 804deca4 nt!KiUnexpectedInterrupt186 eb: 804decae nt!KiUnexpectedInterrupt187 ec: 804decb8 nt!KiUnexpectedInterrupt188 ed: 804decc2 nt!KiUnexpectedInterrupt189 ee: 804decc9 nt!KiUnexpectedInterrupt190 ef: 804decd0 nt!KiUnexpectedInterrupt191 f0: 804decd7 nt!KiUnexpectedInterrupt192 f1: 804decde nt!KiUnexpectedInterrupt193 f2: 804dece5 nt!KiUnexpectedInterrupt194 f3: 804decec nt!KiUnexpectedInterrupt195 f4: 804decf3 nt!KiUnexpectedInterrupt196 f5: 804decfa nt!KiUnexpectedInterrupt197 f6: 804ded01 nt!KiUnexpectedInterrupt198 f7: 804ded08 nt!KiUnexpectedInterrupt199 f8: 804ded0f nt!KiUnexpectedInterrupt200 f9: 804ded16 nt!KiUnexpectedInterrupt201 fa: 804ded1d nt!KiUnexpectedInterrupt202 fb: 804ded24 nt!KiUnexpectedInterrupt203 fc: 804ded2b nt!KiUnexpectedInterrupt204 fd: 806ee464 hal!HalpProfileInterrupt fe: 806ee604 hal!HalpPerfInterrupt ff: 804ded40 nt!KiUnexpectedInterrupt207 красный цвет - работают из режима пользователя (по своему опыту знаю) |
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: нет Всего: 29 |
||||
|
||||
| Tectoder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 202 Регистрация: 13.3.2007 Репутация: 1 Всего: 8 |
Вообще, в пользовательском режиме windows есть три прерывания: системный шлюз(он не используется в NT версии 5.1 и старше, но сохранился для совместимости со старыми версиями) и два отладочных - прерывание контрольной остановки(3) и переполнения(4). Больше нет.
Аппаратные прерывания в пользовательском режиме не доступны, хотя применяются в ядерном. Вобщем, ничего нового не сказал, просто постарался подвести итог всему сказанному в топике. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
а что там используется? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Tectoder |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 202 Регистрация: 13.3.2007 Репутация: 1 Всего: 8 |
Там обычно используется инструкция процессора sysenter
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 3 Всего: 121 |
Он будет использоваться в зависимости от процессора(при загрузке Windows распознаёт тип процессора и выбирает подходящий код). Это для Intel процессоров, для AMD K6 и выше - syscall. В x64 для AMD используется syscall, а для IA64 - epc. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |