Tecnología

Inicio

Cómo leer la entrada de matriz 2D en MIPS

Cómo leer la entrada de matriz 2D en MIPS


El lenguaje ensamblador MIPS utiliza líneas de código para instruir a los ordenadores. Al igual que en lenguaje de máquina, una línea de código MIPS se traduce en una sola instrucción, indivisibles de una unidad central de procesamiento. Sin embargo, el código máquina utiliza la notación hexadecimal y otras construcciones, que pueden ser difíciles de comprender de un vistazo. El lenguaje ensamblador es mucho más inmediatamente accesible. Tanto el lenguaje máquina y lenguaje ensamblador tienen sus pecadillos, sin embargo. En MIPS, matrices de datos son listas de valores contiguos. La adición de otras dimensiones altera esto en sólo una forma menor. Se crea una lista contigua de matrices 1D. La comprensión de esta idea es un paso vital para la lectura de los valores de las matrices 2D.

Instrucciones

1 Identificar la ubicación del elemento deseado. Discernir el número de fila y columna. Por ejemplo, considere la matriz:

[3] [4] [3] [2] [1]
[2] [5] [6] [5] [2]
[9] [3] [1] [7] [9]
[1] [2] [3] [4] [5]
[5] [6] [5] [6] [5]

Esta matriz 2D es una serie de cinco filas y cinco columnas. Si el elemento deseado es el centro más valor en la matriz, que tiene las coordenadas de la fila 3, columna 3.

2 Vuelva a escribir la matriz como una matriz 2D 1D. código ensamblador no reconoce retornos de carro en matrices 2D. En su lugar, se ensambla los datos como un conjunto de matrices 1D 1D, a partir de una dirección base y terminando en [dirección base + filas * columnas]. Para continuar con el ejemplo, el arreglo 2D se convierte en:

[3] [4] [3] [2] [1] [2] [5] [6] [5] [2] [9] [3] [1] [7] [9] [1] [2 ] [3] [4] [5] [5] [6] [5] [6] [5]

Los 25 valores de esta matriz corresponden a las cinco filas y cinco columnas anteriores.

3 Restar uno del número de fila de interés. Multiplicar este número fila modificada por el número total de columnas. Agregue el valor de la columna de interés. Se multiplica por el número de bytes asignados a cada elemento. En el ejemplo, cada fila tiene cinco columnas. La ubicación del número entero (4 bytes) en la fila 3, columna 3 es: [(2

5) + 3] 4 = 52. En lenguaje ensamblador, esto está escrito: dirección base + (fila * núm_columnas) + columna.

4 Escribir un comando usando el comando de carga de valor inmediato, o li, para leer este valor en una variable. Para concluir el ejemplo, establecer una variable (fini1) igual al elemento en la posición de byte calculado. En lenguaje ensamblador, esto aparece como: fini1 li (52).