libmicroemu 0.2.0
ARM Microcontroller Emulator Library
Loading...
Searching...
No Matches
mnemonic_builder_unary_branch_instr_with_imm.h
1#pragma once
2
4#include "libmicroemu/types.h"
5
6namespace libmicroemu::internal {
7
11template <typename TContext> class MnemonicBuilderUnaryBranchInstrWithImm {
12public:
13 using It = typename TContext::It;
14 using Reg = typename TContext::Reg;
15 using SReg = typename TContext::SReg;
16 static void Build(const char *instr_spec, TContext &mctx, const MnemonicBuilderFlagsSet &bflags,
17 const InstrFlagsSet &iflags, const u32 &imm) {
18 static_cast<void>(bflags);
19 static_cast<void>(iflags);
20 mctx.builder.AddString(instr_spec)
21 .AddString(It::GetConditionAsStr(mctx.cpua))
22 .AddString(" #")
23 .AddInt(static_cast<int>(imm))
24 .Terminate();
25 }
26
27private:
31 MnemonicBuilderUnaryBranchInstrWithImm() = delete;
32
36 ~MnemonicBuilderUnaryBranchInstrWithImm() = delete;
37
42 MnemonicBuilderUnaryBranchInstrWithImm(const MnemonicBuilderUnaryBranchInstrWithImm &r_src) =
43 default;
44
49 MnemonicBuilderUnaryBranchInstrWithImm &
50 operator=(const MnemonicBuilderUnaryBranchInstrWithImm &r_src) = delete;
51
56 MnemonicBuilderUnaryBranchInstrWithImm(MnemonicBuilderUnaryBranchInstrWithImm &&r_src) = delete;
57
62 MnemonicBuilderUnaryBranchInstrWithImm &
63 operator=(MnemonicBuilderUnaryBranchInstrWithImm &&r_src) = delete;
64};
65
66} // namespace libmicroemu::internal
The libmicroemu::internal namespace contains all classes and functions of libmicroemu which are priva...
Definition bkpt_flags.h:6
Contains the Result class which is used to return the result of a function.