Registers
Memory & Sizes
Instructions
Predict the Output
Spot the Bug
100

What register typically stores function return values?

RAX

100

How many bytes is a QWORD?

8

100

What does mov do?

Copies data from source to destination

100

mov rax, 5

add rax, 3

8

100

mov rax 5

Missing comma

200

What is the 32-bit version of RAX?

EAX

200

What directive defines 1 byte?

db

200

What does add rax, rbx do?

rax = rax + rbx

200

mov rax, 10

sub rax, 4

6

200

add rax, rbx

rbx might be uninitialized

300

If you modify EAX, what happens to RAX?

Upper 32 bits are zeroed

300

What does resw do?

Reserves a WORD (2 bytes)

300

What instruction is used for multiplication (basic)?

mul (or imul)

300

mov rax, 5

mov rbx, rax

add rbx, 2

rax = 5, rbx = 7

300

mov rax, 5

div 2

invalid operand / improper division usage

400

Which register is commonly used as a loop counter?

RCX

400

How many possible values can a BYTE hold?

256

400

What’s the difference between inc rax and add rax, 1?

inc does NOT affect carry flag

400

mov rax, 8

add rax, rax

16

400

mov rax, 5

mov rax, 10

first value overwritten (logic issue)

500

What happens if you overwrite RBX without saving it in a function?

You might break the program because RBX is supposed to be preserved  

500

Why does a 64-bit register have more permutations than 32-bit?

More bits → exponential increase (2^n)

500

What happens if you divide without setting up registers correctly?

Runtime error / crash (division uses specific registers like rdx:rax)

500

mov rax, 5

mov rbx, 3

add rax, rbx

sub rbx, 1

rax = 8, rbx = 2

500

mov rax, 5

mul rbx

rbx not initialized / mul uses rax implicitly

M
e
n
u