0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
1

МК-51. Составить на ассемблере МК51 и отладить программу

26.11.2019, 03:29. Показов 2949. Ответов 15
Метки нет (Все метки)

СОСТАВИТЬ НА АССЕМБЛЕРЕ МК-51 И ОТЛАДИТЬ ПРОГРАММУ, КОТОРАЯ ПО ОПРОСУ СОДЕРЖИМОГО ЯЧЕЙКИ С АДРЕСОМ 0006H ВНЕШНЕЙ ПАМЯТИ ПРОГРАММ ВЫПОЛНЯЕТ СЛЕДУЮЩИЕ ДЕЙСТВИЯ:

- ЕСЛИ В ПЕРВОМ РАЗРЯДЕ СОДЕРЖИМОГО ДАННОЙ ЯЧЕЙКИ 1, ТО ЭТО СОДЕРЖИМОЕ ВЫДАЕТСЯ В ПОРТ Р0, ИНАЧЕ СДВИГАЕТСЯ НА ТРИ РАЗРЯДА И ЗАПИСЫВАЕТСЯ В РЕГИСТР R3 БАНКА 0.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2019, 03:29
Ответы с готовыми решениями:

МК-51. Составить на ассемблере МК51 и отладить программу - Микроконтроллеры
Помогите решить задачу: Составить на ассемблере МК51 и отладить программу, которая по опросу...

Разработать на ассемблере и отладить программу, которая выполняет
Разработать на ассемблере и отладить программу, которая выполняет: 1) ввод с клавиатуры двух...

Вычислить на ассемблере МК51 значения функции для Х из промежутка [1;5] с шагом 1
Задание звучит так: Вычислить на ассемблере МК51 значения функции для Х из промежутка с шагом 1....

Составить и отладить программу C#
Составить и отладить программу С#

15
Модератор
Эксперт по электронике
8513 / 6330 / 857
Регистрация: 14.02.2011
Сообщений: 21,979
26.11.2019, 05:33 2
Revanhol, не надо кричать
0
977 / 601 / 100
Регистрация: 15.05.2012
Сообщений: 3,550
26.11.2019, 09:56 3
Цитата Сообщение от Revanhol Посмотреть сообщение
СДВИГАЕТСЯ НА ТРИ РАЗРЯДА
В какую сторону?
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
26.11.2019, 12:46  [ТС] 4
В правую
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
28.11.2019, 02:34  [ТС] 5
Сдвигать как я понял надо командой RR. Но как проверять именно первый разряд?
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,843
28.11.2019, 02:39 6
Цитата Сообщение от Revanhol Посмотреть сообщение
Но как проверять именно первый разряд?
Assembler
1
JB ACC.0
или
Assembler
1
JB ACC.1
Х.З. что в вашем учебном задании подразумевается под первым разрядом.
1
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
03.12.2019, 00:18  [ТС] 7
Что-то я совсем дуб-дубом, никак не получается решить эту задачу. Помогите пожалуйста составить программу
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,843
03.12.2019, 01:54 8
Цитата Сообщение от Revanhol Посмотреть сообщение
Что-то я совсем дуб-дубом, никак не получается решить эту задачу. Помогите пожалуйста составить программу
Ну хоть что-то вы пробовали написать? Если да, то покажите. Если нет, желание помочь уменьшается на два порядка.
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
03.12.2019, 02:02  [ТС] 9
Ну мой алгоритм был таков: Я помещал значение в ячейку 06H, после чего переносил значение в аккумулятор. Происходил перевод в двоичное число и я использовал команду JB (в правильности использования ее я не уверен, ибо сперва пытался использовать JB ACC.0,P0, после чего выводилась команда JB ACC.0,80H, так что переносил я в R1, после чего в порт) следом три раза сдвигал значение аккумулятора вправо при помощи команды RR A, а затем вывод в R3. Но ничего не работает, что впрочем и не удивительно( (читал что эта команда переносит в метку, но до сего момента на занятиях с метками я не сталкивался)
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,843
03.12.2019, 02:18 10
Цитата Сообщение от Revanhol Посмотреть сообщение
Ну мой алгоритм был таков:
Код можете показать? Ибо ваше словесное описание не даёт возможности узнать в чём вы ошиблись.
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
03.12.2019, 21:05  [ТС] 11
Вот
Миниатюры
МК-51. Составить на ассемблере МК51 и отладить программу  
0
Модератор
Эксперт CЭксперт С++
4955 / 4364 / 818
Регистрация: 07.10.2015
Сообщений: 9,084
03.12.2019, 21:16 12
Revanhol, что вот? Текстом, а не картинкой...
0
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
03.12.2019, 21:52  [ТС] 13
Assembler
1
2
3
4
5
6
7
MOV R6,#FFH
MOV A,R6
JB ACC.0,P0
RR A
RR A
RR A
MOV R3,A
Добавлено через 26 минут
Немного поразмыслив, решил сделать иначе. Прогоном условий получается вроде верно, но если нет, то поправьте пожалуйста
Assembler
1
2
3
4
5
6
7
8
M1: MOV P0,A
MOV R6,#FAH
MOV A,R6
JB ACC.1,M1
RR A
RR A
RR A
MOV R3,A
Но скорее всего если и верно, я очень сильно накосячил со вводом из ячейки впд 0006h и выводом в регистр R3 банка 0 (что за банки вообще?)
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,843
03.12.2019, 22:00 14
Лучший ответ Сообщение было отмечено Revanhol как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
  MOV   DPTR,#6H
  MOVX  A,@DPTR 
  JB    ACC.1,L1
  RR A
  RR A
  RR A
  MOV R3,A
  SJMP  LEND
L1:
  MOV   P0,A
LEND:
1
0 / 0 / 0
Регистрация: 17.05.2019
Сообщений: 8
04.12.2019, 02:20  [ТС] 15
Цитата Сообщение от northener Посмотреть сообщение
Assembler
1
2
3
4
5
6
7
8
9
10
11
  MOV   DPTR,#6H
  MOVX  A,@DPTR 
  JB    ACC.1,L1
  RR A
  RR A
  RR A
  MOV R3,A
  SJMP  LEND
L1:
  MOV   P0,A
LEND:
Спасибо большое, я кажется разобрался)
0
пофигист широкого профиля
4436 / 2926 / 828
Регистрация: 15.07.2013
Сообщений: 16,843
04.12.2019, 02:38 16
Цитата Сообщение от Revanhol Посмотреть сообщение
я кажется разобрался
Когда кажется, креститься надобно.
Надеюсь вы что-то, где-то прочитали про регистр DPTR, про инструкцию MOVX и инструкцию SJMP
Если будут вопросы, обращайтесь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2019, 02:38

Составить и отладить программу
Составить и отладить программу вычисления значения функции с помощью бесконечного ряда Тейлора с...

Составить и отладить программу
Составить и отладить программу нахождения расстояния на плоскости между точками (х1,у1) и (х2,у2)....

Составить и отладить программу С#
Составить и отладить программу С#

Средствами С++ составить и отладить программу
Средствами С++ составить и отладить программу, позволяющую определить лежит ли точка с произвольной...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.