пpинцип yмножения/деления

Привет, Alexander

Thursday July 17 2003 12:58, Alexander Russkih wrote to All:

AR> Расскажите по какомy пpинципy можно выполнить yмножение/деление AR> двоичных чисел. на

formatting link
была ссылка (называлась что-то вроде "арифметические операции") на зазипованный вордовский файл. там по русски расписаны алгоритмы умножения и деления и приведены программы для avr-ок с оптимизацией по коду и по времени выполнения.

WBR, Sergo. [

formatting link
]

Reply to
Sergey Khudyakov
Loading thread data ...

Alexander Russkih и All в прошлый раз беседовали в четверг, 17-го июля, в 12:58

Как твои дела, Alexander ?

AR> Расскажите по какомy пpинципy можно выполнить yмножение/деление AR> двоичных чисел.

Умножать еще пpоще, чем делить. Опять в столбик. Складывай да сдвигай, складывай да сдвигай.

Пpимеp: 6*7=42

6=110 7=111 110 111

------------ 110 110 110

------------ 101010

101010=42

Hу бывай! Пиши, Alexander, незабывай!

Reply to
Leonid Egorov

Hello Alexander!

17 Jul 31 12:58, Alexander Russkih wrote to All:

AR> Расскажите по какомy пpинципy можно выполнить yмножение/деление AR> двоичных чисел.

Столбиком, как это учили во втоpом классе начальной школы.

Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и поместить pезультат в Це и пеpенос". Что неудобно. Я где-то видел готовый кусок алгоpитма сложения длинных (Больше 16 pазpядов) чисел. Искать на альтависте по "teacrypt AND pic"

Anatoly

Reply to
Anatoly Mashanov

AR> Расскажите по какомy пpинципy можно выполнить yмножение/деление двоичных AR> чисел.

В общем случае, самый оптимальный способ -- в столбик. Hо случаи бывают разные, как и методы: сложением, через таблицу квадратов, через сумму логарифмов...

Reply to
Kirill Frolov

Привет, Sergey

Saturday July 19 2003 10:34, Sergey Khudyakov wrote to Alexander Russkih: SK> Thursday July 17 2003 12:58, Alexander Russkih wrote to All:

AR>> Расскажите по какомy пpинципy можно выполнить yмножение/деление AR>> двоичных чисел. SK> на

formatting link
была ссылка (называлась что-то вроде "арифметические SK> операции") на зазипованный вордовский файл. там по русски расписаны SK> алгоритмы умножения и деления и приведены программы для avr-ок с SK> оптимизацией по коду и по времени выполнения. вот точная ссылка:
formatting link
WBR, Sergo. [
formatting link
]

Reply to
Sergey Khudyakov

Hi!

In a message of 21 Jul 03 Kirill Frolov wrote to Anatoly Mashanov:

AM>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>> поместить pезультат в Це и пеpенос". Что неудобно.

KF> Есть: KF> addwf A KF> btfsc STATUS, C KF> incf B, f

Сказали сделать то, что обычные процы делают командой addc, adc, etc. Hа пике это - много команд. Так как adc не только прибавляет перенос, но ещё и выставляет его корректно, а извраты с отдельным прибавлением числа и переноса таким свойством не обладают.

Bye...

Reply to
Vadik Akimoff

Привет Vadik!

Monday July 21 2003 18:22, Vadik Akimoff wrote to Kirill Frolov:

VA> Hi! VA>

VA> In a message of 21 Jul 03 Kirill Frolov wrote to Anatoly Mashanov: VA>

AM>>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>>> поместить pезультат в Це и пеpенос". Что неудобно. VA>

KF>> Есть: KF>> addwf A KF>> btfsc STATUS, C KF>> incf B, f VA>

VA> Сказали сделать то, что обычные процы делают командой addc, adc, etc. Hа VA> пике это - много команд. Так как adc не только прибавляет перенос, но ещё VA> и выставляет его корректно, а извраты с отдельным прибавлением числа и VA> переноса таким свойством не обладают.

А вот в MCS-48 так вообще команды вычитания небыло....

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link

Reply to
Alexander Torres

Hi Anatoly, hope you are having a nice day!

22 Июл 03, Anatoly Mashanov wrote to Kirill Frolov:

AM>>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>>> поместить pезультат в Це и пеpенос". Что неудобно.

KF>> Есть: KF>> addwf A KF>> btfsc STATUS, C KF>> incf B, f

AM> А тепеpь подумай, что у тебя получится пpи сложении 0x0000FFFF и AM> 0x00000001. Подсказываю: 0x00000000 вместо 0x00010000

Проще всего сначала скопировать B в С, а потом пройтись стандартным алгоритмом сложения.

movf A,W btfsc STATUS,C incfsz A,W addwf С,F

и т.д.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Reply to
Alexey V Bugrov

Hi Vadik, hope you are having a nice day!

21 Июл 03, Vadik Akimoff wrote to Kirill Frolov:

AM>>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>>> поместить pезультат в Це и пеpенос". Что неудобно.

KF>> Есть: KF>> addwf A KF>> btfsc STATUS, C KF>> incf B, f

VA> Сказали сделать то, что обычные процы делают командой addc, adc, etc. VA> Hа пике это - много команд. Так как adc не только прибавляет перенос, VA> но ещё и выставляет его корректно, а извраты с отдельным прибавлением VA> числа и переноса таким свойством не обладают.

"Извраты" таким свойством обладают:

movf A,W btfsc STATUS,C incfsz A,W addwf B,F

А вот флаг Z действительно выставляется некорректно.

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Reply to
Alexey V Bugrov

Здравствуй, Alexander Torres! июля месяца двадцать первого дня ты писал(а):

[...]

VA>>

VA>> Сказали сделать то, что обычные процы делают командой addc, adc, etc. VA>> Hа пике это - много команд. Так как adc не только прибавляет перенос, VA>> но ещё и выставляет его корректно, а извраты с отдельным прибавлением VA>> числа и переноса таким свойством не обладают.

AT> А вот в MCS-48 так вообще команды вычитания небыло....

Потому они и померли :-))).

Хорошо хоть в PIC18 появились ADDWFC и SUBWFB/SUBFWB, а то очень уж громоздкая арифметика для многобайтных чисел получалась.

С уважением, Игорь Хавторин (aka Gary). E-mail: gary <точк> kedr <собак> overta <точк> ru /Черт бы побрал всех этих спамеров/

Reply to
Igor Havtorin

Hello Kirill!

21 Jul 31 04:23, Kirill Frolov wrote to Anatoly Mashanov:

AM>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>> поместить pезультат в Це и пеpенос". Что неудобно.

KF> Есть: KF> addwf A KF> btfsc STATUS, C KF> incf B, f

А тепеpь подумай, что у тебя получится пpи сложении 0x0000FFFF и 0x00000001. Подсказываю: 0x00000000 вместо 0x00010000

Anatoly

Reply to
Anatoly Mashanov

Hi!

In a message of 22 Jul 03 Alexey V Bugrov wrote to me:

VA>> Сказали сделать то, что обычные процы делают командой addc, adc, etc. VA>> Hа пике это - много команд. Так как adc не только прибавляет перенос, VA>> но ещё и выставляет его корректно, а извраты с отдельным прибавлением VA>> числа и переноса таким свойством не обладают. AVB> "Извраты" таким свойством обладают:

AVB> movf A,W AVB> btfsc STATUS,C AVB> incfsz A,W AVB> addwf B,F

Хитро :) А с вычитанием что?

Bye...

Reply to
Vadik Akimoff

Hi Vadik, hope you are having a nice day!

22 Июл 03, Vadik Akimoff wrote to Alexey V Bugrov:

VA>>> etc. Hа пике это - много команд. Так как adc не только VA>>> прибавляет перенос, но ещё и выставляет его корректно, а извраты VA>>> с отдельным прибавлением числа и переноса таким свойством не VA>>> обладают. AVB>> "Извраты" таким свойством обладают:

AVB>> movf A,W AVB>> btfsc STATUS,C AVB>> incfsz A,W AVB>> addwf B,F

VA> Хитро :) VA> А с вычитанием что?

Совершенно аналогично:

movf A,W btfss STATUS,C incfsz A,W subwf B,W

Читайте аппноты - они рулез. :)

WBR, AVB

ICQ# 43835774 mailto: avb<at>dialup.etr.ru

Reply to
Alexey V Bugrov

Привет Igor!

Tuesday July 22 2003 09:57, Igor Havtorin wrote to Alexander Torres:

VA>>> Сказали сделать то, что обычные процы делают командой addc, adc, VA>>> etc. Hа пике это - много команд. Так как adc не только прибавляет VA>>> перенос, но ещё и выставляет его корректно, а извраты с отдельным VA>>> прибавлением числа и переноса таким свойством не обладают. IH>

AT>> А вот в MCS-48 так вообще команды вычитания небыло.... IH>

IH> Потому они и померли :-))).

Вот видишь, а с пиками они почти ровесники...

IH> Хорошо хоть в PIC18 появились ADDWFC и SUBWFB/SUBFWB,

Что, в самом деле появились? :-)

IH> а то очень уж громоздкая арифметика для многобайтных IH> чисел получалась.

Если много многобайтной арифметики - пора уже о чем-то 16-битном думать...

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link

Reply to
Alexander Torres

AM> Hello Kirill!

AM> 21 Jul 31 04:23, Kirill Frolov wrote to Anatoly Mashanov:

AM>>> Да, пока не забыл. В ПИКе нет команды "Сложить А, Бэ и пеpенос и AM>>> поместить pезультат в Це и пеpенос". Что неудобно.

KF>> Есть: KF>> addwf A KF>> btfsc STATUS, C KF>> incf B, f

AM> А тепеpь подумай, что у тебя получится пpи сложении 0x0000FFFF и AM> 0x00000001. AM> Подсказываю: 0x00000000 вместо 0x00010000 addwf A btfsc STATUS, C incfsz B, f decf D, f incf D, f ...

Reply to
Kirill Frolov

Здравствуй, Alexander Torres! июля месяца двадцать второго дня ты писал(а):

[...] IH>> Потому они и померли :-))).

AT> Вот видишь, а с пиками они почти ровесники...

Может и PIC16 уже пора хоронить? :-)))

IH>> Хорошо хоть в PIC18 появились ADDWFC и SUBWFB/SUBFWB,

AT> Что, в самом деле появились? :-)

Говорят что появились. Надо будет взять какой-нибудь PIC18Cxxx/JW и проверить через окошко :-)).

IH>> а то очень уж громоздкая арифметика для многобайтных IH>> чисел получалась.

AT> Если много многобайтной арифметики - пора уже о чем-то 16-битном AT> думать...

Работа при высоких температурах: тактовая и питание по возможности минимальные, отсюда быстродействие 8-(, int - еще терпимо, а начиная с long - полный абзац. А насчет 16-битных - уже думалось (обзорно). Основные требования - наличие высокотемпературных вариантов (Extended или Automotive) и 10-12-битный АЦП на борту (3-4 канала), не помешают, так же, ШИМ и SPI. Были бы кстати IIC/UART, но в крайнем случае сойдут и программные :). Может видел/слышал/применял и посоветуешь чего с вершин своего опыта?

С уважением, Игорь Хавторин (aka Gary). E-mail: gary <точк> kedr <собак> overta <точк> ru /Черт бы побрал всех этих спамеров/

Reply to
Igor Havtorin

Hi!

In a message of 22 Jul 03 Alexey V Bugrov wrote to me:

VA>> А с вычитанием что? AVB> Совершенно аналогично: [skip]

AVB> Читайте аппноты - они рулез. :)

Аппноты рулез конечно, но всех не перечитаешь :) Полезно однако и тут поднять кой-какие вопросы...

Bye...

Reply to
Vadik Akimoff

Hello Igor!

IH>>> Хорошо хоть в PIC18 появились ADDWFC и SUBWFB/SUBFWB,

AT>> Что, в самом деле появились? :-)

IH> Говорят что появились. Hадо будет взять какой-нибудь PIC18Cxxx/JW IH> и проверить через окошко :-)).

Извращенец. Возъми PIC18F458 - флешевый, DIP40, ноги как у PIC16C74го, стоимость (у Microchip.ru в магазине) ниже 290 руб. И балуйся на здоровье ;-)

Rifkat

[Team /GRAVE\] snipped-for-privacy@mail.ru
Reply to
Rifkat Abdulin

Здравствуй, Alexander Torres! июля месяца двадцать третьего дня ты писал(а):

[...] IH>>

IH>> Говорят что появились. Hадо будет взять какой-нибудь PIC18Cxxx/JW IH>> и проверить через окошко :-)).

AT> Проверь, а я пока на Си напишу, и пусть он сам думает - какие там у AT> процессора команды. вот еще на пик18 память экономить....

Таки и я на С, но вот попадаются очень "узкие" по времени места, где приходится одну-две процедурки на ASM написать - там и намаялся.

IH>> А насчет 16-битных - уже думалось (обзорно). Основные требования - IH>> наличие высокотемпературных вариантов (Extended или Automotive) и IH>> 10-12-битный АЦП на борту (3-4 канала), не помешают, так же, ШИМ и IH>> SPI. Были бы кстати IIC/UART, но в крайнем случае сойдут и программные IH>> :). Может видел/слышал/применял и посоветуешь чего с вершин своего IH>> опыта?

AT> Применял давно, сейчас неактуально. Тут тебе например про TI все AT> расскажут, а мне они не подошли, посему хватает пока 8-битных пиков, AT> 51-х и ST7.

"Будем искать" (с).

С уважением, Игорь Хавторин (aka Gary). E-mail: gary <точк> kedr <собак> overta <точк> ru /Черт бы побрал всех этих спамеров/

Reply to
Igor Havtorin

Здравствуй, Rifkat Abdulin! июля месяца двадцать четвертого дня ты писал(а):

IH>>>> Хорошо хоть в PIC18 появились ADDWFC и SUBWFB/SUBFWB,

AT>>> Что, в самом деле появились? :-)

IH>> Говорят что появились. Hадо будет взять какой-нибудь PIC18Cxxx/JW IH>> и проверить через окошко :-)).

RA> Извращенец. Возъми PIC18F458 - флешевый, DIP40, ноги как у PIC16C74го, RA> стоимость (у Microchip.ru в магазине) ниже 290 руб. И балуйся на RA> здоровье ;-)

Ты чесчур серьезно воспринял этот абзац (странно - даже смайлы не помогли). Предлагалось через окошко (у кого слабое зрение - с помощью микроскопа :-), заглянуть внутрь (должна же где-то на "камне" быть выбита система команд :-))).

RA> Rifkat

С уважением, Игорь Хавторин (aka Gary). E-mail: gary <точк> kedr <собак> overta <точк> ru /Черт бы побрал всех этих спамеров/

Reply to
Igor Havtorin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.