Registers Flashcards

(28 cards)

1
Q

What is the EAX’s full name?

A

The Accumulator Register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which common calculations use the EAX as its primary register?

A

ADD and SUB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does the EAX register do with function calls?

A

Store the return value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the full name of EBX?

A

The base register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Does the EBX have a special purpose? If so what is it?

A

NO.

It’s used as a ‘catch all’ for available storage.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the full name of the ECX register?

A

The Counter Register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What sort of code does the ECX count?

A

Loops, repetitive functions etc

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The ECX can also store any sort of data, true or false?

A

True. It doesn’t just have to be used as a counter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the EDX fully know as?

A

The Data Register

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which other register is the EDX a ‘sort of’ partner too?

A

EAX

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Why does the EDX register have a ‘partner’?

A

It is commonly used by multiplication and division instructions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Which register stores the most significant bits for a calculation overflow (multiply or divide)? And which stores the least?

A

EDX stores the most and EAX stores the least

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the ESI fully known as?

A

The Source Index

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does the ESI specifically hold reference to?

A

The pointer to a value that is being read. For example a string value in a ‘read string’ function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Which register is known as the Destination Index?

A

EDI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What was the EDI originally designed to store?

A

The storages pointer of functions, for example the write address or a string operation

17
Q

Which register is known as the Base Pointer?

18
Q

What is the common purpose of the EBP?

A

Keeps track of the bottom of the stack.

19
Q

What else can the EBP be commonly known to hold?

A

References to variables located on the stack by using an offset to the current EBP value

20
Q

What is the ESP?

A

The Stack Pointer

21
Q

What does the ESP commonly do?

A

Holds a reference to the address at the top of the stack

22
Q

What happens to the ESP when values are pushed and popped on and off the stack?

A

The value stored increments and decrements.

23
Q

Which register is extremely important within the execution flow of the program?

24
Q

What does the EIP register stand for?

A

The Instruction Pointer

25
What does the EIP hold reference to?
The next instruction for the CPU
26
What happens if the EIP value is overwritten due to an overflow?
Segmentation Fault. The instruction held will likely point at junk until the payload is cleaned up properly.
27
How can registers be broken up further (i.e EAX, EBX, ECX and EDX) and what are their names.
In the case of EAX. The lower 16 bits (0 - 15) are known as AX, the lower 8 bits of AX (0-7) are known as AL and the higher bits (8-15) are known as AH. This is the same across the first 4 registers.
28
Can the following registers be broken down into small registers? ESP, EBP, ESI, EDI
Yes, they break into 16 bit registers with the following name: SP, BP, SI, DI