REXX = 1<<1, /* extend sib index */
REXB = 1<<0 /* extend modrm r/m, sib base, or opcode reg */
};
-
+
/* Operand Format codes */
/*
%A - address size register modifier (!asize -> 'E')
OPOVER, /* Operand size override */
ADDOVER, /* Address size override */
};
-
+
static Optable optab0F00[8]=
{
[0x00] 0,0, "MOVW LDT,%e",
[0x0f] 0,0, "FDIVRD %f,F0",
};
/*
- * optabD9 and optabDB use the following encoding:
+ * optabD9 and optabDB use the following encoding:
* if (0 <= modrm <= 2) instruction = optabDx[modrm&0x07];
* else instruction = optabDx[(modrm&0x3f)+8];
*
w = -w;
if (issymref(ip, &s, w, val)) {
if (w)
- bprint(ip, "%s+%lux(SB)", s.name, w);
+ bprint(ip, "%s+%#lux(SB)", s.name, w);
else
bprint(ip, "%s(SB)", s.name);
return;
if (w < 0)
w = -w;
if (w < 4096) {
- bprint(ip, "%s-%lux(SB)", s.name, w);
+ bprint(ip, "%s-%#lux(SB)", s.name, w);
return;
}
}
return 1;
default:
break;
- }
+ }
if (strncmp(op->proto,"JMP", 3) == 0 || strncmp(op->proto,"CALL", 4) == 0)
return 1;
foll[n++] = pc+i.n;
if (s.type != 't' && s.type != 'T' && delta >= 4096)
return snprint(buf, n, "%llux", v);
else if (delta)
- return snprint(buf, n, "%s+%lux", s.name, delta);
+ return snprint(buf, n, "%s+%#lux", s.name, delta);
else
return snprint(buf, n, "%s", s.name);
}
if (rp->rformat == 'F')
return 1;
return 2;
- }
+ }
/* treat it like 'f' */
if (get1(map, rp->roffs, (uchar *)reg, 4) < 0)
return -1;