Using native pointer size when packing pointers
Added SHL/SHR and SAL/SAR
Using memory objects instead of pointer