Проблема с танцующими куклами: в GCC linux

В качестве предисловия, я действительно не хочу точного решения моей проблемы, только указания. Я не хочу, чтобы ты давал мне код. Это не домашнее задание, это просто упражнение, которое я пытаюсь решить.

Я просто хочу, чтобы вы рассказали мне, как получить доступ к VDU и напрямую изменить персонажа на том же экране.

Экран разделен на 25 строк и 80 столбцов. Символы, отображаемые на экрана хранятся в специальной памяти, называемой памятью VDU (не путать с обычными объем памяти). Каждый символ, отображаемый на экране, занимает два байта в памяти VDU.

Первый из этих байтов содержит значение ASCII отображаемого символа, тогда как второй байт содержит цвет, в котором отображается символ. Например, значение ASCII символа, присутствующего в нулевой строке и нулевом столбце на экране, сохраняется в ячейке с номером 0xB8000000 .

Следовательно, цвет этого символа будет присутствовать в ячейке с номером 0xB8000000 + 1 . Точно так же значение ASCII символа в строке 0, столбец 1 будет в местоположении 0xB8000000 + 2 , а его цвет - в 0xB8000000 + 3 .

Моя задача:

Обладая этими знаниями, написать программу, которая при выполнении будет преобразовывать каждую заглавную букву на экране в строчную букву и каждую строчную букву в заглавную.Процедура должна останавливаться в тот момент, когда пользователь нажимает клавишу на клавиатуре. Это действие безудержного вируса под названием «Танцующие куклы». (Для монохромного адаптера используйте 0xB0000000 вместо 0xB8000000.)

На самом деле у меня нет идеи создать этот код. Я застрял даже на том, чтобы начать.

5
задан karlphillip 20 August 2011 в 22:03
поделиться