MIPS twos дополняет преобразование 64-битного числа с завершающими нулями - PullRequest
0 голосов
/ 03 мая 2018

Я пишу 64-битный IEEE 754 сумматор / вычитатель / множитель

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

Я не могу понять, как преобразовать 64-битное число, хранящееся в 2 регистрах; сказать 0x82b4effc 0x64000000, где само число (0x82b4effc64) дополняется двумя, за которыми следуют завершающие нули.

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

...