assembly mips cpu-registers

assembly - En MIPS, ¿qué es HI y LO?



cpu-registers (3)

Estoy leyendo acerca de la división en MIPS y he encontrado que div

Divide $ s por $ t y almacena el cociente en $ LO y el resto en $ HI

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

Y Wikipedia dice

HI y LO se utilizan para acceder a los resultados del multiplicador / divisor, a los que acceden los comandos mfhi (mover desde alto) y mflo.

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

¿Son los registros HI y LO? ¿Qué número de registros son?


HI y LO no son registros numerados, IIRC. Solo se utilizan para almacenar los resultados de las operaciones que no cabrían en un solo registro (por ejemplo, multiplicar dos enteros de 32 bits podría resultar en un entero de 64 bits, por lo que el desbordamiento se produce en HI).

edición: de acuerdo con esta descripción de clase , de hecho son registros especiales, por lo que no están numerados, y solo son accesibles mediante comandos especiales.


Lo que LO hace es que para la multiplicación, almacena los bits menos significativos, y HI almacena el resto de los bits, pero principalmente, solo nos enfocamos en la parte LO para la multiplicación. En la división, nos centramos en ambos. LO en la división es donde se debe almacenar el cociente y HI es el resto.


Estos son registros especiales utilizados para almacenar el resultado de la multiplicación y división. No son direccionables directamente. Se accede a sus contenidos con instrucciones especiales mfhi y mflo

Están presentes en la Unidad de multiplicación y son de 32 bits cada una. Más información here .