Question: Write assembly language programs to perform each of the following calculations. In your programs, ignore overflow (i.e., assume that your operand values will not produce
Write assembly language programs to perform each of the following calculations. In your programs, ignore overflow (i.e., assume that your operand values will not produce an overflow).
a- Add long word: Add two 64-bit unsigned values (e.g., C ? A + B)
b- Negate long word: Negate a 64-bit value by replacing the value by its twos complement (e.g., C ? -C)
c- Subtract long word: Subtract a 64-bit value from another 64-bit value (e.g., C ? A - B)
d- Multiply long word: Multiply two 32-bit unsigned values to get a 64-bit result (e.g., C ? A * B)
e- Multiply and accumulate: Multiply two 32-bit unsigned values to get a 64-bit result and add this result to a 64-bit destination value (e.g., C ? C + A * B)
f- Dot product of two vectors: Find the dot product of two vectors. Each element of these vectors is a 32-bit unsigned value. The result is a 64-bit value. (e.g. let X=[x0,x1,x2,xn], Y= [y0, y1, y2, , yn], find Z=X.Y = x0* y0 + x1* y1 + x2* y2 + + xn * yn). Assume that elements of a vector are stored in consecutive memory locations.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
