🚀 Add to Chrome – It’s Free - YouTube Summarizer
Category: Computer Science
Tags: 8085addressingassemblymemoryregisters
Entities: 8085A registeraccumulatoraddressing modesBC pairBharataLXImemoryMVI
00:00
Hello people, I'm Bharata. Welcome to our new video.
So in today's video, we're going to learn 8085 addressing modes. Now this topic alone addressing modes will make you
00:15
understand how to understand instructions. What's the difference between writing MVI or LXI?
What's the difference between B register and DC pair? How do when do you use B?
When do you use BC pair? what is LDA?
What is LD
00:30
AX? etc.
So you're not only learning addressing modes, you're also getting a fair enough idea of instructions. When do you write add?
When do you write ADI, etc. Now before we start, we need a little bit of background over here.
So I'm just refreshing registers. I'm sure
00:48
you've seen the architecture video before this. 80085 has seven 8 bit registers.
They are called A B C D E H L. They are all 8 bit registers.
Are you listening? So they can contain an 8 bit
01:04
number. Something like 25.
25 is an 8 bit number. Every number is hex symbol in our subject.
So 25 is 0 0 1 0 that is 2 0 1 0 1 that is 5. So 25 34 66 02 FF are 8 bit numbers.
So
01:20
these are all 8 bit registers. They can also be used as two registers together.
That's called a register pair. Now the pairs that can be formed are BC pair, DE pair and HL pair.
Please do not create any other pair of your own. It's not possible.
They're physically created as
01:37
BC pair, D pair and HL pair. BC is uh B being the higher bite, C being the lower bite.
So BC pair is 16 bits in size where suppose I say BC pair is 1 2 3 4. Now you understand 1 2 3 4 is a 16 bit number 1 2 is 8 bits 3 4 is 8 bits 1 2
01:54
is the higher bite 3 4 is the lower bite you understand all that right so in BC pair B is the higher bite C is the lower bite same goes with D pair same goes with HL that's why HL is called HL H for higher and L for lower I'm sure you would realize that the only resistor which doesn't form a pair is a register
02:10
it is a singular register but it's the most important register if you seen the architecture video you know A is also called the accumulator because in any arithmetic ing or logic operation. A holds the first operant and also holds the result.
So if I write add B, the operation is A + B and the result will
02:26
be stored in A. This is the background I wanted you to have.
Okay, you need that background. You can't just suddenly open some chapter in the middle of the book and start learning it.
You need to know a few things before that. Now what do you mean by addressing modes?
Addressing modes means the manner
02:42
in which an operant is given in an instruction. I repeat the manner in which an operant is given in an instruction.
When you write an instruction in assembly language, of course, all of this is assembly language. I'm sure you know that.
So
02:58
when you write an instruction, you have an operant. What do you mean by operant?
Operant means the value on which you want to operate. Suppose you want to add a number 25.
So 25 is called the operant. How do you give this operant to the mup?
How do you tell the MUP that
03:15
your operant is 25 is what is called addressing modes. There are various ways of doing it.
One is simply you put 25 in the instruction. You write add 25.
It's written as ADI. I will explain that to you no problem.
But I'm keeping it simple right now. So you write add 25.
03:32
Simply you are adding the value 25. So you gave the operant in the instruction itself.
That is immediate addressing mode. Then you can do it in a different way.
You can put 25 inside some register and say add this register or you can put 25 in some memory location and say add
03:49
the contents of so and so location. In all cases you are adding the value 25.
But the way in which you are giving the operate is changing. That's what is called addressing modes.
Okay. There are five fundamental addressing modes in AT5.
They are called immediate,
04:04
register, direct, indirect and implied. I'm going to be teaching you all of them.
First, I'll give you the definition. I'll give you examples.
When you're writing this answer in the exam, whichever university you are from, if this comes as a 10 mark question. If you don't write examples, don't write this
04:21
answer. Writing theory, writing the whole explanation of addressing boards, giving advantage, drawback, doing all of that, but not giving examples is not going to give you any marks.
You'll probably end up getting two out of 10 and waste 20 minutes of your exam. So if you're attempting this question, see to
04:37
it that you have valid examples. At least one ideally two.
If I was you, I would be writing two examples with their explanation. Not just the example, with the explanation as to what happens.
When you show the example, that means you're telling the examiner, yes, I've understood it completely. Of course, they don't have to be exactly the same
04:53
examples. You can create your own.
You don't have to mug up these examples. So I'm going to be teaching you the examples.
They're working on the examples. I'm going to show you some programming situations that will make you understand how one addressing mode is better than the other in certain cases.
Each addressing mode has its own advantage and drawback. So I'll show you
05:09
some working examples of that and then we'll finally be wrapping up by telling you advantage and drawback of every addressing mode. So that's how this whole video is going to be.
Uh let's start now. The first thing immediate
05:25
addressing mode. Immediate addressing mode data is given in the instruction.
Whatever data you want to operate on, you get the data in the instruction itself. So what happens?
You know that three processes in an instruction fetch,
05:40
decode, execute. You know that right?
All instructions are stored in the memory. When the processor mu will fetch the first instruction.
As soon as it fetches the instruction, since you have given the data in the instruction itself, MUP will get the data from the instruction itself, it
05:57
will not have to search for the data in some register or some memory location. It is there in the instruction itself.
So that means MP will not waste any time looking for the data. That means the operation will be performed immediately.
Hence the name immediate addressing
06:12
mode. Immediate means the data is there in the instruction itself.
Okay, look here. So, image addressing mode data means your operent is given in the instruction.
Now, the instruction is written as MDI B, 25. MBI stands for
06:30
move immediately. I repeat, move immediately.
So, move immediately into B register the value 25. So, who gets what?
B gets the contents of location 25 or 25? 25.
B register gets the value 25.
06:47
So this 25 is data. You have given the data in the instruction.
Now tell me one thing. Any number can be data.
Any number can also be an address. How do you know whether it is data or address
07:02
the I after this as long as you're learning 885 remember these words in an instruction. If you see a number don't jump to a conclusion.
First look for an I. If there is an I, that I indicates
07:19
immediate addressing. That means that number is data.
If there is no I, that number is address. Applies to 74 out of 74 instructions in 885.
Did you understand what I said? I say it again.
Any instruction where there is I, there is data. If there is no I, that means
07:36
that number is an address. Are you clear?
So move immediately into B register value 25. B is a how many bit register?
8 bit register. 25 is a how many bit number?
8 bit number. So B register will get the value 25.
Please tell me did you understand this example?
07:52
Now one more example. LX I ba 2000 load immediately into BC pair.
I repeat load load means put. So put immediately into BC pair the number 2,00.
Again 2,00 is a
08:08
number. Any number can be address can be data.
2,000 can be an address also can be data also. How do you know whether it's address or data?
Good. Because there is an I in the instruction that indicates that this is data.
So move immediately or load immediately into DC pair the value 2,00 DC pair will get the
08:26
number 2,000. Now for DC pair you don't write DC.
Any register pair is addressed by its higher bite. So for BC pair you write B.
For DE pair you write E. For HL pair you write H.
Are you clear? So when
08:42
you write B, now students say, "Sir, this will lead to confusion." You write B for B register also. You write B for BC pair also.
So how do you know whether you're talking about B register or BC pair? Look for an X in the instruction.
08:57
Every alphabet over there carries a meaning. The moment you see an X again applies to 74 out of 74 instructions.
Any instruction if you see an X X indicates register pair that means there is a pair involved otherwise there is a
09:13
singular register. Please tell me did you understand?
Now this was MVI move immediately into B. This is LXI load immediately into BC pair.
So this is BC pair getting 2,000. BC pair is 16 bit.
2000 is 16 bit. So BC pair will get the
09:29
number 2,000. out of which the higher bite that is 2 0 will come into B register and the lower B 0 will come into C register.
Please tell me did you understand this instruction? So that was MBI and LXI are these two clear.
Now both of these are examples of which
09:44
addressing mode? Tell me tell me tell me they examples of immediate addressing mode.
Why? Because data is there in the instruction.
Did you understand? And to indicate that there is data there is an I in the instruction.
Is the picture clear? Now before we go ahead, if you
09:59
want full 10 out of 10, make package the answer in such a way that no examiner can cut your marks. If you have attempted this question, you should get full 10 or at least 9 out of 10, not something like four, five.
What's the point of wasting so much time in the exam and getting only half the mark? Now look, if you want full marks, take two
10:17
examples, explain them. This is the explanation.
This is the example. This is the explanation.
And show at least one advantage and one drawback of each addressing mode. Of course, every addressing mode will have some advantage and some drawback.
That's why it is there. If one addressing mode had only all the advantages, the other addressing
10:32
mode won't exist. So, each one of them has an advantage and a drawback.
Advantage of immediate addressing mode. Simple.
Tell me, do you agree? Why the data is there in the instruction itself?
MVIB comma 25. Who gets what?
P gets 25. Whether this instruction is written as
10:48
the first line of a program or whether it is in the 20th page of a 100page program, the moment you see this instruction, you know exactly what is happening. You don't need to understand the remaining program to understand what is happening in this instruction.
So using immediate addressing mode makes your overall program simpler to
11:04
understand. I will prove it to you as an example the moment I do the next addressing mode.
So here was my point. It is simple makes the program simple to understand because data is given in the instruction itself.
Drawback the instruction becomes large in size. Now you need to understand this drawback.
Okay, you need to otherwise
11:21
this point will keep irritating you everywhere. Now in 885 instructions can be of one by two byte or three bite.
Okay, I say one bite, two bite or three. Uh how do you come to know the size of
11:36
an instruction? You need to know this.
This will help you understand other topics also. Okay, listen.
Suppose I write move B comma C. In this instruction, B register gets the value of C register.
Are you listening? If C
11:52
register contains 25, that value will be put into B. That's like writing B is equal to C.
If it was C language, we would have written B is equal to C. In assembly language, it is written as move into D.
The value of C, the value will not be removed from C. It will be staying in C also and will come in B also.
It'll be copied. It's not a cut.
12:09
You know the difference between a cut and a copy, right? So, it's copied.
So anyways, B register gets the value of C. The point I'm trying to make over here is this is which language.
Come on, tell me this is which language. This is assembly language.
Now after you write your program in assembly language, the
12:26
assembler converts this into machine language. Some college teachers don't allow using an assembly.
They do the age-old method where you sit with an op code sheet and you look at your instruction and search for the off code. If you're doing that, okay, you've done a lot of hard work.
But it's not required. There are softwarees called assembler which can do it for you.
12:41
Anyway, no problem. My point is the assembler when it converts this into machine language, it will make a binary equivalent of this instruction because what is stored inside the memory is just zeros and ones.
So the binary equivalent of this instruction is called a op code.
12:56
I repeat op code. OP code means operation code.
So every instruction has its own unique op code. Are you listening?
There will be an op code for move. There will be an op code for add.
There will be an op code for subtract and so on. What does a muv do?
First it
13:13
fetches the instruction then it decodes. What does it decode?
It's the op code that it decodes. Looking at the pattern it comes to know what operation has to be performed.
So my point over here is there will be an op code in this instruction. Now is there an op code for move for move B or for move B comma C?
13:32
Yes, there is an op code for the whole thing. Move B comma C.
This entire information is contained in the op code. All op codes are of one bite.
Say this to yourself again. All op codes are of
13:47
one bite. The op code indicates this whole thing.
Which means this instruction will be a one bite instruction. Let's say the op code is some value like 3.
I've just taken an example. So the op code of this instruction is 3 key.
This instruction is over. It is a one bite instruction.
14:04
On the other hand, suppose I write MVIP cover 25. You see the amount of information contained on the board.
I don't remove anything that's I'm writing right at the end. Okay.
When you write something like MVIP cover 25, who gets what? B register
14:20
gets the value 25. Move immediately into B the value 25.
Now this instruction will also have an op code. Now you tell me.
I want some smartness from you. Okay?
I can teach you knowledge. Smartness, common sense.
These are
14:35
things which you have. Everybody has.
If you have the interest to learn a subject, they will all come up. Everybody has more or less the same kind of aptitude.
There are there are few geniuses here and there. Otherwise, 95% people fall in the same kind of aptitude.
All I need is that you put
14:52
your interest, you'll give a lot of answers by yourself. When we're at MVI, BA 25, move immediately into B register value 25.
When this instruction will be converted to machine language zeros and ones, there will be an op code. Now, will there be an op code for MBI cover
15:10
25 or for MBI? Tell that you tell me yourself.
Will there be an op code for MBI cover 25 or MBI? Exactly.
There will be an op code only for MBI. How can there be an op code for MBI cover 25?
25 is a number. A number can have so many
15:27
different options. If you have an op code for MBI, 25, you will need one crop code for MBI, 26, one more op code for MBI cover 27.
Like this 256 op codes, you will need only for MBI. For one
15:43
instruction, if you have 256 op codes, your op code sheet will become a newspaper. Do you understand?
It will become a whole book. And where you get so many op codes from remember I told you there are only 256 op codes.
Op codes are of one bite. I repeat op codes are of one bite.
A one bite number can
16:00
have only 256 values going from 00 to SF. If all those op codes are given to MBI then how will any other instruction survive.
Are you understanding my point? That means a number is never included in the op code.
A number is written separately as an operator. As a what?
As
16:18
an operate. The op code indicates the pneummonic.
This is called the pneumonic in simple language. The instruction.
The op code indicates the instruction and the register. Why instructions are limited?
Registers are limited. You can make op codes for those.
You cannot
16:33
include a number in the op code because numbers have infinite options. Please tell me did you understand this?
So this instruction will have an op code. Let's say the op code is three.
I'm taking the same number everywhere so that there's no confusion. So let's say the op code is 3.
So there will be an op code 3E indicating MB and 25 will be written as
16:51
an operate making it all together a two byte instruction. This is what I wanted you to understand.
This is a one byte instruction but this is a two byte instruction because there is a number in the instruction. A number is never a part of an output.
Now if you understood this then tell Alexa I b 2000
17:09
come 2,000. Who gets what?
DC pair gets the value 2,000. By now you know this instruction.
Now answer my question. When this instruction is converted into machine language, there will be a lock port.
Is there an op code for LXIP 2000? No way.
If you have a port for LXIP
17:25
2000, you need one more output for LXIP 2001, 2002, 2003 like this, you'll need 65,000 op codes only for LXIB instruction. Where is the other?
It's not possible. There are not infinite op codes.
Are you understanding my point?
17:41
So the op code will be only for LXIB. What did I tell you 5 minutes back?
All op codes are of one bite. So this op code is also of one bite and two bytes of the operator.
Can you see this is a 16 bit number. 16 bit number means two bytes.
So altogether 1 b + 1 b + 1 b.
17:57
This is a three byte instruction. This is a two byte instruction.
This is a one bite instruction. I just wanted you to understand this.
You need to know this because it's not only going to affect you here. The next video I'm going to make is timing diagrams.
You cannot understand timing diagrams if you first of all don't know how to figure out the
18:13
size of an instruction. That is the first step a person needs to know to understand timing diagrams.
So if I write any instruction hence will you be able to tell it size that is very necessary. Suppose I write it over here.
Okay. Suppose I write I'm going on writing instruction today.
18:30
Pull B, INRP, move B, comma C, MBI, comma 25, ADI 36, uh, SUI 72, LX, 20,000,
18:48
uh, STA 3000, SH LD 4000 and of okay, so I have written 10 instructions on the board. I'm giving you 1 minute.
Look at them. Come scan
19:03
through them. Scan through all of them and I want you to tell me their sizes with full confidence.
Even if you have to scream, it's okay. Whoever is looking at you won't be judging you.
Even if they do, how do you care? I want clear answers.
You know, saying it in your
19:19
mind and saying it alone. There's a big difference.
When you say it in your mind, you cheat. Not you personally.
You don't take it personally. I'm saying you means in general.
If I tell you an answer which was different from what you thinking, you would say yeah yeah yeah okay this is what I was thinking. You manipulate your own mind.
But when you
19:35
say it you know whether you are right or wrong and it's better to know you are wrong because that's how you correct yourself. What's the point of living in a thinking I was right and then in exam writing all the wrong things.
Okay. So say say it loud and clear.
I want the size of all these instructions. Come on
19:51
push. How many bite instruction?
One bite. Good.
INRP 1 BA C one B MDIP 25 2 by ADI 36 2 by SU7 32 2 by LX IPA 2,000
20:07
3 by SPA 3,000 3 by S SH 4,000 3 B called one B what's the trick if there is no number it is a one bite instruction because anything other than the number is a part of the popcorn if there is no number so these instructions
20:23
have no number they are one instructions no number. So it's a one bite instruction.
If there is a one bite number then that one bite is of the number and one bite is of the op code making it a two byte instruction. If there is a two byte number then two bytes plus one bite of the op code making it a three byte instruction.
Do
20:39
you understand how to figure out size of an instruction? Now come back.
So we were discussing advantage and drawback of immediate addressing mode cover 25. Look at this and tell me how many bite instruction is this?
Loud
20:56
and clear. Now, how many byte instruction is this?
Two bite. LX cover 2,000.
How many bite is this? Three bite.
Absolutely. That means these instructions are bound to be big instructions.
Instructions are big. They are big in size.
Using more of immediate addressing mode increases the size of
21:12
your program. And immediate addressing mode instruction can never be a one bite instruction.
Tell me did you agree? Do you agree with me?
Why? Because there is data in the instruction.
Data means a number. So either it will happen to become a two byte instruction or it will end up being a three byte instruction cannot be a one by instruction.
Please tell me did you understand? Now the next
21:29
one register at the same mode before you go ahead is image addressing mode clear data given in the instruction. Now once you understood one others will follow suit.
Now you'll find things simple which I just wanted to make you understand all the basics first. Register addressing mode data given by a register.
Instead of giving the data in
21:45
the instruction the data will be given by a register. Example move B, C, who gets what?
B register gets the value of C register. So here who was getting a value?
D. Here also who is getting a
22:00
value? D.
The difference is here the data was given in the instruction. Here the data is given by register.
So this is immediate addressing. This is register addressing.
Are you understanding? Suppose C was 25.
In both cases B is getting 25. But here you've given the data in the instruction.
Here
22:17
you have given it using a register. Please tell me are you clear?
So move B comma C B register gets the value of C register. I repeat for the last time the value will not be removed from C.
In this whole subject there is no cut. Everything is a copy in this subject.
Are you clear? There is no cut.
You know
22:34
the difference right? So B will get the value of C.
INRB INRB stands for increment B. B will become B + 1.
So if B was 25 it will become 25 + 1 that's 26.
22:50
INXP. What is the difference between INRP and INXP?
Good. Did you understand this by yourself?
Nice. What did I say?
Whenever you see an X in the instruction, immediately understand. That means it works on a register pair.
So, in R is an 8 bit increment. InX is a
23:08
16 bit increment. That works on B register.
This works on BC pair. BC pair will become BC pair plus one.
Please tell me did you understand? So here data was given in the instruction.
Here data is given by a register. Now comes the point I'm trying to make.
Advantage and drawback. Come on.
Look here. Look here.
23:25
Mi B cover 25. Who gets what?
B gets 25. Are you sure?
Yeah. Even in your deep sleep, if I just wake you up and I show you this instruction within a flash, will you be able to answer who is getting what?
Yes. It is clearly evident B is getting the
23:41
value 25. You don't need to know the history of the program to tell what is going on over here.
But if I tell you who B comm gets what B gets the value of C. So what is B getting?
The value of C. Yes.
So what is it getting? What's the
23:56
value? Do you know the value?
No. For that you have to know what is the value of C.
That means in that same 100page program on the 20th page instead of writing MBI BA 25 if I write move B comma C. Now you don't know what is happening.
To know what is happening, you have to know the whole program
24:12
before this what has gone so far. What has happened so far?
Are you understanding it? That means the more you use a listing, the more your program becomes complex.
Students misunderstand this drawback. They say right what is complex in this instruction.
It is such a simple instruction. I'm not saying the instruction is complex.
I'm saying this
24:28
makes the program complex. The more you use this, the more a person has to understand the whole program to understand every instruction.
Whereas looking at this, it is very obvious what the instruction is doing. Anybody can look at them and say so immediate addressing gives you simple programs.
Register addressing gives you a little
24:44
complicated programs as compared to immediate addressing. Are you clear?
Now advantage there has to be some advantage. Big advantage.
This was a two byte instruction. This was a three byte instruction.
This is come on. Come on.
How many bite instruction? One bite.
25:01
Again one bite. Again one bite instruction.
These are going to be one bite instructions because data is given using a register. Registers are always included in the op code.
So these instructions only have an op code, no operated next to it making it sure that
25:18
they all one bite instructions. So using more of register addressing instructions will make your program smaller in size but a little more complex.
Image addressing is simpler but the programs will be bigger. Are you clear?
Now let's take a practical example and see what does this mean. Suppose there is some
25:33
program in which you want to initialize A register, B register and C register. All the three registers with the value zero.
Did you hear my question? I want to initialize A, B and C.
All of them with the value zero. MBI A comma 0, MBI comma 0, MBI C, 0.
A gets 0, B get 0, C
25:51
gets zero. Everybody gets a zero.
Simple. Correct.
This was simple. This was which addressing mode?
Immediate. Now see what happened.
You wrote something which is very simple to understand. But what's the size?
This is a two byte instruction again. Two byte instruction again.
Two byte instruction.
26:08
Making it all together a six byte program so far. Are you clear?
Now compare this to this program. Come on.
MVIA it's the same thing. MBI A 0 0.
So again a is zero. Now once you got zero in A register why do you want to write
26:23
zero again? Use that value from A into other registers.
Move B comma A. Who gets what?
B gets the value of A. So B also gets a zero.
Mo C A C also gets the value of A. C also gets zero.
So again all of them have become zero. But see the difference.
This is gone. Say it by yourself.
This is how many bite
26:39
instruction? One bite.
This is one by this is a two byte instruction. Please tell me do you understand this?
So altogether this is only four bytes as compared to six bytes. Here there is a difference of two.
That's one way of looking at it. The other way of looking at 33% reduction in size.
Uh see
26:56
today there's a competition everywhere in the world about writing the best app. Tomorrow you become an engineer.
You're going to be for all you know getting into the software world writing apps. Now when you develop an app say for a simple example you develop an app for cricket.
Okay I'm taking that example because we are from India. Cricket is
27:12
our most favorite sport. We of course I I love football more than cricket personally but that's not my I'm talking in general.
Uh and formula if you want to know anyway. So in cricket suppose you're making an app for cricket.
Now when the cricket
27:27
season happens especially the IPL season there are various apps like cricket pass and various other apps. Uh people download those apps because they want to be immediately aware what is happening.
Someone hit a sick someone got out etc. Now the app that sells the most in the market is the app that works the
27:43
fastest. Tell me do you agree?
If you and your friends are sitting, your friend gets an update, you are not getting an update at all, you get an update after 1 minute, everybody will laugh at that app and they will you will immediately remove that and install the app that your friend is using. So the idea is you want your programs to work faster.
Today everything is over the
27:59
internet. You're watching this video over the internet.
It just speaks for itself. Now on the internet as you download the bigger the file size, the more time it takes for it to download and it's not rocket science.
This is obvious. So every step of programming is
28:17
done keeping file size as one of the biggest factors of optimization. As small as your program is, the faster it will be downloaded, the faster it will run on devices and the more the app will sell.
So if you are stuck using image
28:34
addressing mode everywhere, you will get into trouble. This is a tad more complex as compared to this but gives you a much smaller program in the same much smaller program but doing the same thing.
Are you a kid? I can make it even smaller if you want.
If you want you know what does
28:50
add b do? Come on tell me what does add b do?
A + b and the result is stored in a. You know that right?
Add c. You've seen architecture video.
I explained all this. Add c.
A plus c result stored in a subtract b.
29:05
A minus B result stored in A. Subtract C.
A minus C results stored in A. Subtract A.
A minus A result stored in A. Whatever A was will become zero.
So subtract A is a smaller instruction to
29:23
make A zero. If you write subtract A, a will still be zero but instead of two bytes it will be one by.
And now your program has become a three byte program as compared to 6 by half the size doing
29:40
exactly the same thing using a better addressing mode. These are all immediate addressing.
These are all register addressing. Now you got my point.
Image is simpler but bigger programs. Register is a tad more complex but smaller programs.
Please you are clear. Add all these points if you want full 10 out of
29:56
10. You don't have to take that example.
You're not teaching that example but you write the point. Okay.
Now there was immediate and register. Now the level will go a little higher.
Direct and indirect. These two addressing modes are used when the data
30:13
that you want to work on is stored somewhere in the memory. In the memory not in the processor the data is somewhere in the memory.
Now when it is there in the memory to access the data you need to use its address. So there there are two options either you use
30:28
direct or you use indirect. First I teach you direct.
So direct addressing mode address is given in the instruction. Instead of giving the data you are giving its address.
Example LDA 2000 look at it you will understand by
30:46
yourself. If you apply your mind you will understand you.
As I said you need to apply your mind. Okay this is engineering.
This is not some school time uh bedtime story reading. You have to apply your mind.
I will make you understand that's my job. But then put has to come from U2.
LDA 2000 load A. LD stands for load.
31:06
So load means put. So put into A.
So at least half of it you understood that A will get some value. You putting something into A.
You understood that much. 2,000.
Is 2,000 what you want to put into A? Are you saying A should get
31:23
2,000? No, my friend, that is not possible at all.
2,000 is a 16- bit number. A is any bitter this 2,000 can never go in.
Moreover, this is also 2,000. This is also 2,000.
Can you see? Now, is there a difference between the two?
I'm not
31:39
talking about color. Okay?
Let's we not joking over here. In this 2,000, this was 2,000.
But in this instruction, there is an I. What have I told you?
Whenever there is an I, that means there is data. If there is no I, that means there is an address.
This 2,00 is data.
31:57
This 2,00 is address. Here I am talking about the number 2,00.
Here I'm talking about the number stored at the memory location 2000. This 2,00 is just an address.
So when you write LTA 2000, you're telling the muki load into a register the contents of memory location
32:15
2,000. I repeat, A should get the contents of memory location 2,000.
Now in English it is written as A gets the contents of memory location 2,00. Now if you don't want to waste so much time and time in writing you can use this notation.
It's a textbook notation. All
32:31
standard textbooks use it. Everybody knows what does this mean.
The moment you put a square bracket means contents of okay so a gets the contents of the memory location 2000. Are you clear?
So take let's first do the second example then I'll show you the work. SPA
32:47
3000 you tell me by yourself. Come on.
Come on. Tell me by yourself.
SBA store a store the value of a at the location 3000. So it will store the value of a means a is getting the value or giving the value given the value.
So A will be giving the value to location 3,000. Now
33:03
let's understand this. This is your memory.
I'm sure you know this background. 8085 has a 16 bit address.
First can access 2 to 16 64 KB memory. Please check out the earlier video of architecture for all this.
Okay please. If you don't know this you know great.
So this is your women that address range
33:20
goes from 000000 to FF FF. So somewhere there is location 2,000.
Somewhere there is location 3,000. When you do the first instruction LDA 2000 load into a the contents of location 2,00 whatever was the data
33:36
stored over here will come into a register. A is a how many bit register?
8 bit register. This data is how many bit?
8 bit. Your fundamentals have to be strong.
One memory location always carries one bite. Say this again.
One memory location. One memory location
33:53
always carries one bite. Have I made myself clear?
Whether you learn 885 or 886 or 386 or PDM or whatever you learn, one memory location always carries one bite. There is a reason behind it.
But you understand that in 886 that problem never happened over here. So there's no point in discussing over here.
But just
34:10
know this, one location always carries one bite. Have I made myself clear now?
So location 25 carried some value like 33. I'm just taking an example.
So LVA 2000 when you write LVA 2000 you're saying load into a the contents of
34:27
location 2000. This number 33 will come into a set here also and will be copied into a register.
The next instruction SDA 3000 store A at location 3,000. The value of 33 will be taken from A register and will be stored at location
34:42
3,000. Whatever was the value over here maybe 75 maybe 42 it doesn't matter will be overwritten with the number 33.
So side by side you have done a program also write a program to transfer the contents of location 200 to 3,000. You took the data from 28 and store it at
34:58
location 3,000. Please tell me did you understand?
In both these instructions what did you give in the instruction? Did you give the data in the instruction?
No, you gave the address in the instruction. Because you gave the address in the instruction it is called direct addressing.
What is the definition? address given in the instruction you're directing the MUB to
35:15
a particular location. Are you clear?
Now suppose student say sir suppose location 2000 contain 33 that means LDA 2000 A will get the value 33. Yes, you are right.
A will get the value 33. Students say we could have done that simply by writing MBI a 33.
Of course we
35:33
could have done that but for that you should know what is there at location 2000. Many of times you know the data many times you know the address.
Suppose I tell you write a program to add the numbers 25 and 35. Come on add 25 and 35.
Now what do you know the data? You
35:48
take 25 in one register, 35 to other register and add them. Correct?
So here you use image addressing because you know the data. I tell you write a program to add the contents of location 2,000 and 3,000.
Now you don't know the data but you know the address. So using the address and getting the data.
So
36:04
when we going to work on memory you need to use the address that's when you use direct addressing mode. Please tell me.
Did you understand? Now, keep looking.
Keep looking. Keep looking.
I'm going to do a small programming example with you. H listen to the
36:21
question. Here is the question.
Okay, listen to it carefully. Take the data of location 2,000 into A.
Transfer that data into B. Take the data of 3,000 into A.
Add the value of A and B. answer will
36:39
come in a to that add the number 25 answer will still come in a store the result at location 4,000 that is my question if you answer the instructions to do all this you have not only understood these addressing modes you've
36:54
also known how to use them in a program because our subject doesn't end at understanding addressing modes right you got to go ahead and learn how to use them in programs come on come on take the data from 2002 come on give me the instruction Come on. Obviously, I'm not showing you
37:09
that side of the board. Now, it has to come from you.
Take the data from 20,000 into A. Come on, Shabbash.
L A 2000. A gets the contents of location 2,000.
Now, transfer that data into B register. Come on.
Move. Tell move what?
Move
37:25
what, comma, what? Move B, comma, A.
Excellent. You always give the destination first.
Okay? It's always destination, source.
I repeat, destination, comma, source. So move into B the value of A.
So B gets the value. Now take the data from 3,000 into A.
37:42
Come on. LDA 3,000.
Now you got both your numbers in A and B. Add them.
Come on. Add B.
You don't write add A, comma B. You simply write add B.
It is understood that B will be added to A and
37:58
the result will be stored in A. This is the characteristic of NA file.
It works only on the register. when it works when it does arithmetic and logic operation all operations are done on a n.
So that's how a gets the name accumulated. The accumulated value always comes in a so you added a plus b result has come in
38:14
a you reach so far over here. Now to this result you want to add the number 25.
Okay you want to add a and the number 25. Your instruction will be a d i 25 h comma every 25.
Please let me
38:32
understand this. This was ad.
This is adi. Add because you wanted to add.
ADI because you want to add some data. The moment you write data in the instruction, there has to be an I.
That is the difference between writing add and adi subtract an
38:50
SUI and an ANI or an ORI. I'm sure you know these instructions.
Okay. So that I is written whenever there is data in the instruction.
So because you are adding immediate data add immediately the value 25. 25 again will be added to a and the
39:07
result will also come in a. So now the result is in a store the result at location 4,000.
Come on. Store from a to location 4,000.
Come on. Come on.
Give me the instruction. Come on.
Last one. Come on.
What do you write? SA 4,000.
Please tell me. Did you
39:23
understand this? Now quickly tell me the addressing modes of all of them.
This is direct register direct register immediate direct. So what we did was with programming example we just
39:40
use all these addressing modes. I hope you understood direct addressing mode properly.
So for the last time LD 2000 A gets the contents of location 2000. SD 3000 A will be stored at the location 3000.
Are you clear? Now advantage and drawback again advantage simple.
Why?
39:56
because the address is given in the instruction. When I teach you indirect, you'll agree with me.
This was simple. Okay, just be patient right now.
Listen to the word. Anyway, drawback.
I'm sure you guessed it by yourself. Too large.
You're writing an address in the instruction. Address is a 16 bit number
40:12
means two bytes and one bite of the op code. That mean these instructions will always be three byte instructions.
So, they are huge instructions to write. So, drawback they are large.
There's one more drawback called rigid. You won't understand that now.
You'll understand that when I do it direct. But anyway, as of now, I've given you one drawback that the instructions are large.
Advantage,
40:28
the instructions are simple. Please tell me is directly more clear.
Go to the next one called Come on, come on, come on. Indirect.
My favorite. The most powerful, the most useful, the most popular addressing mode.
When you do
40:43
intense programming, you'll remember these words of mine. More than 95% programming in the world is done using indirect addressing mode.
That that is how much important it is. When you learn 886, you'll see four types of indirect addressing mode.
As you learn higher
40:59
processor up to the latest one, you'll see 32 types of indirect addressing mode. It that's how well developed they've made this addressing mode because it is used that much.
Now let me explain it. First of all, let's look at the definition.
Data given in the instruction. Data
41:16
given in a register. Address given in the instruction.
Very obvious answer. Address given in a register.
Again we are going to give an address. Direct addressing mode also we give an address.
Now also we will give an address. Difference is here the address was given
41:32
in the instruction. Here the address will be given by a register.
That means we are giving the address directly or indirectly. Indirectly that's why it gets the name indirect addressing.
Address given by a register. What does that mean?
We want to work on some data. The
41:48
data is not with us. The data is stored somewhere in the memory.
Listen to my words. Data is stored somewhere in the memory.
Its address is there in some register. We will write the name of that register.
Processor will first go to
42:05
that register. From there it will pick up the address, go to that memory location.
From there it will get you the data. So you are giving the address but you're not giving it directly.
You're giving it indirectly using a register. Hence the name indirect addressing mode.
42:20
Hence the definition that was given by yourself. Let's take an example.
You'll understand it and you you know what I want you to understand this example by yourself. Do it.
It will give you such a shot in your confidence. Your confidence will increase tremendously if you can understand this example by yourself.
And I'm sure you can. You know everything
42:36
you need to know to understand this example. You just have to apply your own mind.
LDX very slow. LD AXP.
No X. What does LDA stand for?
Load A. Load A means again who is getting a value?
A. So A
42:53
will get the value. This much you understood that A register has to get a value.
There is B written over here. Does that mean A is getting the value of B register?
No. My friend, if A had to get the value of B, I would write move A, B.
There is an X written over here. What does the X indicate register pair?
43:11
So what does that mean? A is getting the value of BC pair.
Come on, you reach the end of this. No, no, don't don't quit it.
Is A getting the value of BC pair? How can that be?
That'll be stupid. BC pair is 16 bit.
A is 8 bit. And BC pair is 2,000.
A cannot get 2,000. What can A
43:27
get? Contents of memory location 2,000.
A is getting the contents of the memory location pointed by BC pair. I repeat, A is getting the contents of the memory location pointed by EC.
I'll explain it to you. Do not worry.
Let me show you the next example. Then I'll draw
43:42
diagram. Everything become clear.
That's my guarantee. First look at the example.
ST A XD. Come on.
Come on by yourself. Come on.
St A. What does STA indicate?
Store. Store the value of A.
So you're storing the value of A somewhere. There's a D.
Now you stoing the value of
43:58
A into D. No.
There's an X. So that means there's D pair.
Is A getting stored in D pair? No.
A is getting stored at the memory location pointed by D pair. If D pair is 1 2 3 4, A is getting stored at the memory location 1 2 3 4.
D pair is just giving the
44:14
address. So since the address is given by register, it is called indirect addressing.
As I said, I will explain it to you. Don't worry at all.
Don't worry. Don't think this is difficult.
It is not. It is very simple.
Okay. Look it.
Where do I explain? Let me explain it over here.
44:30
H. This is your This is the memory.
In the m there is a register. There is B register.
There is C register. Are you with me so far?
Suppose B register contains 1 2. C
44:45
register contains 3 4. So BC pair right now contains the value 1 2 3 4.
Are you so far clear? BC pair contains 1 2 3 4.
In the memory there is location 1 2 3 4. Do you agree?
In that location there is
45:01
a data 55. There could be any data.
I have written some data 55. One memory location always carries one bite.
One bite needs an 8 bit number. I have given the example 55.
Now when I write LD A XB very slow, understand it once but understand
45:17
it so well that you don't have to look at it again. Come on.
L A X B A L D A What does LDA means? A has to get the data.
Okay. P is A getting the
45:32
value of P? No.
There is an X BC. Is A getting the value of BC?
No. A is getting the data from the memory location pointed by BC pair.
What does that mean? Is A getting 1 2?
No. Is B getting 3 4?
No. Is A getting 1 2 3 4?
45:50
No. 1 2 3 4 will now act as an address.
Processor will go to the memory location pointed by PC pair means the memory location whose address is given by PC pair and from there the data will come into A. A will get the value of D5.
Please tell me that you understand this.
46:06
Let's take one more example. Let's do it again.
No problem. I keep doing it right.
Come on. Look here.
This is the mut. This is the memory.
This is A. This is D.
This is E. This is 5 6.
This is 78. A is 20.
This
46:24
is location 5 6 7 8. When I write S T A X D, what does that mean?
S E A means store. Store store A.
Store A into V register. No, the X indicates that it is pair.
D pair. No.
Store A at the
46:42
location pointed by D pair. Processor will store the value of A.
Not in D, not in E, not in D pair. It will go to D pair, take the address, go to that address, store the value of A at that address.
Please let me tell you understand this. So what is D pair doing
46:57
over here? Giving the address.
Since the address is given by a register, it is an example of indirect addressing. So for the last time we will learn it more to not weather.
L A XB load into A the contents of the memory location pointed
47:15
by BC pair. S E A XB store from A at the memory location pointed by DE pair.
Both of them are working on memory locations. These are also working on memory locations.
What's the difference? Here the address is given in the instruction.
47:30
Here the address is given by a register. So this is immediate addressing.
This is register addressing. Please tell me now is this clear.
Come on. Come on.
Let's see why they have created this addressing mode. Once you understand that, you're going to love this addressing mode.
Come on. Look here.
47:47
This is a memory. This is location 5,000.
I want you to get the data of location 5,000 into a register. Did you hear my question?
I want you to get the contents of location 5,000. Whatever is the data store over here should come into the address.
In the last 10
48:03
minutes, I have taught you two addressing modules for doing this. This can be done either by direct addressing or can be done by indirect addressing.
Let's do it by both and see. Direct addressing.
Come on, give me the answer. Come on, shout it out loud.
It's okay. A should get the data of 5,000.
Come on. What is the instruction?
Come on. L A
48:20
5,000. A will get the contents of memory location 5,000.
Did you understand this? This was which addressing mode.
Why? because the address was given in the instruction.
Now, same thing people do but using indirect addressing. Now, to use indirect addressing, somebody has to
48:35
point over here. You could either use BC pair or DE pair or HL pair in a different way.
But anyway, you could use any of the register pairs. Which one do you want to use?
Let's say BC, no problem. If you want to use DE, no problem.
Go ahead. It's the same.
So, first I need to initialize BC. Listen to
48:51
my words. First, I need to initialize BC pair with the value 5,000.
BC pair should get the value 5,000. For that the instruction I will write is lxi da 5,000.
Who gets what? BC
49:06
pair gets 5,000. Please do not misunderstand.
In this instruction what is 5,000? What is 5,000?
In this instruction what is 5,000? Data.
Yes. For DC pen 5,000 is data.
We will use it as an address by writing LD AP. When I
49:24
write LD AP, who gets the data? A gets the data from the location pointed by whom?
BC pair. But because BC pair is initialized with the value 5,000, that means A will get the data from location 5,000.
Please tell me did you understand this? Let me show this to you with a
49:39
diagram. Come on.
Come on. This was your mut.
This is your in the m there is A, there is B, there is C. When you write NX, I b 5,000.
BC pair gets the value 5,000. We write LD AXP take the data from the memory location pointed by BC
49:57
pair newly goes to BC pair uses that number as an address goes to that address from there gets the data. So you getting the data from a location pointed by BC pair is BC giving you the data.
No data is coming from PC is giving you the address. So since address is given by
50:12
the instruction is called indirect addressing. Please tell me did you understand this?
Here address was given in the instruction. Here address is given by a register.
This is called direct addressing. This is called indirect addressing.
Are you so far clear? Now comes the question.
Why have
50:27
they created that means which is simpler? Honestly, which is simpler?
Direct or indirect? So first of all, at least you understood my point.
I had told you you understand this point simple. You understand this point simple about direct addressing mode.
Well, you understand indirect addressing mode. So
50:43
you understand you'll agree with me that direct is simpler. Do you agree directly similar?
No. Very similar.
No. In both cases, who is getting the data?
From what location? 5,000.
Which means both are doing different things or same thing. Yes, both are doing the same thing.
So, here
51:00
is my question. Both are doing the same thing.
Direct is simpler. Then why have they created indirect?
What is the advantage of indirect addressing mode? Here you're catching the nodes like this.
Here you're going all the way around and still doing exactly the same thing. You are still getting the data of location 5,000 but you involving DCP for
51:15
that. What is the point?
Why have you created something? I told you more than 95% programs in the world are done using internet addressing mode.
So why why is this so powerful? Suppose I tell you get me the data from location 5,000.
That's it. That's the question.
Get me the data
51:32
from location 5,000. Which code you use?
Direct. Even I use direct simple.
It is simple. You catch your own.
I change my question. getting the data from 100 locations starting from location 5,000 one by one I want data of 100 locations
51:48
you have one question which addressing mode you use you got the point will you use direct addressing mode if you use direct addressing mode what do you have to do you'll have to write 100 such instructions ld of 5000 LD of 50001 LD
52:05
of 5002 Is that how you do programming that is donkeyy's work you don't do programming like You want to do something 100 times, you don't write 100 times. You write it once and you put it in a loop.
That is called programming. That's how you do programs.
If you're
52:20
transferring a whole movie, there's no program to transfer a movie. Program is there only to transfer one bite and that is done in a loop billions of times to transfer movie.
Am I right? So will you achieve anything by moving this instruction?
No. Because no matter how
52:37
many times you do it, you will get the data from 5,000. Because once you have written a number, it cannot change.
You hardcoded. This is called hard coding in programming.
You hardcoded the number. You've given up your game.
This instruction can only work at 5,000. Cannot work at any other location.
But this instruction, look here. Lex, what
52:53
is it saying? Get the data from the location pointed by BC pair.
As of now, BC pair is 5,000. So, you got your data from 5,000.
No more time. Now, all you need to do is inxp.
What is inxp? Incrementally DC pair will become BC pair + 1.
Now put this in a loop. The
53:10
number of iterations you do those many locations data you will get. If you do 100 iterations you get data from 100 location,000 iteration you get,000 location.
Please let me understand this. But you understand you want to access one or two locations one or two locations you use which address then because it is simple but the drawback is
53:28
it is rigid. It will work only on those locations.
I hope all these points are now becoming clear. If you want to access a series of locations your only option is to use indirect addressing mode.
I'm so passionate about it because I do serious programming. And whenever you do serious programming, whenever you become the engineer that you aspiring to
53:44
become, you will realize everything is done using this addressing mode. Why?
It is used to access one location or series of locations. Series of locations.
Tell you've used your computer for so many years so far. 4 5 6 7 years at least.
I don't know how many since when you started using computers. Try to remember everything
54:01
that you've done using a computer in Delhi. Do you ever access only one location?
Not possible. One location carries one bite.
There is nothing of one bite in the modern world. Today everything is kilobytes, megabytes and gigabytes.
Am I right or wrong? That means a to zed of
54:19
every operation that your computer performs. It has to access a series of locations and to access a series of locations it has to use indirect addressing mode.
This is the addressing mode on which all real world programming is done. I hope I made my point clear.
Yes. Let's take an example.
Come on.
54:35
Come on. Oh my make me happy.
Now this is payback time. I have done all this effort made you understand this.
Now you don't make me happy. Write a program to take the data from location 200 into a and store it at location 3,000.
That is the question. Take the data from 2000
54:51
store it at 3,000. Which addressing mode will you use?
Direct. Because you just one location 2000.
The data comes in SDA 3000. The data is stored at 3,000.
Job done. You think this will ever be an exam question?
No way. Write a program
55:09
to transfer a block of data from 2,000 to 3,000. Will this be an exam question?
This is one of the most popular exam questions. This is called block transfer program.
I repeat block transfer program. This is a program that happens in the background.
Whenever you do a copy and a paste, you copy a chunk of
55:25
data, you paste it somewhere. The whole block has to be copied.
The program for that is the program that we're doing right now. For this, which addressing mode are you going to use?
Direct or indirect? Absolutely indirect.
So first initialize BC pair with the number 2,000. Initialize B pair with the number 30,000.
Come on. LX I B 200 L XI B
55:46
30,000. You done your initialization.
Now take the data pointed by BC pair into A. L A X D.
Store it at the location pointed by D pair. S A X D.
increment DC pair,
56:01
increment D pair and put the procedure in a loop. The only thing you don't know so far is how to make a loop which again I will teach you whenever the time comes.
I'll teach you once you know how to make a loop. This is how you write a block down program.
Anyway, I can go on. I think I've made my point clear.
Whenever you want to access a series of
56:17
locations, you use indirect accessing. In case there's someone who still is a little dicey in their mind, no problem.
There are 10 ways to understand something. I have the interest.
You have to have you have to put the effort. Okay.
The effort of just constantly
56:34
looking at the screen without being disturbed by others. That's all you need to do.
Okay. I'm sure you work with C programming.
Little bit C programming everybody has done by the time they reach this level. Yes.
So you know there is something called arrays. So suppose there is an array.
It name is Kara. It
56:50
has 10 elements. Element number zero up to element number 9.
Each element has some value. Okay.
If I write x = a r5, I will get the value of element number five. Do you agree?
X= a R0. Element
57:06
number 0. X= a R 9.
Element number 9. X= A R I and I initialize I as five.
I will still get the value of element number five. Now what's the difference between writing I and writing five?
If you write
57:23
five, it will work only on element number five. If you write I, you can put it in a loop and access a series of locations.
Please tell me did you understand? I think I have made my point clear.
But to do this, first you have to initialize I. To do indirect addressing mode, first you have to initialize BX register.
Are you understanding my
57:39
point? For BX,000 is data.
We use it as an address. For I five is its value.
We use that as an address by writing square bracket here. Please tell me now is my point clear.
So that's indirect addressing advantage and drawback. Advantage it is flexible.
It can be used in loops. Drawback yes it is more
57:56
complex as compared to direct addressing mode. Are you clear?
Yes. Is in direct addressing mode understand.
The last one simplest addressing mode. Very cute addressing mode.
Uh doesn't even interfere with our mind. You can by speaking also if you read this you understand.
It's called implied
58:11
addressing. What do you mean by the word implied?
Implied means understood. Many of times you don't say things.
They just implied. I hope you understood what I said.
I'm not implying anything over here. I'm just saying the fact.
Did you understand what I said? The word implied means without actually speaking, if you
58:29
can convey your message, that is called implying. Without actually giving the operate.
If you can do your job, then it is called implied addressing. Look here, we are learning addressing.
What do you mean by addressing modes? The manner in which an operant is given in immediate
58:47
and register we give the data either data in the instruction or data given by a register. In direct and indirect we give the address either in the instruction or given by a register.
In implied addressing mode we give nothing. We don't give the data.
We don't give the address. We don't tell the mu what
59:04
is the operant. Why?
Because the operant is implied. I repeat the operant is implied.
Means there are some instructions which can work only on a particular operant. Since they can work
59:19
only on a particular operant, you don't need to give the operant. Operate becomes an implied operate.
Example. Example.
It's very simple. The simplest type is simple.
SPC. That's it.
Look at there is no operate. It's just a pneumonic like something like MDI.
In MDI there is a pneumonic. But
59:36
you've also written an operative. You written something.
Here there's only a pneumonic. There is nothing else other than this.
Can you see that? Now, STC stands for set the carry flag.
I'm sure you've seen the flag video. In the flag, right at the end, there is carry flag.
I hope you know flags,
59:52
right? H okay.
So, carry flag. So, carry flag can be zero or one.
It's a single bit. It can be zero or one.
STC will make carry flag one. Now, this is an instruction which is designed to work only on the carry flag.
Since it works only on the carry
00:08
flag, you don't need to write STC carry flag. If you write just SPC it is implied.
Now you understood it is implied that it works on the carry flag. Similarly CMC complement the carry flag.
If carry flag was one it will become zero. If it was zero it will become one.
So basically carry flag will become
00:24
carry flag path. If it is one it will become zero and vice versa.
So it's called complement. The point is in both these instructions there is no operand written because the operant is an implied operant.
Do you understand the meaning of the word implied? Look here I'll make you understand it.
Don't
00:39
worry. INRB will increment D.
INR C will increment C. INRD will increment D.
Can you write only INR? No.
Because you need to specify which is the register because there is nothing implied over here. This instruction can work on every register.
00:56
But this instruction is designed to work only on the carry flag. Since it works only on the carry flag, there's no need to give the operate.
The operate becomes an implied operate. Please tell me did you understand?
So those were your five addressing modes. 1 minute recap and first of all the advantage and drawback of implied addressing advantage.
uh simple as you can see as as simple as
01:12
possible can't get simpler than this small instructions since there is no operent it's going to be a one by two instruction so small drawback rigid it works only on a particular oper many processors don't even have this addressing mode because of it rigidation any are these points clear now one recap
01:28
of everything what do you mean by addressing modes the manner in which an opin is given image addressing mode data will be there in the instruction that's why there is an I in the instruction register addressing mode data will be given by a register so it move from one register to another register. Then addressing mode data is
01:44
not given address is given in the instruction. In that addressing mode that address will be given using some register so that we can increment it and put it in a loop to access a series of location.
Of course decremented also depending on how you want to access lefty righty it's the same you access like this. So like you're still accessing the same number of elements
02:01
and last implied addressing you don't give anything at all the component becomes an implied oper. I hope you understood this.
Wish you all the best. Do well.