Disassembling

    In the old times, when the radare core was smaller, the disassembler was handled by an external rsc file. That is, radare first dumped current block into a file, and then simply called objdump configured to disassemble for Intel, ARM or other supported architectures.

    It was a working and unix friendly solution, but it was inefficient as it repeated the same expensive actions over and over, because there were no caches. As a result, scrolling was terribly slow.

    Or from inside radare2:

    This was many years before capstone appeared. So r2 was using udis86 and olly disassemblers, many gnu (from binutils).

    To see the disassembly, use the command. It accepts a numeric argument to specify how many opcodes of current block you want to see. Most of the commands in radare consider the current block size as the default limit for data input. If you want to disassemble more bytes, set a new block size using the b command.

    The command works like pd but accepts the number of input bytes as its argument, instead of the number of opcodes.