Возник вопрос теории интерпретатора кода микропроцессора микроконтроллером
Возьмём к примеру, всеми любимый КР580ИК80, (опустим сейчас споры зачем, не хватит скорости и т.д.), интересна теория построения такой «Виртуальной машины».
В моём понимании алгоритм такой:
1- В памяти микроконтроллера создаётся массив с адресами подпрограмм кодов процессора (в нашем случае КР580ИК80);
2- Ячейки массива имеют названия идентичные соответствующим командам процессора
3- Микроконтроллер выставляет на определённых портах (допустим порт А и В) адрес извлекаемой из внешней памяти команды программы;
4- Считывает данные с порта (допустим С);
5- Выбирает ячейку массива с именем идентичным считанному значению из порта С;
6- Переходит к подпрограмме по адресу записанному в соответствующей ячейке массива;
7- В процессе выполнения подпрограммы происходят соответствующие действия и увеличение (или иное изменение) счетчика команд;
8- Процесс повторяется с шага 3.
Так вот если и вправду алгоритм построения данного решения соответствует описанному выше, то у меня возникает вопрос, неужели микроконтроллеру на каждую команду процессора приходится перечёсывать массив ища соответствие, или есть иной путь прямого перехода к соответствующей подпрограмме?
Возможно я неправильно понимаю реализацию интерпретатора кода микропроцессора микроконтроллером?