pseudonop does nothing — and that is its entire purpose. The name is short for no operation. When the processor reaches a nop it changes no register and touches no memory; it simply moves on to the next instruction. It occupies one slot in the program and lets one tick of time pass, and nothing else.
It is a pseudo-instruction for addi zero, zero, 0. That phrase is worth unpacking, because it shows a quiet piece of RISC-V design. There is a special register named zero that is permanently 0: reading it always gives 0, and anything written to it is thrown away. So addi zero, zero, 0 computes 0 plus 0 and discards the result — a complete instruction that accomplishes nothing, which is exactly what a do-nothing needs to be. RISC-V never had to add a dedicated nop; it falls out of the always-zero register for free.
Why would anyone want an instruction that does nothing? On real processors, nops are used as padding — to make a later instruction start at a tidy memory boundary that the hardware handles faster — and as placeholders that tools can later overwrite with real instructions. Compilers insert them routinely, so they show up throughout disassembled code even though no programmer typed them.
In this simulator, nop is handy as a spacer or a marker while you experiment. Step over one and watch the registers: nothing moves at all — pc advances by 4 and no register or memory location changes.
addi zero, zero, 0
A pseudo-instruction: the assembler turns it into the real instruction(s) above.