|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.10.2011, 15:50 | #1 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
Перехватывание прерываний и блокировка/разблокирование процессора в C
Как перехватить прерывания используя только C?
Как заблокировать/разблокировать процессор в C? Да и ещё, в С нету ключевого слова asm, есть ей альтернатива?
Делаю бд, программы,
icq 640743615 дамы! |
14.10.2011, 16:09 | #2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
в обычных программах Windows и linux это невозможно! Это можно сделать только из драйвера
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
14.10.2011, 16:13 | #3 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
А мне и не нужно из приложений windows/linux,
я ось пишу)
Делаю бд, программы,
icq 640743615 дамы! |
14.10.2011, 16:36 | #4 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
а если пишите ось, то зачем перехватывать прерывания? обработка прерываний основная задача ОС, нет смысла их перехватывать их надо обрабатывать.
по поводу обработчиков прерываний, как ни крути всё равно что-то придётся писать на ассемблере, как минимум обработчик, адрес которого прописан в дескрипторе IDT, а уже из него можно вызывать обработчик написанный на С что вы понимаете под блокировкой процессора?
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
Последний раз редактировалось haruhi; 14.10.2011 в 16:41. |
14.10.2011, 16:47 | #5 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
под блокировкой процессора я понимаю
Код:
Делаю бд, программы,
icq 640743615 дамы! |
14.10.2011, 17:30 | #6 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
пожалуйста, помогите!
Делаю бд, программы,
icq 640743615 дамы! |
14.10.2011, 18:48 | #7 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
Учи матчасть! (я скатываюсь к боянным фразам, но это так) обработка прерываний происходит с помощью таблицы IDT. |
|
15.10.2011, 09:04 | #8 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
это не c это asm.
ну ладно, а как unix писали на чистом c? Эх......... перейду на c--
Делаю бд, программы,
icq 640743615 дамы! |
15.10.2011, 09:16 | #9 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
Unix не писали только на C. Самый низкий уровень - на ассемблере
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
15.10.2011, 09:19 | #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 |