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

Function gen0f6

source/emulation/cpu/srcgen.cpp:6011–6130  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6009void OPCALL idiv8_mem16(struct CPU* cpu, struct Op* op);
6010void OPCALL idiv8_mem32(struct CPU* cpu, struct Op* op);
6011void gen0f6(struct GenData* data, struct Op* op) {
6012 char d[16];
6013
6014 itoa(op->data1, d, 16);
6015
6016 if (op->func == test8_reg) {
6017 if (inlineTestJump(data, op, sFLAGS_TEST8, "1"))
6018 return;
6019 out(data, "cpu->dst.u8 = ");
6020 out(data, r8(op->r1));
6021 out(data, "; cpu->src.u8 = 0x");
6022 out(data, d);
6023 out(data, "; cpu->result.u8 = cpu->dst.u8 & cpu->src.u8; cpu->lazyFlags = FLAGS_TEST8; CYCLES(1);");
6024 data->lazyFlags = sFLAGS_TEST8;
6025 } else if (op->func == test8_mem16) {
6026 if (inlineTestJump(data, op, sFLAGS_TEST8, "2"))
6027 return;
6028 out(data, "cpu->dst.u8 = readb(cpu->thread, ");
6029 out(data, getEaa16(op));
6030 out(data, "); cpu->src.u8 = 0x");
6031 out(data, d);
6032 out(data, "; cpu->result.u8 = cpu->dst.u8 & cpu->src.u8; cpu->lazyFlags = FLAGS_TEST8; CYCLES(2);");
6033 data->lazyFlags = sFLAGS_TEST8;
6034 } else if (op->func == test8_mem32) {
6035 if (inlineTestJump(data, op, sFLAGS_TEST8, "2"))
6036 return;
6037 out(data, "cpu->dst.u8 = readb(cpu->thread, ");
6038 out(data, getEaa32(op));
6039 out(data, "); cpu->src.u8 = 0x");
6040 out(data, d);
6041 out(data, "; cpu->result.u8 = cpu->dst.u8 & cpu->src.u8; cpu->lazyFlags = FLAGS_TEST8; CYCLES(2);");
6042 data->lazyFlags = sFLAGS_TEST8;
6043 } else if (op->func == not8_reg) {
6044 out(data, r8(op->r1));
6045 out(data, " = ~ ");
6046 out(data, r8(op->r1));
6047 out(data, "; CYCLES(1);");
6048 } else if (op->func == not8_mem16) {
6049 out(data, "eaa = ");
6050 out(data, getEaa16(op));
6051 out(data, "; writeb(cpu->thread, eaa, ~readb(cpu->thread, eaa)); CYCLES(3);");
6052 } else if (op->func == not8_mem32) {
6053 out(data, "eaa = ");
6054 out(data, getEaa32(op));
6055 out(data, "; writeb(cpu->thread, eaa, ~readb(cpu->thread, eaa)); CYCLES(3);");
6056 } else if (op->func == neg8_reg) {
6057 out(data, "cpu->dst.u8 = ");
6058 out(data, r8(op->r1));
6059 out(data, "; cpu->result.u8 = 0-cpu->dst.u8; ");
6060 out(data, r8(op->r1));
6061 out(data, " = cpu->result.u8; cpu->lazyFlags = FLAGS_NEG8; CYCLES(1);");
6062 data->lazyFlags = sFLAGS_NEG8;
6063 } else if (op->func == neg8_mem16) {
6064 out(data, "eaa = ");
6065 out(data, getEaa16(op));
6066 out(data, "; cpu->dst.u8 = readb(cpu->thread, eaa); cpu->result.u8 = 0-cpu->dst.u8; writeb(cpu->thread, eaa, cpu->result.u8); cpu->lazyFlags = FLAGS_NEG8; CYCLES(3);");
6067 data->lazyFlags = sFLAGS_NEG8;
6068 } else if (op->func == neg8_mem32) {

Callers

nothing calls this directly

Calls 6

inlineTestJumpFunction · 0.85
r8Function · 0.85
getEaa16Function · 0.85
getEaa32Function · 0.85
kpanicFunction · 0.85
outFunction · 0.70

Tested by

no test coverage detected