Выполнение команды в мп motorola 6800

Каждая операция выборки команды или данных выполняется за один период тактового генератора. Все команды требуют по крайней мере еще одного периода после первоначальной выборки. Команды длиной в одну и две ячейки не требуют дополнительных обращений к памяти или внутренних операций, а следовательно, выполняются за два такта генератора. При выполнении других команд требуются дополнительные циклы для выборки данных и адресов и для выполнения таких внутренних операций, как сложение при индексной или относительной адресации (и тот и другой методы адресации требуют выполнись, сложение 16-битных чисел, на что уходит два цикла).

Пример 1. LDAA .#-$40 [послать данные, указанные непосредственно в команде (401в), из памяти в аккумулятор А].

На рис. 7.37 изображен процесс выполнения команды LDAA 40. Выполнение команды осуществляется за два тактовых цикла. Во время первого цикла ЦП выбирает и дешифрирует команду. Во время второго цикла ЦП выбирает данные и помещает их в аккумулятор А.

В обоих циклах осуществляется доступ к памяти и сигнал VMA остается равным 1.

Пример 2. СМРА $ 20, X (сравнить данные из ячейки, определяемой индексным регистром, с содержимым аккумулятора А).

На рис. 7.38 показано выполнение команды СМРА $ 20, X. На выполнение команды затрачивается пять тактовых циклов. В первом цикле выбирается команда, во втором — смещение, в третьем и четвертом выполняется индексирование (число 201в прибавляется к содержимому индексного регистра) и в пятом цикле осуществляется выборка данных из индексируемой ячейки памяти и выполняется команда. В первом, втором и пятом циклах осуществляется доступ к памяти и поэтому VMA=1. В третьем и четвертом циклах выполняются внутренние операции и поэтому VMA = 0.