@StructuredUserop
		public void syscall() {
			_if(RAX.eq(1), () -> {
				Var i = local("i", RCX);
				_while(i.deref().neq(0), () -> {
					i.inc();
				});
				RAX.set(i.subi(RAX));
			})._else(() -> {
				emu_swi.call();
			});
		}
Not really a syscall dispatcher

<p>
In cases where the userop expects parameters, you would annotate them with {@link Param}
and use them just like other {@link Var}s. See the javadocs.

<p>
This is just a cheesy demo: If RAX is 1, then this method computes the number of bytes in
the C-style string pointed to by RCX and stores the result in RAX. Otherwise, interrupt
the emulator. See {@link DemoSyscallLibrary} for actual system call simulation.
Ghidra/Features/SystemEmulation/ghidra_scripts/DemoPcodeUseropLibrary.java