dest represents the destination or where the result of the calculations will be saved, as well as becoming part of the calculations themselves like this:
add eax, ecx ;eax = (eax + ecx)
sub rdx, rcx ;rdx = (rdx - rcx)
Also, it could play a role of a source and a destination with some opcode instructions that take only dest without a source:
inc eax
dec ecx
Or, it could be only the source or the destination, such as in case of these instructions that save the value on the stack and then out it back:
push rdx
pop rcx
dest could look like the following:
- REG: A register such as eax and edx.
- r/m: A place in memory such as the following:
DWORD PTR [00401000h]
BYTE PTR [EAX + 00401000h]
WORD PTR [EDX*4 + EAX+ 30]
- A value in the stack (used to represent local variables), such as the following:
DWORD PTR [ESP+4]
DWORD PTR [EBP-8]