Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 867; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.220.239 (0.011 с.) |