MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / AAAOp

Method AAAOp

FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp:2868–2883  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2866}
2867
2868void OpDispatchBuilder::AAAOp(OpcodeArgs) {
2869 auto A = LoadGPRRegister(X86State::REG_RAX);
2870 auto AF = CalculateAFForDecimal(A);
2871
2872 // CF = AF, OF/SF/ZF/PF undefined
2873 SetCFDirect_InvalidateNZV(AF);
2874 SetAFAndFixup(AF);
2875 CalculateDeferredFlags();
2876
2877 // AX = CF ? (AX + 0x106) : 0
2878 A = NZCVSelect(OpSize::i32Bit, {COND_UGE} /* CF = 1 */, Add(OpSize::i32Bit, A, 0x106), A);
2879
2880 // AL = AL & 0x0F
2881 A = _And(OpSize::i32Bit, A, Constant(0xFF0F));
2882 StoreGPRRegister(X86State::REG_RAX, A, OpSize::i16Bit);
2883}
2884
2885void OpDispatchBuilder::AASOp(OpcodeArgs) {
2886 auto A = LoadGPRRegister(X86State::REG_RAX);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected