 professor in the Hirono Sondropuya School of Science and Technology where he can Krishna Kanto Hentikoi State of University and in this video I'm going to talk about instruction type. This topic is a part of the course Computer Fundamentals. So what is an instruction? Computer instructions are the basic components of a machine language program. The machine instruction has an operation code which is most commonly known as an opcode and zero or more operands. Now the opcode it derutes the type of operation that is going to be performed by the microprocessor and the operands these are the data on the basis of which the respective operation will be performed. Now the instruction sets are differentiated by different features. Some of those features are number one operand storage in the CPU. Now the operand storage here means that the data can be stored in tech type structures or it can be stored in the registers. So this refers to the storage of the operand. Next the number of explicit operands that are in per instruction that is the operands can have zero, one, two or three number of operands. Next we have the operand location. Here it means whether the operands are fetched from the registers or from the memory. Then we have the operation. So here it depends on the type of operation that is performed. So whether the operation that is performed requires to access the memory or not. So these are some of the different types of operations. Next we have the type and size of operands. That is whether the operand is an address or whether it is a number or it can be in any other format of data. So these are some of the different type of features of the instruction set. Now learners let us look at the different instruction formats. So here the first one is where we have only the opcode and we do not have any address. So an example of this is the function NOP which is defined as no operation. So in this type of instruction format you will only get the opcode and you will not have any addresses. Then the second type is where we have an opcode plus we have one address. So if you look at the slide here we can see that one part is the opcode and the next part we have mentioned the first address. So an example of this type of instruction would be LDA that is load direct accumulator and then we have to mention of a particular register where here it is ADDR. So here this instruction means that we need to load whatever was in the memory location of ADDR into the accumulator. Then we can have another type of instruction format that is the third type where we will have an opcode and along with the opcode we can have two addresses. So here in the slide we can see we have opcode then we have address 1 then we have the space for address 2. So an example of instruction of this type would be MOV. So MOV MOV and R1 and R2 where R1 and R2 are two registers and here the instruction using MOV what we want to do is whatever the contents of the register in R2 we want to move it into R1 and so for that we are using the instruction MOV or MOV. So this is the third type of instruction where we are specifying two addresses along with the opcode. Then we can put a last one that is an opcode and then we can have three addresses. So here in the slide we can see that we have one opcode then we have address 1, address 2 and then the space for address 3. Now an example of this type of instruction would be ADD where we have ADD R1 comma R2 comma R3 where R1, R2 and R3 are registers and now what we want to do is we want to add the contents of R2 and R3 registers and we want to put that value in the register R1. So here is an example of an instruction format where we have an opcode and three different type of addresses. So now we can see that we can have instruction formats where we have only the opcode, we can have opcode plus address, one address, we can have opcode plus two addresses and then we can have an opcode plus three addresses. So now learners let us look at the different types of bit manipulation instructions but firstly what are these bit manipulation instructions? The bit manipulation instructions are used to modify bit level data or binary data and they can be classified as logic instructions, rotate instructions or shift instructions. So first of all what are these logic instructions? The instructions which we are used to support the logical expressions that is by performing bitwise end operation or or, XOR, NOT. So these kind of operations, so these are called logic operations and the instructions are end or XOR and NOT. Then we have the second type that is rotate instructions. Now the rotate instructions they cycle the bits around going out one side and then coming in the other. So some of the examples for rotate instruction are ROL, ROR, RCL and RCR. Now we have the third type of bit manipulation instruction those are the shift instructions. Now shift instructions are generally used to shift the bits either to the left or right depending on some conditions. Now shift instructions can be either arithmetic shift instructions or it can be logical shift instructions. Now the logical shift instructions are mainly used when we want to get rid of bits on the beginning or end of a number. Some of the examples of logical shifts are SHL, SHR, etc. Similarly some of the examples for arithmetic shift are SAL and SALR. Now let us talk about data transfer instruction. Now the data transfer instructions consists of 15 basic operations and 86 variations. Now the basic operation that is involved is the transfer of data between two registers of a microprocessor system. Now one of the registers will always be located in the microprocessor and the other one may be located in an input output device or it can be located in the memory of the microprocessor. Now the registers that are located in the microprocessor they are referred to as internal registers and some examples of these internal registers are A, B, C, D, E, H, L, SB which is the stack pointer and PC which is the program counter and here the A it refers to the accumulator and A, B, C, D, E, H, L these are our general purpose registers. Now these are the internal registers. Similarly we will have our external registers which are ROM or readerly memory and RWM that is the read write memory and the input output. So these are known as our external registers. Now the data transfer among these registers is performed by the data transfer instructions. Now the register from which the data is transferred will be known as the source register and the register to which the data is transferred will be known as the destination register. Now the identification of one or both of these registers may be implied by the instruction in memories or may be explicit. Some of the examples of data transfer instructions are MOV, MBI, LSI, LDA, SDA etc. So with this I come to an end of this video. So in this video we have learned about the different types of instruction formats. We have learned about bit manipulation instructions and data transfer instructions. Thank you for watching this video. Thank you.