11template <
typename TContext>
class MnemonicBuilderBinaryNullInstrWithImm {
13 using It =
typename TContext::It;
14 using Reg =
typename TContext::Reg;
15 using SReg =
typename TContext::SReg;
17 template <
typename TArg0>
18 static void Build(
const char *instr_spec, TContext &mctx,
const MnemonicBuilderFlagsSet &bflags,
19 const InstrFlagsSet &iflags,
const TArg0 &rm,
const u32 &imm32) {
20 static_cast<void>(bflags);
21 const bool is_setflags = (iflags &
static_cast<InstrFlagsSet
>(InstrFlags::kSetFlags)) != 0U;
22 mctx.builder.AddString(instr_spec)
23 .AddString(is_setflags ==
true ?
"S" :
"")
24 .AddString(It::GetConditionAsStr(mctx.cpua))
26 .AddString(Reg::GetRegisterName(rm.Get()))
36 MnemonicBuilderBinaryNullInstrWithImm() =
delete;
41 ~MnemonicBuilderBinaryNullInstrWithImm() =
delete;
47 MnemonicBuilderBinaryNullInstrWithImm(
const MnemonicBuilderBinaryNullInstrWithImm &r_src) =
54 MnemonicBuilderBinaryNullInstrWithImm &
55 operator=(
const MnemonicBuilderBinaryNullInstrWithImm &r_src) =
delete;
61 MnemonicBuilderBinaryNullInstrWithImm(MnemonicBuilderBinaryNullInstrWithImm &&r_src) =
delete;
67 MnemonicBuilderBinaryNullInstrWithImm &
68 operator=(MnemonicBuilderBinaryNullInstrWithImm &&r_src) =
delete;