Предложение проекта C и сборки, необходимого для класса по низкоуровневому программному обеспечению

У меня есть класс по низкоуровневому программированию, который требует окончательного проекта (программа в конце). По сути, это программа, которая использует все, что вы узнали.

У меня было несколько идей, например, разработка моего собственного Roguelike (он должен быть похож на Nethack, только для одиночной игры), но я хотел бы получить несколько предложений по альтернативам. Это не обязательно должна быть игра, может быть что угодно. Сроки - полтора месяца, и у меня есть другие проекты и т. Д., Так что это не должно быть слишком трудоемким для реализации.

Требования:

  • Используйте как минимум 4 I / O устройства, одно из которых должно быть мышью или последовательным портом
  • Некоторые из этих устройств должны использовать прерывания, другие должны использовать опрос
  • Языки: C и ассемблер (обязательно, иначе применяется штраф)
  • Состояние реализации машины

Периферийные устройства, о которых нас учили, были: операция Прямое отображение в процессе адресное пространство Доступ к периферийным устройствам в режим опроса и процессор прерываний прерывания в архитектуре IA-32 и контроллер прерываний. Письмо процедуры обслуживания прерываний в сборке и в C Изучение некоторых типичных периферийные устройства персонального компьютера, такие как клавиатура, мышь, видеокарта, реальный часы, таймер, громкоговоритель и последовательный порт.

Программирование на языке C язык: основные отличия от уважение к языку C ++; структурированный программирование на C. Разметка памяти обработать. Вызов функций: механизмы, передача параметров, хранение локальных переменные и возвращаемые значения. Комбинированный программирование на C и IA-32 сборка семейства процессоров. Создание и использование библиотек. Статическая ссылка объектного кода.

Использование средств разработки программного обеспечения: gcc, make, gdb, ar, prof, diff, patch и SVN

Спасибо за ваше время!

5
задан BalusC 12 October 2011 в 05:09
поделиться