Data transfer instructions cause transfer of data from one location to another without changing the binary information. The most common transfer are between the

  • Memory and Processor registers
  • Processor registers and input output devices
  • Processor registers themselves

Typical Data Transfer Instructions

Data manipulation Instructions

Data manipulation instructions perform operations on data and provide the computational capabilities for the computer. These instructions perform arithmetic, logic and shift operations.

Arithmetic Instructions

Program Control Instructions

The program control instructions provide decision making capabilities and change the path taken by the program when executed in computer. These instructions specify conditions for altering the content of the program counter. The change in value of program counter as a result of execution of program control instruction causes a break in sequence of instruction execution. Some typical program control instructions are:

Subroutine call and Return

A subroutine call instruction consists of an operation code together with an address that specifies the beginning of the subroutine. The instruction is executed by performing two tasks:

  • The address of the next instruction available in the program counter (the return address) is stored in a temporary location (stack) so the subroutine knows where to return.
  • Control is transferred to the beginning of the subroutine.

The last instruction of every subroutine, commonly called return from subroutine; transfer the return address from the temporary location into the program counter. This results in a transfer of program control to the instruction where address was originally stored in the temporary location.

Interrupt

The interrupt procedure is, in principle, quite similar to a subroutine call except for three variations:

  • The interrupt is usually initiated by an external or internal signal rather than from execution of an instruction.
  • The address of the interrupt service program is determined by the hardware rather than from the address field of an instruction.
  • An interrupt procedure usually stores all the information necessary to define the state of the CPU rather than storing only the program counter.