Как 64-разрядное десятичное число хранится в 32-разрядных адресах? - PullRequest
1 голос
/ 14 июня 2011

Я занимаюсь программированием на MIPS, в котором есть набор 32-битных регистров, но я также знаю, что вы можете хранить 64-битные целые числа, как это работает?Целое число занимает два регистра?Если да, то как система знает, как объединить два регистра в одну длинную строку двоичного файла

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Согласно Википедии , 32-разрядный набор команд MIPS включает в себя инструкции «Загрузить двойное слово» и «Сохранить двойное слово», которые загружают / сохраняют пару последовательных регистров из / в память.

Что касается фактической арифметики, то, похоже, вам обычно приходится использовать несколько инструкций.

0 голосов
/ 14 июня 2011

Вам необходимо проверить документацию для вашей платформы, так как она может отличаться.Например, для 32-битного MIPS, проверьте что-то вроде краткий справочник (см. Часть «Соглашение о вызовах C»).

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

...