LENGUAJE ENSAMBLADOR CON ARREGLOS
1.
CONTENIDO:
ð
Definición:
Un array es un
conjunto de datos del mismo tipo ordenados de forman líneal uno después de
otro. Los componentes de un array se han de referenciar por medio del nombre
del array y un índice de desplazamiento para indicar el componente deseado.
Los arrays son usados
extensamente por los programadores para contener listas de datos en la memoria,
por ejemplo, los datos almacenados en un disco suelen leerse y ponerse dentro
de un array con el objetivo de facilitar la manipulación de dichos datos, ya
que los datos en memoria pueden ser modificados, clasificados, marcados para su
eliminacion, etc. para luego ser reescritos al disco. Otro ejemplo podría ser
el de un menú de opciones que se desplegarán dentro de una ventana para que el
usuario pueda elegir una de éstas, en tales casos y cuando las opciones son
numerosas, solamente se ponen unas cuantas, de ellas dentro de la ventana, pero
se le da al usuario la oportunidad de poder subir y bajar a su antojo para ver
el resto de opciones que, aunque no se vean en la ventana, forman parte del
menú o array de opciones.
ð
Características:
Un array se
caracteriza por:
-
Almacenar los elementos del array en posiciones de memoria contínua
- Tener un
único nombre de variable que representa a todos los elementos, y éstos a su vez
se diferencian por un índice o subíndice.
- Acceso
directo o aleatorio a los elementos individuales del array.
·
todos los
arrays son de tamaño variable, tanto si se especifica cómo no un tamaño al ser
declarados
·
Para ver
el contenido de los arrays según van siendo ejecutadas las líneas de código que
los declaran, utilizaremos la ventana Locales del depurador, que muestra las
variables de ámbito local al procedimiento que estamos ejecutando actualmente
·
Los
arrays se crean con el operador new seguido del tipo y número de elementos.
·
Se puede
acceder al número de elementos de un arraycon la variable miembro implícita
length (por ejemplo, vect.length).
·
Se accede
a los elementos de un array con los corchetes [] y un índice que varía de 0 a
length-1.
·
Se pueden
crear arrays de objetos de cualquier tipo. En principio un array de objetos es
un array de referencias que hay que completar llamando al operador new.
·
Los
elementos de un array se inicializan al valor por defecto del tipo
correspondiente (cero para valores numéricos, la cadena vacía para Strings,
false para boolean, null para referencias).
·
Como
todos los objetos, los arrays se pasan como argumentos a los métodos por
referencia.
·
Se pueden
crear arrays anónimos (por ejemplo, crear un nuevo array como argumento actual
en la llamada a un método).
ð
Operaciones:
ü
LECTURA
Este proceso consiste
en leer un dato de un arreglo y asignar un valor a cada uno de sus componentes.
La lectura se realiza
de la siguiente manera:
para i desde 1
hasta N haz
x<--arreglo[i]
ü
ESCRITURA
Consiste en asignarle
un valor a cada elemento del arreglo.
La escritura se
realiza de la siguiente manera:
para i desde 1
hasta N haz
arreglo[i]<--x
ü
ASIGNACION
No es posible asignar
directamente un valor a todo el arreglo, por lo que se realiza de la manera
siguiente:
para i desde 1
hasta N haz
arreglo[i]<--algún_valor
ü
ACTUALIZACION
Dentro de esta
operación se encuentran las operaciones de eliminar, insertar y modificar
datos. Para realizar este tipo de operaciones se debe tomar en cuenta si el
arreglo está o no ordenado.
Para arreglos
ordenados los algoritmos de inserción, borrado y modificación son los
siguientes:
1.-Insertar.
Si i
2.- Borrar.
Si N>=1 entonces
inicio
i<--1
encontrado<--falso
mientras i<=n y encontrado=falso
inicio
si arreglo[i]=valor_a_borrar entonces
inicio
encontrado<--verdadero
N<--N-1
para k desde i hasta N haz
arreglo[k]<--arreglo[k-1]
fin
en caso contrario
i<--i+1
fin
fin
Si encontrado=falso entonces
mensaje (valor no encontrado)
3.- Modificar.
Si N>=1 entonces
inicio
i<--1
encontrado<--falso
mientras i<=N y
encontrado=false haz
inicio
Si arreglo[i]=valor
entonces
arreglo[i]<--valor_nuevo
encontrado<--verdadero
En caso contrario
i<--i+1
fin
fin
ð
Tipos:
ü
Array unidimensional
Una array uni-dimensional
es aquel en donde los componentes son accesibles por medio de uno y solamente
un índice que apunte al componente requerido. Los arrays de este tipo son
conocidos también con el nombre de vectores. Conceptualmente, podemos pensar en
un array unidimensional como una lista compuesta de datos, donde para
referirnos a uno de ellos emplearemos un número para indicar la posición del
mismo dentro de la lista. Por ejemplo, consideremos el caso de la tabla o array
VentaSemanal, la cual está pensada para registrar las ventas de cada uno de los
días de la semana.
ü
Array bidimensional
Un array
bi-dimensional es aquel en donde los componentes son accesibles por medio de
una pareja de índices que apunten a la fila y a la columna del componente
requerido. Los arrays de este tipo son conocidos también con el nombre de
matrices. Conceptualmente, podemos pensar en un array bidimensional como en una
lista compuesta de filas y columnas, en donde para referirnos a una de ellas
emplearemos un número para indicar la posición de fila y otro número para
indicar la posición de la columna del componente deseado. Por ejemplo,
consideremos el caso de la tabla o array VentaSemanaQ, la cual está pensada
para registrar las ventas de cada uno de los días de la semana por cuatro semanas,
o sea, una tabla de 7 x 4 elementos.
ü
Array multidimensional
Los arrays
multidimensionales son unas estructuras de datos que almacenan los valores en
más de una dimensión. Los arrays que hemos visto hasta ahora almacenan valores
en una dimensión, por eso para acceder a las posiciones utilizamos tan solo un
índice. Los arrays de 2 dimensiones guardan sus valores, por decirlo de alguna
manera, en filas y columnas y por ello necesitaremos dos índices para acceder a
cada una de sus posiciones.
Dicho de otro modo,
un array multidimensional es como un contenedor que guardara más valores para
cada posición, es decir, como si los elementos del array fueran a su vez otros
arrays.
ð
Ejemplos:
name "arreglo"
org 100h
;un areglo se puede acceder a travez
de []
mov cx, 9 ;cuantos elementos voy a
recorrer, empezamos con el 9
inicio:
mov si, cx
mov dl, v[si]
cmp dl, mayor
jng siguiente:
mov mayor,dl
siguiente:
loop inicio
ret
v db 1,32,64,32,98,12,5,21,91,38
mayor db 0
2.
RESUMEN:
Un array
es un medio de guardar un conjunto de objetos de la misma clase. Un Arrays
o arreglos son objetos implícitos que
siempre conocen sus propias longitudes (values.length) (diferencia con C++
donde un arreglo no es nada más que un puntero) y que se comportan como clases
finales
Una Arrays
se caracteriza
Almacenar los elementos del array en posiciones de
memoria contínua
- Tener un único nombre de variable que representa a
todos los elementos, y éstos a su vez se diferencian por un índice o subíndice.
- Acceso directo o aleatorio a los elementos individuales
del array.
- todos los arrays son de tamaño variable, tanto si se
especifica cómo no un tamaño al ser declarados
Un array
de una dimensión (unidimensional), también llamado vector o fila, es un tipo de
datos estructurado compuesto de un número determinado de elementos, de tamaño
fijo y elementos homogéneos (del mismo tipo). La característica de tamaño fijo
se refiere a que el tamaño del array debe ser conocido en tiempo de
compilación.
Un array
bidimensional (también llamado tabla o matriz) es un array con dos índices. Al
igual que los vectores deben ser ordinales. Se declaran de igual manera que los
arrays de una dimensión.
Un array bidimensional recoge valores de una tabla de
doble entrada. Cada uno de los elementos se identifica y se asigna mediante una
variable ($nombre) seguida de dos ([]) que contienen los índices del array.
Los arrays
multidimensionales son estructuras de datos que almacenan los valores en más de
una dimensión. Los arrays que hemos visto hasta ahora almacenan valores en una
dimensión, por eso para acceder a las posiciones utilizamos tan solo un índice.
3.
SUMMARY:
An array is a means of storing a set of objects of the
same class. Arrays or arrays are implicit objects that always know their own
lengths (values.length) (difference with C ++ where an array is nothing more
than a pointer) and behave as final classes
An Arrays are characterized
Store array elements in continuous memory locations
- Have a unique variable name that represents all the
elements, and these in turn are differentiated by an index or subscript.
- Direct or random access to the individual elements of
the array.
- all arrays are of variable size, whether or not a size
is specified when declared
An array of one dimension (one-dimensional), also
called vector or row, is a structured data type composed of a fixed number of
elements, of fixed size and homogeneous elements (of the same type). The fixed
size feature refers to the size of the array must be known at compile time.
A two-dimensional array (also called a table or array)
is an array with two indexes. Just like vectors must be ordinal. They are
declared in the same way as arrays of a dimension.
A two-dimensional array collects values from a
double-entry table. Each of the elements is identified and assigned by a
variable ($ name) followed by two ([]) containing the indexes of the array.
Multidimensional arrays are data structures that store
values in more than one dimension. The arrays we have seen so far store
values in one dimension, so to access the positions we use only an index.
4.
RECOMENDACIONES:
-Tal vez no sea el lenguaje de programación más sencillo
de aprender, pero el lenguaje ensamblador es y seguirá siendo una de las
herramientas de programación más utilizadas por todas aquellas personas que
desean tener un mayor grado de comprensión sobre el funcionamiento a nivel de
dispositivo de una computadora personal.
-El lenguaje ensamblador no está relegado únicamente a
computadoras antiguas con sistemas operativos en modo texto como el MS-DOS.
- Existe en la actualidad
una gran cantidad de programas ensambladores que nos permiten programar en
ambientes operativos gráficos como Windows 95/98, Windows NT y Linux, y una
muestra de ello es el ensamblador que se utilizó para probar los programas de
ejemplo de este trabajo.
- Por lo tanto, si alguien
piensa que el lenguaje ensamblador ya pasó de moda, tal vez debería
reconsiderar su postura y visitar algunas de las páginas en Internet que se
dedican a cubrir temas sobre programación en lenguaje ensamblador y que se
actualizan diariamente, tal vez lo que descubra le haga cambiar de opinión.
5.
CONCLUSIONES:
- Podemos concluir diciendo que Los arrays permiten
agrupar datos usando un mismo identificador. Todos los elementos de un array
son del mismo tipo, y para acceder a cada elemento se usan subíndices.
- Los vectores o arreglos (array en inglés) de dos o más
dimensiones se denominan con frecuencia matrices, y pueden tener tantas
dimensiones como se desee; aunque lo correcto es llamarlo arreglo (de memoria)
ya que una variable de más de dos dimensiones, no cumple con las
características matemáticas de una matriz numérica.
- El tipo llamado arreglo o array, es el tipo más conocido
y en muchos lenguajes, el único tipo d datos estructurados que se ha
implementado.
- Los arreglos se utilizan con mucha frecuencia en el
proceso de solución de problemas. Un programador que tiene muchos valores de
datos de un mismo estilo muchas edades, temperaturas, nombres, etc. puede
guardarlos en la computadora en forma de un arreglo, permitiendo una lectura y
un uso más fácil.
- El programador también puede usar los valores de un
arreglo para apuntar a los valores de otro arreglo (se conoce como Técnica del
Puntero, pues el valor de un elemento en el primer arreglo apunta a otro
elemento en el segundo arreglo). Sin los arreglos esta tarea se haría muy
tediosa.
6.
APRECIACION DEL EQUIPO:
Como grupo podemos apreciar algo importante la
computadora guarda los distintos tipos de datos de una forma lógica de tal
manera que pueda encontrar los valores de forma rápida y eficiente. La forma como
son guardados los datos se llama estructura de los datos, de aquí el término de
datos estructurados. La variable, usada en las unidades anteriores, es una
manera de estructurar datos al igual que el archivo.
7.
GLOSARIO DE TERMINOS:
ARCHIVO
Unidad significativa de información la cual puede ser
manipulada por el sistema operativo de un ordenador debido a que tiene una
identificación única formada por un "nombre" y un
"apellido".
BPS
Bits por Segundo. Velocidad a la que se transmiten los
bits en un medio de comunicación.
Bus
En una computadora, el bus es la ruta de data en el
motherboard o tarjeta madre, que interconecta al microprocesador con
extensiones adjuntas conectadas en espacios o slots de expansión, por ejemplo,
disco duro, CD-ROM drive y tarjetas de video.
Byte
Conjunto de 8 bit, el cual suele representar un valor
asignado a un carácter.
Megabyte
El Megabyte (MB) equivale a un millón de bytes, o mil
kilobytes.
Petabyte
Un Petabyte (PB) corresponde a 1.024 billones
(1,125,899,906,842,624) de bytes, que equivalen a 1024 Terabytes. Todavía no se
han desarrollado memorias ni dispositivos de almacenamiento de esta capacidad.
Píxel
Es la información guardada en un solo punto de una
imagen. La imagen completa es la unión de píxeles. Mientras más píxeles tenga
la imagen mejor la calidad de la misma.
Diapositiva:
http://www.slideshare.net/JorgeParedesToledo/arreglos-assembler
Diapositiva:
http://www.slideshare.net/JorgeParedesToledo/arreglos-assembler
8.
BIBLIOGRAFIA O LINKOGRAFIA:
Comentarios
Publicar un comentario