Top 11 Assembly Programming Interview Questions You Must Prepare 19.Mar.2024

  • BRA Branch; Motorola 680×0, Motorola 68300; short (16 bit) unconditional branch relative to the current program counter
  • JMP Jump; Motorola 680×0, Motorola 68300; unconditional jump (any valid effective addressing mode other than data register)
  • JMP Jump; Intel 80×86; unconditional jump (near [relative displacement from PC] or far; direct or indirect [based on contents of general purpose register, memory location, or indexed])
  • JMP Jump; MIX; unconditional jump to location M; J-register loaded with the address of the instruction which would have been next if the jump had not been taken
  • JSJ Jump, Save J-register; MIX; unconditional jump to location M; J-register unchanged
  • Jcc Jump Conditionally; Intel 80×86; conditional jump (near [relative displacement from PC] or far; direct or indirect [based on contents of general purpose register, memory location, or indexed]) based on a tested condition: JA/JNBE, JAE/JNB, JB/JNAE, JBE/JNA, JC, JE/JZ, JNC, JNE/JNZ, JNP/JPO, JP/JPE, JG/JNLE, JGE/JNL, JL/JNGE, JLE/JNG, JNO, JNS, JO, JS
  • Bcc Branch Conditionally; Motorola 680×0, Motorola 68300; short (16 bit) conditional branch relative to the current program counter based on a tested condition: BCC, BCS, BEQ, BGE, BGT, BHI, BLE, BLS, BLT, BMI, BNE, BPL, BVC, BVS
  • JOV Jump on Overflow; MIX; conditional jump to location M if overflow toggle is on; if jump occurs, J-register loaded with the address of the instruction which would have been next if the jump had not been taken

Assemblies are of two types:

@Private Assemblies

@Shared Assemblies

Attributes are declarative tags in code that insert additional metadata into an assembly

No, a DLL file can contain the compiled code of only one programming language.

Processors can broadly be divided into the categories of: CISC, RISC, hybrid, and special purpose.

There is no limit to the maximum number of classes that can be contained in a DLL file.

The following are the two types of assemblies:

Private Assembly - Refers to the assembly that is used by a single application. Private assemblies are kept in a local folder in which the client application has been installed.

Public or Shared Assembly - Refers to the assembly that is allowed to be shared by multiple applications. A shared assembly must reside in Global Assembly Cache (GAC) with a strong name assigned to it.

For example, imagine that you have created a DLL containing information about your business logic. This DLL can be used by your client application. In order to run the client application, the DLL must be included in the same folder in which the client application has been installed. This makes the assembly private to your application. Now suppose that the DLL needs to be reused in different applications. Therefore, instead of copying the DLL in every client application folder, it can be placed in the global assembly cache using the GAC tool. These assemblies are called shared assemblies.

Data movement instructions move data from one location to another. The source and destination locations are determined by the addressing modes, and can be registers or memory. Some processors have different instructions for loading registers and storing to memory, while other processors have a single instruction with flexible addressing modes.

An assembly is a logical unit that is made up of the following four different types of components:

  • Assembly manifest
  • MSIL source code
  • Type metadata
  • Resources

Assemblies are made up of IL code modules and the metadata that describes them. Although programs may be compiled via an IDE or the command line, in fact, they are simply trlated into IL, not machine code. The actual machine code is not generated until the function that requires it is called.

Condition codes are the list of possible conditions that can be tested during conditional instructions. Typical conditional instructions include: conditional branches, conditional jumps, and conditional subroutine calls. Some processors have a few additional data related conditional instructions, and some processors make every instruction conditional. Not all condition codes available for a processor will be implemented for every conditional instruction.