Registers Flashcards
(28 cards)
What is the EAX’s full name?
The Accumulator Register
Which common calculations use the EAX as its primary register?
ADD and SUB
What does the EAX register do with function calls?
Store the return value
What is the full name of EBX?
The base register
Does the EBX have a special purpose? If so what is it?
NO.
It’s used as a ‘catch all’ for available storage.
What is the full name of the ECX register?
The Counter Register
What sort of code does the ECX count?
Loops, repetitive functions etc
The ECX can also store any sort of data, true or false?
True. It doesn’t just have to be used as a counter
What is the EDX fully know as?
The Data Register
Which other register is the EDX a ‘sort of’ partner too?
EAX
Why does the EDX register have a ‘partner’?
It is commonly used by multiplication and division instructions.
Which register stores the most significant bits for a calculation overflow (multiply or divide)? And which stores the least?
EDX stores the most and EAX stores the least
What is the ESI fully known as?
The Source Index
What does the ESI specifically hold reference to?
The pointer to a value that is being read. For example a string value in a ‘read string’ function.
Which register is known as the Destination Index?
EDI
What was the EDI originally designed to store?
The storages pointer of functions, for example the write address or a string operation
Which register is known as the Base Pointer?
EBP
What is the common purpose of the EBP?
Keeps track of the bottom of the stack.
What else can the EBP be commonly known to hold?
References to variables located on the stack by using an offset to the current EBP value
What is the ESP?
The Stack Pointer
What does the ESP commonly do?
Holds a reference to the address at the top of the stack
What happens to the ESP when values are pushed and popped on and off the stack?
The value stored increments and decrements.
Which register is extremely important within the execution flow of the program?
EIP
What does the EIP register stand for?
The Instruction Pointer