Question: ASSEMBLY LANGUAGE Using a loop and indexed addressing, write code that rotates the members of a 32-bit integer array forward one position. The value at

ASSEMBLY LANGUAGE

Using a loop and indexed addressing, write code that rotates the members of a 32-bit integer array forward one position. The value at the end of the array must wrap around to the ?rst position. For example, the array [10,20,30,40] would be transformed into [40,10,20,30].

This is what I got but I need to display the array before and after the rotation something like Array before Rotation: x x x x , Array after rotation: x x x x and also need to input the 4 numbers with the keyboard

.386 .model flat,stdcall .stack 4096 ExitProcess PROTO, dwExitCode:DWORD .data array DWORD 10,20,30,40 arrayType DWORD TYPE array newArray DWORD LENGTHOF array DUP(?) lastElement DWORD ? .code main PROC ;Get first element address in ESI MOV ESI, OFFSET array ;Get address of next element in EDI MOV EDI, OFFSET newArray ADD EDI, TYPE newArray ;set loop count into ecx mov ECX, LENGTHOF array L2: MOV EAX, [ESI] MOV [EDI], EAX ADD ESI, TYPE array ADD EDI, TYPE array LOOP L2 ;set last element from array in newArray first position MOV EDI,OFFSET newArray MOV EAX, [ESI] MOV [EDI], EAX INVOKE ExitProcess,0 main ENDP END main

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!