COMP 3350 Project #2 Microsoft Macro Assembler (MASM)

$30.00

Category: Tags: , , , , , You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (4 votes)

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.
• Please start early. ZERO point for late submission. After the 11:59pm on the due
day, you cannot submit your assignment anymore.
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:
• You will be given a period of 2 business days to read and respond to the comments
and grades of your homework or project assignment. The TA may use this
opportunity to address any concern and question you have. The TA also may ask for
additional information from you regarding your homework or project.
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. Please note that your program doesn’t have to print out any results
since TA will examine the values in your 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.