Другие языки программирования и технологии

Расскажите что-нибудь на тему арифметики длинных чисел на MIPS ассемблере?

Нужно написать программу проводящую арифметические операции с длинными числами, так как понятия не имею о чем это то если можно расскажите структуру написания программа или какие ф-ии использовать, что-нибудь в этом направлении. Сложно ли это написать?
**
***антон ***
254
Длинные имеется в виду, которые не помещаются ни в какие регистры? Типа 100! или 100^100.
Знаю, Лисп может работать с такими числами, только там это и не числа вовсе. Вам нужно узнать какой-нибудь алгоритм и реализовать его на ассемблере, но это будет довольно трудно. Лисп работает со списками, вот и возьмите идею представления числа в виде списка и введите алгоритмы арифметики со списками на ассемблере. Естественно, что быстродействие будет гораздо ниже.
АР
Александр Рогозин
14 410
Лучший ответ
НУ ты и спросил.. . )))
Раньше этим занимался арифметический сопроцессор. Сейчас всё возложено на процессор (ввиду его большой производлительности) . А алгоритм.. . Да это офиuеть сколько нужно знать. Как минимум булевые двоичные функции. . (умножение, деление и т. д. в двоичном коде) .
Вряд ли от тебя это требуют преподы. Наверное ты неправильно поставил вопрос. Что тебе нужно то?

Хих.. .
"Еще есть некие addi и addiu"... Это где ты такое прочитал? Явно это не команды Ассемблера. Но смысл их я понимаю - сложить "i" (целое беззнаковое число) с "u" (целое положительное число) . Хотя могу и ошибаться.. .
Я правильно тебя понял?
Ваня Буржуй
Ваня Буржуй
88 892
как складывать особо длинные числа.. .да даже без понятия.
я вот не понимаю, почему ты не возьмешь в руки конспект, пдф или интернет и не посмотришь что в МИПСе делают такие функуции как адд и адди.
адд - это когда у тебя на последних двух местах регистры, твои ЭС и ТЭ.
адди - это когда ты напрямую, заместо последнего регистра ты заносишь число.

как вгонять переменные в регистры?
ну, тем же адди. просто в регистр ЭС загоняешь число и ноль, например. можно еще командой МУВом.

а по поводу особо больших чисел, то может имеется в виду высшие биты и низшие? Тоесть при умножении, например, число сохраняется в Хай и Лоу. Если число маленькое, то оно все в Хай поместится, а если большое, то командами МУвХай и МувЛоу забирается.

загоняй в гугл слова: mips instructions, открывай свои лекции и вперед.
ПС. - скачай прогу написанную на яве как редактор, что работает с МИПСом. очень классная. кстати в ней, в хелпе найдешь все команды.
дерзай. http://courses.missouristate.edu/KenVollmar/MARS/download.htm

ППС - ADDIU -- Add immediate unsigned (no overflow). я так понимаю это когда уверен что числа положительные.