Los modos de direccionamiento son el método utilizado para determinar a qué parte de la memoria se refiere una instrucción de máquina. Hay varios tipos, y el modo que se use depende del tipo de arquitectura de computadora que se esté usando.
La memoria de acceso aleatorio (RAM) es el área principal de memoria de una computadora, y es donde se debe cargar cualquier aplicación si se va a ejecutar. La unidad central de procesamiento (CPU) lee las instrucciones de la máquina de la RAM y actúa sobre ellas. Las instrucciones de la máquina a menudo deben referirse a partes específicas de la RAM. Para hacer esto, la CPU debe tener una forma de saber a qué porción de RAM se refiere la instrucción de la máquina.
Los modos de direccionamiento se utilizan para dividir las secciones de RAM en porciones individuales a las que se puede hacer referencia individualmente, de forma similar a como cada casa en una calle tiene una dirección. Esta dirección puede luego ser utilizada por una instrucción de máquina para referirse a una porción específica de la memoria. Luego, la CPU accederá a esa parte de la memoria y realizará la acción especificada por la instrucción de la máquina.
Hay muchos tipos diferentes de modos de direccionamiento y los diferentes tipos de arquitectura de computadora presentan diferentes. Esta es una de las razones por las que todo el software no es compatible con todas las computadoras. Si una aplicación está diseñada para un tipo de modo de direccionamiento, no podrá ejecutarse cuando se use en un sistema que use uno diferente. Será muy parecido a hablar con alguien en un idioma que no comprende.
Los detalles de cada tipo son importantes para los programadores de computadoras que usan lenguaje ensamblador. Este lenguaje de computadora es una representación directa de las instrucciones de la máquina enviadas a la CPU y es lo que le permite producir programas que pueden ejecutarse varias veces más rápido que otros lenguajes de programación. El lenguaje ensamblador se utiliza en el desarrollo de sistemas operativos. Un programador de computadoras debe conocer el tipo de modos de direccionamiento utilizados en la arquitectura de computadora específica antes de poder escribir un sistema operativo o una aplicación en funcionamiento en ensamblado.