push and pop
rotr and rotl