El lenguaje ensamblador
No podría faltar una entrada dedicada a este lenguaje de programación de bajo nivel donde ha permitido crear todo tipo de interfaces para comunicar diversos tipos de dispositivo o incluso ser soportado por lenguajes de alto nivel que permitan acceder a librerías en ensamblador.
¿Qué es el lenguaje ensamblador?
Es un lenguaje de bajo nivel, donde se “habla” directo con la computadora, se pueden escribir programas informáticos. Hay un ensamblador por cada arquitectura de procesador.
¿Dónde se puede usar el lenguaje ensamblador?
Se usa para realizar tareas no soportadas por los lenguajes de alto nivel, Se obtiene funciones de bajo nivel del procesador, permite trabaja directamente con el hardware (CPU). Se puede desarrollar driver que permitan comunicar diferentes periféricos con el equipo de cómputo.
¿Qué características tiene el ensamblador?
- Hace uso de nemotécnicos (mnemónicos).
- Usa símbolos y expresiones.
- Símbolos permanentes (%).
- Símbolos definidos por usuario (constantes, proc…).
- Una expresión es la conjunción de símbolos.
- Dificultad de ser entendido por un ser humano.
- Sus programas son más rápidos y consumen menos recursos.
- Control muy específico de tareas que realiza un micro.
- Control sobre el tiempo en que tarda una rutina.
- Su extencion es *.asm.
- Usa un paradigma estructurado.
- Puede incluir pseudoinstrucciones.
Ejemplo de una instrucción ensamblador
- Instrucción binaria:
- Binario: 10110000 01100001 (Hexadecimal: 0xb061)
- Instrucción en ensamblador:
- MOV al, 061h
- ¿Qué significa?
- Asigna el valor Hexadecimal 61 (97 Decimal) al registro “al”.
Y ¿qué significa mov?
- Es un opcode (un código de operación).
- Es la abreviatura de la palabra move (mover en ingles).
- Debe de ser seguido por un par de parametros.
- Existe una correspondencia de 1 a 1 con el lenguaje máquina.
Lenguaje máquina
- Dependiendo de la estructura del procesador:
- Registros específicos para operaciones aritméticas, direccionamiento o control de funciones.
- Posiciones de memoria específicas (offset).
- Modos de direccionamiento usados para interpretar operandos.
- Para operaciones complejas:
- Se realizan combinando estas instrucciones sencillas.
- Suele ejecutarse secuencialmente o mediante instrucciones de control de flujo.