3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
1

Эмулятор "Электроника-580". Объединение программ

21.12.2013, 18:27. Показов 3708. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста объединить эти программы, ума уже не приложу как их заставить работать одновременно(
Составить программу, реализующую следующую функцию:
Z = max{A * | X + Y – B |, C}
Вариант 26.
A(10) = 4 X1(10) = -1 Адр.X(16) = 8300
B(10) = 18 X2(10) = 52 Адр.Y(16) = 8301
C(10) = 110 Y1,2(10) = -11 Адр.Z(16) = 8302

Листинг программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1.          LXI H, 8300H            8200    21 00 83
2.          MOV    A, M             8203    7E
3.          LXI H, 8301H            8204    21 01 83
4.          MOV B, M                8207    46
5.          ADD B                   8208    80
6.          SUI 18                  8209    D6 12
7.          MVI B, 110              820B    06 6E
8.          JP     ADR1             820D    F2 12 82
9.          CMA                     8210    2F
10.         INR  A                  8211    3C
11. ADR1:   ADD  A                  8212    87
12.         ADD  A                  8213    87
13.         INX  H                  8214    23
14.         CMP  B                  8215    B8
15.         JP   ADR2               8216    F2 1D 82
16.         MOV  M, B               8219    70
17.         JMP  FIN                821A    C3 1E 82
18. ADR2:   MOV  M, A               821D    77
19.  FIN:   RST4                    821E    E7
Результат работы программы:
1) Z1 = 78
2) Z2 = 6E



Составить программу, реализующую вывод на индикацию последовательности символов:
Вариант 26.
FF, EF, DF, CF, …, 1F, 0F, 0E, 0D, 0C, …, 02, 01, 00, FF, EF, …
Листинг программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
1.   START: LXI  H, 02C2H           8200        21 C2 02
2.          LXI  D, 02C2H           8203    11 C2 02
3.   CYCLE  MOV  A, M               8206        7E
4.          STA      83F8M              8207    32 F8 83
5.          LDAX     D                  820A        1A
6.          STA      83F9H              820B        32 F9 83
7.          DCX      H                  820E        2B
8.          LXI      B, 71EFH           820F        01 EF 71
9.          CALL TIMER              8212    CD 30 82
10.         MOV  A, L               8215        7D
11.         CPI      B2H                    8216        FE B2
12.         JNZ  CYCLE              8218    C2 06 82
13.         DCX  D                  821B    1B
14. CYCLE2: LDAX D                  821C        1A
15.         STA  83F9H              821D    32 F9 83
16.         DCX  D                  8220    1B
17.         LXI  B, 71EFH           8221    01 EF 71
18.         CALL TIMER              8224    CD 30 82
19.         MOV  A, E               8227    7B
20.         CPI  B2H                    8228    E7
21.         JNZ  CYCLE2             8229    C2 1C 82
22.         JMP  START              822C    C3 00 82
23. TIMER:  DCX  B                  823F    0B
24.         MOV  A, B               8230    78
25.         ORA  C                  8231    B1
26.         JNZ  TIMER              8232    C2 30 82
27.         RET                     8235    C9
Добавлено через 12 минут
Задание такое: нужно преобразовать программы, приведенные выше в единую программу, совмещающую функции этих разработанных программ, а именно:
- реализующую вычисления по заданному арифметическому выраже-
ние, причем исходные данные Х и Y, а также результат вычислений Z
должны выводиться в шестнадцатеричной форме соответственно на 3-
4, 5-6 и 7-8 индикаторы учебно-отладочного устройства “Электрони-
ка-580”;
- осуществляющую вывод на 1-2 индикаторы учебно-отладочного ус-
тройства “Электроника-580” заданной последовательности шестнад-
цатеричных цифр (с заданной периодичностью).
Отчет по лабораторной работе должен содержать:
- номер заданного варианта и его исходные данные;
- алгоритм программы;
- текст программы на языке ассемблера;
- текст программы в машинных кодах (результаты трансляции).
Рекомендации по построению:

4.7. Рекомендации по построению программы
к лабораторной работе № 3
Структура программы, совмещающей функции двух ранее разработан-
ных программ с выводом значений X, Y и Z на индикацию, представлена на
рис. 12.
Рис. 12. Структура программы к лабораторной работе № 3
Для реализации однотипных действий по выводу байта данных на инди-
кацию здесь предусмотрено использование подпрограммы DIGIT, текст кото-
рой на языке ассемблера приведен ниже. Подпрограмма имеет два входа – DIG-
Начало
X → инд. 3, 4
Y → инд. 5, 6
Программа 1
Z → инд. 7, 8
Программа 2
DIGIT
73
IT1 для вывода в виде шестнадцатеричного символа старшей тетрады байта,
помещенного в аккумулятор, и DIGIT2 – для вывода младшей тетрады байта.
Соответствующий значению тетрады адрес таблицы семисегментных кодов
формируется в регистровой паре HL. Адрес нужной ячейки буфера индикации
перед обращением к подпрограмме должен быть помещен в регистровую пару
BC. Длина подпрограммы – 14 байт.
Assembler
1
2
3
4
5
6
7
8
9
10
11
DIGIT1: RRC ; перемещение
RRC ; старшей тетрады
RRC ; в байте на место
RRC ; младшей тетрады
DIGIT2: ANI 0FH ; обнуление старшей тетрады
ADI B3H ; получение младшего байта адреса
MOV L, A ; таблицы семисегментных кодов
MVI H, 02H ; загрузка старшего байта адреса
MOV A, M ; загрузка кода символа из таблицы
STAX B ; вывод символа на индикатор
RET ; возврат из подпрограммы
Например, для вывода с помощью подпрограммы DIGIT на индикаторы 3
и 4 значения X, считываемого из ячейки памяти 8300H, может быть использо-
ван следующий фрагмент программы.
Assembler
1
2
3
4
5
6
7
LXI B, 83FAH ; загрузка адреса индикатора 3
LDA 8300H ; загрузка числа X
MOV D, A ; дублирование X в регистре D
CALL DIGIT1 ; вывод старшей цифры X
INX B ; получение адреса индикатора 4
MOV A, D ; восстановление X в аккумуляторе
CALL DIGIT2 ; вывод младшей цифры X
Аналогичным образом могут быть выведены на индикацию значения Y и
Z. Общая длина программы к лабораторной работе № 3 получится при этом
около 130 - 140 байт (28 байт – пример программы 1, 51 байт – пример про-
граммы 2, 14 байт – подпрограмма DIGIT плюс дополнительные команды по
выводу X, Y и Z на индикацию).
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2013, 18:27
Ответы с готовыми решениями:

Cуммирование в "Электроника-580"
Здравствуйте. Помогите пожалуйста написать программу для "Электроника-580", я еще не до конца...

Эмулятор Электроника-580. Подсчитать кол-во нажатых клавиш
Здравствуйте,кто-нибудь знаком с устройством " Учебно- отладочное устройство электроника 580 "?

Электроника - 580
Здравствуйте, дорогие форумчане! В одной из лабораторных работ по УОУ "ЭЛЕКТРОНИКА - 580" было...

Электроника 580
Выдать на третий слева индикатор латинскую букву, номер которой соответствует двоичному коду,...

11
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
21.12.2013, 18:47 2
должны выводиться в шестнадцатеричной форме соответственно на 3-
4, 5-6 и 7-8 индикаторы учебно-отладочного устройства “Электрони-
ка-580”;
- осуществляющую вывод на 1-2 индикаторы учебно-отладочного ус-
тройства “Электроника-580”
вот только вы видимо не в курсе, что "Электроника-580" - есть стенд, а не микропроцессор и ваши хотелки не имеют смысла без схемы.

Отчет по лабораторной работе должен содержать:
- номер заданного варианта и его исходные данные;
- алгоритм программы;
- текст программы на языке ассемблера;
- текст программы в машинных кодах (результаты трансляции).
отчет прилагать прямо тут?

p.s.: в теме Эмулятор Электроника-580. Подсчитать кол-во нажатых клавиш в шапку темы добавил эмулятор стенда.
1
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
21.12.2013, 19:06  [ТС] 3
Цитата Сообщение от raxp Посмотреть сообщение
вот только вы видимо не в курсе, что "Электроника-580" - есть стенд, а не микропроцессор и ваши хотелки не имеют смысла без схемы.

отчет прилагать прямо тут?

p.s.: в теме Эмулятор Электроника-580. Подсчитать кол-во нажатых клавиш в шапку темы добавил эмулятор стенда.
Отчет не надо, необходимо только объединить эти программки, если кто сможет помочь..
Пытался отладить с помощью данного эмулятора одну из из выше программ - ничего не получилось. Программа зависает. Потратил кучу времени по вбиванию программы в этот эмулятор, и потерял кучу нервов(

Цитата Сообщение от raxp Посмотреть сообщение
ваши хотелки не имеют смысла без схемы.
Т.е. никто не сможет помочь?
0
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
21.12.2013, 19:26 4
Вам дана ссылка на аналогичную тему вашего собрата по несчастью, там аналогичная бяка.
0
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
21.12.2013, 20:08  [ТС] 5
Цитата Сообщение от raxp Посмотреть сообщение
Вам дана ссылка на аналогичную тему вашего собрата по несчастью, там аналогичная бяка.
Честно говоря, я мало понимаю, чем может помочь та тема..

Проверил снова 2 программу - она зависает(( Хотя на аппарате Электроника-580 всё работало. Прикрепил ОЗУ файл этого задания. Может кто проверить? Грешу на win 8.. Или этот эмулятор не расcчитан на такую индикацию?

Может быть причина в задержке?
Вложения
Тип файла: rar 2.rar (1.2 Кб, 17 просмотров)
0
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
21.12.2013, 20:27 6
Очевидно, что вы ту тему даже не смотрели. Нет у нас вашей электроники, нету стенда, нет схемы. Это черный ящик.

Грешу на win 8.. Или этот эмулятор не расcчитан на такую индикацию?

Может быть причина в задержке?
а Win8 непогрешим? Эмулятор уж точно создавался во времена, когда и семерки в планах не было.
1
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
21.12.2013, 20:56  [ТС] 7
Цитата Сообщение от raxp Посмотреть сообщение
Очевидно, что вы ту тему даже не смотрели. Нет у нас вашей электроники, нету стенда, нет схемы. Это черный ящик.

а Win8 непогрешим? Эмулятор уж точно создавался во времена, когда и семерки в планах не было.
Просто я представлял себе это так: есть УОУ(учебно-отладочное устройство) Электроника-580. (фото). И есть Эмулятор "Электроника-580", который вы предоставили по ссылке. И я считал, что эмулятор полностью копирует всю программную реализацию и все свойства УОУ Электроника-580. Т.е. любая программа, работающая на УОУ работает и на эмуляторе и наоборот...
Спасибо что откликнулись помочь. Извините за беспокойство и тупые вопросы.
Миниатюры
Эмулятор "Электроника-580". Объединение программ  
0
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
21.12.2013, 21:02 8
Сейчас виртуально нажму на картинку и узнаю к каким портам все подключено. Прочитайте еще раз ту тему, нет документации.

Т.е. любая программа, работающая на УОУ работает и на эмуляторе и наоборот
совсем необязательно.
0
OldFedor
21.12.2013, 21:25
  #9

Не по теме:

Цитата Сообщение от raxp Посмотреть сообщение
совсем необязательно.
Истинно так. Проходили.

0
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
21.12.2013, 21:56  [ТС] 10
А поменяет ли ситуацию не схема, а информация о выводе на индикацию? Прикрепил документ. И есть точно рабочая программа, именно такое же задание, но лишь эти 2 программки немного отличаются.
Вложения
Тип файла: pdf индикация.pdf (1.09 Мб, 20 просмотров)
0
10218 / 6598 / 495
Регистрация: 28.12.2010
Сообщений: 21,161
Записей в блоге: 1
21.12.2013, 22:21 11
Возможно. Чем больше информации будет, тем проще форумчанам взглянуть на проблему.
0
3 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 234
21.12.2013, 23:23  [ТС] 12
Преобразовать программы №1 и №2 в единую программу, совмещающую функции разработанных программ, а именно:

- реализующую вычисления по заданному арифметическому выражению, причем исходные данные X и Y, а также результат вычислений Z должны выводиться в шестнадцатеричной форме соответственно на 3-4, 5-6 и 7-8 индикаторы учебно-отладочного устройства “Электроника-580”;
-осуществляющую вывод на 1-2 индикаторы учебно-отладочного устройства “Электроника-580” заданной последовательности шестнадцатеричных цифр (с заданной периодичностью).

Программа №1.
Кликните здесь для просмотра всего текста
Составить программу, реализующую следующую функцию:
Z = max{A * | X + Y – B |, C}
Вариант 26.
A(10) = 4 X1(10) = -1 Адр.X(16) = 8300
B(10) = 18 X2(10) = 52 Адр.Y(16) = 8301
C(10) = 110 Y1,2(10) = -11 Адр.Z(16) = 8302

Листинг программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
          LXI H, 8300H              8200    21 00 83
          MOV    A, M             8203    7E
          LXI H, 8301H            8204    21 01 83
          MOV B, M                8207    46
          ADD B                   8208    80
          SUI 18                  8209    D6 12
          MVI B, 110              820B    06 6E
          JP     ADR1             820D    F2 12 82
          CMA                     8210    2F
         INR  A                  8211    3C
 ADR1:   ADD  A                  8212    87
         ADD  A                  8213    87
         INX  H                  8214    23
         CMP  B                  8215    B8
         JP   ADR2               8216    F2 1D 82
         MOV  M, B               8219    70
         JMP  FIN                821A    C3 1E 82
 ADR2:   MOV  M, A               821D    77
  FIN:   RST4                    821E    E7
Результат работы программы:
1) Z1 = 78
2) Z2 = 6E


Программа №2.
Кликните здесь для просмотра всего текста
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Составить программу, реализующую вывод на индикацию последовательности символов: 
FF, EF, DF, CF,, 1F, 0F, 0E, 0D, 0C,, 02, 01, 00, FF, EF, …
Листинг программы:
     START: LXI  H, 02C2H           8200        21 C2 02
            LXI  D, 02C2H           8203    11 C2 02
     CYCLE  MOV  A, M               8206        7E
            STA      83F8M              8207    32 F8 83
            LDAX     D                  820A        1A
            STA      83F9H              820B        32 F9 83
            DCX      H                  820E        2B
            LXI      B, 71EFH           820F        01 EF 71
            CALL TIMER              8212    CD 30 82
            MOV  A, L               8215        7D
            CPI      B2H                    8216        FE B2
            JNZ  CYCLE              8218    C2 06 82
            DCX  D                  821B    1B
    CYCLE2: LDAX D                  821C        1A
            STA  83F9H              821D    32 F9 83
            DCX  D                  8220    1B
            LXI  B, 71EFH           8221    01 EF 71
            CALL TIMER              8224    CD 30 82
            MOV  A, E               8227    7B
            CPI  B2H                    8228    E7
            JNZ  CYCLE2             8229    C2 1C 82
            JMP  START              822C    C3 00 82
    TIMER:  DCX  B                  823F    0B
            MOV  A, B               8230    78
            ORA  C                  8231    B1
            JNZ  TIMER              8232    C2 30 82
            RET                     8235    C9


Прикрепил пример выполняемого задания, прикрепил информацию, необходимую для работы с индикацией.



В принципе там надо немного поменять код примера на свои значения и отредактировать и всё. НО, прошу именно здесь помочь сделать это, так как из-за отсутствия опыта в программировании могу допустить много ошибок, которые я не смогу обнаружить без отладки.. Как правило я их допускаю немало((

Прошу модератора сильно не ругаться за дублирование темы, удалить тему по адресу Эмулятор "Электроника-580". Объединение программ и оставить эту как основную. Спасибо.

 Комментарий модератора 
Правила форума:

5.5. Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Вложения
Тип файла: pdf Пример.pdf (259.0 Кб, 10 просмотров)
Тип файла: pdf вывод на индикацию.pdf (1.09 Мб, 19 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2013, 23:23

Электроника-580. Реализация секундомера
Помогите пожалуйста написать программу ! Заранее спасибо) Железяка - отладочное устройство...

Электроника - 580. Работа с клавиатурой и дисплеем
Выдать на второй справа индикатор шестнадцатеричную цифру, соответствующую двоичному коду,...

Эмулятор УОУ - 580
нужно зажечь в эмуляторе поочередно флаги Z и С, а затем зажечь их одновременно. какой будет...

Программирование на УОУ "Электроника-580"
Пожалуйста, помогите написать программу для микропроцессора КР580. Заранее спасибо. Если нажато...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru