Programas sencillos en lenguaje ensamblador 8086 con explicación

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





La programación a nivel de ensamblaje es muy importante para sistema Integrado El diseño se utiliza para acceder a las instrucciones del procesador para manipular el hardware. Es un lenguaje de nivel de máquina más primitivo que se usa para hacer código eficiente que consume menos ciclos de reloj y toma menos memoria en comparación con el lenguaje de programación de alto nivel . Es un lenguaje de programación completo orientado al hardware para escribir un programa que el programador debe conocer del hardware integrado. Aquí, proporcionamos los conceptos básicos de la programación de nivel de ensamblaje 8086.

Programación de nivel de ensamblaje 8086

Programación de nivel de ensamblaje 8086



Programación de nivel de ensamblaje 8086

los lenguaje de programación ensamblador es un lenguaje de bajo nivel que se desarrolla utilizando mnemónicos. El microcontrolador o microprocesador puede entender solo el lenguaje binario como 0 o 1, por lo tanto, el ensamblador convierte el lenguaje ensamblador a lenguaje binario y lo almacena en la memoria para realizar las tareas. Antes de escribir el programa, los diseñadores integrados deben tener suficiente conocimiento sobre el hardware particular del controlador o procesador, por lo que primero necesitamos conocer el hardware del procesador 8086.


Hardware del procesador

Hardware del procesador



Arquitectura del procesador 8086

El 8086 es un procesador que está representado para todos los dispositivos periféricos, como el bus serie, RAM y ROM, dispositivos de E / S, etc., que están todos conectados externamente a la CPU mediante un bus del sistema. El microprocesador 8086 tiene Arquitectura basada en CISC , y tiene periféricos como 32 E / S, Comunicación serial , recuerdos y contadores / temporizadores . El microprocesador requiere un programa para realizar las operaciones que requieren una memoria para leer y guardar las funciones.

Arquitectura del procesador 8086

Arquitectura del procesador 8086

La programación de nivel de ensamblaje 8086 se basa en los registros de memoria. Un registro es la parte principal del microprocesadores y controladores que se encuentran en la memoria que proporciona una forma más rápida de recopilar y almacenar los datos. Si queremos manipular datos a un procesador o controlador realizando multiplicaciones, sumas, etc., no podemos hacerlo directamente en la memoria donde necesitamos registros para procesar y almacenar los datos. El microprocesador 8086 contiene varios tipos de registros que se pueden clasificar de acuerdo con sus instrucciones, tales como

Registros de propósito general : La CPU 8086 consta de 8 registros de propósito general y cada registro tiene su propio nombre, como se muestra en la figura, como AX, BX, CX, DX, SI, DI, BP, SP. Todos estos son registros de 16 bits donde cuatro registros se dividen en dos partes, como AX, BX, CX y DX, que se utilizan principalmente para mantener los números.

Registros de propósito especial : La CPU 8086 consta de 2 registros de funciones especiales, como registros de bandera e IP. El registro IP apunta a la instrucción en ejecución actual y siempre trabaja para reunirse con el registro del segmento CS. La función principal de los registros de banderas es modificar las operaciones de la CPU después de que se completan las funciones mecánicas y no podemos acceder directamente
Registros de segmento: La CPU 8086 ha consistido en registros de 4 segmentos como CS, DS, ES, SS que se utilizan principalmente para poder almacenar cualquier dato en los registros de segmento y podemos acceder a un bloque de memoria utilizando registros de segmento.


Programas en lenguaje ensamblador simple 8086

La programación en lenguaje ensamblador 8086 tiene algunas reglas como

  • El nivel de montaje programación 8086 el código debe estar escrito en mayúsculas
  • Las etiquetas deben ir seguidas de dos puntos, por ejemplo: etiqueta:
  • Todas las etiquetas y símbolos deben comenzar con una letra
  • Todos los comentarios están escritos en minúsculas.
  • La última línea del programa debe terminar con la directiva END.

Los procesadores 8086 tienen otras dos instrucciones para acceder a los datos, como WORD PTR - por palabra (dos bytes), BYTE PTR - por byte.

Op-Code y operando

Op-Code y operando

Código de operación: Una sola instrucción se llama como un código de operación que puede ser ejecutado por la CPU. Aquí la instrucción 'MOV' se llama como código de operación.

Operandos: Los datos de una sola pieza se denominan operandos que pueden ser operados por el código de operación. Por ejemplo, la operación de resta se realiza mediante los operandos que el operando resta.
Sintaxis: SUB b, c

Programas en lenguaje ensamblador del microprocesador 8086

Escribir un programa para leer un carácter del teclado

MOV ah, 1h // subprograma de entrada de teclado
INT 21h // entrada de caracteres
// el carácter se almacena en al
MOV c, al // copiar carácter de alto c

Escribir un programa para leer y mostrar un personaje

MOV ah, 1h // subprograma de entrada de teclado
INT 21h // lee el carácter en al
MOV dl, al // copiar carácter a dl
MOV ah, 2h // subprograma de salida de caracteres
INT 21h // mostrar carácter en dl

Escribir un programa utilizando registros de propósito general

ORG 100h
MOV AL, VAR1 // comprobar el valor de VAR1 moviéndolo al AL.
LEA BX, VAR1 // obtiene la dirección de VAR1 en BX.
MOV BYTE PTR [BX], 44h // modifica el contenido de VAR1.
MOV AL, VAR1 // comprobar el valor de VAR1 moviéndolo al AL.
DERECHO
VAR1 DB 22h
FIN

Escribir un programa para mostrar la cadena usando funciones de biblioteca

include emu8086.inc // Declaración de macro
ORG 100h
IMPRIMIR '¡Hola mundo!'
GOTOXY 10, 5
PUTC 65 // 65 - es un código ASCII para 'A'
PUTC 'B'
RET // regresa al sistema operativo.
END // directiva para detener el compilador.

Instrucciones aritméticas y lógicas

Los procesos 8086 de la unidad lógica y aritmética se han separado en tres grupos, como operaciones de suma, división e incremento. Más Instrucciones aritméticas y lógicas afectar el registro de estado del procesador.

Los mnemónicos de programación en lenguaje ensamblador 8086 están en forma de código de operación, como MOV, MUL, JMP, etc., que se utilizan para realizar las operaciones. Programación en lenguaje ensamblador 8086 ejemplos

Adición
ORG0000h
MOV DX, # 07H // mueve el valor 7 al registro AX //
MOV AX, # 09H // mueve el valor 9 al acumulador AX //
Add AX, 00H // agrega el valor CX con el valor R0 y almacena el resultado en AX //
FIN
Multiplicación
ORG0000h
MOV DX, # 04H // mueve el valor 4 al registro DX //
MOV AX, # 08H // mueve el valor 8 al acumulador AX //
MUL AX, 06H // El resultado multiplicado se almacena en el acumulador AX //
FIN
Sustracción
ORG 0000h
MOV DX, # 02H // mueve el valor 2 para registrar DX //
MOV AX, # 08H // mueve el valor 8 al acumulador AX //
SUBB AX, 09H // El valor del resultado se almacena en el acumulador A X //
FIN
División
ORG 0000h
MOV DX, # 08H // mueve el valor 3 para registrar DX //
MOV AX, # 19H // mueve el valor 5 al acumulador AX //
DIV AX, 08H // el valor final se almacena en el acumulador AX //
FIN

Por lo tanto, todo esto se trata de Programación a nivel de ensamblaje 8086, Arquitectura de procesador 8086, programas de ejemplo simples para procesadores 8086, instrucciones aritméticas y lógicas. Además, cualquier consulta relacionada con este artículo o proyectos de electrónica, puede contactarnos comentando en la sección de comentarios a continuación.