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...


The class I'm taking is assembly programming.



I am completely stuck. Can you please write out program so I can successfully run and compile program in visual studio. I have attached the instructions . Please view attachment before answering. Thank you so much for your help!


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>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>temp - num1:<br>num1 - num2;<br>num2 = temp:<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: 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. 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: temp - num1: num1 - num2; num2 = temp: 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.
Jun 08, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here