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

Function Sib0

source/emulation/cpu/decoder.cpp:3429–3452  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3427U32 SibE2Reg[8] = {regAX, regCX, regDX, regBX, regZero, regBP, regSI, regDI};
3428
3429 void Sib0(DecodeData* data, DecodedOp* op) {
3430 U8 sib=data->fetch8();
3431
3432 switch (sib&7) {
3433 case 0:
3434 op->base=data->ds; op->rm=regAX;break;
3435 case 1:
3436 op->base=data->ds; op->rm=regCX;break;
3437 case 2:
3438 op->base=data->ds; op->rm=regDX;break;
3439 case 3:
3440 op->base=data->ds; op->rm=regBX;break;
3441 case 4:
3442 op->base=data->ss; op->rm=regSP;break;
3443 case 5:
3444 op->base = data->ds; op->rm=regZero;op->data.disp = data->fetch32();break;
3445 case 6:
3446 op->base=data->ds; op->rm=regSI;break;
3447 case 7:
3448 op->base=data->ds; op->rm=regDI;break;
3449 }
3450 op->sibIndex = SibE2Reg[(sib >> 3) & 7];
3451 op->sibScale = sib >> 6;
3452}
3453
3454 void Sib1(DecodeData* data, DecodedOp* op) {
3455 U8 sib=data->fetch8();

Callers 1

decodeEa32Function · 0.85

Calls 2

fetch8Method · 0.80
fetch32Method · 0.80

Tested by

no test coverage detected