Форум программистов, компьютерный форум, киберфорум
Assembler: i8080/8085/KP580
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
1
KP580 Emulator

[KP580 эмулятор] Создание автомата Мили

14.05.2018, 18:55. Показов 2398. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно найти максимальное и минимальное число.
Сначала я так понимаю нужно сделать проверку на ноль.
Я думаю это можно сделать поместив в регистр А 0 и записать в ячейку памяти по адресу 8200 значение t1.
Сравнить при помощи команды CMP A,M. Если флаг Z=1 значит они равны и следует установить F(t) в 1.
Если A < M флаг СУ =1 и нам нужно записать значение в регистр или память так же следует сделать и если A>M при этом флаг АС =1.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2018, 18:55
Ответы с готовыми решениями:

[KP580 эмулятор] Составить программу для вывода сообщения
Помогите пожалуйста. Разработайте программу выдачи на дисплей УОУ сообщения: FLAG P-1.

[KP580 эмулятор] Составить программу для вывода на дисплей
Помогите пожалуйста. Выдать на второй индикатор символ U, если одновременно нажаты клавиши 0,1,3,...

Записать в ячейки памяти числа в дополнительном коде
Записать числа в ячейки памяти 8200,8201 в дополнительном коде: В ячейку 8200 нужно записать число...

[KP580 эмулятор] Найти сумму 10 чисел - угадать, какой инструкции недостаёт в коде
Найти сумму 10 чисел расположенных в памяти начиная с адреса 4000 и поместить ее в регистр B ...

18
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
14.05.2018, 22:17  [ТС] 2
1. Если t1 равно 0, значение f(t) устанавливается в 1;
2. Если t1 не равно 0, определяется значение f(t);
3. Если f(t) больше или равно f(t)-1 и f(t)-1 равно Δmin , f(t) устанавливается в 1;
4. Если f(t) больше или равно f(t)-1 и f(t)-1 не равно Δmin , f(t) присваивается значение f(t)-1;
5. После каждого определения f(t) или Δ осуществляется передача кода состояния автомата
на ПЭВМ.
6. После окончания работы алгоритма автомат возвращается в исходное состояние.

Используемые обозначения:
i = 1,2,..n – порядковые номера входов МПС
ti – измеряемое значение на i–м входе МПС
f(t)-1 – значение функции в предыдущий момент времени
Δmin – минимальное ненулевое число, допустимое в данной МПС
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
14.05.2018, 22:51 3
Какое-то неполное задание. Непонятно, откуда берутся ti и зачем их сравнивать с 0, да и другие манипуляции.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
14.05.2018, 23:00  [ТС] 4
Нужно разработать программное обеспечение для микропроцессорной системы в виде программного автомата.
В моем случае автомат мили.
Для функции f(ti)
max(ti) - min(ti)

Добавлено через 6 минут
Текст из методички :
Программный автомат должно производить инициализацию портов МПС, принимать
информацию, поступающую с дискретных датчиков и аналогового источника, производить её
обработку, согласно варианту и передавать информацию на ПЭВМ сбора информации по
последовательному каналу связи.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
14.05.2018, 23:19 5
А то, что вы привели ранее - описание функции f(ti).

Я не изучал или забыл "автомат Мили". Поэтому не представляю, как можно его реализовывать на чём либо.

А судя по описанию, у вас какая-то система, получающая откуда-то массив ti некоторой длины.
На основании ti и предыдущих (на предыдущем отсчёте) значений этого массива вычисляется некая функция f(ti).
Нужно найти min(fi) и max(fi).

Как бы я решал эту задачу.
1. for i:=1 to N do f[i]:=CalcF(t[i], t1[i], delta) и тут же определял минимум и максимум
2. копирование t1[1..N]:=t[1..N] для вычисления на следующем шаге

Т.е. создал бы подпрограмму для вычисления F. В неё передавал 2 (или вместе с delta - 3) параметра.
Значит нужно определить способ передачи параметров в процедуру и обратно, и работать уже с этим.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
14.05.2018, 23:32  [ТС] 6
Проблема в том что это нужно реализовать на КП580.
И тут еще такой вопрос если вызывать подпрограмму например.
Или переходить при помощи JMP aa.
Не могу понять как указать аа.
аа-это адрес.

Добавлено через 8 минут
Где можно найти хотя бы маленький пример реализации подпрограммы на кп580.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
14.05.2018, 23:53 7
В применяемом вами эмуляторе с большой долей вероятности есть и нормальный компилятор.

Или не делайте подпрограмму. Вычисляйте в цикле. То просто у меня манера - что не умещается на 1 экране кода - отправлять в процедуру.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
14.05.2018, 23:58  [ТС] 8
Как задать адрес аа(a16) не подскажите.
Например для этой команды:
JMP a16 Перейти по адресу a16.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
15.05.2018, 00:27 9
Попробовал набрать хотя бы начало функции, но остановился на
1. пункт 2 - чему равно значение f при t<>0
2. пункт 3 - откуда берётся f(ti) для сравнения с f(t)-1
Дальше уже не смотрел.

Видимо, это из теории автоматов.

Добавлено через 3 минуты
Цитата Сообщение от HeTarakan Посмотреть сообщение
Как задать адрес аа(a16)
Я не знаю о возможностях конкретно вашего эмулятора.
Задайте любое случайное и продолжайте набор программы. После завершения набора станет известен нужный адрес.

Или, если позволяет компилятор - задайте символьную метку и переход на неё
Assembler
1
2
3
4
5
  jmp MyMark
  mov a, b
  mov b, a
MyMark:
  mov b, c
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
15.05.2018, 07:39  [ТС] 10
Проблема в том что в данном эмуляторе записывается код команды в память.
То есть я не могу напрямую указать операнд для команды.

Добавлено через 27 минут
Возможен такой вариант для пункта 2?
Если t1 <>0 то по скольку min значение у нас отсутствует просто будет f(t)=(t1) .
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
15.05.2018, 13:13 11
Смотрите.
Я уже забыл теорию КА.
Предполагаю, что t1 - это не опечатка ti, а сигнал сброса системы, f(t) - не просто функция, а состояние системы.

КА описывается двумя таблицами. По сути, в этих правилах перечислены таблицы.

Я не могу сообразить, что там должно быть. Наверное имеет смысл подойти к преподавателю и уточнить все вопросы по теоретической части.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
15.05.2018, 20:27  [ТС] 12
Я должен уточнить у преподавателя пункты 1-4?
Если можно подскажите что конкретно нужно узнать.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
15.05.2018, 21:47 13
Вы должны самостоятельно разобраться с КА.
После этого попытаться его синтезировать.
Возникнут вопросы - их и зададите преподавателю.

Я-то тут причём? У меня свои заботы - командировка, домонтаж, холостая наладка, написание управляющих программ, наладка, а к этому готовка на вечер и следующий день, чтение документации, совещания по телефону, отсутствие выходных (прошлых и грядущих).

Я честно попробовал решить задачу с наскока (потратив 30-60 минут) - не вышло, нужно штудировать учебники, искать в интернете. В итоге - откладываю учёбу до лучших времён.

Припоминаю, что там не очень сложно. Нужно только внимательно читать.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
16.05.2018, 21:17  [ТС] 14
Задание немного упростилось не нужно обращать внимание на состояния автомата.
Но к сожалению я так и не нашел как задать адрес перехода для команды jmp,call и т.д.
Указать название метки к сожалению не возможно.
0
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
16.05.2018, 21:24 15
Вы можете сначала набрать код, но адреса переходов сделать равными 0.
После набора кода можно увидеть адреса, на которые должен производиться переход.
Отредактировать каждый jmp подставляя правильный адрес.

Но, с очень большой долей вероятности - вы что-то не прочли и не пользуетесь каким-то свойством среды разработки.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 35
17.05.2018, 07:20  [ТС] 16
Может кому то поможет.
Я слишком глупый.
Как оказалось команда занимает 3 байта в памяти.
1 байт сама команда 2 байт младший байт адреса 3 байт старший байт адреса.
0
1176 / 653 / 111
Регистрация: 15.05.2012
Сообщений: 4,015
17.05.2018, 12:13 17
Цитата Сообщение от HeTarakan Посмотреть сообщение
название метки к сожалению не возможно.
Можно не метку, а сразу адрес поместить. Но, как указано выше, нужно видеть весь листинг программы.
0
0 / 0 / 0
Регистрация: 24.12.2016
Сообщений: 46
29.06.2018, 17:59 18
Слушай, а ты сделал это задание, можешь код скинуть пожалуйста, буду очень благодарен
0
0 / 0 / 0
Регистрация: 29.05.2020
Сообщений: 1
29.05.2020, 13:29 19
HeTarakan Мужик, ответь пожалуйста если ты сделал этот курсач. Очень нужна помощь
0
29.05.2020, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2020, 13:29
Помогаю со студенческими работами здесь

[KP580 эмулятор] Найти среднее арифметическое двух чисел - угадать, какой инструкции недостаёт в коде
найти среднее арифметическое чисел расположенных в ячейках памяти начиная с адреса #4000 записать...

[Эмулятор KP580] Заменить число нулем, если оно отрицательное, увеличить на единицу в противном случае
Даны два числа (регистры В и С). Заменить число нулем, если оно отрицательное, увеличить на единицу...

[Эмулятор KP580] Сложить два числа, если полученный результат отрицательный, то его нужно заменить нулем
Дано одно число регистры В(число равно нулю) прибавить к этому числу другое число, если полученный...

Как построить граф автомата Мили по уже построенному графу автомата Мура
Подскажите как построить граф автомата Мили по уже построенному графу автомата Мура ...

Структурный синтез автомата Мили!
Ребята помогите решить эту задачу!! Очень нужно. Требуется провести структурный синтез автомата...

Модель автомата Мили в Матлаб
Составить в системе MATLAB программную модель конечного автомата Мили, имеющего следующие алфавиты:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru