I am reading about x86-64 (and assembly in general) through the book \"computer systems a programmer\'s perspective\"(3rd edition). The author, in compliance with other sour
I think your book has made a mistake.
idivq only has one operand. If I try to assemble this snippet:
idivq $9, %rcx
I get this error:
test.s: Assembler messages:
test.s:1: Error: operand type mismatch for `idiv'
This works:
idivq %rcx
but you probably already know that.
It may also be a macro (unlikely, but possible. credit to @HansPassant for this).
Perhaps you should contact the book's author so that they can add an entry to the errata.