Easyelectronics.ru

Электроника для всех
Текущее время: 08 мар 2021, 09:27

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 20:16 
Здравствуйте!

Зарегистрирован: 04 дек 2012, 19:22
Сообщения: 4
Добрый вечер. Никак не могу понять как можно сделать умножение двух четырехразрядных чисел, предварительно разместив их в резидентной памяти данных. (Например, мне нужно перемножить 0xFFFFh * 0xA85Dh)

Вся проблема в том, что аккамулятор максимум хранит 2 разряда.

Вроде как нужно сделать что-то типа умножения столбиком - но реализовать не получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 20:24 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 4383
Откуда: г. Липецк
shik писал(а):
... но реализовать не получается.

Сначала скажите, на каком языке вы пытаетесь это реализовать ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 20:27 
Здравствуйте!

Зарегистрирован: 04 дек 2012, 19:22
Сообщения: 4
anakost писал(а):
shik писал(а):
... но реализовать не получается.

Сначала скажите, на каком языке вы пытаетесь это реализовать ?


Ассемблер


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 20:33 
Заглядывает иногда

Зарегистрирован: 15 ноя 2012, 15:49
Сообщения: 61
Откуда: г. Москва
Во-первых, не четырехразрядных, а четырехбайтных. Во-вторых, аккумулятор хранит не 2 разряда, а 1 байт. Если ты имеешь ввиду регистр В, то это не аккумулятор. А в-третьих, держи код и говори спасибо.


Вложения:
mul2.rar [1.14 Кб]
Скачиваний: 327
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 20:36 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
У вас довольно примечательное первое число, можно всё выражение заменить на
0x10000h * 0xA85Dh - 0xA85Dh
Первое умножение реализуется смещением (на целое колличество байтов), ну а вычитание думаю осилите без проблем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 21:17 
Здравствуйте!

Зарегистрирован: 04 дек 2012, 19:22
Сообщения: 4
amx писал(а):
У вас довольно примечательное первое число, можно всё выражение заменить на
0x10000h * 0xA85Dh - 0xA85Dh
Первое умножение реализуется смещением (на целое колличество байтов), ну а вычитание думаю осилите без проблем.


Числа были для примера. Там могут быть любые от 0x0000 до 0xFFFF


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 8051+asm, нужна подсказка
СообщениеДобавлено: 04 дек 2012, 21:28 
Здравствуйте!

Зарегистрирован: 04 дек 2012, 19:22
Сообщения: 4
С_Ч писал(а):
Во-первых, не четырехразрядных, а четырехбайтных. Во-вторых, аккумулятор хранит не 2 разряда, а 1 байт. Если ты имеешь ввиду регистр В, то это не аккумулятор. А в-третьих, держи код и говори спасибо.


А вам спасибо. Комментарии очень порадовали)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB