sizeof (sizeof) wrote,
sizeof
sizeof

Categories:

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


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

Summary

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

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

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

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

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

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

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

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

***

Удачи, и May the Source be with you! :)
Tags: Технотрек
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments