Cтраница 2
Каждая запись имеет формат, представленный на рис. 6.6 6, и содержит байты команд и данных, загружаемые в последовательные ячейки памяти. [16]
Адрес ячейки памяти, где расположен операнд, указывается во втором и третьем байтах команды, которые в этом случае являются соответственно младшим и старшим байтами адреса. [17]
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой указан во втором и третьем байтах команды. [18]
В общем виде формат двухоперандной команды приведен на рис. 2.2, а, где штриховыми линиями обозначены необязательные байты команды. При d l осуществляется передача операнда или результата операции в регистр, который определяется полем reg второго байта команды; при d 0 - передача из указанного регистра. Поле w идентифицирует тип ( разрядность) операндов: при wl команда оперирует словом, при w 0 - байтом. [19]
Если указанное условие истинно, то управление передается команде, адрес которой указан во втором и третьем байтах команды перехода. Если условие ложное, то последовательный ход программы не изменяется. [20]
При выполнении команды ЗАГРУЗКА РЕГИСТРА ПРЯМАЯ данные переписываются из адресуемой области памяти в регистр г. Второй и третий байты команды указывают адрес области памяти, данные которой копируются. Так, например, по команде LDD С, OF1C данные, находящиеся в области памяти OF 1C, переписываются в регистр С. Это 3-байтовая команда, выполнение которой занимает четыре микроцикла. Если результат операции равен 0 или содержит 1 в старшем разряде, то устанавливается в 1 соответствующий разряд регистра состояния. [21]
В ответ на это МП вырабатывает еще два импульса INTA, по которым ПКП выставляет на ШД второй и третий байты команды CALL, содержащие адрес подпрограммы обслуживания данного прерывания. [22]
С помощью команды ЗАГРУЗКА РЕГИСТРОВОЙ ПАРЫ НЕПОСРЕДСТВЕННАЯ в 16-разрядную пару регистров ВС заносятся данные, содержащиеся во втором и третьем байтах команды. Это 3-байтовая команда, для выполнения которой необходимы три микроцикла. По сравнению с последовательностью команд LDA В и LDA С использование данной команды позволяет сэкономить три микроцикла. Значение разрядов регистра состояния при выполнении команды LRP В не изменяется. [23]
Косвенная регистровая адресация предполагает предварительную загрузку адреса в регистровую пару, а в случае прямой адресации эти адреса содержатся во втором и третьем байтах команды. [24]
Для работы со стеком система команд МП дополнена командами пересылки данных: ЗАГРУЗКА СТЕКА содержимым регистра или аккумулятора или числами, записанными во втором и третьем байтах команды, ЗАГРУЗКА АККУМУЛЯТОРА или регистра данными, записанными в стеке. Дополняются команды управления: ЗАПИСЬ В УКАЗАТЕЛЬ СТЕКА числа, записанного в регистре, УВЕЛИЧЕНИЕ ( или УМЕНЬШЕНИЕ) НА ЕДИНИЦУ числа, записанного в указателе стека. Число, записанное в УС, передается через буферный усилитель БА на МЛ и обеспечивает чтение данных из ячейки памяти ЗУ. [25]
Для работы со стеком система команд МП дополнена командами пересылки данных: ЗАГРУЗКА СТЕКА содержимым регистра или аккумулятора или числами, записанными во втором и третьем байтах команды, ЗАГРУЗКА АККУМУЛЯТОРА или регистра данными, записанными в стеке. Дополняются команды управления: ЗАПИСЬ В УКАЗАТЕЛЬ СТЕКА числа, записанного в регистре, УВЕЛИЧЕНИЕ ( или УМЕНЬШЕНИЕ) НА ЕДИНИЦУ числа, записанного в указателе стека. Число, записанное в УС, передается через буферный усилитель БА на МА и обеспечивает чтение данных из ячейки памяти ЗУ. [26]
![]() |
Инициализация массива с помощью команд, использующих косвенную адресацию. [27] |
В соответствии с табл. 5.1 в указанный регистр можно загружать непосредственные данные ( LDX: fjaddr) длиной 2 байт, которые содержатся во 2 - м и 3 - м байтах команды. Кроме того, содержимое регистра X можно записывать в память, сравнивать его с непосредственным операндом или операндом, находящимся в памяти, а также прибавлять к нему непосредственный операнд или операнд, расположенный в памяти. [28]
Если имеет место переполнение, то осуществляется переход к ячейке с номером ( 0400) 16, которая выбрана условно, и ее адрес размещается во 2 - м и 3 - м байтах команды JC. Если переход отсутствует, то выполнение программы продолжается. [29]
![]() |
Функциональное назначение выводов микропроцессора КР580ВМ80А. [30] |