2. Lenguaje Ensamblador
DEFINICIÓN:
Es un lenguaje de programación de bajo nivel. Consiste en un
conjunto de mnemónicos que representan instrucciones básicas
para los computadores, microprocesadores, microcontroladores
y otros circuitos integrados programables.
3. Características:
El lenguaje ensamblador es difícilmente portable, es decir, un
código escrito para un microprocesador, puede necesitar ser
modificado, para poder ser usado en otra máquina distinta.
Los programas hechos por un programador experto en lenguaje
ensamblador son generalmente mucho más rápidos y consumen
menos recursos del sistema (memoria RAM y ROM) que el
programa equivalente compilado desde un lenguaje de alto nivel
4. Ventajas:
Eficiencia de tamaño: Un programa en ensamblador no ocupa
mucho espacio en memoria porque no tiene que cargan librerías y
demás como son los lenguajes de alto nivel.
Flexibilidad. En el lenguaje ensamblador se pueden hacer tareas
específicas que en un lenguaje de alto nivel no se pueden llevar
acabo porque tienen ciertas limitantes que no se lo permite.
5. Desventajas:
Tiempo de programación: es más lento el desarrollo de programas
comparables en Lenguaje Ensamblador que en un lenguaje de alto
nivel, pues el programador goza de una menor abstracción.
Programas fuentes grandes: dificulta el mantenimiento de los
programas, y nuevamente reduce la productividad de los
programadores.
Peligro de afectar recursos inesperadamente: realizar secuencias de
instrucciones inválidas, que normalmente no aparecen al usar un
lenguaje de alto nivel.
6. ACALL Absolute Call
ADD Add Accumulator
ADDC Add Accumulator with Carry
AJMP Absolute Jump
ANL Logical AND for byte variables
ANL bit Logical AND for bit variables
CJNE Compare and Jump if Not Equal
CLR A Clear Accumulator
CLR bit Clear bit
CPL A Complement Accumulator
CPL bit Complement bit
Instrucciones:
RLC Rotate Accumulator Left Through Carry
RR Rotate Accumulator Right
RRC Rotate Accumulator Right Through Carry
SETB Set Bit
SJMP Short Jump
SUBB Subtract From Accumulator With Borrow
SWAP Swap Accumulator Nibbles
XCH Exchange Bytes
XCHD Exchange Digits
XRL Exclusive OR
?? Undefined Instruction
7. Registros:
Registros de segmento: Un registro de segmento tiene 16 bits de longitud y
facilita un área de memoria para direccionamiento conocida como el segmento
actual.
Registros de propósito general. : Los registros de propósito general AX, BX, CX
y DX son los caballos de batalla del sistema. Son únicos en el sentido de que se
puede direccionarlos como una palabra o como una parte de un byte.
Registro de Apuntador de Instrucciones: El registro apuntador de
instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la
siguiente instrucción que se ejecuta.
8. Registros Apuntadores: Los registros SP (apuntador de la pila) Y
BP (apuntador de base) están asociados con el registro SS y
permiten al sistema accesar datos en el segmento de la pila.
Registros Índice: Los registros SI y DI están disponibles para
direccionamiento indexado y para sumas y restas.
Registro de Banderas: De los 16 bits del registro de banderas,
nueve son comunes a toda la familia de procesadores 8086, y sirven
para indicar el estado actual de la máquina y el resultado del
procesamiento.
9. Al utilizar un lenguaje ensamblador Comienza por un entorno en modo
texto, no por uno visual. Muchas veces, los entornos "vistosos" hacen
que la gente que empieza se dedique más a buscar resultados
espectaculares que a entender qué hay por dentro, y los resultados
son programas bonitos pero que fallan por todos lados. Empezar por
un entorno más sobrio puede ayudar a centrar la atención inicialmente
en lo importante; después será fácil "adornarlo".
Recomendación:
10. Conclusión:
El lenguaje ensamblador a pesar de ser más rápido de cualquier
otro lenguaje es también el más complejo por eso es utilizado
para complementar los limitantes de los lenguajes de
programación de alto nivel.