Background Discussion Assume that two values need to be swapped, such as is done in a number of commonly used Computer Science sorting algorithms. The typical high-level code is as follows: num1;...



The class I'm taking is assembly programming.


I am completely stuck writing this code. I keep getting multiple errors! help! Can you please write out the whole code so I can compare please where I went wrong. The compiler i am using is visual  studio. 8 also need a descripted header. I have attached the problem. Please view both attachments before answering.  Thank you so much for your help!




Background Discussion<br>Assume that two values need to be swapped, such as is done in a number of commonly used<br>Computer Science sorting algorithms. The typical high-level code is as follows:<br>num1;<br>num2;<br>temp<br>%3D<br>num1<br>%3D<br>num2<br>temp;<br>%3D<br>This could be implemented on a line-by-line basis in assembly language using registers, but<br>that would require two instructions for reach line of code as follows:<br>mov eax,num1<br>mov temp,eax<br>mov eax, num2<br>mov num1, eax<br>mov eax,temp<br>mov num2,eax<br>Understandably, the above seems inefficient. Instead of using registers and mov<br>instructions, another possibility is to use the stack. Not only is a runtime stack a way to save<br>and restore values, it can also be useful in swapping two values.<br>Another method of swapping two values is to use the exchange instruction. However, for<br>this lab you will use the push and pop instructions to swap two values.<br>

Extracted text: Background Discussion Assume that two values need to be swapped, such as is done in a number of commonly used Computer Science sorting algorithms. The typical high-level code is as follows: num1; num2; temp %3D num1 %3D num2 temp; %3D This could be implemented on a line-by-line basis in assembly language using registers, but that would require two instructions for reach line of code as follows: mov eax,num1 mov temp,eax mov eax, num2 mov num1, eax mov eax,temp mov num2,eax Understandably, the above seems inefficient. Instead of using registers and mov instructions, another possibility is to use the stack. Not only is a runtime stack a way to save and restore values, it can also be useful in swapping two values. Another method of swapping two values is to use the exchange instruction. However, for this lab you will use the push and pop instructions to swap two values.
Description<br>In this lab task you will use the PUSH and POP instructions to manage the transfer of data to<br>and from the runtime stack.<br>Write a program that uses only PUSH and POP instructions to exchange the values in the<br>EAX and EBX registers.<br>Testing Specification<br>Store values into the EAX and EBX registers. Compile and run your program to validate that<br>your program sequence of statements exchanges the original register values.<br>Documentation Requirements<br>Be sure to provide a commented out header that describes your program. Include in your<br>header description the compiler that you used. Provide inline comments to document your<br>solution.<br>

Extracted text: Description In this lab task you will use the PUSH and POP instructions to manage the transfer of data to and from the runtime stack. Write a program that uses only PUSH and POP instructions to exchange the values in the EAX and EBX registers. Testing Specification Store values into the EAX and EBX registers. Compile and run your program to validate that your program sequence of statements exchanges the original register values. Documentation Requirements Be sure to provide a commented out header that describes your program. Include in your header description the compiler that you used. Provide inline comments to document your solution.
Jun 07, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here