- •Министерство образования Российской Федерации
- •Самарский государственный технический университет
- •2. Оформление курсового проекта
- •3. Описание вариантов заданий
- •Перечень операций подлежащих программированию
- •4. Архитектура микропроцессоров
- •4.1. Микрокомпьютер
- •4.2. Структура микропроцессора
- •4.3. Блок управления и синхронизации
- •4.4. Система команд
- •4.4.1. Фаза выборки и дешифрации
- •Обозначения, используемые при описании команд,
- •Команды передач управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.4.2. Фаза выполнения
- •Команды пересылки
- •Команды с непосредственным адресом
- •Команды обращения к памяти
- •Команды передачи управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.5. Способы адресации
- •Прямая адресация
- •Непосредственная адресация
- •Индексная адресация
- •Косвенная адресация
- •Относительная адресация
- •Страничная адресация
- •4.6. Некоторые другие команды, специфичные для микропроцессоров
- •Арифметические и логические команды с операндами в главной памяти
- •Команды условных переходов
- •Команды обработки данных
- •5. Программирование для микропроцессоров
- •5.1. Программирование на машинном языке
- •Пример программы: «прибавить константу к числу в памяти и записать результат снова в память»
- •5.2. Разветвления в программах
- •5.3. Программирование циклов
- •Программа вычисления суммы десяти 8-битовых чисел без знаков
- •5.4. Программирование сложных разветвлений
- •Программа сложного разветвления, использующая таблицу переходов
- •5.5. Подпрограммы
- •Вход в подпрограмму и выход из подпрограммы
- •Параметры подпрограммы
- •Пример передачи параметров от главной программы в подпрограмму через общие регистры
- •Сложение с п-кратной точностью
- •Подпрограмма сложения чисел с двойной точностью
- •Умножение
- •5.6. Загрузка программ
- •Подпрограмма умножения целых положительных чисел Распределение общих регистров: r2: счетчик, r3: множимое y, r4: множитель X, r5: ст. Часть произведения Рн, r6:мл. Часть произведения pl
- •80 (Маска)
- •Программа-загрузчик
- •5.7. Программирование на языке ассемблера
- •Ассемблеры
- •Язык ассемблера
- •Программа на языке ассемблера, соответствующая программе табл. 5.3
- •Директивы ассемблера
- •Макрокоманда
- •Список команд иллюстрированного микропроцессора
- •Список команд иллюстративного микропроцессора
- •Условные графические обозначения в схемах
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Список литературы
- •Содержание и объем курсового проекта …………………………….
- •Оформление курсового проекта ……………………………………...
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Приложение п2
- •Приложение п2
- •Список литературы
Команды обращения к подпрограммам
Команда: JUMP TO SUBROUTINE (переход на подпрограмму)
Символическая форма: JMS
Описание: (Stacki) Stack i + 1 i = l, 2, ..., 6310
(PC) Stack1
<B2> <B3> 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.