Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.09.2011, 00:51  
ALEKS1102X
Заблокирован
 
Регистрация: 19.02.2007
Адрес: Барановичи
Сообщений: 255
Сказал спасибо: 3
Сказали Спасибо 51 раз(а) в 39 сообщении(ях)
ALEKS1102X на пути к лучшему
По умолчанию Re: Ассемблер

nonamedov,если Вы имели в виду,что для LCD надо было прибавить 30h,а для семисегментного разрулить по таблице,дык,я думаю,что топикстартер и без нас с Вами это знает?!!
Реклама:
ALEKS1102X вне форума  
Непрочитано 16.09.2011, 02:48  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Ассемблер

Сообщение от omercury Посмотреть сообщение
Это не даст делить число меньше ста на 100 (то же и для 10)...
Результат-то МК выдаст, да вот только неверный...
Ну вот, не топик, а Бермудский треугольник разума, при делении меньшего целого на большее целое число, то в результате, мы получим нулевое частное, а число переместится без изменения в остаток, все! Причем, это справедливо и
в моем понимании поставленной задачи и в понимании yurkin2007, при делении c помощью div или простым вычитанием (это проверка там идет всегда, но оно входит в сам алгоритм деления и проверка происходит многократно). Да и 0 тоже число . Элементарные вещи, но, к сожалению, на этом топике приходится объяснять и такие вещи.

AMilyushin, да все там правильно, есть некоторое неопределенности, но это от самого вопроса! Вот, эти неопределенности:
1) 044b = 1099 или 044h = 68?
2) количество десятков в шестнадцатеричном числе, это частное от деления на 10 или число число десятичном разряде в эквивалентном десятичном числе?

Насчет первого, я уже склоняюсь к варианту 044b=1099 (если исключить ошибку в вопросу, что более логично), насчет второго, то логичнее предположить, что это цифра во втором разряде эквивалентного десятичного числа. Думаю, в задаче требуется найти BCD код десятичной части числа.

PS. Надеюсь, меня никто не обвинит, что я как количество десятков в шестнадцатеричном числе понял именно частное от деления на десять, а что вы бы поняли, если у вас спросили количество двоек в десятичном числе? Неужели цифру в единичном разряде соответствующего двоичного числа, что то не верится!
Итак, в моем последнем понимании и как мне кажется, наиболее логичном варианте, код должен быть таким:
Сообщение от nonamedov Посмотреть сообщение
mov a, low(044Bh);
mov r1, high(044Bh);
jmp loop;
;***********************
carry:
clr c
dec r1;
jc exit;
add a, 0FFh;
jmp loop;
;************************
loop:
clr c;
subb a, #10;
jc carry;
jmp loop;
;**********************
exit:
add a, #10;
mov r2, a;
clr a
orl a,P1
orl a,#0fh
orl a,r2
mov P1,a
nonamedov вне форума  
Непрочитано 16.09.2011, 02:55  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Ассемблер

ALEKS1102X, о чем Вы, какое LCD??? Пишите связно! Ваша программа ошибочна, могу показать, но ,надеюсь, в этом нет особой необходимости.
nonamedov вне форума  
Непрочитано 16.09.2011, 03:49  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Ассемблер

Не, последний вариант программы никуда не годится, уважаемый nonamedov !
Во-первых, в результате бесконечного вычитания 10 в остатке получится кол-во единиц, которое потом используетеся. А нужно кол-во десятков.
Во-вторых, декремент не влияет на флаги, и программа никогда не выйдет из цикла на метку exit. Тут, видимо, снова нужон SUBB а,#1 с предварительным сохранением аккумулятора где-нибудь и переносом r1 в аккумулятор. Вобщем, дроби какие-то ...
PS. У меня, например, в 3 часа ночи хреново получается быстро писать на ассемблере

Последний раз редактировалось Yurkin2007; 16.09.2011 в 19:50.
Yurkin2007 вне форума  
Непрочитано 16.09.2011, 04:30  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Ассемблер

Во, нашёл DJNZ, decrement and jump if not zero, годится для данного случая. Позволю себе подредактировать Вашу программу:

Цитата:
mov a, low(044Bh);
mov r1, high(044Bh);
inc r1;
clr c;
;************************
loop:
subb a, #100;
jnc loop;
clr c;
djnz r1, loop;
;**********************
add a, #100; в аккумуляторе остаток от деления на 100
mov b,#10;
div ab;
mov b, a;
mov a, P1;
anl a, #0F0h;
orl a, b;
mov P1, a;
Yurkin2007 вне форума  
Непрочитано 16.09.2011, 19:46  
nonamedov
Почётный гражданин KAZUS.RU
 
Регистрация: 06.06.2008
Сообщений: 1,530
Сказал спасибо: 78
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
nonamedov на пути к лучшему
По умолчанию Re: Ассемблер

Yurkin2007, да, Вы правы, удаляю предыдущий пост, чтобы не повторять Ваш. Спасибо.
nonamedov вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Algorithm Builder бесплатный графический ассемблер для AVR avr123-nm-ru Микроконтроллеры, АЦП, память и т.д 56 28.07.2014 20:19
Из Hex в ассемблер и потом в СИ 1864961 Цифровые сигнальные процессоры 12 14.02.2012 16:59
Кросс ассемблер 8080/85 joogorden Микроконтроллеры, АЦП, память и т.д 18 11.07.2011 15:59
Ассемблер PIC AnB Микроконтроллеры, АЦП, память и т.д 12 01.07.2005 03:07


Часовой пояс GMT +4, время: 16:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot