El lenguaje ensamblador MIPS utiliza líneas de código para instruir a las computadoras. Al igual que en lenguaje de máquina , una línea de código MIPS se traduce en una sola instrucción , indivisible por 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 a simple vista. El lenguaje ensamblador es mucho más accesible inmediatamente . Tanto el lenguaje máquina y ensamblador tienen sus pecadillos , sin embargo. En MIPS , matrices de datos son listas de valores contiguos . Adición de más dimensiones altera esto en sólo una manera de menor importancia . Crea una lista contigua de arrays 1D . La comprensión de esta idea es un paso vital para los valores de arrays 2D leer . Instrucciones
1
Identificar la ubicación del elemento deseado. Discernir el número de fila y columna. Por ejemplo, consideremos 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, se tiene coordenadas fila 3, columna 3 .
2
Vuelva a escribir la matriz 2D como una matriz de 1D. Código ensamblador no reconoce retornos de carro en arrays 2D . En cambio, reúne los datos como una matriz de matrices 1D 1D , a partir de una dirección base y termina en [ dirección base + filas * columnas ] . Para continuar con el ejemplo , la matriz 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 valores 25 en esta serie corresponden a las cinco filas y cinco columnas anteriores .
3
Restar uno del número de fila de interés. Multiplicar este número de 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 * NUM_COLUMNS ) + col
4
Escriba un comando con el valor nominal de carga inmediata 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 : . Li fini1 ( 52 )