Instruction set

We have the following 20 instructions on our instruction set. There are 4 purely arithmetic ones, mov, 3 call variants, ret, 10 unconditional jump instructions, 1 conditional jump instruction. Instructions and effects are listed in a table below.

Instruction set can be augmented with peripherals - built in commonly used in domain subroutines acting as memory-mapped IO with peripheral devices. We implemented Keccak256 in a zk-friendly manner to facilitate interactions with Ethereum blockchain and used this implementation as one of peripherals. Other zk-friendly native implementations would follow soon.

Last updated