![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 20.04.2016
Сообщений: 4
|
![]()
Доброго времени суток! Подскажите, пожалуйста, выдали задание: Подпрограмма преобразования 8-разрядного числа из BCD-кода в двоичный код. Число передается в регистре R4, результат – в регистре R3. Кто-нибудь может подсказать, как это реализовать в Keil Vision (для микропроцессора МК-51)? Столкнулась с этим впервые и очень хочется в этом разобраться! Спасибо заранее!
![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Я когда-то работал в Keil. C ним идут примеры: "hello, world", светофор и т.д. В общем, нужно пробовать, выполнить в начале MOV, потом ADD, смотреть в отладчике, что происходит, смотреть документацию, которая идёт с Keil, документацию на МК-51 (он же 8051, 8052 (с большей оперативкой))
Купите или скачайте эту замечательную книжку: Микроконтроллеры серии 8051. Практический подход В ней как раз МК-51 в среде Keil |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 20.04.2016
Сообщений: 4
|
![]()
Нет, начальное понимание имеется: на днях разобралась как пересылать массив из ПЗУ в ОЗУ. Конкретно по этому заданию, я так понимаю, что мы помещаем в регистры двоичный код, а затем при помощи call bcd вызываем подпрограмму для преобразования BCD кода...? В общем, я запуталась >_<. Помогите, пожалуйста!
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
На каждую команду есть описание в документации: 8051 Instruction Set Manual или такая табличка
Можно много разных нагуглить. В общем, как видите бывает два вида Call: ACALL и LCALL В общем, нужно открыть документацию, вчитываться и в пошаговом режиме в отладчике проверять, правильно ли вы понимаете, как работает та или иная команда ассемблера Главное, не паникуйте. Решите вашу задачу на листочке. Вы можете на листочке расписать "алгоритм преобразования 8-разрядного числа из BCD-кода в двоичный код"? Сам алгоритм вы чётко и ясно преставляете на листочке и в голове? |
![]() |
![]() |
![]() |
#5 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
этож команда DA A, в чём проблема-то? перегнать в аккумулятор из регистра и обратно?
100500 лет назад я писал такой отладчик на дельфи. вот кусок (еле откопал) : Код:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось min@y™; 20.04.2016 в 21:44. |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 20.04.2016
Сообщений: 4
|
![]()
Понимаете, я учусь на специальности, которая в принципе с этим связана довольно косвенно. И информатика у меня была только 1 семестр 1 курса в виде общих лекций. А сейчас просто поставлена перед фактом
![]() ![]() |
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 20.04.2016
Сообщений: 4
|
![]()
Спасибо, буду разбираться!
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
Alissa93, попробуйте написать и показать, как выделить из байта младшую тетраду на ассеблере. Или вы пишите на Си? Если на Си, то это тоже несложно
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
(Keil uvision)Генерирование составного сигнала | f_tony_f | Фриланс | 2 | 25.03.2014 08:38 |
Keil Vision 3 и ASM | cbuilderx | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 08.01.2014 15:25 |
Keil, aduc842 | Катюшка89 | Помощь студентам | 0 | 27.12.2012 19:05 |
Проги на Keil | lolwhat | Помощь студентам | 6 | 07.06.2012 22:22 |
задачи на keil | werturo | Фриланс | 0 | 22.05.2012 23:15 |