- •Министерство образования Российской Федерации
- •Самарский государственный технический университет
- •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 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.