 Welcome to the session on 8086 addressing modes. At the end of the session, students will be able to explain the operation of each addressing mode. Let us see what exactly the addressing mode is. The way of specifying data to be operated by an instruction is known as addressing mode. This specifies that the given data is an immediate data or an address. It also specifies whether the given operand is register or register pair. Addressing mode tells us what is the type of the operand and the way they are accessed from the memory for execution of an instruction. And how to fetch particular instruction from the memory. 8086 assembly language instructions can be used to illustrate the addressing modes. And the format of a particular example as a move instruction, so move space destination comma source. And the source of data can be an immediate data or a specified register or a memory location. And the destination of data can be a specified register or a memory location. So the 8086 processor let you access memory in many different ways. The 8086 memory addressing modes provide flexible access to memory allowing you to easily access variables, array, records, pointer and other complex data types. Addressing modes of an 8086 microprocessors are like immediate addressing mode, direct addressing mode, register addressing mode, register indirect addressing mode, indexed addressing mode, register relative addressing mode, based indexed addressing mode, relative based indexed addressing mode. Such a variety of addressing modes we can able to see here. Now let us discuss them in a brief immediate addressing mode where you transfer the source and immediate byte or word of data into the destination register or memory location. The source operand is a constant and the operand comes immediately after the opcode. For this reason the addressing mode executes quickly, immediate addressing mode can be used to load information into any of the register except the segment register and flag registers. Here you have an example move x,0005h. So the next one is direct addressing mode or we can say the absolute addressing mode where move a byte or word between a memory location and register. Here the data is in a some memory location and the address of the data in memory comes immediately after the instructions. The address is the offset address. Here a 16 bit memory address or input output address is directly specified in the instruction as a part of it. For example if you are looking here you can move the data on a register from the direct address 5000h. The next one is register addressing mode. In this mode operands are specified using registers and the addressing mode is normally preferred because the instructions are compact and the fastest executing of all instruction forms. Registers may be used as source operand and destination operands or both. So if you are looking here as an example, move x, bx. Now we are moving for the next one register indirect addressing mode where most 8086 instructions can operate on the 8086 general purpose register set by specifying the name of the register as an operand to the instructions. You may access the contents of the register here if you consider the 8086 move instruction in this offset address of data is in either bx or si or di. So default segment is either ds and is for example move x, in the square bracket di or there is one more example add l, in the square bracket bx. So this instruction copies the data from one source operand to the destination operand. The next one is index addressing mode. Here offset of the operand is stored in one of the index register and ds is the default segment for si and di in string instruction. So ds and is default segment for register si and di. So example if you are looking here, here we are moving the content from si to the register. The options segment by this addressing mode are the sum of the constant and the specified register. And the addressing modes involving si and di all use the data segment and even the displacement addressing mode uses the stack segment by default. So here you have a question. The instruction move x, in the square bracket bx is an example of which addressing mode. So you have some options. First one direct addressing mode, second register addressing mode, third register relative addressing mode, register indirect addressing mode. Take a pause of this video and write your answer please. So your answer is d, since the registers used to refer to the address is accessed indirectly. Now the next addressing mode is register relative addressing mode. Register moves a data or byte or a word between a register and the memory location addressed by an index or base register plus a displacement value. So the data in a segment of a memory are addressed by adding the displacement to the contents of a base or index register. So in it data is available at an effective address formed by adding an 8-bit or 16-bit displacement with content and any one of the register bx, bp, si, di in the default segment. So you are looking the example where we are moving the content from source that is base register bx with a displacement value 50 to x register. The next one is base index addressing mode. The base index addressing modes are simply combinations of the register indirect addressing modes. These addressing modes form the offset by adding together a base register and an index register. So the effective address of data is formed by adding content of the base register to the content of index register. So here your example if you are looking move the source is base plus index 1 and through that we are moving the value to the x register. Now we are moving to the next addressing mode relative based indexed addressing mode where the addressing modes are a slight modification of the base indexed addressing modes with the addition of an 8-bit or a 16-bit constant. Here the effective address is formed by adding an 8-bit or 16-bit displacement with some of the content of any one of the index register in the default segment. So you can if you are looking the example, so move x comma displacement plus base plus index that is 50 h bx plus source index register. So here in the summary part you are looking every instruction of a program has to operate on a data and the different ways in which the source operand is denoted in an instructions are known as addressing modes. So these are the my references used. Thank you.