```
mov  rax,QWORD PTR [rbp-0x10]

mov  eax,DWORD PTR [rax]

add  eax,0x1

mov  DWORD PTR [rbp-0x14], eax

```

Next lines written in C, compiled with GCC in GNU/Linux environment.

Assembly code is for int b = \*a + 1;.

...

```
int a = 5;

int* ptr = &a;

int b = *a + 1;

```

dereferencing whats in address of *a* and adding 1 to that. After that, store under new variable.

What **I don`t understand** is **second line in that assembly code**. Does it mean that I cut QWORD to get the DWORD(one part of QWORD) and storing that into eax?

Since the code is few lines long, I would love that to be broke into step by step sections just to confirm that I`m on right track, also, to figure out what that second line does. Thank you.