Le langage assembleur MIPS utilise des lignes de code pour charger les ordinateurs . Similaire au langage machine , une ligne de code MIPS traduit en une seule instruction indivisible d'une unité centrale de traitement. Toutefois, le code de la machine utilise la notation hexadécimale et autres constructions , ce qui peut être difficile à comprendre d'un regard. Langage d'assemblage est beaucoup plus immédiatement accessible. Tant langage machine et le langage d'assemblage ont leurs peccadilles , cependant. En MIPS , les tableaux de données sont des listes contiguës de valeurs. Ajout de nouvelles dimensions modifie ce que de façon mineure. Il crée une liste contiguë de tableaux 1D . Comprendre cette idée est une étape essentielle pour la lecture des valeurs de tableaux 2D . Instructions
1
identifier l'emplacement de l'élément désiré. Discerner la ligne et le numéro de colonne . Par exemple, considérons le tableau:
[ 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]
Ce tableau 2D est une série de cinq rangées et cinq colonnes . Si l'élément recherché est le centre le plus de valeur dans le tableau, il a des coordonnées ligne 3, colonne 3.
2
réécrire le tableau 2D comme un tableau 1D . Code Assemblée ne reconnaît pas les retours chariot dans des tableaux 2D . Au lieu de cela , il assemble les données comme un tableau 1D de tableaux 1D , à partir d'une adresse de base et se terminant à [ adresse de base + les lignes * colonnes ] . Pour continuer l'exemple , le tableau 2D devient:
[ 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] Hôtels
Les 25 valeurs dans ce tableau correspondent aux cinq au-dessus des lignes et cinq colonnes .
3
Soustraire un du nombre de lignes d'intérêt. Multiplier ce numéro de ligne modifiée par le nombre total de colonnes . Ajoutez la valeur de la colonne d'intérêt. Multiplier par le nombre d'octets affectés à chaque élément . Dans l'exemple , chaque ligne dispose de cinq colonnes. L'emplacement de l'entier (4 octets) dans la ligne 3 , colonne 3 : [ (2 * 5) + 3] * 4 = 52. En langage d'assemblage , ceci est écrit : . Adresse de base + (ligne * num_columns ) + col
4
Écrire une commande en utilisant la commande de valeur immédiate de la charge, ou li , lire cette valeur dans une variable . Pour conclure l'exemple, définir une variable ( fini1 ) correspondant à l'élément dans la position d'octet calculé. En langage d'assemblage , il semble que: . Li fini1 (52)