Скачать 1.44 Mb.
|
Федеральное агентство по образованиюГосударственное образовательное учреждение высшего профессионального образования «Самарский государственный технический университет»![]() Кафедра «Автоматизация технологических процессов и производств» Калмыков Ю.В. Вычислительные машины И системы МЕТОДИЧЕСКиЕ указаниЯ к выполнению курсового проекта для студентов специальности 220301 Сызрань 2007 г. ^ Государственное образовательное учреждение высшего профессионального образования «Самарский государственный технический университет»![]() ^ Вычислительные машины И системы Методические указания Сызрань 2007 г. Вычислительные машины и системы.: Методические указания./Ю.В. Калмыков/ Самар. гос. техн. ун-т. Самара, 2007. Работа содержит описание курсового проекта, соответствующего курсу «Вычислительные машины, системы и сети». Предназначено для студентов всех форм обучения, специальности 220301 «Автоматизация технологических процессов и производств». ^ Содержание и объем курсового проекта Курсовой проект состоит из расчетно-пояснительной записки (РПЗ) и графической части. Объем РПЗ – 25-30 листов машинописного текста на листах формата А4. Объем графической части – 1 лист формата А1. В расчетной части студент должен представить алгоритм в виде блок-схемы и псевдокода последовательности заданных операций в соответствии с заданием, а также программы реализующие такой алгоритм на машинном языке и частично на языке Ассемблера. Кроме того, должны быть приведены карты инфопотоков для одной из операций и ее временные диаграммы обменов. В графической части на листе должны быть вычерчены блок-схема алгоритма, карты инфотоков и временные диаграммы обменов. ^ Расчетно-пояснительная записка оформляется в соответствии с существующими стандартами. Условные графические обозначения в схемах алгоритмов, отображающие основные операции обработки данных приведены в приложении П3. Оформление программного кода и др. должно соответствовать примерам приведенным в данном методическом пособие. Первый лист РПЗ является титульным листом, который не нумеруется. Образец оформления титульного листа приведен в приложении П4. На первом (заглавном) листе РПЗ помещают содержание. Слово с о д е р ж а н и е записывают в виде заголовка симметрично к тексту прописными буквами. Далее с абзаца приводят наименованья разделов, подразделов и приложений РПЗ и указывают номера листов, с которых они начинаются. На заглавном листе РПЗ делают рамку и помещают штамп в соответствии с стандартом. В основной надписи штампа указывается обозначение курсового проекта. Например: КП …, где за буквами КП ставится шифр специальности и специализации, учебной группы и шифр варианта в виде последовательности из семи цифр. Текст РПЗ набирается на компьютере шрифтом Times New Roman, размер шрифта – 14, поля сверху, снизу и слева – 20 мм, справа – 10 мм. Схемы, рисунки и код также оформляются на компьютере в масштабе, позволяющем ясно разглядеть их элементы. Излагать материал в РПЗ следует от первого лица множественного числа (определяем, выбираем, принимаем и т.д.) или использовать неопределенную форму (определяется, выбирается, принимается и т.п.). В конце РПЗ приводится список использованной литературы, включающий учебники, учебные пособия, справочники, государственные стандарты и др. Литературу в списке нумеруют арабскими цифрами и располагают в порядке появления ссылок на нее в тексте РПЗ. При ссылках проставляется номер литературного источника в квадратных скобках в соответствии со списком, например: [9]. В качестве примеров записи можно использовать список литературы в конце данного методического пособия. ^ Для всех вариантов заданий задан гипотетический (иллюстрированный) микропроцессор с набором команд. Также задан массив из пяти элементов – целых положительных чисел. С элементами этого массива необходимо выполнить определяемый вариантом задания следующий Перечень операций подлежащих программированию
В дополнение к семи операциям в каждом варианте должна присутствовать как заключительная операция загрузки программы. Для последней операции до загрузки программы помимо программы на машинном языке необходимо также представить ассемблерный код данной операции. Последовательность операций для каждого варианта задания определяется методом случайной выборки. ^ В настоящее время выпускается много моделей микропроцессоров с очень широким спектром параметров. Мы не будем пытаться изучить их все, а опишем гипотетический микропроцессор с архитектурой (т. е. структурой и языком), обладающей типичными чертами. Таким образом, мы сможем лучше осветить наиболее существенные аспекты функционирования микропроцессоров вообще, не вдаваясь в детали, характерные для тех или иных конкретных моделей. Хотя наш гипотетический микропроцессор и не выпускается промышленностью, он близок к некоторым реально существующим моделям, например к процессорам серии 8000 фирмы «Интел». 4.1. Микрокомпьютер Микрокомпьютер — это система с шинной организацией, состоящая из модулей, или блоков, реализованных в виде больших интегральных схем. Эти модули обрабатывают информацию, управляют потоком и интерпретацией команд, управляют работой шин, хранят информацию и осуществляют взаимодействие между компьютером и его окружением. Первые четыре функции обычно выполняются одним функциональным блоком — микропроцессором. Функции хранения информации осуществляет запоминающее устройство. В него могут входить как постоянная память, так и оперативная. Наконец, внешние коммуникации осуществляют блоки, называемые портами ввода/вывода; Каждый такой порт является интерфейсом между микропроцессором и: каким-либо внешним устройством, например терминалом, внешней памятью для хранения больших объемов информации, контроллером технологических процессов или измерительным прибором. ![]() Рис. 4.1. Структура микрокомпьютера с шинной организацией Структура микрокомпьютера, состоящего из подобных блоков, приведена на рис. 4.1. Взаимодействие блоков осуществляется при помощи шин трех типов: адресных шин, шин данных и управляющих шин. В дальнейшем мы будем рассматривать именно такую структуру шин, хотя возможны и другие варианты. 4.2. Структура микропроцессора Общая структура нашего гипотетического иллюстративного микропроцессора представлена на рис. 4.2. Входящие в его состав компоненты говорят о том, что он является процессором с программным управлением. Некоторые компоненты, а именно программный счетчик (счетчик команд), стек и регистр команд, служат для обработки команд. Такие компоненты, как АЛУ, триггер переноса, общие регистры (или рабочие) и регистр адреса данных, служат для обработки данных. Все остальные компоненты, а именно дешифратор команд и блок управления и синхронизации (БУС), управляют работой других компонентов. Взаимодействие компонентов осуществляется по внутренним каналам передачи данных. Связь микропроцессора с другими блоками (ЗУ и устройствами ввода/вывода) происходит по адресной шине, шине данных и управляющей шине. Микропроцессор работает со словами, состоящими из 8 битов. Такие слова, называемые байтами, удобны при выполнении арифметических и логических операций и используются в большинстве выпускаемых микропроцессоров. Поэтому мы будем предполагать, что все данные представляются именно такими словами. Если в расчетах встречаются числа «большей длины», то применяются специальные программы для вычислений с «двойной точностью», «тройной точностью» и т. д. ![]() Рис. 4.2. Гипотетический микропроцессор. Числа в скобках указывают количество разрядов или линий С другой стороны, адрес из 8 битов позволяет прямо адресовать только 28 = 256 ячеек памяти. Для реальных задач этого, конечно, мало. Поэтому для задания адреса памяти обычно используется 16 разрядов (два байта), и это позволяет прямо адресовать 216=65 536 ячеек). Информация к микропроцессору и от него передается по шинам. Шины данных в соответствии с длиной слова состоят из 8 линий, тогда как адресная шина состоит из 1- 6 линий. Как показано на рис. 4.1, адресная шина однонаправленная, а шина данных двунаправленная. Управляющая шина состоит из 5 линий, ведущих к блоку управления и синхронизации и 8 выходящих из него линий. По этим линиям передаются управляющие и тактирующие сигналы между компонентами микропроцессора и между микропроцессором и другими блоками микрокомпьютера. ^ состоит из 16 битов и содержит адрес очередного байта команды, считываемого из памяти. Он автоматически увеличивается на единицу после чтения каждого байта. Существует связь между счетчиком команд и вершиной стека из 64 регистров. Одна из функций стека — сохранение адреса возврата из подпрограммы. В стеке могут также сохраняться данные из верхних трех общих регистров и триггера переноса. В то время как слово данных всегда состоит из одного байта, команда может состоять из одного, двух или трех байтов. Первый байт любой команды поступает из памяти по шине данных на регистр команд. Этот первый байт подается на вход дешифратора команд, который определяет ее смысл. В частности, дешифратор определяет, является ли команда однобайтовой, или она состоит из большего числа байтов. В последнем случае дополнительные байты передаются по шинам данных из памяти и принимаются или на регистр адреса данных, или на один из общих регистров. ^ содержит адрес операнда для команд, обращающихся к памяти, адрес порта для команд ввода/вывода или адрес следующей команды для команд перехода. Пятнадцать 8-битовых общих регистров содержат операнды для всех команд, работающих с данными. Для указания этих регистров используются 4-битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором (АК) и участвует во всех арифметических и логических операциях. В частности, он содержит один из операндов перед выполнением операции и получает результат после ее завершения. Обычно обращения к общим регистрам осуществляются при помощи R-селектора или r-селектора. R-селектор позволяет обращаться к любому регистру, тогда как через r-селектор доступны только регистры 0000, 0001 и 0010. Очень полезная возможность, присутствующая во многих машинах,— это косвенная адресация. Некоторый вариант косвенной адресации встроен и в наш микропроцессор). Задание несуществующего регистра общего назначения 1111 используется как указание на то, что нужно обратиться к байту памяти по 16-разрядному адресу, который получается комбинированием содержимого двух фиксированных общих регистров. А именно, старшие 8 разрядов адреса — из регистра 0001, а младшие 8 разрядов адреса — из регистра 0010 (в дальнейшем эти два регистра мы будем называть Н и L соответственно; Н — от слова Higher, высший, или старший, L — от Lower, низший, или младший). Чтобы пояснить подобную косвенную адресацию, предположим, что регистр 0001, т. е. регистр Н, содержит 1011101,а регистр 0010, т. е. регистр L, содержит 00101011. Тогда любая команда, ссылающаяся на регистр 1111, вызовет выборку операнда из ячейки памяти с адресом 101110100101011. Все арифметические и логические операции выполняются в арифметико-логическом устройстве (АЛУ). Входами АЛ У служат две 8-битовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая — от R -селектора, который выбирает либо один из регистров общего назначения от 0000 до 1110, либо ячейку памяти, если задана косвенная адресация. Еще одна входная линия поступает в АЛУ от триггера переноса С, который участвует в некоторых арифметических и логических операциях. Результаты из АЛУ передаются в аккумулятор по выходной 8-битовой шине. Существуют еще две линии, идущие от АЛУ к блоку управления и синхронизации; они передают информацию о наличии или отсутствии двух особых условий: аккумулятор содержит нули (линия Z) и старший разряд аккумулятора равен 1 (линия N). Вторая линия очень удобна при работе с числами в дополнительном коде, когда старший разряд знаковый, причем 1 соответствует отрицательным числам. Триггер переноса и обе линии состояния АЛУ Z и N называются флажками и используются в командах условного перехода. Последний компонент микропроцессора — это блок управления и синхронизации (БУС). Он получает сигналы от дешифратора команд, который анализирует команду. Как уже упоминалось, в БУС из АЛУ и от триггера переноса поступают сигналы, по которым определяются условия для передач управления. Все остальные компоненты микропроцессора получают от БУС управляющие и синхронизирующие сигналы, необходимые для выполнения команды. С помощью 13 внешних линий реализуется интерфейс устройства управления с другими модулями микрокомпьютера. Назначение этих линий мы рассмотрим в следующем разделе. ^ Вообще говоря, микропроцессор состоит из триггеров и комбинационных вентилей и работает как синхронная последовательностная схема. Триггеры всех регистров и флажков микропроцессора получают синхроимпульсы по общей линии от внешнего генератора. Поэтому любые изменения содержимого регистров или флажков могут происходить лишь в строго определенные моменты времени. Новые состояния определяются комбинационными схемами по текущим состояниям триггеров и флажков, а также по значениям внешних сигналов. Общая схема работы показана на рис. 4.3. Комбинационные схемы выполняют функции, связанные с передачей данных между регистрами, с обработкой данных, формированием информации о состоянии, выбором пути при передачах управления и т. п. ![]() Рис.4.3. Общая схема работы микропроцессора Поскольку некоторые из этих функций довольно сложны, реализующие их комбинационные схемы оказываются многоуровневыми и, следовательно, дают заметные задержки при распространении сигнала. Частота синхроимпульсов выбирается такой, чтобы в интервале между импульсами успевали переключиться триггеры и сработать комбинационные схемы в расчете на самую большую задержку. На рис. 4.3. показаны также и внешние по отношению к микропроцессору компоненты. В их число входят запоминающие устройства и устройства ввода/вывода. Информация между внешними компонентами и микропроцессором передается по шинам также в синхронном режиме. В нашем микропроцессоре частота от тактового генератора подается на входную управляющую линию «такт». На обмен данными с внешним устройством уходит два такта, т. е. два периода импульсов синхронизации. В них входит и время срабатывания шин, и время отклика внешней компоненты. Поскольку шины участвуют во всех внешних обменах, именно они фактически оказываются «узким местом», ограничивающим быстродействие микропроцессора. Поэтому вся синхронизация в микропроцессоре строится вокруг внешних обменов. Последовательность синхронизирующих импульсов разбивается на так называемые машинные циклы, по три такта в каждом цикле. При работе микропроцессора в каждом машинном цикле происходит один внешний обмен. Первый и второй такты тратятся на обмен и иногда на обработку данных; третий такт весь выделяется для той переработки данных, которую нужно выполнить между последовательными внешними обменами. При всех внешних обменах используются шины адресов и данных. Передачи данных делятся на два класса: входные и выходные (по отношению к микропроцессору). Каждый класс характеризуется своими временными диаграммами сигналов на шинах. Выходные обмены бывают двух типов. Обмены первого типа, в которых участвует главная память, называются записью; второго, - в которых участвует устройство вывода, называются выводом. В классе входных обменов три типа. Два из них называются чтением и вводом, и в них участвуют соответственно главная память и устройство ввода. Третий тип связан с прерываниями. Четыре выходные управляющие шины — «запись», «вывод», «чтение» и «ввод» — служат для задания типа и момента обмена. На рис. 4.4 (а) приведены временные диаграммы сигналов за машинный цикл, в котором выполняется выходной обмен. Микропроцессор задает как состояние адресной шины, подавая на нее либо 16-разрядный адрес памяти для операции записи, либо 8-разрядный код устройства для операции вывода, так и состояние шины данных. ![]() Рис.4.4 Временные диаграммы обменов в иллюстративном микропроцессоре, (а) Диаграмма выходных обменов, (б) Диаграмма входных обменов Предполагается, что информация на шинах правильно установлена и неизменна, от переднего фронта импульса T1 до переднего фронта импульса Тз). При операции записи импульс на управляющую линию «запись» подается одновременно с Т2, и он используется для стробирования передачи содержимого шины данных в ячейку главной памяти с адресом, заданным на адресной шине. При операции вывода импульс, также одновременно с Т2, подается на управляющую линию «вывод» и используется для стробирования передачи содержимого шины данных в регистр устройства вывода, код которого задан на младшей половине адресной шины. На рис. 4.4(б) показаны временные диаграммы для входных обменов. Содержимое адресной шины задается в те же моменты и теми же способами, что и для выходных обменов. Содержимое шины данных на этот раз определяется внешним компонентом. Микропроцессор в интервале между задним фронтом Т1 и передним фронтом Т3 устанавливает логическую 1 на управляющую линию «чтение» или «ввод», и это служит запросом к внешнему компоненту поместить данные на шину данных. Линия «чтение» используется главной памятью, а линия «ввод» — устройствами ввода. В обоих случаях предполагается, что информация на шине данных достоверна между передними фронтами импульсов Т2 и Т3, и стробирование передачи ее на соответствующий регистр микропроцессора выполняется одновременно с задним фронтом Т2. Кроме рассмотренных выше управляющих линий, существует еще восемь: Пуск, Сброс, Стоп, Синхр, Прер, ППрер, ПДП и ППДП. Четыре последние относятся к прерываниям программы и прямому доступу в память. Здесь мы остановимся на первых четырех. «Пуск» — это входная линия, которая устанавливает режим автоматической работы микропроцессора. А именно, появление импульса в этой линии приводит к тому, что процессор по первому же синхроимпульсу начнет выполнять программу с той команды, адрес которой находился на счетчике команд. «Сброс» — это входная линия, с помощью которой микропроцессор устанавливается в начальное состояние. В частности, по импульсу в линии «сброс» прекращается выполнение программы, счетчик команд устанавливается в нуль, а флажки прерываний сбрасываются. «Стоп» — это выходная линия, на которой поддерживается состояние логической 1 все время, пока микропроцессор не выполняет программы (остановлен). И наконец, «Синхр» — это выходная линия, на которую подается импульс одновременно с третьим синхроимпульсом каждого машинного цикла и которая используется в некоторых случаях для согласования работы некоторых внешних компонентов с внутренним машинным циклом микропроцессора. ^ Обычно микропроцессор выполняет команды из некоторого фиксированного набора, называемого системой команд. Разные микропроцессоры имеют различные системы команд. Детальное описание системы команд нашего иллюстративного микропроцессора приведено в табл. 4.1 и 4.2. Для каждой команды приводится ее символическое обозначение, формат, а также символическое и словесное описание выполняемого действия. Никаких других команд наш микропроцессор выполнять не может, следовательно, решение любой задачи должно быть представлено в виде последовательности этих команд. Формат каждой команды в табл. 4.2 полностью определяет представление команды в памяти компьютера. Таким образом, команда в памяти хранится как последовательность из нулей и единиц. С другой стороны, для человека много удобнее символические обозначения. Поэтому при написании программ можно пользоваться символической формой, преобразуя ее в машинный двоичный формат непосредственно перед вводом в машину. Во всех наших описаниях мы также для удобства будем пользоваться символической формой представления команд. 4.4.1. Фаза выборки и дешифрации Обычно команды выполняются в последовательном порядке. Будем предполагать, что все программы начинаются с команды в ячейке 000016. Время, нужное, чтобы прочитать команду из памяти, декодировать ее и выполнить, называется командным циклом. Ввиду того что команды могут состоять из одного, двух и трех байтов и что время их выполнения может быть разным, командный цикл не является постоянной величиной. Следовательно, нам необходима .некоторая меньшая единица времени. В предыдущем разделе такая единица была введена в виде машинного цикла, состоящего из трех тактов синхронизации. Таблица 4.1 ^ приведенных в таблице 2
Таблица 4.2 ^ Замечание: При всех передачах содержимое регистра, из которого передаются данные, не изменяется, если это особо не оговорено. ^ Команда: MOVE (пересылка) Символическая форма: MOVr to R или MOV r from R ![]() d = 0 d = 1 Описание: (r) R или (R) r Если d=0, то содержимое общего регистра r передается в общий регистр R. Если d=l, то содержимое общего регистра R передается в общий регистр r. ^ Команда: LOAD REGISTER IMMEDIATE (загрузка регистра непосредственная) Символическая форма: LRI R ![]() Описание: <В2> R Второй байт команды передается в общий регистр R. ^ Команда: LOAD REGISTER (загрузка регистра) Символическая форма: LDR r ![]() Описание: (М [<В2> <В3>]) r Содержимое ячейки памяти передается в общий регистр r. Старшие 8 разрядов адреса ячейки берутся из второго байта команды, а младшие 8 разрядов — из третьего байта. Команда: STORE REGISTER (запоминание регистра) Символическая форма: STR r ![]() Описание: (г) М [<В2> <В3>] Содержимое общего регистра r передается в ячейку главной памяти. Старшие 8 разрядов адреса ячейки указаны во втором байте команды, а младшие 8 разрядов—в третьем байте. ^ Команда: JUMP ON CARRY NOT - ZERO (переход при ненулевом переносе) Символическая форма: JCN ![]() Описание: Если (С)=1, то <В2><В3>—> PC Если на триггере переноса 1, то содержимое счетчика команд замещается вторым и третьим байтами команды JCN, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт — младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. В противном случае, т. е. когда (С) = 0, второй и третий байт команды игнорируются, и выполняется следующая по порядку команда. Команда: JUMP ON CARRY ZERO (переход при нулевом переносе) Символическая форма: JCZ ![]() Описание: Если (С) = 0, то <В2><В3> PC Если на триггере переноса 0, то содержимое счетчика команд замещается вторым и третьим байтами команды JCZ, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. Когда (С)=1, второй и третий байт команды игнорируются, и выполняется следующая по порядку команда. Команда: JUMP ON ACCUMULATOR ZERO (переход при нулевом аккумуляторе) Символическая форма: JAZ ![]() Описание: Если (Асc) = 0000 0000, то <В2><В3> PC Если содержимое аккумулятора равно нулю, то содержимое счетчика команд замещается вторым и третьим байтами команды JAZ, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. В противном случае, т. е. если (Асc) 0, второй и третий байт команды игнорируются, и выполняется следующая по порядку команда. Команда: JUMP ON ACCUMULATOR NOT ZERO (переход при ненулевом аккумуляторе) Символическая форма: JAN ![]() Описание: Если (Асc) 0000 0000, то <В2><В3> PC Если содержимое аккумулятора не равно нулю, то содержимое счетчика команд замещается вторым и третьим байтами команды JAN, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. Если содержимое аккумулятора равно 0, второй и третий байт команды игнорируются, и выполняется следующая по порядку команда. Команда: JUMP ON ACCUMULATOR POSITIVE (переход при положительном аккумуляторе) Символическая форма: JAP ![]() Описание: Если (Асс,) = 0, то <В2><В3>-РС Если в старшем разряде аккумулятора 0, то содержимое счетчика команд замещается вторым и третьим байтами команды JAP, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, тем самым происходит передача управления в заданную ячейку. В противном случае второй и третий байт команды игнорируются, и выполняется следующая по порядку команда. Команда: JUMP ON ACCUMULATOR MINUS (переход при отрицательном аккумуляторе) Символическая форма: JAM ![]() Описание: Если (Асс7)=1, то <В2><В3> PC Если в старшем разряде аккумулятора 1, то содержимое счетчика команд замещается вторым и третьим байтами команды JAM, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. Если (Асс7) = 0, то второй и третий байт команды JAM игнорируются, и выполняется следующая по порядку команда. Команда: JUMP UNCONDITIONALLY (переход безусловный) Символическая форма: JMP ![]() Описание: <В2><В3> PC Содержимое счетчика команд замещается вторым и третьим байтами команды JMP, причем второй байт замещает старшие 8 разрядов счетчик команд, а третий байт - младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. Команда: JUMP INDIRECT (переход по косвенному адресу) Символическая форма: JHL ![]() Описание: (Н) (L) PC Содержимое счетчика команд замещается содержимым общих регистров Н и L, причем содержимое Н замещает старшие 8 разрядов счетчика команд, а содержимое L—младшие 8 разрядов, что вызывает передачу управления в ячейку с адресом, заданным на регистрах Н и L. ^ Команда: JUMP TO SUBROUTINE (переход на подпрограмму) Символическая форма: JMS ![]() Описание: (Stacki) Stack i + 1 i = l, 2, ..., 6310 (PC) Stack1 2> 3> PC Стек опускается и содержимое счетчика команд помещается в вершину стека. Содержимое последнего регистра стека (Stack64) теряется. Содержимое счетчика команд замещается вторым и третьим байтами команды JMS, причем второй байт замещает старшие 8 разрядов счетчика команд, а третий байт—младшие 8 разрядов, что вызывает передачу управления в заданную ячейку. Команда: RETURN FROM SUBROUTINE (возврат из подпрограммы) Символическая форма: RET ![]() Описание: (Stackj) PC (Stacki) Stacki-1 i = 2, 3, … 6410 (Stack64) Stack64 Содержимое вершины стека передается в счетчик команд, и стек поднимается. Содержимое последнего регистра стека (Stack64) не изменяется. ^ Команда: ADD REGISTER (сложение с регистром) Символическая форма: ADD R ![]() Описание: (Асе) + (R) Асc Перенос С Содержимое общего регистра R прибавляется к содержимому аккумулятора. Результат сложения становится новым содержимым аккумулятора, а перенос из старшего разряда становится новым содержимым триггера переноса С. Все числа считаются целыми без знаков. Команда: ADD REGISTER WITH CARRY (сложение с регистром и переносом) Символическая форма: ADC R ![]() Описание: (Acc) + (R)+(C) Асc Перенос С Содержимое общего регистра R и триггер переноса С прибавляются к содержимому аккумулятора. Результат сложения становится новым содержимым аккумулятора, а перенос из старшего разряда становится новым содержимым триггера переноса С. Все числа считаются целыми без знаков. Команда: SUBTRACT REGISTER (вычитание регистра) Символическая форма: SUB R ![]() Описание: (Асе) — (R) Асc Заем С Содержимое общего регистра R вычитается из содержимого аккумулятора. Результат вычитания становится новым содержимым аккумулятора, а заем в старший разряд становится новым содержимым триггера переноса. Все числа считаются целыми без знака. Команда: SUBTRACT REGISTER WITH CARRY (вычитание регистра и переноса) Символическая форма: SBC R ![]() Описание: (АСС) — (R) — (С) Асc Заем С Содержимое общего регистра R и триггера переноса С вычитаются из содержимого аккумулятора. Результат вычитания становится новым содержимым аккумулятора, а заем в старший разряд становится новым содержимым триггера переноса. Все числа считаются целыми без знака. Команда: LOGICAL AND (логическое И) Символическая форма: AND R ![]() Описание: (Асc) (R) Асc Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического И. Результат становится новым содержимым аккумулятора. Состояние триггера переноса не меняется. Команда: LOGICAL OR (логическое ИЛИ) Символическая форма: OR R ![]() Описание: (Асc) V (R) —> Асc Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического ИЛИ. Результат становится новым содержимым аккумулятора. Состояние триггера переноса не меняется. Команда: LOGICAL EXCLUSIVE-OR (логическое ИСКЛЮЧАЮЩЕЕ ИЛИ) Символическая форма: XOR R ![]() Описание: (Асc) (R) Асc Над содержимым общего регистра R и аккумулятора поразрядно выполняется операция логического ИСКЛЮЧАЮЩЕГО ИЛИ. Результат становится новым содержимым аккумулятора. Состояние триггера переноса не меняется. Команда: COMPLEMENT ACCUMULATOR (обращение аккумулятора) Символическая форма: СМА ![]() Описание: (Асc) Асc Нули в аккумуляторе заменяются на единицы, а единицы—на нули (т. е. осуществляется обращение кода в аккумуляторе). Команда: COMPLEMENT CARRY (обращение переноса) Символическая форма: CMC ![]() Описание: (С) С Команда: RESET CARRY (сброс переноса) Символическая форма: RSC ![]() Списание: 0 С Триггер переноса С сбрасывается. Команда: ROTATE ACCUMULATOR AND CARRY LEFT (циклический сдвиг аккумулятора и переноса влево) Символическая форма: RTL ![]() Описание: (С) Асс0 (Асеi) Ассi+1 i = 0, 1, … , 6 (Асе7) С Содержимое аккумулятора и триггера переноса С как одно целое сдвигаются циклически влево. Содержимое разряда Асс7 попадает на триггер С, а содержимое триггера С—в разряд Асс0. |
![]() | Методические указания содержат рекомендации к содержанию и оформлению курсового проекта по дисциплине «Защита информации автоматизированных... | ![]() | Методические указания предназначены для самостоятельной работы студентов при выполнении курсового проекта по технологии швейных изделий... |
![]() | Федеральное государственное образовательное учреждение высшего профессионального образования | ![]() | Методические указания составлены для студентов специальности 270115 (291500) «Экспертиза и управление недвижимостью» и предназначены... |
![]() | Методические указания к выполнению курсового проекта по дисциплине «Компьютерные сети: локальные, глобальные, корпоративные» (для... | ![]() | Методические указания к выполнению курсового проекта по дисциплине «Компьютерные сети: локальные, глобальные, корпоративные» (для... |
![]() | Методические указания к выполнению курсового проекта «Многоэтажное жилое здание» по дисциплине «Проектирование зданий и основы градостроительства»... | ![]() | Методические указания предназначены для оказания помощи студентам при выполнении курсового проекта по дисциплине «Экономика отрасли»... |
![]() | Машины и оборудование: методические указания по выполнению и защите курсового проекта для студентов экономических специальностей/... | ![]() | Методические указания по выполнению курсового проекта для студентов специальности 060800 «Экономика и управление на предприятиях... |