Уровень 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]