# Data Manipulation Instructions in Computer Organization

**Data Manipulation Instructions :**

Data manipulation instructions perform operations on data and provide the computational capabilities for the computer. The data manipulation instructions in a typical computer usually divided into three basic types as follows.

- Arithmetic instructions
- Logical and bit manipulation instructions
- Shift instructions

Let’s discuss one by one.

**Arithmetic instructions :**

The four basic arithmetic operations are addition, subtraction, multiplication, and division. Most computers provide instructions for all four operations.**Typical Arithmetic Instructions –**Name Mnemonic Example Explanation Increment INC INC B It will increment the register B by 1

B<-B+1

Decrement DEC DEC B It will decrement the register B by 1

B<-B-1

Add ADD ADD B It will add contents of register B to the contents of the accumulator

and store the result in the accumulator

AC<-AC+B

Subtract SUB SUB B It will subtract the contents of register B from the contents of the

accumulator and store the result in the accumulator

AC<-AC-B

Multiply MUL MUL B It will multiply the contents of register B with the contents of the

accumulator and store the result in the accumulator

AC<-AC*B

Divide DIV DIV B It will divide the contents of register B with the contents of the

accumulator and store the quotient in the accumulator

AC<-AC/B

Add with carry ADDC ADDC B It will add the contents of register B and the carry flag with the

contents of the accumulator and store the result in the

accumulator

AC<-AC+B+Carry flag

Subtract with borrow SUBB SUBB B It will subtract the contents of register B and the carry flag from

the contents of the accumulator and store the result in the

accumulator

AC<-AC-B-Carry flag

Negate(2’s complement) NEG NEG B It will negate a value by finding 2’s complement of its single operand.

This means simply operand by -1.

B<-B’+1

**Logical and Bit Manipulation Instructions :**

Logical instructions perform binary operations on strings of bits stored in registers. They are useful for manipulating individual bits or a group of bits.**Typical Logical and Bit Manipulation Instructions –**Name Mnemonic Example Explanation Clear CLR CLR It will set the accumulator to 0

AC<-0

Complement COM COM A It will complement the accumulator

AC<-(AC)’

AND AND AND B It will AND the contents of register B with the contents of accumulator and store

it in the accumulator

AC<-AC AND B

OR OR OR B It will OR the contents of register B with the contents of accumulator and store it

in the accumulator

AC<-AC OR B

Exclusive-OR XOR XOR B It will XOR the contents of register B with the contents of the accumulator and

store it in the accumulator

AC<-AC XOR B

Clear carry CLRC CLRC It will set the carry flag to 0

Carry flag<-0

Set carry SETC SETC It will set the carry flag to 1

Carry flag<-1

Complement carry COMC COMC It will complement the carry flag

Carry flag<- (Carry flag)’

Enable interrupt EI EI It will enable the interrupt Disable interrupt DI DI It will disable the interrupt **Shift Instructions :**

Shifts are operations in which the bits of a word are moved to the left or right. Shift instructions may specify either logical shifts, arithmetic shifts, or rotate-type operations.**Typical Shift Instructions –**Name Mnemonic Logical shift right SHR Logical shift left SHL Arithmetic shift right SHRA Arithmetic shift left SHLA Rotate right ROR Rotate left ROL Rotate right through carry RORC Rotate left through carry ROLC For Shift Instructions, refer to this Reference for Shift Instructions