| 1584 | } |
| 1585 | |
| 1586 | static void outEA16(DecodedOp* op, BString& out) { |
| 1587 | bool added = false; |
| 1588 | |
| 1589 | if (op->base!=SEG_ZERO) { |
| 1590 | outS(op->base, out); |
| 1591 | out.append(":"); |
| 1592 | } |
| 1593 | if (op->rm!=8) { |
| 1594 | outR16(op->rm, out); |
| 1595 | added = true; |
| 1596 | } |
| 1597 | if (op->sibIndex!=8) { |
| 1598 | if (added) { |
| 1599 | out.append("+"); |
| 1600 | } |
| 1601 | outR16(op->sibIndex, out); |
| 1602 | added = true; |
| 1603 | } |
| 1604 | if (op->data.disp) { |
| 1605 | if (added) { |
| 1606 | out.append("+"); |
| 1607 | } |
| 1608 | out.append(op->data.disp, 16); |
| 1609 | } |
| 1610 | } |
| 1611 | |
| 1612 | static void outE64(DecodedOp* op, BString& out) { |
| 1613 | out.append("QWORD PTR ["); |