Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Команды микропроцессора КР580ИК80Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Система команд микропроцессора содержит 78 команд, включающих в себя 111 операций. Команды микропроцессора могут быть 1, 2 или 3-х байтные. Рассмотрим их структуру. Однобайтные команды занимают в памяти 1 байт, в котором содержится операция.
Двухбайтные команды занимают 2 байта памяти и содержат в первом байте код операции, а во втором - операнд.
Трехбайтные команды в первом байте содержат код операции, а во втором и третьем байтах - операнды.
Программа для ЭВМ представляет собой последовательность команд. Прикладные программы располагаются в ОЗУ ЭВМ. Программа расположенная в ОЗУ ЭВМ и выглядит как показано:
Каждая команда микропроцессора может работать с определенными видами операндов, причем для каждой операции адресация операндов фиксирована. Под адресацией понимается совокупность способов задания адреса операндов в команде и механизма доступа к ячейкам памяти. В микропроцессоре КР580ИК80А используется 5 способов адресации операндов: 1. Прямая: адрес ячейки памяти, где расположен операнд, указывается во втором и третьем байтах команд, причем во втором байте команды содержится младший байт адреса операнды, а в третьем — старший. 2. Регистровая: в команде задается адрес оперативного регистра или пары регистров, где находится 8-ми и 16-ти разрядный операнд. 3. Регистровая косвенная: адрес М ячейки памяти, где расположен операнд, определяется содержимым парного регистра, явно или нет указанного в команде. При этом старший байт находится в первом регистре пары, а младший — во втором. 4. Непосредственная: операнд содержится в команде. Для двухбайтовых команд: во втором байте, для трехбайтовых команд - во втором и третьем, причем во втором младшая часть операнда, в третьем - старшая. 5. Стековая - адрес ячейки памяти, где расположен операнд, находится в указателе стека SP. По функциональному признаку все команды делятся на пять групп: 1. группа команд пересылки, осуществляющих передачу информации между регистрами (11 команд); 2. группа арифметических команд (14 команд); 3. группа логических команд (15 команд); 4. группа команд передачи управления (29 команд); 5. группа команд работы со стеком, ввода-вывода и управления регистрами процессора (9 команд); Группа команд пересылки Эту группу условно можно разделить на 3 подгруппы: - команды засылки константы; - команды пересылки; - команды чтения-записи. Команды передачи данных обеспечивают пересылку данных между регистрами, между памятью и регистрами. Рассмотрим формат передачи данных КОП, DST, SRC. КОП — код операции (число от 0 до 255). DST — приемник информации. SRC — источник информации. Команды передачи данных при своем выполнении не изменяют состава флагового регистра.
Команды засылки константы
В результате выполнения команды засылки константы в регистр или регистровую пару загружается константа, содержащаяся во втором или во втором и третьем байтах команды. Рассмотри формат команд засылки констант:
Команда засылки 8 разрядной константы имеет формат MVI DST,D8 где DST -любой из РОН (А, В, С, D, Е, Н, L) или ячейка памяти (М) адрес которой берется из регистровой пары НL; MVI — код операции; D8 - 8-разрядная константа, содержащаяся во втором байте команды.
Пример: пусть требуется загрузить в ячейку памяти с адресом 100516 число 3 F.
Команда засылки 16 разрядной константы имеет формат LXI RP,D16 где RP - регистровая пара В, D, Н или указатель стека SP; D16-16 -разрядная величина константы, причем младший байт константы находится во втором байте команды, а старший в третьем.
Пример: пусть требуется загрузить в ячейку памяти с адресом 1005 число 3 F.
Команда пересылки данных При выполнении команд пересылки содержимое источника SRC пересылается в приемник DST, при этом содержимое источника не изменяется. В качестве источника и приемника операндов может быть использован любой из регистров общего назначения или ячейка памяти, адресуемая через регистровую пару (Н, L). Пересылка данных типа "ПАМЯТЬ-ПАМЯТЬ" запрещена. Формат команд пересылки MOV DST, SRC, где DST, SRC -любой из РОН (А, В, С, D, Е, Н, L) или ячейка памяти (М), адресуемая через регистровую пару HL.
К командам пересылки можно также отнести команду XCHG, в результате выполнения которой регистровые пары (Н, L) и (D, Е) обмениваются содержимым следующим образом: H c D L c E Команды чтения-записи. LDAX RP -запись в аккумулятор содержимого ячейки памяти, адресуемой через регистровую пару BC или DE; STAX RP -запись аккумулятора в ячейку памяти адресуемую через регистровую пару BC или DE; Пример: необходимо записать в память по адресу 100516 число 3F16 с помощью команды STAX
LDAAdr -запись в аккумулятор содержимого ячейки, адрес которой определяется 16-разрядным адресом Adr;
LHLD Adr - запись в регистровую пару НL содержимого двух последовательных ячеек памяти с адресами Adr и Adr+1, причем в регистр Н загружается содержимое ячейки по адресу Adr+1, а в регистр L - по адресу Adr;
SHLD Adr - запись содержимого регистровой пары НL в две последовательные ячейки памяти с адресами Adr и Adr+1, причем coдержимoe регистра Н записывается в ячейку с адресом Adr+1, а регистра L - в ячейку с адресом Adr.
Группа арифметических команд
Арифметические команды обеспечивают выполнение операций сложения и вычитания, а также изменение операнда на единицу. Арифметические операции можно разделить на следующие группы: 1. операции с одним операндом, регистром или регистровой парой; 2. операции с двумя операндами, причем в качестве первого операнда всегда используется аккумулятор, а в качестве второго операнда может быть регистр, ячейка памяти или константа, которая в этом случае записывается в следующем за кодом команды байте. Арифметические команды изменяют состояние битов условий флагового регистра.
Команды сложения При выполнении команды сложения в аккумулятор заносится результат сложения аккумулятора и операнда-источника. Операндом-источником может быть регистр, ячейка памяти или констант. К этим командам относятся: ADD SRC - сложение содержимого аккумулятора с регистром или ячейкой памяти, например ADD В означает, что в аккумулятор помещается результат сложения аккумулятора и регистра В (А<-А+В) ADC SRC - сложение содержимого аккумулятора, операнда-источника и бита CY признакового регистра F (A<- A+SRC+CY(F)).
Пример: сложить 2 двухбайтных числа (35A0 и 67В2). А0 + 67В2 D52
ADI D8 - сложение содержимого аккумулятора с константой, при этом константа содержится во втором байте команды (A< A+D8); ACI D8 - сложение содержимого аккумулятора с константой и битом CY признакового регистра F.
Пример: составить программу, рассмотренную в предыдущем примере, но считая второе слагаемое константой.
DAD RP - сложение содержимого регистровой пары RP с регистровой парой НL. Результат сложения записывается в пару НL, эта команда изменяет только состояние бита СУ в признаковом регистре (например: DAD B: HL<- HL+BC).
Команды вычитания. При выполнении команд вычитания в аккумулятор заносится результат вычитания операнда-источника из аккумулятора. Операндом-источником может быть регистр, ячейка памяти или константа, которая записывается в следующем за кодом команды байте. К этим командам относятся: SUB SRC -вычитание из содержимого аккумулятора содержимого регистра или ячейки памяти, адрес которой определяется содержимым регистровой пары HL (A< A-SRC). SBB SRC -вычитание из содержимого аккумулятора операнда-источника и бита CY (A< A-SRC-CY (F)). SUI D8 -вычитание константы из содержимого аккумулятора; SBI D8 -вычитание из содержимого аккумулятора значения бита CY и константы. Эти команды изменяют все биты условий.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-06-28; просмотров: 962; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.33 (0.012 с.) |