Data Manipulation Instructions Data manipulation instructions perform operations on data and provide computational capabilities for the computer. The data manipulation instructions in a typical computer are usually divided into three basic types as follows.
- Arithmetic instructions
- Logical and bit manipulation instructions
- Shift instructions
Let’s discuss them one by one.
- Arithmetic instructions: The four basic 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 helpful 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