×
Traktatov.net » Введение в электронику » Читать онлайн
Страница 202 из 225 Настройки

Логические команды — это команды, содержащие один или более Булевых операторов: И, ИЛИ и исключающее ИЛИ. Они работают одновременно с восемью битами в АЛУ, а результаты работы этих команд помещаются в аккумулятор. Другой логической операцией является команда дополнения. Она включает дополнение до единицы и дополнение до двух. Так как дополнение осуществляется с помощью дополнительной цепи, эта операция содержится не во всех микропроцессорах. Микропроцессоры 6502 не содержат команды дополнения. Микропроцессор 8080А имеет команду дополнения до единицы. Микропроцессоры 6800 и Z80 имеют команды дополнения до единицы и дополнения до двух.

Операции дополнения обеспечивают метод представления чисел со знаками. Дополняющие числа позволяют АЛУ выполнять операции вычитания с помощью цепи сумматора. Следовательно, блок микропроцессора может использовать Одни и те же цепи для сложения и вычитания.

Команды сравнения сравнивают данные в аккумуляторе с данными в ячейке памяти или в другом регистре. Результат сравнения не хранится в аккумуляторе, но в результате сравнения может измениться флаговый бит. Сравнение может быть выполнено путем наложения (маскирования) или путем поразрядной проверки. Маскирование — это процесс вычитания двух чисел, позволяющий вычитать только определенные разряды. Маска — это заранее определенный набор разрядов, используемых для определения существования некоторых условий внутри микропроцессора. Недостаток процедуры маскирования в том, что она использует команду И и, следовательно, разрушает содержимое аккумулятора. Хотя процедура побитовой проверки также использует команду И, она не разрушает содержимое аккумулятора. Команду побитовой проверки имеют не все микропроцессоры.

Команды вращения и сдвига изменяют данные в регистре или в памяти путем перемещения данных вправо или влево на один разряд. Обе команды используют разряд переноса. Разница между этими командами состоит в том, что команда вращения сохраняет данные, а команда сдвига разрушает их.

Команды управления программой изменяют содержимое счетчика команд. Эти команды позволяют микропроцессору выбирать определенные ячейки памяти для выполнения различных программ или для повторения части той же программы. Команды могут быть безусловными, изменяющими содержимое счетчика команд, или условными, которые сначала проверяют состояние флагового бита для того, чтобы узнать, можно ли изменить содержимое счетчика команд. Если условие флагового бита не удовлетворяется, то выполняется следующая команда.

Команды стека позволяют хранить и извлекать содержимое различных регистров микропроцессора в стек.

Стек — это временная ячейка памяти, используемая для хранения содержимого счетчика команд в течение перехода к подпрограмме. Разница между стеком и другими формами памяти в способе, с помощью которого осуществляется доступ к данным или их адресация. Команда «push» запоминает содержимое регистра, а команда «pull» находит содержимое регистра. Преимущество стека в том, что данные в нем можно сохранить или прочитать с помощью одноразрядных команд. Все данные передаются из верхней части стека в аккумулятор. Это означает, что аккумулятор сообщается только с верхней ячейкой стека.