CPYOU STACK
0The x86 Assembly Instruction Set
INTEL, 1995
Adds two arguments [D,S] storing the result in the (D)estination register.
Moves the value of the (S)ource register to the (D)estination register.
Pops the top value from the stack into the (D)estination register.
Pushes the value of the (S)ource register onto the stack.
Subtracts the value of the (S)ource register from the (D)estination register storing the result in the (D)estination register.
Multiplies the value of the (S)ource register by the value of the (D)estination register storing the result in the (D)estination register.
Multiplies the value of the (S)ource register by the value of the (D)estination register storing the result in the (D)estination register.
Divides the value of the (D)estination register by the value of the (S)ource register storing the result in the (D)estination register.
Divides the value of the (D)estination register by the value of the (S)ource register storing the result in the (D)estination register.
Performs a bitwise AND operation on the value of the (S)ource register and the value of the (D)estination register storing the result in the (D)estination register.
Performs a bitwise OR operation on the value of the (S)ource register and the value of the (D)estination register storing the result in the (D)estination register.
Performs a bitwise XOR operation on the value of the (S)ource register and the value of the (D)estination register storing the result in the (D)estination register.
Performs a bitwise NOT operation on the value of the (S)ource register storing the result in the (D)estination register.
Shifts the value of the (D)estination register to the left by the value of the (S)ource register storing the result in the (D)estination register.
Shifts the value of the (D)estination register to the right by the value of the (S)ource register storing the result in the (D)estination register.
Jumps to the part of the program specified by the symbolic or numeric (L)abel
0x…00f30 0x…00f31 0x…00f34 0x…00f37 0x…00f3a 0x…00f3d 0x…00f41 0x…00f44 0x…00f45 0x…00f46
0x…00f50 0x…00f51 0x…00f54 0x…00f57 0x…00f5a 0x…00f5d 0x…00f5e 0x…00f61 0x…00f64 0x…00f65 0x…00f66
RIP 0x…00f70 0x…00f71 0x…00f74 0x…00f78 0x…00f7f 0x…00f86 0x…00f8d 0x…00f90 0x…00f93 0x…00f98 0x…00f9c 0x…00f9d
<_magic>:
push rbp
mov rbp, rsp
mov dword ptr [rbp - 4], edi
mov dword ptr [rbp - 8], esi
mov eax, dword ptr [rbp - 4]
imul eax, dword ptr [rbp - 8]
add eax, 13
pop rbp
ret
nop word ptr cs:[rax + rax]
<_test>:
push rbp
mov rbp, rsp
mov dword ptr [rbp - 4], edi
mov dword ptr [rbp - 8], esi
mov eax, dword ptr [rbp - 4]
cdq
idiv dword ptr [rbp - 8]
sub eax, 30
pop rbp
ret
nop word ptr cs:[rax + rax]
<_main>:
push rbp
mov rbp, rsp
sub rsp, 16
mov dword ptr [rbp - 4], 0
mov dword ptr [rbp - 8], 25
mov dword ptr [rbp - 12], 13
mov edi, dword ptr [rbp - 8]
mov esi, dword ptr [rbp - 12]
call 0x100000f30 <_magic>
add rsp, 16
pop rbp
ret