Вопрос

Я читал о разделении в MIPS и нашел этот div

Разделяет $ S на $ T и хранит коэффициент в $ lo, а остаток в $ hi

http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

И Википедия говорит

HI и LO используются для доступа к результатам умножения/делителя, доступ к которым осуществляется с помощью команд mfhi (перемещение от высокого уровня) и mflo.

http://en.wikipedia.org/wiki/MIPS_architecture

Являются ли регистры HI и LO?Какие это числовые регистры?

Это было полезно?

Решение

Это специальные регистры используется для хранения результатов умножения и деления.Они не подлежат непосредственному обращению.Доступ к их содержимому осуществляется по специальным инструкциям. mfhi и mflo

Они присутствуют в блоке умножения и имеют размерность 32 бита каждый.Больше информации здесь.

Другие советы

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

редактировать:в соответствии с это описание класса, это действительно специальные регистры, поэтому они не пронумерованы и доступны только с помощью специальных команд.

Что делает LO, так это то, что для умножения он сохраняет младшие биты, а HI сохраняет остальные биты, но в основном мы просто фокусируемся на части LO для умножения.В дивизионе мы уделяем внимание обоим.LO при делении — это место, где должно храниться частное, а HI — остаток.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top