11template <
typename TContext>
class MnemonicBuilderUnaryInstrWithImmCarry {
13 using It =
typename TContext::It;
14 using Reg =
typename TContext::Reg;
15 using SReg =
typename TContext::SReg;
17 template <
typename TDest>
18 static void Build(
const char *instr_spec, TContext &mctx,
const MnemonicBuilderFlagsSet &bflags,
19 const InstrFlagsSet &iflags,
const TDest &rd,
22 static_cast<void>(bflags);
23 const bool is_setflags = (iflags &
static_cast<InstrFlagsSet
>(InstrFlags::kSetFlags)) != 0U;
24 mctx.builder.AddString(instr_spec)
25 .AddString(is_setflags ==
true ?
"S" :
"")
26 .AddString(It::GetConditionAsStr(mctx.cpua))
28 .AddString(Reg::GetRegisterName(rd.Get()))
30 .AddUInt(imm_carry.out)
38 MnemonicBuilderUnaryInstrWithImmCarry() =
delete;
43 ~MnemonicBuilderUnaryInstrWithImmCarry() =
delete;
49 MnemonicBuilderUnaryInstrWithImmCarry(
const MnemonicBuilderUnaryInstrWithImmCarry &r_src) =
56 MnemonicBuilderUnaryInstrWithImmCarry &
57 operator=(
const MnemonicBuilderUnaryInstrWithImmCarry &r_src) =
delete;
63 MnemonicBuilderUnaryInstrWithImmCarry(MnemonicBuilderUnaryInstrWithImmCarry &&r_src) =
delete;
69 MnemonicBuilderUnaryInstrWithImmCarry &
70 operator=(MnemonicBuilderUnaryInstrWithImmCarry &&r_src) =
delete;