Unformatted text preview: al Arithmetic Operations. These operations provide full 64-bit multiplication and division, for both signed and unsigned numbers. The pair of registers %edx and %eax are viewed as forming a single 64-bit quad word.
xorl %edx,%edx Explain why this instruction would be there, even though there are no EXCLUSIVE - OR operators in our C code. What operation in the C program does this instruction implement? 3.5.5 Special Arithmetic Operations
Figure 3.8 describes instructions that support generating the full 64-bit product of two 32-bit numbers, as well as integer division. The imull instruction listed in Figure 3.6 is known as the “two-operand” multiply instruction. It generates a 32-bit product from two 32-bit operands, implementing the operations *u and *t¿¾ described in ¿¾ Sections 2.3.4 and 2.3.5 (pages 61 and 62). Recall that when truncating the product to 32 bits, both unsigned multiply and two’s complement multiply have the same bit-level behavior. IA32 also provides two diffe...
View Full Document