Эмуляторы всяческих процессоров

20. [Двадцать лет спустя.] ...был такой программируемый микрокалькулятор Б3-34. Реализуйте его эмулятор. Кстати есть литература с библиотеками полезных программ для него. (Набор команд не очень велик, вполне реальная задача.)

21. [Еще двадцать лет спустя.] ...были очень большие машины БЭСМ и прочие монстры. Попытайтесь реализовать ограниченный эмулятор какой-нибудь из машин (сначала только придется покопаться в поисках описания).

22. [Не так давно.] ...некая фирма Integrated Electronics (теперь ее сокращают по 2-3 буквам из каждого слова) выпустила первый процессор под номером 8086. Ну, вы поняли. Только не все команды, а подмножество, иначе замучаетесь. Постарайтесь использовать оригинальные коды команд и форматы байтов r/m.

23. [Классика.] В классическом (но не законченном) труде Дональда Кнута «Искусство программирования для ЭВМ» (его английское издание, на котором будут клясться все системные программисты, лежит в кабинете 204. Там же иногда лежит и пряник) приведено описание машины MIX, которую Кнут использует для иллюстрации алгоритмов. Вы не будете первый, кто сделает ее эмулятор, но приобщитесь к классике.

24. [Лицейская классика.] Реализуйте эмулятор машины ММ, которая 30 лет использовалась для изучения программирования в ЛИТе. (Эта задача полегче, чем остальные, в ММ всего 15 команд.)

25. [Для тех, кто хочет на ВМК.] Обучение на факультете ВМК МГУ начинается с программирования на машине Тьюринга. Напишите ее эмулятор и Вы будете более готовы к первому коллоквиуму на первом курсе, чем Ваши однокурсники.

26. [Любителям рекурсий.] Есть такой язык LISP (от «LISt Processing», иногда расшифровывают как «a Lot of Idiotic Silly Parentheses», будете писать — поймете) для обработки списков. Считался (и отчасти сейчас считается) классическим языком искусственного интеллекта. Реализуйте эмулятор LISP-процессора и вы забудете цикл «for» навсегда! (Может быть, этот процессор легче сделать, чем написать некоторые программы для него.)

Программа курса