contur2
Loading...
Searching...
No Matches
instruction.h
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <cstdint>
7
8namespace contur {
9
44
45} // namespace contur
Definition block.h:15
Interrupt
Interrupt codes used by the CPU and kernel.
Definition interrupt.h:17
Instruction
CPU instruction opcodes for the simulated architecture.
Definition instruction.h:16
@ Pop
Pop top of stack into register.
Definition instruction.h:36
@ Mov
Move immediate/register → register.
Definition instruction.h:18
@ JumpGreaterEqual
Jump if greater or equal.
Definition instruction.h:33
@ JumpNotEqual
Jump if not equal (ZF clear).
Definition instruction.h:30
@ JumpLess
Jump if less.
Definition instruction.h:32
@ JumpLessEqual
Jump if less or equal.
Definition instruction.h:34
@ Or
Bitwise OR: dst = dst | src.
Definition instruction.h:24
@ Div
Divide: dst = dst / src (may raise DivByZero).
Definition instruction.h:22
@ Halt
Halt execution.
Definition instruction.h:42
@ Mul
Multiply: dst = dst * src.
Definition instruction.h:21
@ ReadMemory
Read value from memory address into register.
Definition instruction.h:39
@ Xor
Bitwise XOR: dst = dst ^ src.
Definition instruction.h:25
@ Compare
Compare two registers (sets flags).
Definition instruction.h:28
@ Return
Return from subroutine (pop PC).
Definition instruction.h:38
@ Push
Push register onto stack.
Definition instruction.h:35
@ JumpEqual
Jump if equal (ZF set).
Definition instruction.h:29
@ Nop
No operation.
Definition instruction.h:17
@ WriteMemory
Write register value to memory address.
Definition instruction.h:40
@ And
Bitwise AND: dst = dst & src.
Definition instruction.h:23
@ Call
Call subroutine (push PC, jump).
Definition instruction.h:37
@ JumpGreater
Jump if greater.
Definition instruction.h:31
@ ShiftLeft
Left shift: dst = dst << src.
Definition instruction.h:26
@ Sub
Subtract: dst = dst - src.
Definition instruction.h:20
@ Add
Add: dst = dst + src.
Definition instruction.h:19
@ ShiftRight
Right shift: dst = dst >> src.
Definition instruction.h:27