modified disassemble() to use pos