assembler: add shift macro