Данному образовательному сайту пришлось несколько раз менять свое имя. С 2011 года доступ к нему обеспечивается по URL
http://educomp.runnet.ru

emc.km.ru (2001-2007) ==> educomp.org.ru (2007-2011) ==> educomp.runnet.ru (2011-...)
Более подробно об истории сайта можно прочитать здесь.


Учебные модели компьютера



Модели (software):

"Е14" (parallel !!!)

Модели (hardware):






Награды сайта
Награды сайта

Учебная модель ЭВМ: контроллер дисплея

Дисплей представляет собой модель внешнего устройства, реализующую функции символьного дисплея. Дисплей может отображать символы, задаваемые ASCII-кодами, поступающими на его регистр данных.

Дисплей включает:

  • видеопамять объемом 128 слов (ОЗУ дисплея);
  • символьный экран размером 8 строк по 16 символов в строке;
  • четыре программно-доступных регистра:
    • DR (адрес 0) — регистр данных;
    • CR (адрес 1) — регистр управления содержит следующие флаги (устанавливаются и сбрасываются программно):
      • Е – флаг разрешения работы дисплея; при Е = 0 запись в регистры AR и DR блокируется;
      • А – флаг автоинкремента адреса; при А = 1 содержимое AR автоматически увеличивается на 1 после любого обращения к регистру DR – по записи или чтению.
    • SR (адрес 2) – регистр состояния содержит единственный флаг Err – ошибки устанавливается аппаратно при попытке записать в регистр адреса число, большее 127, сбрасывается программно;
    • AR (адрес 3) – регистр адреса.

Доступ в видеопамять осуществляется через «окно интерфейса»  необходимо сначала загрузить в регистр адреса AR номер ячейки видеопамяти, тогда обращение к регистру данных будет означать обращение (ввод или вывод) к ячейке видеопамяти с указанным адресом.

Контроллер дисплея выполняет две команды при выводе соответствующих кодов по адресу 1:

Десятичное числоКоманда
101 очистить дисплей (действие команды эквивалентно нажатию кнопки Очистить в окне Дисплей), при этом очищается видеопамять (в каждую ячейку записывается код пробела — 032), устанавливается в 000 регистр адреса AR и сбрасываются флаги ошибки Err и автоинкремента А;
102 сбросить флаг ошибки Err в регистре SR.

Пример простой программы, выводящей на дисплей (в начало экрана) слово «Май»:

Метка КомандаПримечание
 RD #11; включаем дисплей и устанавливаем
 OUT 11; флаг автоинкремента;
 RD #0; задаём начальный адрес
 OUT 13; выводимого слова;
 RD #204; ввод кода буквы «М»
 OUT 10; вывод на дисплей
 RD #224; ввод кода буквы «а»
 OUT 10; вывод на дисплей
 RD #233; ввод кода буквы «й»
 OUT 10; вывод на дисплей
 HLT 

Ещё один пример программы, выставляющей в начало каждой строки её номер:

МеткаКомандаПримечание
 RD #10; включаем
 OUT 11; дисплей;
 RD #0; задаём начальный
 WR R1; адрес вывода;
 RD #49; вводим код
 WR R2; цифры «1»;
 RD #8; вводим число
 WR R3; повторений цикла;
M1:   RD R1; читаем текущий адрес
 OUT 13; и передаём в регистр адреса дисплея;
 ADD #16; увеличиваем адрес на 16 – на начало следующей строки;
 WR R1; сохраняем изменённый адрес;
 RD R2; читаем код цифры – номер строки;
 OUT 10; передаём код цифры на дисплей;
 RD @R2+; увеличиваем содержимое R2 (код цифры) на единицу;
 JRNZ R3,M1 ; декремент R3 и переход на начало цикла, если R3 ≠ 0;
 HLT 


© Жмакин Анатолий Петрович (Курский государственный университет). anatoly.zhmakin@gmail.com

Оформление Web-страницы - Е.А.Еремин, 2010


Автор сайта - Евгений Александрович Еремин (Пермский государственный педагогический университет). e_eremin@yahoo.com