Skip to main content

ab_riscv_interpreter/rv32/
b.rs

1//! RV32 B extension
2
3pub mod zba;
4pub mod zbb;
5pub mod zbc;
6pub mod zbs;
7
8use crate::rv32::b::zbb::rv32_zbb_helpers;
9use crate::{ExecutableInstruction, ExecutionError, RegisterFile};
10use ab_riscv_macros::instruction_execution;
11use ab_riscv_primitives::prelude::*;
12use core::ops::ControlFlow;
13
14#[instruction_execution]
15impl<Reg, Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
16    ExecutableInstruction<Regs, ExtState, Memory, PC, InstructionHandler, CustomError>
17    for Rv32BInstruction<Reg>
18where
19    Reg: Register<Type = u32>,
20{
21    #[inline(always)]
22    fn execute(
23        self,
24        regs: &mut Regs,
25        _ext_state: &mut ExtState,
26        _memory: &mut Memory,
27        _program_counter: &mut PC,
28        _system_instruction_handler: &mut InstructionHandler,
29    ) -> Result<ControlFlow<()>, ExecutionError<Reg::Type, CustomError>> {
30        Ok(ControlFlow::Continue(()))
31    }
32}