$34.99
Goals:
• Get you familiar with Microsoft Macro Assembler (MASM) on Visual Studio.
• Setting up an assembly program.
• Defining and accessing Arrays.
• Dealing with Registers and instructions.
• Debugging and running your assembly code.
Requirements:
• Read the design section and write a program. Submit source file (.asm) to Canvas.
• Show your work to get full credit. ZERO point without steps for a result.
• Check deliverables section below. ZERO point for hand-written or scanned homework.
Deliverables:
• Save your source of assembly program as a .asm document.
• Name document as a “Firstname_Lastname.asm”.
• Submit your “Firstname_Lastname.asm” through the Canvas system. You do not need to submit hard copies.
Rebuttal period:
Design:
The objective of this assignment is to create a program that will read a value from an array, add another value to this, and save the sum of those two values into a specific register.
(20 points) Create a BYTE array with the label ‘input’. ‘input’ should have eight elements. You should place values 1,2,3,4,5,6,7,8 in each of the elements of this array.
(20 points) Create a BYTE variable with the label ‘shift’. ‘shift’ should hold a single value 2.
(20 points) Set the values of the EAX, EBX, ECX, and EDX to 0.
You then sum the value of this variable with each of the individual values in the array ‘input’.
The program should read each of the values from the array ‘input’ one at a time and add the value ‘shift’ to it.
The sum should be stored in the “correct” register:
(5 points) The first sums should be in high position of the AX register.
(5 points) The second sums should be in low position of the AX register.
(5 points) The third sums should be in high position of BX register.
(5 points) The fourth sums should be in low position of BX register.
(5 points) The fifth sums should be in high position of CX register.
(5 points) The sixth sums should be in low position of CX register.
(5 points) The seventh sums should be in high position of the DX register.
(5 points) The eighth sums should be in low position of the DX register.