¿Cuál es la diferencia entre una instrucción y una directiva en lenguaje ensamblador?

La instrucción del ensamblador genera código de máquina, por lo tanto contribuye al tamaño del programa .eg para el ensamblador OS / 370, la instrucción MVC genera código de máquina y ocupa 6 bytes.
MVC A, B (Opcode Longitud Disp Base Disp Base)
La directiva de ensamblador no crea ningún código de máquina, por lo tanto no contribuye al tamaño del programa. Dirige al ensamblador a realizar ciertas acciones durante la fase de ensamblaje.
Indica cómo el ensamblador trata un operando y cómo el ensamblador maneja el programa. También dirige al ensamblador cómo se deben organizar el programa y los datos en la memoria.
USING es una directiva que informa sobre el registro base que se utilizará desde una ubicación particular o para un DSECT particular. No se genera código de máquina y, por lo tanto, la directiva no contribuye al tamaño del programa.
Del mismo modo, la directiva EQU le dice que reemplace el símbolo utilizado en EQUATE con el valor mencionado en EQU. Nuevamente, no necesita memoria (similar a #define en C)

La directiva es algo que es para el ensamblador. Por ejemplo, en 8051 ASM, las directivas son como ORG (para colocar el código en una dirección ROM específica) y EQU (equiparar una etiqueta con un valor). Las directivas no se ejecutan, le dicen al ensamblador qué hacer con las instrucciones de ensamblaje.

Las instrucciones son los mnemónicos de ASM que realmente se ejecutan. Por ejemplo, en 8051 ASM, MOV, ADD y MUL. Estos se convierten en códigos de operación y se convierten en parte del binario.

Una instrucción es una tarea que debe realizar el procesador en tiempo de ejecución. Las instrucciones se ensamblan en código máquina y eventualmente se vinculan al ejecutable final.

Una directiva es una instrucción para el ensamblador que le dice cómo tratar los datos que se le pide que reúna. Las directivas solo se usan en el momento del ensamblaje y, aunque pueden afectar la forma en que se genera el código, no generan generación de código.

Por ejemplo, en este fragmento de código Z80, las instrucciones ORG son directivas. No generan ninguna generación de código, pero afectan la dirección en la que se encuentra la siguiente instrucción.

De izquierda a derecha: número de línea generado por Quora, número de línea generado por el ensamblador, dirección de la instrucción en la memoria (si la hay), código de operación (si corresponde), declaración. La marca junto a una dirección indica que es una dirección reubicable que el enlazador puede modificar en el momento del enlace. No preste atención a los colores del texto: es solo el formateador de código de Quora que intenta dar sentido a algo que no entiende.

  125 ORG 00000H
   126		
   127 0000 'F3 START: DI; Deshabilita la interrupción
   128 0001 'C3 010A' JP BEGIN
   129 129				
   130 org 08h;  reinicia
   131 0008 'C9 ret
   132				
   133 org 10h
   134 0010 'C9 ret
   135				
   136 org 18h
   137 0018 'C9 ret

Las directivas se utilizan para indicar al ensamblador que realice una manipulación o asignación de direcciones.

Las directivas son las declaraciones para el ensamblador que se utilizan para las especificaciones de memoria. Tratan solo las direcciones y cambian directamente la dirección de la siguiente instrucción o ubicación del símbolo actual.

START y ORIGIN proporcionan el inicio de la próxima instrucción o programa.

EQU asigna la dirección de memoria al símbolo.

Las instrucciones, por otro lado, se dan para el procesador.

Por ejemplo,

READ, PRINT y las operaciones aritméticas son realizadas por el procesador. Estos son traducidos por el ensamblador para el procesador.

Las instrucciones se ejecutan en tiempo de ejecución, mientras que las instrucciones son utilizadas por el ensamblador en el momento del ensamblaje del código.

Por lo tanto, las directivas no se llevan ni al código intermedio ni al código máquina / destino.

Diferencia entre directiva e instrucción

Diferencia clave: una directiva es principalmente una orden, generalmente emitida por una autoridad. Una directiva puede establecer políticas, asignar responsabilidades, definir objetivos y delegar autoridad a quienes trabajan en y con la figura autorizada. Las instrucciones, por otro lado, actúan como pautas. A menudo aparecen como una serie de pasos o etapas que uno debe completar uno tras otro. Las instrucciones se asocian principalmente con la instrucción o la enseñanza.

Directivas e instrucciones son dos términos que a menudo se confunden. Es posible que se necesite una persona para seguir instrucciones o una directiva. Entonces, ¿cuál es exactamente la diferencia entre los dos y cuál debe usarse cuando?

Dictionary.com – ¡El diccionario en línea favorito del mundo! define la directiva como:

  • Sirviendo para dirigir; dirección: una junta directiva.
  • Psicología. Perteneciente a un tipo de psicoterapia en el que el terapeuta ofrece activamente consejos e información en lugar de tratar solo con la información suministrada por el paciente.
  • Una instrucción o dirección autorizada; orden específica: una nueva directiva del Presidente sobre ayuda exterior.

Mientras, las instrucciones se definen como:

  • El acto o práctica de instruir o enseñar; educación.
  • Conocimiento o información impartida.
  • Un elemento de tal conocimiento o información.
  • Por lo general, instrucciones. órdenes o instrucciones: las instrucciones se encuentran en la parte posterior de la caja.
  • El acto de amueblar con direcciones autorizadas.
  • Ordenadores. Un comando dado a una computadora para llevar a cabo una operación particular.

La principal diferencia entre instrucciones o instrucciones es el hecho de que una directiva es principalmente una orden, generalmente emitida por una autoridad. Una directiva puede establecer políticas, asignar responsabilidades, definir objetivos y delegar autoridad a quienes trabajan en y con la figura autorizada. Una directiva puede establecer o describir una política, un programa y / o una organización. Por ejemplo: directiva para establecer una entidad gubernamental, directiva para establecer un subsidio local, directiva para establecer una oficina en el extranjero, directiva para reducir el desperdicio, directiva para reciclaje, etc.

Las instrucciones, por otro lado, actúan como pautas. A menudo aparecen como una serie de pasos o etapas que uno debe completar uno tras otro. Las instrucciones se asocian principalmente con la instrucción o la enseñanza. Por lo tanto, se dan instrucciones para enseñarle algo a alguien. Por ejemplo: instrucciones para cocinar, instrucciones para tejer una bufanda, instrucciones para construir una casa de muñecas, instrucciones para completar un proyecto, instrucciones para escribir un informe, manual de instrucciones para todos y cada uno de los aparatos electrónicos, etc.

Otro ejemplo: la Organización Mundial de la Salud (OMS) puede emitir una directiva para que una región en particular esté preparada para un brote. También proporcionará instrucciones sobre cómo los locales pueden estar mejor preparados para dicho brote y cómo manejar el brote.

Las instrucciones son códigos de máquina. por ejemplo: “cd 80” (int 0x80 es un ensamblaje equivalente) es una instrucción para la llamada al sistema Linux.
Las directivas son funciones predefinidas como la directiva de tipo de datos int que tiene un tamaño específico y se utiliza para representar un número entero.

Una directiva le dice al programa Assembler cómo desea que procese el programa que está ensamblando. Por ejemplo, una directiva de ensamblador puede especificar la ubicación en la memoria donde desea que se cargue el programa una vez que se ha ensamblado.

Una instrucción es parte del programa que se ejecutará cuando se ejecute el programa.