Пусть требуется сложить числа 10+5+18=33. Программа для выполнения этой задачи может быть записана в следующей последовательности:
1. загрузить (LOAD) первое число (10) в МП;
2. сложить (ADD) второе число (5) с первым;
3. сложить (ADD) третье число (18) с двумя первыми;
4. поместить (STORE) сумму (33) в ячейку памяти с адресом 2ØØØН.
1. Операция показывает, что содержимым ячейки памяти 0001 загружено в аккумулятор, который содержит после этого 00001010 (0000А), т.е. первое слагаемое. В результате выполнения операции LOAD предыдущее содержимое аккумулятора стирается.
2. Операция ADD. Содержимое ячейки памяти 0003 складывается с содержимым аккумулятора, что дает сумму OF (00001111), помещаемую в аккумулятор.
3. Содержимое аккумулятора - сложение 00001111 сложена с содержимым ячейки памяти 0005 (00010010), т.е. выполнена операция.
4. Содержимое аккумулятора 00100001 передано и размещено в ячейку памяти с адресом 2000. Эта ячейка памяти была индефицирована в тексте программы двумя раздельными байтами (0007 и 0008). Таким образом, ячейка памяти программы 0006 содержит код операции (КОП) В7 прямой команды STORE, два следующих байта за ней указывают соответственно на старший и младший байты адреса.
|
|
Рассмотрим подробнее извлечение, декодирование и выполнение команды LOAD, размещенной по адресам 0000Н и 0001Н.
Извлечение.
Счетчик команд устанавливает адрес первого шага программы. После этого 16-тиразрядный адрес передается в адресный регистр, затем на ША и далее в память программы. Для активации памяти программы МП выдает сигнал - чтение памяти (1 на линии R/ ). В то время как дешифратор адресов активирует нужный кристалл памяти нулем по линии . Затем счетчик команд инкрементируется до 0001Н, ячейка памяти программы становится доступной и ее содержимое 86 считывается на ШД и далее передается в МП, в регистр команд.
Декодирование.
Код операции 86, содержащийся в регистре команд МП интерпретируется дешифратором команд. МП определяет команду LOAD, сто означает загрузку им содержимого памяти, адреса, который следует непосредственно за кодом операции в аккумулятор.
Извлечение операнда.
Содержимое счетчика команд 0001 передается в адресный регистр на ША и в память. МП выдает импульс высоким уровнем на вход R/ памяти, в тоже время импульс низкого уровня поступает на вход выбор кристалла памяти.
Счетчик команд инкрементируется до 0002, что подготавливает МП к извлечению следующей команды. После этого ячейка памяти 0001 становится доступной и ее содержимое (Ø ) поступает на ШД и в процессе выполнения всей команды в аккумулятор.