diff options
| author | Melodi <62381002+Melodi17@users.noreply.github.com> | 2026-03-17 20:49:22 +1000 |
|---|---|---|
| committer | Melodi <62381002+Melodi17@users.noreply.github.com> | 2026-03-17 20:49:22 +1000 |
| commit | 18868128e18d38b706e7df14e8e683e1a9739c17 (patch) | |
| tree | 6f0e0e5eee646f10cbad9c0c89c24d330bc58cc6 /Q1.core/Arch/IInstruction.cs | |
| parent | d87ab8af4c86a3fc6ee237444e372d87e536e3ef (diff) | |
chore: Initial commit
Diffstat (limited to 'Q1.core/Arch/IInstruction.cs')
| -rw-r--r-- | Q1.core/Arch/IInstruction.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Q1.core/Arch/IInstruction.cs b/Q1.core/Arch/IInstruction.cs new file mode 100644 index 0000000..2889937 --- /dev/null +++ b/Q1.core/Arch/IInstruction.cs @@ -0,0 +1,35 @@ +namespace Q1.core.Arch; + +public interface IInstruction +{ + public string Name { get; } +} + +public record struct ImplicitInstruction : IInstruction +{ + public string Name { get; set; } + + public Action<Chip, bool> Execute; +} + +public record struct SimpleInstruction : IInstruction +{ + public string Name { get; set; } + + public Action<Chip, u8, bool> Execute; +} + +public record struct ExtendedInstruction : IInstruction +{ + public string Name { get; set; } + + public Action<Chip, u8, u8, bool> Execute; +} + +public record struct InstructionGroup +{ + public ImplicitInstruction Implicit; + public SimpleInstruction SimpleAddressing; + public ImplicitInstruction ExtendedImplicit; + public ExtendedInstruction ExtendedAddressing; +}
\ No newline at end of file |
