Технотрек: Промышленное программирование. Занятие 06: The Процессор, continued

Oct 26, 2016 03:28


(Копия блога на Технотреке)

Summary

В этот раз мы разобрали работу с адресами с помощью меток. Они используются в качестве синонимов адресов кода или данных (переменных). Важно понимать, что процессор с метками дело не имеет, он работает только с адресами. С метками работает только ассемблер, он переводит их а адреса. Это часто путают.

При ассемблировании возникает проблема трансляции имени метки с адресом, который еще не обрабатывался. Такой метки ассемблер еще пока "не знает". Это решается по-разному, самый простой путь - двухпроходная (многопроходная) схема компиляции.

Домашнее задание

1. Реализуйте обработку меток, либо в виде чисел, либо в виде идентификаторов, с помощью двухпроходной схемы трансляции;

2. Реализуйте операторы вызовов функций и возврата из них с использованием дополнительного стека адресов возвратов.

3. Протестируйте процессор на задачах решения квадратного уравнения с разбором всех случаев (см. задание к занятию 1) и на задачах рекурсивного вычисления факториала или чисел Фибоначчи.

4*. Реализуйте операторы рисования точки на графическом экране с указанием ее координат и цвета (как обычно, все данные берутся из стека). Нарисуйте несколько графиков нежно любимых математических функций. У вас же есть особенно любимые математические функции? :)

5*. Захватите мир с помощью вашего процессора. Ну или хотя бы печеньки :)

***

Удачи, и May the Source be with you! :)

Технотрек

Previous post Next post
Up