Chapter 9
- SLEIGH is a processor specification language that formally describes the translation from the bit encoding of machine instructions, for a particular processor, to human-readable assembly language and into PCode.
On the other hand, PCode is an intermediate representation (IR) that can be translated into the assembly instructions of a specific processor. Being more precise, it is a register transfer language (RTL). PCode is used to describe data flow at the register-transfer level of an architecture.
- No, it isn't.
PCode is useful because it can be translated into a large set of different assembly languages. In practice, if you develop a tool for Pcode, you automatically support a lot of architectures. Furthermore, PCode offers more granularity than assembly language (one assembly instruction is translated into one or more PCode instructions) so you can control side-effects better. This property is very useful when developing some kinds of tools.