Assembly Flashcards

1
Q

EAX

A

Extended Accumulator Register

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

EBX

A

Extended Base Register

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

ECD

A

Extended Counter Register

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

EDX

A

Extended Data Register

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

ESI

A

Extended Source Index

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

EDI

A

Extended Destination Index

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

EBP

A

Extended Base Pointer

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

ESP

A

Extended Stack Pointer

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

Z flag

A

Zero Flag, set when the result of the last operation is zero.

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

S flag

A

Signed Flag, set to determine if values should be intercepted as as signed or unsigned.

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

O flag

A

Overflow Flag, set when the result of the last operation switches the most significant bit from either F to 0 or 0 to F.

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

C flag

A

Carry Flag, set when the result of the last operation changes the most significant bit.

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

EIP

A

Extended Instruction Pointer:
Points to the next instruction to be executed.

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

.text

A

Where program code is stored.

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

.data

A

Where global data is stored.

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

.stack

A

Where local variable and function arguments are stored.

17
Q

.heap

A

Extendable memory segment that programs can use whenever they need more memory space.

18
Q

Stack

A

Stores local variables and function arguments.

Organized as a “Last in First out” data structure. When something is added to it, it is added to the top and when something is removed, it is removed from the top. It grows backwards, from the highest memory address to the lowest.

ESP points to the top, which is done by decrementing ESP (because it grows backwards from highest address to the lowest).

19
Q

Stack Frames

A

Every process has at least one thread, and every thread has its own stack. And within the stack of every thread, each function has its own stack frame.

The base is the beginning of a stack frame.

The main function in every program has its stack, when it calls a function the called function creates its own stack frame which is marked out by the EBP that points to the beginning of the functions stack frame and the ESP that points to the top of the stack.

20
Q

Heap

A

Memory space that can be allocated by a process when it needs more memory.

Each process has one heap and it is shared among the different threads. All the threads share the same heap.

It is a linked-list data structure, and when the process doesn’t need the memory anymore, it frees the allocated heap, by de-referencing the position.