 Hello everyone. This is Vishwanath Chauhan, Assistant Professor, Department of Computer Science and Engineering, Valchan Institute of Technology, Solapur. Now I am here to explain the data types and instruction set of 8087. At the end of this session, the students will be able to identify different types of 8087 instructions. Now we will see the different data types of 8087. It is called numeric data processor. So it supports for three different types of data. Integer data type, second one packed BCD data type, third one real data type. We will see the instruction set of 8087. Now this 8087 is called numeric data processor or it has another name which is called math coprocessor. So this 8087 instruction mnemonics it begins with the letter F. This F stands for floating point and which is going to distinguish from 8086 instructions. This 8087 it detects an error condition usually called an exception. When it executing an instruction, it will set the bid in its status register. So there are different type of instructions. First one data transfer instructions, second one arithmetic instructions, third one compare instructions. We will see the first two data and arithmetic instructions. Real transfer, the example FLD load real, FST store the real, FSTP store real and POP, FXCH exchange registers. We will see all these real transfer instructions with more detail one by one. Real transfer, FLD source. So this instruction it decrements the stack pointer by one and copies a real number from a stack element or memory location into a new location which is called ST. For example, FLD ST into bracket 3 which copies ST of 3 to ST. That is from the stack it will pick from location ST of 3 and stores into new location which is called ST. FLD long real into bracket BX. The number from a memory copied into ST. So the memory location is the long real into bracket BX. So from this effective address the data will be copied into ST location, FST destination. It copies the content ST to a specified stack position or to a specified memory location. It is exactly reverse as that of FLD source. Example FST ST of 2. It copies the content of ST to ST of 2 and increments stack pointer by one. Second example, FST short real into bracket B of X. So it will copy the content of ST to a memory at a location ST of real BX. We will continue for next instruction which is called FXCH destination. So it will exchange the content of ST with the content of specified stack element. FXCH ST of 5. So it will swap the content of ST of 5 and ST. Now second type integer transfer. Here FILD load integer, FIS3 store integer, FIS3P store integer and POP. We will see all these more detail one by one. FILD source. So it will load integer, convert integer number from memory to temporary real format and push on 8087 strand. Second FILD D word PTR into bracket BX. Short integer from memory at B of X. FIS3 destination integer store. It will convert number from ST to integer and copy to memory. FIS3 long int. So the memory location ST to memory location name long int will be copied. Now we will focus on arithmetic instructions like addition, subtraction and multiplication. First addition FADD add real, FADD add real and POP, FIADD add int teacher. We will see more detail one by one. FADD ST of 3, ST. It will add the content of ST to ST of 3 and the result will be stored in memory location ST of 3. FADD ST comma ST of 4. It will add ST of 4 to ST and this result will be stored in ST. Here this is the location of destination. The result will be stored in this position. Next FADD it will add ST plus ST of 1 and the POP strike result at ST. Next FADD P ST of 1. It will add ST of 1 to ST and increment strike pointer to ST of 1 become ST. So think about this question and write the answer. FLD ST of 2 is which type of instruction it is and what it does. Pause this video and write down the answer. I hope you have written the answer. The answer is FLD ST of 2 which copies ST of 2 to ST. Decrement this type pointer by 1 and copies a real number from a strike element or memory location to a new ST. Next type of arithmetic instruction which is subtraction. FSUB subtract real. FSUB P subtract real and POP. FISUB subtract real. FSUB ST of 2 ST. ST of 2 is equal to ST of 2 minus ST. Then FSUB ST is equal to ST of 1 minus ST. FSUB P subtract ST from specified strike element and put result in specified strike element and decrement the pointer by 1. FSUB P ST of 1. ST of 1 minus ST. So ST of 1 becomes new ST. The last one multiplication. FMUL multiply real. FMUL P multiply real and POP. F5MUL multiply integer. These are the references. Thank you.