іmрlеmеոt thе fоllоwіոg ехрrеssіоո іո аssеmbly lаոguаgе: Create a DWORD array named ‘z’ of size 3 using DUP operator. Leave the array ‘z’ uninitialized. You can denote the items in the array as [ z0, z1, z2]z0, z1, z2] , where z0z0 is the first item, z1 z1 is the second item, z2z2 is the third item Update each array item using the following expressions.
-
Create a DWORD array named ‘z’ of size 3 using DUP operator. Leave the array ‘z’ uninitialized. You can denote the items in the array as [
z0, z1, z2]z0, z1, z2]
, wherez0z0
is the first item,z1 z1
is the second item,z2z2
is the third item
-
Update each array item using the following expressions.
z0=x+130z0=x+130
z1=y−x+ z0z1=y−x+ z0
z2=r+x−z1z2=r+x−z1
-
Where x, y, r are 16-bit integer memory variables.
-
x = 10, y = 15, r = 4
-
Use mov, movzx, movsx, add, sub instructions only.
-
(hint: Do not alter the value of x, y and r during the computation. Transfer them to appropriate registers to do computation)
-
At the end, open memory window to see the variable z stored in memory (little endian format).
-
Use the debugger to verify your answer.
Step by step
Solved in 2 steps with 1 images