Справочник от Автор24
Поделись лекцией за скидку на Автор24

Группы команд

  • 👀 258 просмотров
  • 📌 225 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Группы команд» pdf
Группы команд Все команды МП К1810 можно разделить на несколько групп. Команды передачи данных: По командам данной группы выполняются операции передачи четырех типов: общие, аккумуляторные, адресные и признаковые. Команды первых трех типов не изменяют содержимое регистра признаков, а по командам четвертого типа выполняется прямая загрузка регистра признаков. Команды арифметических операций: сложение, вычитание, умножение и деление одно – или двухбайтных целых чисел со знаками и без знаков. В операциях над целыми числами со знаком фиксируется переполнение OF. Числа со знаками представляются в дополнительном коде. Имеются команда коррекции при операциях с десятичными (двоично-кодированными) данными. Все команды арифметических операций изменяют содержимое регистра признаков. Команды логических операций и операций сдвига. В состав данной группы команд входят команды инверсии операнда NOT, восемь различных команд сдвига и команды логических операций И, ИЛИ и исключающее ИЛИ. Команды операций с цепочками данных. Цепочкой данных называют последовательность байт или слов, размещённых в смежных ячейках памяти. Обработка цепочек данных производится поэлементно в программных циклах. МП К1810 имеет специальные команды, которые не только обрабатывают цепочки данных поэлементно, но и выполняют вспомогательные процедуры инкрементирования указателя данных, декрементирования счётчика с проверкой на нуль и т.д. Команды передачи управления. Имеют несколько разновидностей: вызов, безусловный переход, возврат, условный переход, итерация, прерывание. Команды передачи управления вызывают продолжение выполнения программы с новой ячейки памяти. Команды управления микропроцессором: сброс переноса, дополнение переноса, установка переноса, сброс направления, установка направления, сброс и установка прерывания, останов, ожидание и обращение к сопроцессору. Можно считать, что система команд 16-разрядного процессора 8086/88 (К1810) является подмножеством команд 32-разрядных процессоров 80х86. Описание языка программирования При реализации цифровых регуляторов по аналоговому прототипу в большинстве случаев основным требованием к программному обеспечению (ПО) является минимальное время выполнения программ. Это достигается использованием кодов команд процессора, либо применением языка ассемблера. Программирование в кодах трудоёмко, программы трудночитаемы, в них сложно вносить изменения, велика вероятность ошибок при программировании. Поэтому использование кодов команд целесообразно только при разработке небольших программ, в ходе отладки программы для внесения в неё небольших изменений или для просмотра небольших частей программы. Язык ассемблера изоморфен машинному языку, то есть каждому оператору языка ассемблера соответствует, как правило, одна команда процессора. Это позволяет, с одной стороны, воспользоваться всеми возможностями системы команд МП, а с другой – избавиться от необходимости оперировать кодами команд путём замены их на мнемокоды, что существенно упрощает процесс программирования и отладки. Для лучшей наглядности ассемблерных программ и для ускорения процесса программирования при написании программ регуляторов (ПИ и ПИД) кроме команд ассемблера используются макроопределения. Макроопределения представляют собой последовательность операторов на языке ассемблера (команд и псевдооператоров), которые могут несколько раз появиться в программе. После того как макроопределение задано, его имя можно использовать в исходной программе вместо последовательности команд. Кроме того, можно включить несколько макроопределений в библиотеку и использовать любые макроопределения в разных программах. Описание программ регулятора В качестве примера рассмотрим алгоритм программ ПИД – регуляторов, который заключается в вычислении значения выходной величины регулятора в зависимости от закона изменения входной величины ошибки управления. Общая формула разностного уравнения для вычисления значения выходной величины, полученная на основании методики синтеза цифровых регуляторов, изложенной в главе 17, имеет вид: Uрег(iT)={bnE(iT)+bn-1E[(i-1)T]+…+b0E[(i-n)T]-amUрег[(i-1)T]--am-1Uрег[(i-2)T]-…-a0Uрег[(im)T]}, (19.1) где: b0,b1,…,bn – коэффициенты числителя ДПФ регулятора; a0,a1,…,am - коэффициенты знаменателя ДПФ регулятора, Uрег(iТ), Uрег [(i-1)T], Uрег[(i-2)T,],…, Uрег[(i-m)T] – дискретные значения регулируемой (выходной) величины регулятора; E(iT), E[(i-1)T], E[(i-2)T], регулятора. …, E[(i-n)T] – дискретные Константам am, am-1,…,a0; bn, bn-1,…,b0 соответствуют 1,…, Acon0; BconN, BconN-1,…, Bcon0 соответственно. значения входной величины идентификаторы AconM, AconM- На каждом такте программа считывает дискретное значение ошибки управления Еvar0 и вычисляет выходное значение Uvar0.Для вычисления результата кромеEvar0 используются предыдущие входные Еvar1, Evar2,… и предыдущие выходные величины Uvar1, Uvar2,…. Для каждого метода численного интегрирования количество значений из предыдущих так-тов различно, но ал-горитм сходен. На рис.19.4 показана схема алгоритма ПИД–регулятора.Тексты программ для различных методов численного интегрирования (метод трапеций, метод Симпсона, метод Уэдля) приведена на дискете. Там приведены и макроопределения для каждой программы Рис.19.4. Схема алгоритма работы программы ПИД - регулятора Для упрощения программы и для уменьшения времени вычислений разностного уравнения произведения сомножителей (коэффициентов bi и аi и переменных Е и U) и поочередное их суммирование со знаком выполняется в одной операции – умножения с суммированием (вычитанием) к общей переменной результата, обозначаемой как Uvar0. В начале каждого такта вычислений переменная Uvar0 обнуляется макрокомандой Clear - Uvar1, затем в зависимости от знака, произведение либо складывается с Uvar0 макрокомандой Ml-Plus, либо вычитается из Uvar0 макрокомандой Mul-minus. Использование общей переменной Uvar0 даёт возможность обойтись без промежуточных результатов. Алгоритм программ произведения чисел со знаком, представленных в дополнительном коде, громоздкий и требует больших затрат времени, а использование прямого кода (старший бит – знаковый) требует анализа знаков и временного их маскирования перед каждым произведением чисел. Поэтому во всех программах ПИД–регуляторов, знаки всех переменных и константы хранятся в компактном виде (Sgn-var). Перед каждым циклом работы, знаки всех будущих произведений вычисляются одной операцией – логической функцией исключающего «ИЛИ». Результат запоминается в переменной Sgn-bt, содержимое которой побитно анализируется перед исполнением Mul-Plus, либо Mul-Minus. Для ускорения операции сдвига переменных, вместо команд пересылки данных типа “mov” в программах применены более эффективные цепочечные операции “movs”, осуществляющие перемещение заданного массива 16 – разрядных слов в определённом участке памяти. Перемещение можно выполнить за один приём: рассчитанный результат Uvar0 помещается не в Uvar1, а в последнюю из переменных Еvar . Так как Еvar и Uvar размещаются в оперативной памяти последовательно друг за другом, в результате выполнения всех операций “movs” содержимое последней Еvar перепишется в Uvar1.
«Группы команд» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot