Conceptos Básicos
Bandera
En programación, la bandera o flag se refiere a
uno o más bits que se utilizan para almacenar un valor binario o código
que tiene asignado un significado. Las banderas normalmente forman
parte de una determinada estructura de datos, como un registro de una
base de datos, y el significado del valor que figura en una bandera
típicamente se definirá en relación a la estructura de datos de la que
forma parte.
Dentro de los microprocesadores y otros dispositivos
lógicos, las banderas se utilizan mayoritariamente para controlar o
indicar el estado intermedio o final o el resultado de diferentes
operaciones.
Buses
Son el medio de comunicación que utilizan los diferentes
componentes del procesador para intercambiar información entre sí,
eventualmente los buses o una parte de ellos estarán reflejados en los
pines del encapsulado del procesador.
En el caso de los
microcontroladores, no es común que los buses estén reflejados en el
encapsulado del circuito, ya que estos se destinan básicamente a las E/S
de propósito general y periféricos del sistema.
Existen tres tipos de buses:
- Dirección: Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o escribir.
- Datos: Se utiliza para mover los datos entre los dispositivos de hardware (entrada y salida).
- Control: Se utiliza para gestionar los distintos procesos de escritura lectura y controlar la operación de los dispositivos del sistema.
Pilas o Stack
Estos registros no forman parte de ningún banco de memoria y no permiten el acceso por parte del usuario. Se usan para guardar el valor del contador de programa cuando se hace un llamado a una subrutina o cuando se atiende una interrupción; luego, cuando el micro regresa a seguir ejecutando su tarea normal, el contador de programa recupera su valor leyéndolo nuevamente desde la pila.
Stack pointer
La dirección en el Stack Pointer siempre apunta a la parte superior del STACK e indica que la siguiente localidad de memoria (SP-1) está disponible para almacenar información.
Byte: Conjunto de 8 bits que recibe el tratamiento de una unidad y que constituye el mínimo elemento de memoria direccionable de una computadora.
Bit: Dígito binario que se puede representar en uno de estos dos valores: 0 o 1.
Unidad Lógica Aritmética
Es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos.
Operaciones aritméticas
Los operadores aritméticos se utilizan en las operaciones aritméticas y siempre devuelven resultados numéricos. Hay dos tipos de operadores, los unitarios y los binarios. A diferencia de las operaciones unitarias que se realizan sobre un operando, las operaciones binarias se realizan sobre dos operandos. En otras palabras, se requieren dos números para ejecutar una operación binaria. Por ejemplo: a+b o a/b.
OPERADOR OPERACIÓN
+ Adición
OPERADOR OPERACIÓN
+ Adición
- Resta
* Multiplicación / División
% Resto de la división
Ejemplo:
a = 5; // Inicializar a
b = 4; // Inicializar b
c = a + b; // c = 9
c = c%2; // c = 1. Esta operación se utiliza con frecuencia
// para comprobar la paridad. En este caso, el
// resultado es 1 lo que significa que la variable
// es un número imparo