use union to unify instruction-mode