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

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

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

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

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

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

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

 
Опции темы

Мк51: Торможу с делением двух чисел.

Непрочитано 21.10.2004, 07:49  
andrey tretyakov
Гость
 
Сообщений: n/a
По умолчанию Мк51: Торможу с делением двух чисел.

Помогите, пожалуйста.

Воощем попросили меня написать программу для МК51. Программировать я умею, но как то все больше на С++ (да, прикладник... ).
Но ничего, разобрался в его ассемблере, обсосал задачу.
Но встала единственная проблема:

После всех движений, в регистрах R0, R1 получается 16битное число, которое надо разделить на коэффициент 62. (Или 31). Делить 16 бит на степени 2ки я умею. Делить 8 бит на 8 бит - команда есть.

А как разделить 16 бит на 8 бит не являющейся степенью 2ки?

Подскажите, или в урл полезный ткните...
Реклама:
 
Непрочитано 21.10.2004, 12:11  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Мк51: Торможу с делением двух чисел.

Сообщение от andrey tretyakov
Воощем попросили меня написать программу для МК51. Программировать я умею, но как то все больше на С++ (да, прикладник... ).
Но ничего, разобрался в его ассемблере, обсосал задачу.
Но встала единственная проблема:

После всех движений, в регистрах R0, R1 получается 16битное число, которое надо разделить на коэффициент 62. (Или 31). Делить 16 бит на степени 2ки я умею. Делить 8 бит на 8 бит - команда есть.

А как разделить 16 бит на 8 бит не являющейся степенью 2ки?

Подскажите, или в урл полезный ткните...
Вот нашел что-то в архивах:
Код:
;----------------------------------------------
; Деление 2-х байтного на 1 байтное без знака
; Исходное R6:R5, делитель R4, результат на
; месте исходного, остаток в аккумуляторе
;
; Портим:ACC,PSW,R4-R7 (R4 не меняется, R7=0)
; Время - 255 тактов макс
; Работать должна в 0 банке регистров!
; не проверяется деление на 0
;----------------------------------------------
;
; ЗЫ: интересно, а можно ли еще короче?
; наверное - предыдущий вариант был 260 тактов.
;			(C)NML, 21-Sep-2000
;----------------------------------------------

DIV21B:
	clr	A		;
	mov	R7,#16		;
	clr	C		;[7]
				;
$L:
	xch	A,R5		; 
	rlc	A		;
	xch	A,R5		;
	xch	A,R6		;
	rlc	A		;
	xch	A,R6		;
	rlc	A		;

	cjne	A,4,$+3		; 4 = R4 банка 0
	jc	$W		;
	subb	A,R4		;
$W:
	cpl	C		;
	djnz	R7,$L		;[15*16]

	xch	A,R5		; 
	rlc	A		;
	xch	A,R5		;
	xch	A,R6		;
	rlc	A		;
	xch	A,R6		;
	
	RET			;[8]  Sum=[255] max ! с вызовом и возвратом
;----------------------------------------------
nml вне форума  
Непрочитано 21.10.2004, 12:49  
andrey tretyakov
Гость
 
Сообщений: n/a
По умолчанию Re: Мк51: Торможу с делением двух чисел.

Сообщение от nml
Вот нашел что-то в архивах:[code]
Спасибо большое!
 
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование чисел Alien2057 Цифровые сигнальные процессоры 1 25.04.2009 09:44
Программа перевода чисел. FOLKSDOICH Микроконтроллеры, АЦП, память и т.д 5 17.08.2008 14:12
Умножение многоразрядных чисел на PIC Tujman Микроконтроллеры, АЦП, память и т.д 1 04.02.2007 23:12
генератор случайных чисел ZyXEL Микроконтроллеры, АЦП, память и т.д 1 26.02.2006 08:49
РПП в МК51 Romio Микроконтроллеры, АЦП, память и т.д 4 19.10.2005 10:39


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.