So now we are going to learn something important topic which will be helpful for our covering, and
that topic is Causby Registers.
CPU contents, a memory to store some data for operations, so why do you need to store some memory
in its.
Why does CBO need to store some data in its memory for operations, because getting the value from this
car from memory is time consuming.
So take an example.
If your application is accessing a file or an image that is on the hard disk or from memory, if you
if it's accessing one time, it will be OK.
But if it's accessing so many times, then you have to go to that disk and from memory.
And it would be very time consuming because it's multiple passes, multiple.
Times it need to exist, so that's why C.P.U contains some memory locations, which are called registers,
and you can use the registers to perform computations and computation since the details are fresh because
they already stored in registers and people can simply perform the operation.
And also, these are not permanent memory shortages after the program has been completed or even done.
When you're debugging these registers where it's going to be changed to the basics of what the security
tasks and we are also going to learn about general-purpose registers.
So let's see, what are these general-purpose registers?
So there are some registers which are used for general purpose.
Sarposa It's easier to corrugations return values from functions.
Generally, if you use it for calculations like arithmetic operations and multiplication operations,
and also it's used to store the values from functions.
If you have a function after the function ends, there will be a return value.
And when the function has been completed, the recovery will be stored in X register.
And that makes it easy user to point starting off, so Ebix is called base pointer, and yet you got
a complete register.
So this base pointer is pointing to the base of that means starting element of an area.
And why do this?
We point to the starting of another means.
If we expand the starting of an area, we can point to some other register to access next element or
further elements of an.
So we can say we express one, two is secondary and if we express three to access water and so on.
So here is the exponential starting of an area so that you can access all the elements in that area
by just simply looping over it.
And then actually you see a creature which is called concreter and it is as iterator in loop operations
generally we through orany Eisentrager, but in assembly we use the concreter.
And UTX, registered user for our normal operations.
That means if you are taking any input and just you can shorten UTX and also if there are there is an
awful lot of data in the registers, the hires that you do with such coding edicts and alert that you
are certain you don't worry will be doing this.
And we will observe how that data will be shared among election idiots.
Now, EASA stands for Saux Index, which you could point source open and update for the nation index,
which is used to point destination over.
So these two registers are generally used in string operations like two like.
So EASA points to the source string and it points to the destination string.
Now we'll be looking at the structure of this resistance.
And if you take a look at this, this full digital space is 32 bits right now that control X, and there
is one option to access particular 15 bits of those of the pigs, that is to call it X.
So this is called extended.
This is called a community register.
So if we call X, then we refer to the lower sixteen bits of the X.
Of course, you could hear that little bits by X and this X is the realistic Timbits and this little
bits of X can be further into the two parts here, a lower rate, which this is also called a corridor
here.
And this is also correct.
So if we want to access only Fereshteh bits, that means a piece of X we say yeah.
And if we want to access higher rate bits, we say, which are we want to access, which then we say
X, or if you want to actually start to the which we say generally X the same way you do, X also can
be divided as D, D, D, D and so on.
But this source index and the index cannot be divided like that.
So here there are two other resistors, E.S.P and EVP and will be talking about this in the stack concept.
Just for now.
I'm just skipping this and there is another concept called Extended Flaks.
So these are some flags which are set when an operation is performed.
So there are so many flags here carrying flag bearer, the flag and so on will be discussing more important
ones, which will be useful for us.
I will be showing some examples, guess in the coding point of view.
I mean, in the coding session now, these flags are set when an operation has been performed.
So when they do subtraction between two numbers, if those two numbers are the same, the result will
be zero.
So that result will not be scored anywhere.
But this will set one if the result of the previous operation is zero.
And we can check this out if this operation is GIRoA or not.
And in the same way, we can say all four of that to reflect that.
In fact, if there is any additional operation that leads to carry, then kind of like you said.
So these are like flags.
They're always Ejiro.
And they will be set to one if any operation led to this flag.