answersLogoWhite

0

External references in assembly language are managed by the assembler through a process called linking. When an assembler encounters an external symbol, it generates a placeholder in the object file and records the symbol's name and its expected address. During the linking phase, the linker resolves these placeholders by matching them with the actual addresses of the external symbols defined in other object files or libraries. This allows multiple modules to reference shared code or data seamlessly.

User Avatar

AnswerBot

1mo ago

What else can I help you with?

Continue Learning about Engineering

How could an assembler that allows external references avoid need for EXTDEF statement?

An assembler that allows external references could avoid the need for an EXTDEF statement by implementing a mechanism for implicit declaration of external symbols. This could involve automatically resolving external references at the time of assembly by scanning all referenced symbols in the code and linking them to their definitions found in other modules. Additionally, the assembler could maintain a symbol table that tracks these references throughout the assembly process, streamlining the linking of external components without explicit declarations.


Can the operand expression in an ORIGIN statement contain forward references if so outline the statement can be processed in a two pass-assembler scheme?

In a two-pass assembler scheme, the operand expression in an ORIGIN statement cannot contain forward references. During the first pass, the assembler scans the source code, determining the addresses of labels and symbols but cannot resolve addresses that have not yet been defined. Therefore, when the ORIGIN statement is encountered, it must reference only those labels or expressions that have already been processed, ensuring that all necessary information is available by the time the second pass occurs, where actual addresses are finally assigned. If forward references are present, they would need to be handled differently, typically by deferring their resolution until all relevant symbols are defined.


Which program is what results when assembly language programs are converted to machine language using an assembler?

The result of assembling an assembly language source is an executable. The name of that executable is dependent upon the output file name passed to the assembler. The program that performs the assembly is the assembler itself. More specifically, the assembler produces one or more object files, which are fed into the linker or binder. The linker or binder then produces the executable, by combining the object files, along with referenced library files, and then resolving external references.


Which program translate assembly language into machine language?

Assembly langue is translated into machine language by an assembler.


What is the difference between an assembler and a translator?

what is the difference between an assembler and the translator

Related Questions

How could an assembler that allows external references avoid need for EXTDEF statement?

An assembler that allows external references could avoid the need for an EXTDEF statement by implementing a mechanism for implicit declaration of external symbols. This could involve automatically resolving external references at the time of assembly by scanning all referenced symbols in the code and linking them to their definitions found in other modules. Additionally, the assembler could maintain a symbol table that tracks these references throughout the assembly process, streamlining the linking of external components without explicit declarations.


What is multi pass assembler?

multipass assembler means more than one pass is used by assembler.multipass assembler is used to eliminate forward references in sybol definition.it creates a number of passes that is necessary to process the definition of symbols•Multi pass assembler:-Does the work in two pass-Resolves the forward references•First pass:-Scans the code-Validates the tokens-Creates a symbol table•Second Pass:-Solves forward references-Converts the code to the machine code


Can the operand expression in an ORIGIN statement contain forward references if so outline the statement can be processed in a two pass-assembler scheme?

In a two-pass assembler scheme, the operand expression in an ORIGIN statement cannot contain forward references. During the first pass, the assembler scans the source code, determining the addresses of labels and symbols but cannot resolve addresses that have not yet been defined. Therefore, when the ORIGIN statement is encountered, it must reference only those labels or expressions that have already been processed, ensuring that all necessary information is available by the time the second pass occurs, where actual addresses are finally assigned. If forward references are present, they would need to be handled differently, typically by deferring their resolution until all relevant symbols are defined.


Which program is what results when assembly language programs are converted to machine language using an assembler?

The result of assembling an assembly language source is an executable. The name of that executable is dependent upon the output file name passed to the assembler. The program that performs the assembly is the assembler itself. More specifically, the assembler produces one or more object files, which are fed into the linker or binder. The linker or binder then produces the executable, by combining the object files, along with referenced library files, and then resolving external references.


Use of two pass assembler?

A two-pass assembler reads through the source code twice. Each read-through is called a pass. On pass one the assembler doesn't write any code. It builds up a table of symbolic names against values or addresses. On pass two, the assembler generates the output code, using the table to resolve symbolic names, enabling it to enter the correct values. The advantage of a two-pass assember is that it allows forward referencing in the source code because when the assembler is generating code it has already found all references.


Where can you get an assembler?

One well known and good assembler is NASM. (Netwide ASseMbler). This can be found at http://nasm.sf.net


What is the Difference between cross assembler and resident assembler?

An assembler which runs on a computer for which it produces object codes


What is an absolute assembler?

An absolute assembler is a computing term for an assembler which generates code which uses only absolute addresses.


What are examples of assembler?

There are several examples of assemblers: GAS - the GNU Assembler MASM - Microsoft Macro Assembler NASM - Netwide Assembler The assembler is the program which converts assembly code into machine code - a necessary step to prepare a program for execution.


What is a meta assembler?

Meta-assembler is a program that accepts the syntactic and semantic description of an assembly language, and generates an assembler for that language.


What is meta assembler?

Meta-assembler is a program that accepts the syntactic and semantic description of an assembly language, and generates an assembler for that language.


Advantages of one pass assembler over two pass assembler?

In theory the only advantage is Speed simply because one pass is faster than two passes. However a properly written two pass assembler can be faster than a poorly written one pass assembler because the two pass assembler spends alot less time doing memory intensive lookups, look-aheads, and back-tracking.