Registers Flashcards

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?

A

EBP

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?

A

EIP

24
Q

What does the EIP register stand for?

A

The Instruction Pointer

25
Q

What does the EIP hold reference to?

A

The next instruction for the CPU

26
Q

What happens if the EIP value is overwritten due to an overflow?

A

Segmentation Fault. The instruction held will likely point at junk until the payload is cleaned up properly.

27
Q

How can registers be broken up further (i.e EAX, EBX, ECX and EDX) and what are their names.

A

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
Q

Can the following registers be broken down into small registers? ESP, EBP, ESI, EDI

A

Yes, they break into 16 bit registers with the following name: SP, BP, SI, DI