@Override
		protected void appendString(String string) {
			buf.append(string);
		}
The executor's internal counter

<p>
To distinguish the program counter of a p-code program from the program counter of the machine it
models, we address p-code ops by "index." When derived from an instruction, the address and index
together form the "sequence number." Because the executor care's not about the derivation of a
p-code program, it counts through indices. The frame carries with it the p-code ops comprising
its current p-code program.

<p>
A p-code emulator feeds p-code to an executor by decoding one instruction at a time. Thus, the
"current p-code program" comprises only those ops generated by a single instruction. Or else, it
is a user-supplied p-code program, e.g., to evaluate a Sleigh expression. The frame completes the
program by falling-through, i.e., stepping past the final op, or by branching externally, i.e.,
to a different machine instruction. The emulator must then update its program counter accordingly
and proceed to the next instruction.
Ghidra/Framework/Emulation/src/main/java/ghidra/pcode/exec/PcodeFrame.java