Skip to content

4.6 · Программный счётчик

Цель. Собрать регистр-указатель: откуда машина знает, какая команда следующая, и как совершается прыжок JMP.

🎣 Крючок (5 мин)

«Программа — это список команд в памяти, у каждой — адрес: 0, 1, 2… Прогноз: какой из блоков 7 класса уже умеет перебирать адреса по порядку?» (Счётчик, урок 3.6 — дети догадаются сами.)

🧠 Теория (10 мин)

PC — счётчик с двумя талантами:

  1. PC++ — обычный счёт: следующая команда.
  2. PC ← адрес — загрузка произвольного значения: прыжок (JMP). Без него не было бы ни циклов, ни условий.

Корпус 74HC161: 4-битный счётчик с входами предзагрузки D0–D3 и сигналом ~LOAD: пока ~LOAD=1, считает; подали ~LOAD=0 — на фронте вместо счёта проглатывает D. Ещё ~CLR — сброс в 0 («перезагрузка машины»).

🔧 Практика (25 мин)

Счёт адресов

74HC161: CLK от кнопки с антидребезгом (позже — от 555), выходы → LED×4, ~LOAD и ~CLR → +5 В (неактивны). ТМодулюйте: 0,1,2,…,15,0 — машина «читает программу подряд».

Прыжок

DIP-адрес → D0–D3. На ~LOAD — кнопка. Досчитали до 5, нажали (и дали фронт) — PC = адрес с DIP. Вы исполнили JMP руками.

⭐⭐ Вечный цикл

Задача: PC крутится только по адресам 3…7. (Детектор состояния 7 — урок 2.8 — активирует ~LOAD, на D набрано 3.) Поставьте такт от 555 — перед вами железный бесконечный цикл for.

✅ Чек-лист

  • Объясняю две операции PC и зачем каждая
  • Исполнил JMP кнопкой ~LOAD
  • ⭐⭐ Собрал вечный цикл 3…7