/* Build a modRM byte + possible displacement. No treatment of SIB
* indexing. BZZT - no way to encode an absolute address.
*/
/* Build a modRM byte + possible displacement. No treatment of SIB
* indexing. BZZT - no way to encode an absolute address.
*/
val |= regmem.mod << 6; /* mod field */
val |= reg.idx << 3; /* reg field */
val |= regmem.idx; /* r/m field */
val |= regmem.mod << 6; /* mod field */
val |= reg.idx << 3; /* reg field */
val |= regmem.idx; /* r/m field */
* the arguments presented.
*/
static void emit_op_modrm( struct x86_function *p,
* the arguments presented.
*/
static void emit_op_modrm( struct x86_function *p,
if (offset <= 127 && offset >= -128) {
emit_1ub(p, 0x70 + cc);
emit_1b(p, (char) offset);
if (offset <= 127 && offset >= -128) {
emit_1ub(p, 0x70 + cc);
emit_1b(p, (char) offset);
{
emit_2ub(p, X86_TWOB, 0xC6);
emit_modrm(p, dest, arg0);
{
emit_2ub(p, X86_TWOB, 0xC6);
emit_modrm(p, dest, arg0);
{
emit_2ub(p, X86_TWOB, 0xC2);
emit_modrm(p, dest, arg0);
{
emit_2ub(p, X86_TWOB, 0xC2);
emit_modrm(p, dest, arg0);
{
emit_3ub(p, 0x66, X86_TWOB, 0x70);
emit_modrm(p, dest, arg0);
{
emit_3ub(p, 0x66, X86_TWOB, 0x70);
emit_modrm(p, dest, arg0);
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,
- x87_arith_op(p, dst, arg,
+ x87_arith_op(p, dst, arg,