1. Download the MARIE simulator from
2. From the .zip file copy the MarieSim.jar file to another directory (like the Desktop).
3. Run MarieSim.jar (This can be done on any system with the Java Runtime Environment).
4. Click on File, then Edit. This will bring up the MARIE editor. Type in the code from example 4.5 of
the textbook. Do not include the Hex Addresses but do include the comments. Click on File and
Save As to save your Assembly file (.mas)
5. In the Editor, click on Assemble and then Assemble Current File. Fix any errors in the error list. If
there are no errors, the assembler will create a MARIE executable file (.mex). Back in the
simulator, click File and Load. Select the newly created .mex file. This loads your assembled
program. You can now click Run and Run. You can see if the program ran correctly by examining
the memory at the locations X and Y (in this program that is locations 109 and 10A).
6. If your program did not run correctly, you can debug it by Stepping through the program.
7. Once it works, modify it so that instead of hard coding X and Y in the program, Input a number
(call it X) using the Input instruction. Store the result of doubling X in Y and then Output Y. This
means you only have to call Subr once.
8. Upload your assembly file (.mas) to this activity.
Create a MARIE assembly program which inputs two integers, X and Y, computes 3X +
4Y, and outputs the result.
1. The program must be written in MARIE Assembly Language.
2. It must use a subroutine to perform the multiplications.
3. You do not need to prompt for the input, just use the Input instruction. The user will
need to know to enter X first and then Y.
4. Similarly no text is required with the output, just use the Output instruction.
1. Activity 1 will introduce you to Marie.
2. Example 4.5 in the textbook has an example of using a subroutine. It has one
Parameter. You will need two for the multiply routine. Do that by adding another
labelled memory location before the Subroutine label.
Example 4.5 is same as in activity1.
3. The subroutine will need to use a loop to perform the multiply. There is an example of
a loop in Example 4.4.
Upload: MARIE assembly file (.mas)
Sample Output: When 4 and 6 are entered
Purchase answer to see full