Уровень 21: Указатели

Задание

Добавьте Index Register (IX) для косвенной адресации. Реализуйте LDX, LDAX, STAX, INX в декодере.

На этом уровне в схему добавлен Индексный Регистр (IX) — специальный регистр для косвенной адресации.

Решение

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

Задачи: 1. BusConstant = 2 → PC.Inc (как в уровнях 19-20). 2. ROM#1.Q → RAM.Addr (как в уровне 20). 3. Подключите данные к ALU8.B (порт 1). Используйте BusMUX: RAM.DataOut → BusMUX.A, ROM#1.Data → BusMUX.B. Sel пока не трогайте (Sel=0 выбирает RAM, Sel=1 выберет IX позже).

IX уже подключён к тактовому сигналу (Clock). На уровнях 27-29 IX полностью работоспособен и управляется инструкциями: - LDX N — загрузить в IX значение N - INX — увеличить IX на 1 - LDAX — загрузить в Acc значение из RAM[IX] - STAX — сохранить Acc в RAM[IX]