DKardKain Опубликовано 10 июля, 2006 Жалоба Поделиться Опубликовано 10 июля, 2006 (изменено) Вот так для начала я немогу понять ошибку когда я пишу: addr=0x400; У меня вылезает ошибка "Не могу конвертить int инт int *" Что это вообще такое? 00 Плизз тем кто знает С напишите мне маленькую програмку такого содержания: Идет опрос клавиатуры, по нажатию клавиши идет запрос на прерывание/ по прерыванию Выдается код клавешы на экран + задержка delay(1000) потом прерывание сбрасывается. и так до бесконечности. Загвоздка в том что 1. Я незнаю как сделать запрос на прерывание. (естественно и снять его не могу )) 2. Я незнаю как на С отрабатывать что то с клавиатуры. то есть как ждать нажатия клавиши... просто я писал на Паскале что бего а с С знаком вот только 2 часа :( П.С. С меня будет причитаться, если вы не из москвы могу что нибудь выслать и загород! ) Изменено 10 июля, 2006 пользователем D Kard Kain Ссылка на комментарий Поделиться на другие сайты Поделиться
bugmenot Опубликовано 10 июля, 2006 Жалоба Поделиться Опубликовано 10 июля, 2006 addr=0x400; У меня вылезает ошибка "Не могу конвертить int инт int *" Ясен хрен, у тебя addr какого типа? Зачем тебе прерывания? Для чтения с stdin (почти то же самое) можно использовать getchar(). В своих старых паскалевских программах обнаружил следующее: function ReadKeyWord : word; inline($b4/$10/$cd/$16); function ReadState : word; inline($b4/$12/$cd/$16); Если мне не изменяет память, то $b4 это mov al, а $cd это int. Т.е.: asm mov al, 10h int 16h ; при этом в ax должен быть код клавиши end А вообще извини, давно на Си ничего не писал :( Ссылка на комментарий Поделиться на другие сайты Поделиться
DKardKain Опубликовано 10 июля, 2006 Автор Жалоба Поделиться Опубликовано 10 июля, 2006 Ясен хрен, у тебя addr какого типа? Зачем тебе прерывания? Для чтения с stdin (почти то же самое) можно использовать getchar(). В своих старых паскалевских программах обнаружил следующее: function ReadKeyWord : word; inline($b4/$10/$cd/$16); function ReadState : word; inline($b4/$12/$cd/$16); Если мне не изменяет память, то $b4 это mov al, а $cd это int. Т.е.: asm mov al, 10h int 16h ; при этом в ax должен быть код клавиши end А вообще извини, давно на Си ничего не писал :( Хех мне эта прога как раз нужна чт обы воткнуть в прерывания ) А не для того что бы написать программу работы с клавиатурой ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
bugmenot Опубликовано 10 июля, 2006 Жалоба Поделиться Опубликовано 10 июля, 2006 Тогда в dos.h описаны функции для установки обработчиков прерываний Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти