Lines Matching refs:d32
1340 static void jmp_lit( IRJumpKind kind, Addr32 d32 )
1342 irsb->next = mkU32(d32);
1519 /* d32(%eax) ... d32(%edi), not including d32(%esp)
1539 --> MOV d32, tmp
1558 = d32 following SIB byte
1562 = d32 following SIB byte + (%index << scale)
1665 = d32 + %base
1667 = d32 + %base + (%index << scale)
1735 /* d32(%eax) ... d32(%edi), not including d32(%esp). */
2258 Int am_sz, Int d_sz, Int sz, UInt d32 )
2284 assign(src, mkU(ty,d32 & mask));
2305 DIP("%s%c $0x%x, %s\n", nameGrp1(gregOfRM(modrm)), nameISize(sz), d32,
2311 assign(src, mkU(ty,d32 & mask));
2353 d32, dis_buf);
2778 UInt d32;
2800 delta++; d32 = getUDisp(sz, delta); delta += sz;
2804 mkU(ty,d32)));
2806 DIP("test%c $0x%x, %s\n", nameISize(sz), d32,
2871 d32 = getUDisp(sz, delta); delta += sz;
2874 mkexpr(t1), mkU(ty,d32)));
2876 DIP("test%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
3339 Int d32, alen;
3357 d32 = getSDisp(litsize,delta);
3360 if (size == 1) d32 &= 0xFF;
3361 if (size == 2) d32 &= 0xFFFF;
3363 assign(tl, mkU(ty,d32));
3371 DIP("imul %d, %s, %s\n", d32,
6815 void dis_ret ( UInt d32 )
6820 putIReg(4, R_ESP,binop(Iop_Add32, mkexpr(t1), mkU32(4+d32)));
7875 UInt d32;
12314 d32 = (UInt)insn[3+1];
12316 DIP("palignr $%d,%s,%s\n", (Int)d32,
12322 d32 = (UInt)insn[3+alen];
12324 DIP("palignr $%d%s,%s\n", (Int)d32,
12329 if (d32 == 0) {
12332 else if (d32 >= 1 && d32 <= 7) {
12335 binop(Iop_Shr64, mkexpr(sV), mkU8(8*d32)),
12336 binop(Iop_Shl64, mkexpr(dV), mkU8(8*(8-d32))
12339 else if (d32 == 8) {
12342 else if (d32 >= 9 && d32 <= 15) {
12343 assign( res, binop(Iop_Shr64, mkexpr(dV), mkU8(8*(d32-8))) );
12345 else if (d32 >= 16 && d32 <= 255) {
12372 d32 = (UInt)insn[3+1];
12374 DIP("palignr $%d,%s,%s\n", (Int)d32,
12381 d32 = (UInt)insn[3+alen];
12383 DIP("palignr $%d,%s,%s\n", (Int)d32,
12393 if (d32 == 0) {
12397 else if (d32 >= 1 && d32 <= 7) {
12398 assign( rHi, dis_PALIGNR_XMM_helper(dLo, sHi, d32) );
12399 assign( rLo, dis_PALIGNR_XMM_helper(sHi, sLo, d32) );
12401 else if (d32 == 8) {
12405 else if (d32 >= 9 && d32 <= 15) {
12406 assign( rHi, dis_PALIGNR_XMM_helper(dHi, dLo, d32-8) );
12407 assign( rLo, dis_PALIGNR_XMM_helper(dLo, sHi, d32-8) );
12409 else if (d32 == 16) {
12413 else if (d32 >= 17 && d32 <= 23) {
12414 assign( rHi, binop(Iop_Shr64, mkexpr(dHi), mkU8(8*(d32-16))) );
12415 assign( rLo, dis_PALIGNR_XMM_helper(dHi, dLo, d32-16) );
12417 else if (d32 == 24) {
12421 else if (d32 >= 25 && d32 <= 31) {
12423 assign( rLo, binop(Iop_Shr64, mkexpr(dHi), mkU8(8*(d32-24))) );
12425 else if (d32 >= 32 && d32 <= 255) {
12724 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
12729 IRConst_U32(d32)
12731 DIP("jcxz 0x%x\n", d32);
12750 d32 = getUDisp16(delta);
12752 dis_ret(d32);
12754 DIP("ret %d\n", (Int)d32);
12788 d32 = getUDisp32(delta); delta += 4;
12789 d32 += (guest_EIP_bbstart+delta);
12790 /* (guest_eip_bbstart+delta) == return-to addr, d32 == call-to addr */
12791 if (d32 == guest_EIP_bbstart+delta && getIByte(delta) >= 0x58
12803 DIP("call 0x%x ; popl %s\n",d32,nameIReg(4,archReg));
12810 if (resteerOkFn( callback_opaque, (Addr64)(Addr32)d32 )) {
12813 dres.continueAt = (Addr64)(Addr32)d32;
12815 jmp_lit(Ijk_Call,d32);
12818 DIP("call 0x%x\n",d32);
12823 //-- d32 = getUDisp16(eip); eip += 2;
12837 //-- if (d32) {
12839 //-- uLiteral(cb, d32);
12842 //-- DIP("enter 0x%x, 0x%x", d32, abyte);
12916 d32 = getIByte(delta); delta++;
12917 if (sz != 4 || d32 != 10) goto decode_failure;
13066 d32 = getIByte(delta); delta++;
13079 if (d32 >= 0x40 && d32 <= 0x43) {
13082 DIP("int $0x%x\n", (Int)d32);
13090 if (d32 == 0x80) {
13098 if (d32 == 0x81) {
13106 if (d32 == 0x82) {
13121 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
13123 if (resteerOkFn( callback_opaque, (Addr64)(Addr32)d32) ) {
13125 dres.continueAt = (Addr64)(Addr32)d32;
13127 jmp_lit(Ijk_Boring,d32);
13130 DIP("jmp-8 0x%x\n", d32);
13135 d32 = (((Addr32)guest_EIP_bbstart)+delta+sz) + getSDisp(sz,delta);
13137 if (resteerOkFn( callback_opaque, (Addr64)(Addr32)d32) ) {
13139 dres.continueAt = (Addr64)(Addr32)d32;
13141 jmp_lit(Ijk_Boring,d32);
13144 DIP("jmp 0x%x\n", d32);
13167 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + jmpDelta;
13171 && (Addr32)d32 != (Addr32)guest_EIP_bbstart
13173 && resteerOkFn( callback_opaque, (Addr64)(Addr32)d32) ) {
13177 branch target address (d32). If we wind up back at the
13185 dres.continueAt = (Addr64)(Addr32)d32;
13191 && (Addr32)d32 != (Addr32)guest_EIP_bbstart
13196 we need to emit a side-exit to d32 (the dest) and continue
13202 IRConst_U32(d32) ) );
13211 (Addr32)(guest_EIP_bbstart+delta), d32);
13214 DIP("j%s-8 0x%x %s\n", name_X86Condcode(opc - 0x70), d32, comment);
13220 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
13225 IRConst_U32(d32)
13227 DIP("jecxz 0x%x\n", d32);
13243 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
13266 stmt( IRStmt_Exit(cond, Ijk_Boring, IRConst_U32(d32)) );
13268 DIP("loop%s 0x%x\n", xtra, d32);
13327 d32 = getUDisp32(delta); delta += 4;
13330 assign( addr, handleSegOverride(sorb, mkU32(d32)) );
13333 d32, nameIReg(sz,R_EAX));
13340 d32 = getUDisp32(delta); delta += 4;
13343 assign( addr, handleSegOverride(sorb, mkU32(d32)) );
13346 sorbTxt(sorb), d32);
13357 d32 = getIByte(delta); delta += 1;
13358 putIReg(1, opc-0xB0, mkU8(d32));
13359 DIP("movb $0x%x,%s\n", d32, nameIReg(1,opc-0xB0));
13370 d32 = getUDisp(sz,delta); delta += sz;
13371 putIReg(sz, opc-0xB8, mkU(szToITy(sz), d32));
13372 DIP("mov%c $0x%x,%s\n", nameISize(sz), d32, nameIReg(sz,opc-0xB8));
13385 d32 = getUDisp(sz,delta); delta += sz;
13386 putIReg(sz, eregOfRM(modrm), mkU(szToITy(sz), d32));
13387 DIP("mov%c $0x%x, %s\n", nameISize(sz), d32,
13392 d32 = getUDisp(sz,delta); delta += sz;
13393 storeLE(mkexpr(addr), mkU(szToITy(sz), d32));
13394 DIP("mov%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
13729 d32 = getUDisp(sz,delta); delta += sz;
13732 d32 = getSDisp8(delta); delta += 1;
13739 /* stop mkU16 asserting if d32 is a negative 16-bit number
13742 d32 &= 0xFFFF;
13743 storeLE( mkexpr(t1), mkU(ty,d32) );
13744 DIP("push%c $0x%x\n", nameISize(sz), d32);
14214 d32 = getUChar(delta + am_sz);
14215 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 );
14222 d32 = getUDisp(d_sz, delta + am_sz);
14223 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 );
14230 d32 = getSDisp8(delta + am_sz);
14231 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 );
14241 d32 = getUChar(delta + am_sz);
14244 mkU8(d32 & 0xFF), NULL, &decode_OK );
14254 d32 = getUChar(delta + am_sz);
14256 mkU8(d32 & 0xFF), NULL, &decode_OK );
14266 d32 = 1;
14269 mkU8(d32), NULL, &decode_OK );
14279 d32 = 1;
14281 mkU8(d32), NULL, &decode_OK );
14359 d32 = getSDisp8(delta + am_sz);
14361 am_sz, sz, d32, &decode_OK );
14702 /* =-=-=-=-=-=-=-=-=- Jcond d32 -=-=-=-=-=-=-=-=-= */
14722 d32 = (((Addr32)guest_EIP_bbstart)+delta+4) + jmpDelta;
14726 && (Addr32)d32 != (Addr32)guest_EIP_bbstart
14728 && resteerOkFn( callback_opaque, (Addr64)(Addr32)d32) ) {
14732 the branch target address (d32). If we wind up back at
14741 dres.continueAt = (Addr64)(Addr32)d32;
14747 && (Addr32)d32 != (Addr32)guest_EIP_bbstart
14752 So we need to emit a side-exit to d32 (the dest) and
14758 IRConst_U32(d32) ) );
14767 (Addr32)(guest_EIP_bbstart+delta), d32);
14770 DIP("j%s-32 0x%x %s\n", name_X86Condcode(opc - 0x80), d32, comment);
14842 d32 = delta + lengthAMode(delta);
14843 vex_sprintf(dis_buf, "$%d", getIByte(d32));
14846 mkU8(getIByte(d32)), True, /* literal */
14859 d32 = delta + lengthAMode(delta);
14860 vex_sprintf(dis_buf, "$%d", getIByte(d32));
14863 mkU8(getIByte(d32)), True, /* literal */