1

In NASM, call far [edi] gets converted to 67 48 FF 1F which is translated as call far tword ptr ds:[edi] by my debugger. Why is the destination of size tword?

user1432882
  • 1,126
  • 4
  • 14
  • 29
  • 2
    Because there's a 2-byte segment selector as well as the 8-byte absolute address. Far call sets a new CS:RIP, not just RIP. Are you sure you want a far, not just near indirect? Also, are you sure you want to be using a 32-bit register to hold the pointer to that memory operand? – Peter Cordes Nov 19 '21 at 04:39

0 Answers0