What is a PUSH instruction ?

ABOUT PUSH INSTRUCTION RELATED

In 8086, the main stack register is called stack pointer - SP. The stack segment register (SS) is usually used to store information about the memory segment that stores the call stack of currently executed program. SP points to current stack top. By default, the stack grows downward in memory, so newer values are placed at lower memory addresses. To push a value to the stack, the PUSH instruction is used. To pop a value from the stack, the POP instruction is used.

TYPICAL GDB SESSION

(gdb) disass
Dump of assembler code for function _IO_default_uflow:
   0x00007f7c1e9964d0 :	mov    0xd8(%rdi),%rax
=> 0x00007f7c1e9964d7 :	push   %rbx
   0x00007f7c1e9964d8 :	mov    %rdi,%rbx
   0x00007f7c1e9964db :	callq  *0x20(%rax)
   0x00007f7c1e9964de :	cmp    $0xffffffffffffffff,%eax
   0x00007f7c1e9964e1 :	je     0x7f7c1e9964f2
   0x00007f7c1e9964e3 :	mov    0x8(%rbx),%rdx
   0x00007f7c1e9964e7 :	movzbl (%rdx),%eax
   0x00007f7c1e9964ea :	add    $0x1,%rdx
   0x00007f7c1e9964ee :	mov    %rdx,0x8(%rbx)
   0x00007f7c1e9964f2 :	pop    %rbx
   0x00007f7c1e9964f3 :	retq
End of assembler dump.
(gdb)
rbx is the 64 bit equivelant for ebx register

PUSH instruction pushes  a value onto  the stack. Here i think push instruction pushes the value of rbx register on to the stack.

LINKS
https://en.wikipedia.org/wiki/Stack_register
https://en.wikipedia.org/wiki/X86_instruction_listings