MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / srcGetOF

Function srcGetOF

source/emulation/cpu/srcgen.cpp:364–473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

362}
363
364const char* srcGetOF(struct GenData* data) {
365 switch (data->lazyFlags) {
366 case sFLAGS_NONE:
367 return "(cpu->flags & OF)";
368 case sFLAGS_ADD8:
369 return "(((cpu->dst.u8 ^ cpu->src.u8 ^ 0x80) & (cpu->result.u8 ^ cpu->src.u8)) & 0x80)";
370 case sFLAGS_OR8:
371 return "0";
372 case sFLAGS_ADC8:
373 return "(((cpu->dst.u8 ^ cpu->src.u8 ^ 0x80) & (cpu->result.u8 ^ cpu->src.u8)) & 0x80)";
374 case sFLAGS_SBB8:
375 return "(((cpu->dst.u8 ^ cpu->src.u8) & (cpu->dst.u8 ^ cpu->result.u8)) & 0x80)";
376 case sFLAGS_AND8:
377 return "0";
378 case sFLAGS_SUB8:
379 return "(((cpu->dst.u8 ^ cpu->src.u8) & (cpu->dst.u8 ^ cpu->result.u8)) & 0x80)";
380 case sFLAGS_XOR8:
381 return "0";
382 case sFLAGS_INC8:
383 return "(cpu->result.u8 == 0x80)";
384 case sFLAGS_DEC8:
385 return "(cpu->result.u8 == 0x7f)";
386 case sFLAGS_SHL8:
387 return "((cpu->result.u8 ^ cpu->dst.u8) & 0x80)";
388 case sFLAGS_SHR8:
389 return "(((cpu->src.u8&0x1f)==1) ? (cpu->dst.u8 >= 0x80); : 0)";
390 case sFLAGS_SAR8:
391 return "0";
392 case sFLAGS_CMP8:
393 return "(((cpu->dst.u8 ^ cpu->src.u8) & (cpu->dst.u8 ^ cpu->result.u8)) & 0x80)";
394 case sFLAGS_TEST8:
395 return "0";
396 case sFLAGS_NEG8:
397 return "(cpu->dst.u8 == 0x80)";
398
399 case sFLAGS_ADD16:
400 return "(((cpu->dst.u16 ^ cpu->src.u16 ^ 0x8000) & (cpu->result.u16 ^ cpu->src.u16)) & 0x8000)";
401 case sFLAGS_OR16:
402 return "0";
403 case sFLAGS_ADC16:
404 return "(((cpu->dst.u16 ^ cpu->src.u16 ^ 0x8000) & (cpu->result.u16 ^ cpu->src.u16)) & 0x8000)";
405 case sFLAGS_SBB16:
406 return "(((cpu->dst.u16 ^ cpu->src.u16) & (cpu->dst.u16 ^ cpu->result.u16)) & 0x8000)";
407 case sFLAGS_AND16:
408 return "0";
409 case sFLAGS_SUB16:
410 return "(((cpu->dst.u16 ^ cpu->src.u16) & (cpu->dst.u16 ^ cpu->result.u16)) & 0x8000)";
411 case sFLAGS_XOR16:
412 return "0";
413 case sFLAGS_INC16:
414 return "(cpu->result.u16 == 0x8000)";
415 case sFLAGS_DEC16:
416 return "(cpu->result.u16 == 0x7fff)";
417 case sFLAGS_SHL16:
418 return "((cpu->result.u16 ^ cpu->dst.u16) & 0x8000)";
419 case sFLAGS_SHR16:
420 return "(((cpu->src.u8&0x1f)==1) ? (cpu->dst.u16 >= 0x8000) : 0)";
421 case sFLAGS_SAR16:

Callers 1

getFlagFunction · 0.85

Calls 1

kpanicFunction · 0.85

Tested by

no test coverage detected