All Exams Test series for 1 year @ ₹349 only
Question

The Assembler directive in 8086 which is used to tell the assembler that the names or labels following the directive are in some other assembly module is, ____________.

The correct answer is
EXTRN

8086 Assembler Directive for External Modules Explained

In assembly language programming, especially for microprocessors like the 8086, programs are often divided into multiple modules or files. These modules might need to reference data or code defined in other modules. The assembler and linker work together to resolve these external references.

The question asks for the specific 8086 assembler directive that informs the assembler that a particular name or label being used in the current module is actually defined in a different assembly module.

Analyzing the Options

Let's look at each option provided:

  • $EVEN$: This directive is used to align the location counter to the next even memory address. It's primarily for memory alignment purposes and has nothing to do with external module references.
  • $EXTRN$: This directive (short for External Reference) is used to declare that a symbol (like a variable name or a procedure label) is defined in another assembly module. When the assembler encounters $EXTRN$, it knows that the definition for this symbol can be found elsewhere and will be resolved later by the linker. This directly matches the requirement of the question.
  • $GLOBAL$: This directive does the opposite of $EXTRN$. It declares that a symbol defined within the current module is visible and can be referenced by other assembly modules. It makes a symbol externally available, rather than declaring a reference to an external symbol.
  • $LABEL$: While labels are fundamental in assembly, $LABEL$ itself is not an assembler directive used for managing external references between modules. Labels are used to assign symbolic names to memory addresses.

Conclusion

Based on the analysis, the directive used to tell the assembler that names or labels following it are defined in some other assembly module is $EXTRN$. This directive is crucial for modular programming, allowing different parts of a larger program to be developed and compiled separately while still being able to call functions or use variables defined in other files.

Therefore, the correct assembler directive is $EXTRN$.

Was this answer helpful?

Important Questions from Microprocessors

  1. What is the value in AL and CF after the following instruction in 8086 is executed?
    MOV AL, 8EH
    MOV CL, 02H
    SAR AL, CL
  2. What is the content in R1, after the following instructions are executed?
    CLR C
    MOV A,#4CH
    SUBB A,#6EH
    JNC NEXT
    CPL A
    INC A
    NEXT: MOV R1, A
  3. When TMOD is 10 H, the timer will operate as ____________.
  4. The magnetic vector potential of an electromagnetic system is given by $  \vec{A}=(y \cos ax)  \vec{a_x} + (y+e^x)   \vec{a_z}$. The magnitude of the magnetic flux density at the origin is

  5. The location of flags in 8086 flag register in ascending order is
    A. CY
    B. T
    C. D
    D. Z
    E. O
    Choose the correct answer from the options given below:

Need Expert Advice?

Start Your Preparation with Prepp Mobile App

Download the app from Google Play & App Store
Download the app from Google Play & App Store
Prepp Mobile App