![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
![]()
Как перехватить прерывания используя только C?
Как заблокировать/разблокировать процессор в C? Да и ещё, в С нету ключевого слова asm, есть ей альтернатива?
Делаю бд, программы,
icq 640743615 дамы! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
в обычных программах Windows и linux это невозможно! Это можно сделать только из драйвера
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
![]() |
![]() |
![]() |
#3 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
![]()
А мне и не нужно из приложений windows/linux,
я ось пишу)
Делаю бд, программы,
icq 640743615 дамы! |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
а если пишите ось, то зачем перехватывать прерывания? обработка прерываний основная задача ОС, нет смысла их перехватывать их надо обрабатывать.
по поводу обработчиков прерываний, как ни крути всё равно что-то придётся писать на ассемблере, как минимум обработчик, адрес которого прописан в дескрипторе IDT, а уже из него можно вызывать обработчик написанный на С что вы понимаете под блокировкой процессора?
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
Последний раз редактировалось haruhi; 14.10.2011 в 16:41. |
![]() |
![]() |
![]() |
#5 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
![]()
под блокировкой процессора я понимаю
Код:
Делаю бд, программы,
icq 640743615 дамы! |
![]() |
![]() |
![]() |
#6 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
![]()
пожалуйста, помогите!
Делаю бд, программы,
icq 640743615 дамы! |
![]() |
![]() |
![]() |
#7 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]() Цитата:
Учи матчасть! (я скатываюсь к боянным фразам, но это так) обработка прерываний происходит с помощью таблицы IDT. |
|
![]() |
![]() |
![]() |
#8 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
![]()
это не c это asm.
ну ладно, а как unix писали на чистом c? Эх......... перейду на c--
Делаю бд, программы,
icq 640743615 дамы! |
![]() |
![]() |
![]() |
#9 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
Unix не писали только на C. Самый низкий уровень - на ассемблере
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
rpy3uH же вам сказал что надо сначала разобраться как происходит работа с прерываниями в процессоре и только потом приступать к программированию. для начала надо хотя бы понять что такое таблица дескриптором прерываний, что такое деспритор (их целых три вида: шлюза, ловушки, задачи), что такое регистр IDTR и т.д. и только потом пытаться что-то писать
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
Последний раз редактировалось haruhi; 15.10.2011 в 09:24. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обработка прерываний | fen1ksss | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 04.12.2010 23:39 |
Блокировка клавиши с использованием прерываний, C++ (gcc), Linux | Enchance | Общие вопросы C/C++ | 3 | 16.11.2010 10:36 |
Разблокирование компьетера | Искандер | Помощь студентам | 8 | 29.03.2009 16:08 |
Разблокирование файла | wwww | Общие вопросы Delphi | 8 | 30.10.2007 10:21 |