Существует много способов реализации инструкции ветвления в аппаратном обеспечении контроллера / секвенсора. Я сам делал это раньше с помощью моего собственного метода, но мой вопрос: как это было сделано на микропроцессоре 6502 и существует ли универсальный или, по крайней мере, популярный способ разработки аппаратного обеспечения для инструкций ветвления?
(Дополнительная информация). Метод, который я использовал, - это добавление выводов флажков, прикрепленных к шине кода операции, которые при установке высокого значения во время конкретной инструкции ветвления будут загружать значение определенного флага в ПЗУ декодера, таким образом, выполняя переход, если флаг был высоким / низким, и пропуск ветви, если флаг был низким / высоким. Например, во время взлома BNE (ветвь на неравных) в определенный тактовый цикл будет активирован вывод «Нулевой флаг». Если вывод низкий, он не меняет код операции, и декодер обычно переходит в следующую ячейку памяти, чтобы выполнить следующий набор микроинструкций, который в этом случае завершает инструкцию BNE без ветвления, а затем ожидает новую инструкцию. Однако, если вывод «Zero flag» высокий, то он меняет код операции, тем самым заставляя декодер перейти к новому адресу (который равен операционному коду), где он будет читать другой набор микроинструкций, которые будут выполнять переход вместо простого завершения / игнорируя это.