update assembler to fix offset bug