Visualización de una matriz como un bloque de memoria

Los datos de una matriz se guarda en la memoria continuamente. Las instrucciones de archivo (matriz) necesitan una dirección de inicio en una matriz y una longitud, que determina los elementos y cuántos elementos lee o escribe la instrucción.
CONSEJO: Si una instrucción intenta leer datos más allá del final de una matriz, la instrucción leerá los datos que haya en dicho lugar y los procesará como si fueran datos válidos (no se produce ningún error). Si una instrucción intenta escribir datos más allá del final de una matriz, se produce un fallo mayor (tipo 4, código 20).
Estas instrucciones manipulan los datos de las matrices como un bloque de memoria continuo (las instrucciones restantes manejan datos de matriz como elementos individuales):
Cómo almacena los datos de matrices el controlador
La siguiente tabla muestra el orden secuencial de los elementos en los ejemplos sobre Visualización de una matriz como una Colección de elementos.
Elementos de matriz unidimensionales (orden ascendente)
Elementos de matriz bidimensionales (orden ascendente)
Elementos de matriz tridimensionales (orden ascendente)
one_d_array[0]
one_d_array[1]
one_d_array[2]
one_d_array[3]
one_d_array[4]
one_d_array[5]
one_d_array[6]
En el caso de una matriz con solo una dimensión, tag_name[subscript_0], subscript_0 se incrementa a su valor máximo.
two_d_array[0,0]
two_d_array[0,1]
two_d_array[0,2]
two_d_array[0,3]
two_d_array[0,4]
two_d_array[1,0]
two_d_array[1,1]
two_d_array[1,2]
two_d_array[1,3]
two_d_array[1,4]
two_d_array[2,0]
two_d_array[2,1]
two_d_array[2,2]
two_d_array[2,3]
two_d_array[2,4]
two_d_array[3,0]
two_d_array[3,1]
two_d_array[3,2]
two_d_array[3,3]
two_d_array[3,4]
En el caso de una matriz con dos dimensiones,
tag_name[subscript_0,subscript_1], subscript_0 se mantiene fijo en 0 mientras subscript_1 aumenta de 0 a su valor máximo. A continuación, Subscript_0 aumenta en 1 (si la dimensión 0 es mayor que 1) y se mantiene fijo mientras subscript_1 aumenta nuevamente a través de su rango. Este patrón continúa hasta que ambos subíndices alcanzan sus valores máximos.
three_d_array[0,0,0]
three_d_array[0,0,1]
three_d_array[0,0,2]
three_d_array[0,0,3]
three_d_array[0,1,0]
three_d_array[0,1,1]
three_d_array[0,1,2]
three_d_array[0,1,3]
three_d_array[0,2,0]
three_d_array[0,2,1]
three_d_array[0,2,2]
three_d_array[0,2,3]
three_d_array[1,0,0]
three_d_array[1,0,2]
three_d_array[1,0,3]
three_d_array[1,1,0]
three_d_array[1,1,1]
three_d_array[1,1,2]
three_d_array[1,1,3]
three_d_array[1,2,0]
three_d_array[1,2,1]
three_d_array[1,2,2]
three_d_array[1,2,3]
En el caso de una matriz con tres dimensiones, tag_name[subscript_0,subscript_1, subscript_2], subscript_0 se mantiene fijo en 0 mientras subscript_1 y subscript_2 se incrementan de la misma manera que una matriz bidimensional. A continuación, Subscript_0 aumenta en 1 (si la dimensión 0 es mayor que 1) y se mantiene fijo hasta que subscript_1 y subscript_2 alcancen sus valores máximos. Este patrón continúa hasta que los tres subíndices alcanzan sus valores máximos.
Variación de una dimensión
Las instrucciones AVE, SRT y STD tienen una Dimensión para variar el operando. La instrucción utiliza este operando para calcular un desplazamiento que la instrucción utiliza para determinar qué elementos de la matriz puede leer o escribir.
Matriz
Dimensión que variar
Desplazamiento
una dimensión
0
1
dos dimensiones
0
dimension_1
1
1
tres dimensiones
0
(dimension_1) ? (dimension_2)
1
dimension_2
2
1
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal