Programación en lenguaje ensamblador/Conceptos básicos
El sistema de cómputo
[editar]El sistema de cómputo está formado por los siguientes elementos.
Procesador central
[editar]Es la unidad central de procesamiento o UCP, está formada por la unidad de control y la unidad aritmética y lógica. Ejecuta instrucciones y realiza operaciones de lectura y escritura. La unidad aritmética y lógica realiza cálculos numéricos y realiza operaciones y comparaciones con los bits de los registros.
control y usos
[editar]Memoria central
[editar]Es un conjunto de celdas (Cada celda almacena un valor y se identifica con un número único) usadas para cualquier proceso, se utiliza para almacenar los programas que va a ejecutar el procesador e información que el programa necesite almacenar.
Hay 2 tipos de memoria.
Memoria de acceso aleatorio: Se puede escribir y leer pero tiene el incoveniente de que pierde su información al interrumpirse la corriente eléctrica.
Memoria de solo lectura: Solo se puede leer y no pierde su información, se llama Read Only Memory (Memoria de sólo lectura) o ROM.
Unidades de entrada y salida
[editar]Son las interfases de comunicación que tiene el procesador con el exterior.(Ejemplos de unidades de entrada: Los teclados, lectoras de tarjetas, mouse, etc. Ejemplos de unidades de salida: Terminales de video e impresoras).
Unidades de memoria auxiliar
[editar]Dado que la memoria central pierde su contenido al apagarse la computadora (No es conveniente para el almacenamiento permanente de datos por ésta razón), se inventaron sistemas de almacenamiento de información prácticos y económicos. Éstos sistemas de almacenamiento se los conoce como memoria auxiliar o secundaria. La unidad periférica de éste tipo más conocida es el disco rígido. Para clasificar y discriminar la información se inventaron los archivos. Un archivo está conformado por una cantidad variable de registros, de tamaño fijo. Éstos contienen datos o programas.
Ventajas del lenguaje ensamblador
[editar]Permite conocer con mayor precisión la operación de la PC, por lo tanto permite la creación de software consistente, también se tiene un control total de la PC y permite la creación de programas extremadamente rápidos y pequeños (Sin exigirle demasiado al microprocesador).
Software
[editar]Es todo aquel proceso o programa que utiliza los recursos de la PC para lograr un determinado objetivo.
Unidades de información
[editar]Los registros del procesador (Anteriormente mencionados) están conformados por conjuntos de 8, 16 o 32 flip-flops (Aunque en algunos procesadores pueden tener más flip-flops, permitiendo una mayor velocidad de cómputo). Un flip-flop es un dispositivo que almacena 2 niveles. Uno bajo de 0,5 volts (Éste se interpreta como apagado o cero) y otro alto de 5 volts (Éste se interpreta como 1 o encendido). Éstos estados se los conoce como bits, ésta es la unidad más pequeña de cualquier computadora digital. Un grupo de 4 bits es un nibble, uno de 8 bits es un byte, uno de 16 bits es una palabra, uno de 32 bits es una doble palabra, uno de 64 bits es una cuádruple palabra, etc.
Sistemas numéricos
[editar]El sistema numérico que utiliza el ser humano normalmente es el decimal. Pero éste sistema no es conveniente porque la base no es una potencia de 2, ya que en la PC se trabajan con bits.
Representar un número de cualquier base
[editar]Para representar un número de cualquier base se utiliza el siguiente método (Éste método también sirve para convertir números decimales a otra base). Se obtendrán las cifras en forma secuencial, empezando por la menos significativa.
- N es el número a ser tratado.
- C es el valor de la cifra que se desea obtener.
- PosC es la posición de la cifra deseada, la primera cifra es el cero (Siendo la cifra menos significativa).
- B es la base que se utilizará para la representación.
- MOD es la operación que permite la obtención del resto de la división (Siendo el número de la izquierda, el dividendo, y el de la derecha, el divisor).
- El símbolo "^" representa a la potencia, el valor que está a la derecha de éste símbolo, es el exponente de la potencia.
Cuando B ^ PosC es mayor que N, ésta cifra y todas las restantes deben ser ignoradas ya que de lo contrario nunca terminaría. Fórmula para la obtención del valor de la cifra:
C = N / (B ^ PosC) MOD B
Obtener el valor real
[editar]Para obtener el valor real de un número, teniendo en cuenta la base, se emplea el siguiente método (Éste también se utiliza para la conversión de una base específica a la decimal).
- El símbolo "*" se utiliza para representar la multiplicación.
- C es el valor interno de la cifra.
- R es el valor real de la cifra.
- B es la base del número.
- PosC es la posición de la cifra (Se empieza desde cero, siendo cero la cifra menos significativa).
Se obtiene el valor real de cada cifra y luego se suman, por medio de la siguiente fórmula.
R = C * (B ^ PosC)
Sistema Binario
[editar]El sistema binario está basado en el estado apagado (Cero) y el encendido (Uno), por lo tanto su base es 2. Cada cifra es un bit. Como en cualquier otro sistema, gráficamente se representa desde la cifra menos significativa (Empezando desde la derecha), hasta la más significativa.
Ejemplo
Decimal: 10 Binario: 1010
Sistema hexadecimal
[editar]El sistema hexadecimal es un sistema en donde cada cifra es un conjunto de 4 bits, por lo tanto hay 16 valores posibles dentro de una cifra. Las cifras que son menores de 10 se representan con los números arábigos (Desde 0 hasta 9), y los restantes valores con letras, siendo la letra A, el valor 10, la B el 11, y así sucesivamente hasta F que es 15. Como en cualquier otro sistema, gráficamente se representa desde la cifra menos significativa (Empezando desde la derecha), hasta la más significativa.
Ejemplo
Decimal: 143 Hexadecimal: 8F
Código Ascii
[editar]La sigla Ascii se pronunca aski y significa American Standard Code For Information Interchange (En inglés). Éste código asigna valores a los dígitos de los números arábigos, a las letras del alfabeto y a varios símbolos adicionales un número binario de 8 bits, por lo tanto ocupa 1 byte. Cada valor es un caracter y éste sistema permite representar texto y representar números en una unidad de salida que muestre gráficos sin ocupar demasiada memoria, pero no es apropiado para almacenar números porque cada cifra ocupa un byte en el sistema decimal.
Notación BCD
[editar]La sigla BCD significa Binary Coded Decimal (En inglés), en ésta notación cada cifra es un nibble, está representado en el sistema decimal. La desventaja que tiene es que con un byte BCD se puede representar un número de 0 al 99 y con el binario, un byte puede representar un número del 0 al 255.
Representación de punto flotante
[editar]Ésta representación está basada en la notación científica. Está basada en que para obtener el valor real de un número representado de ésta forma se utiliza la siguiente fórmula.
Entero * 10 ^ PPD
Entero: Es el número sin decimales, es un número entero.
PPD: Indica la posición del punto decimal en el número, puede ser positivo o negativo. Un valor 0 significa que el punto decimal está a la derecha de la cifra menos significativa. Cuanto más positivo es, el punto estará más alejado del entero pero a la derecha. Cuanto más negativo es más pequeño es el valor real, es decir más a la izquierda.
Creación de un programa
[editar]Para la creación de un programa primero se debe diseñar los algoritmos que utilizará el programa, luego se realiza su codificación en algún lenguaje de programación, luego se traduce a código de máquina (Cuando se trabaja en assembler, éste proceso se llama ensamblar, cuando es otro lenguaje se llama compilar) y al formato que entiende el programa que cargará el programa a crear, se prueba el programa y si hay errores se depura (Consiste en eliminarle los errores del programa), cuando hay un error generalmente se vuelve a repetir el paso 1 o el 2.