add different types for address in disassemble function