ECE 5484 - Fundamentals of Computer Systems Assignment

Assignment Help Operating System
Reference no: EM132475768

ECE 5484 - Fundamentals of Computer Systems Assignment - Virginia Polytechnic Institute and State University, USA

1. Introduction

The objective of this project is to reinforce your understanding of computer organization, instruction set architectures, and assembly language. You will accomplish this by writing, analyzing, and debugging an assembly language program for the MARIE processor.

You must:

i) Design and write an assembly language program for the MARIE processor that inputs, transforms, stores, and then outputs a sequence of characters from the set A-Z;

ii) Debug and test your program by simulating it using the MARIE simulator;

iii) Document your work in a short report; and

iv) Submit the report file (*.pdf), assembler source file (*.mas), assembler listing file (*.lst), and assembler executable file (*.mex).

2. The MARIE Simulator

The MARIE simulator is provided as a zip file containing Java archives (*.jar) files, documentation, and example source files. Unzip the file to a directory for use. Do the following to become familiar with the MARIE simulator.

Read "A Quick Start Guide for the MARIE Machine Simulator Environment" (QuickGuide.pdf provided in the zip file).

Depending on how comfortable you are with using the MARIE simulator after reading the quick start guide, you may also wish to read "A Guide to the MARIE Machine Simulator Environment" (MarieGuide.pdf provided in the zip file).

Review the example assembly language source files and experiment with the MARIE simulator using these examples. The Ex4_3.mas and Ex4_4.mas examples are likely the most relevant to this assignment.

3. Design Specification

You are to design, write, test, and debug a MARIE assembly language program that inputs a sequence of characters from the set A-Z (capital letters only), stores each character in memory after it is transformed by the trivial ROT13 cipher, and then, after character input completes, outputs the transformed characters.

A template source code file (Project-2_Start.mas) is provided with this assignment. Edit this file to create a program that meets the program specifications. Note that the template includes instructions to initialize some working values that your program can use. The template also defines memory locations. You may add data memory locations. The program can be designed without additional data locations, but it may be necessary to do so for your design.

For full credit, your solution must perform the functions and satisfy the requirements specified below.

a) The first instruction of the program must be placed at location (address) 0x100 (100 hexadecimal) in MARIE's memory. This is accomplished by following the program template that is provided.

b) The constant data values (One, ChA, ChZ, ChPe, Val13, Start) should not be changed by the program. The program can load from these memory locations, but should not store to them.

c) Transformed input characters must be stored in successive memory locations beginning at location 0x200 (200 hexadecimal) as indicated in the program template. The program should store all transformed input characters before any characters are output.

d) The program should always initialize the values for Ptr in the working data memory and not rely on the values for these locations that are defined in the assembly source file. This initialization is done by the provided template file.

e) The program should work for any inputs 'A' through 'Z' and '.' (a period terminates input). In the interest of keeping the program simple, the program does not need to validate inputs.

f) When transformed characters are stored and when transformed characters are output, the program must use a loop and indirect addressing to access the values in the array of words. Note that variable Ptr is initialized in the template code and should be used in the loop. You may also define a Count variable to count the number of characters, but there are also correct designs that do not require a Count variable.

The program should operate as follows.

Input Phase:

1. A character (A-Z or '.') is input. MarieSim allows the user to input a single character that is read into the accumulator (AC) with an Input instruction.

2. If character '.' (period) is input, then the input phase ends and the output phase begins (step 5 below). (The period may be stored in memory to mark the end of the characters or the characters can be counted to determine how many transformed characters to output during the output phase.)

3. The character that is input is transformed using the trivial ROT13 cipher (see Section 5.1).

4. The transformed character is stored in the next location in the block of memory beginning at location Start. (Variable Ptr must be updated and indirect memory addressing must be used.)

Output Phase:

1. All transformed characters are output, beginning with the first character that was transformed. The '.' character is not to be output. (This will require a loop using variable Ptr and indirect addressing. Note that the number of characters to output will vary and the program must know when to stop the output by relying on a '.' or other special character in memory, counting the number of input characters during the input phase, or some other method.)

2. After all characters are output, the program halts by executing the HALT instruction. Make sure you project has both distinct phases. You could, but don't have to, use the idea of "subroutines" or "functions" to handle each distinct phase.

4. Testing

Test and debug the program using the MARIE simulator (MarieSim.j Debug the program using the "Step" and "Breakpoint" features of simulator. You must test your program with the following two test cases.

Test 1: Input the eight-character sequence "VIRGINIA" followed '.' to terminate the input. Note that you need to input one character a time into MarieSim's ASCII Input area, with each character followed pressing the "Enter" key. The ROT13 value of each character ("IVETVAVN" should be displayed after the '.' Character is input.

Test 2: Rerun the program in MarieSim, without reassembling or reloading, then input the four-character sequence "GRPU" followed '.' to terminate the input. Note the output.

When you create your source file within MarieSim (using the File > menu pick), use file name last-name_?rstname_P2.mas, where "lastname" is your last or family name and "firstname" is your first given name. You can assemble your source file in the editor program. The assembly process creates a listing (lastname_?rstname_P2.lst) and an executable (lastname_?rstname_P2.mex). Load the executables file into simulator for execution.

Attachment:- Fundamentals of Computer Systems Assignment Files.rar

Reference no: EM132475768

Questions Cloud

Explain the ontario high school teachers : How would a Conflict Theorist explain the Ontario High School Teachers hold strike on Dec 4, 2019?
ASB 4426 Contemporary Issues in Management Assignment : ASB 4426 Contemporary Issues in Management Assignment Help and Solution, Bangor University - Assessment Writing Service
What the interest rate or yield falls in the coming months : When you expect the interest rate or yield falls in the coming months, based on discounted cash flow approach, the value of a corporate stock would be higher
Prepare the financial statements for the year for saturn : Prepare the financial statements for the year for Saturn Corporation--a multi-step income statement, a statement of retained earnings
ECE 5484 - Fundamentals of Computer Systems Assignment : ECE 5484 - Fundamentals of Computer Systems Assignment Help and Solution - Virginia Polytechnic Institute and State University, USA. Test MARIE assembly program
What effect does lowering the estimate for doubtful account : What type of internal control(s) might be useful for this company in overseeing the manager's recommendations for accounting changes?
What an example of memorandum that explain inventory method : What would be an example of a memorandum that identifies, explains, and justifies the inventory method you recommend your client, Ms. Gish, adopt.
Determine and compute book value per share : If there is $32,700 in earnings available to common shareholders and Phelp's stock has a P/E ratio of 24 times EPS, what is the current price of the stock?
How vendor is related to an employee : Create a ?ctitious vendor and then submit an invoice for services that were never performed. Where there are poor internal controls, the employee receives

Reviews

len2475768

3/18/2020 2:21:04 AM

Below is a MARIE code that I designed to input a sequence of characters between A to Z. When the characters are entered, it is transformed using the trivial ROT13 cipher and output the result. For instance "A" will output "N" in ROT13. However, the instruction requires that the sequence of characters inputted should be stored and Ouput only when the program is terminated by an input of of "." (period) which will will Halt and exit the operation.

len2475768

3/18/2020 2:20:58 AM

I modified the Starting code given by the instructor to input, transform and output the sequence of characters as follows: Test 1: I Input the eight-character sequence "VIRGINIA" and it was transformed to "IVETVAVN" and then terminated when '.' (period) is entered. Test 2: I reload the program in MarieSim, without reassembling it, input the four-character sequence of "GRPU" followed '.' to terminate the input. Note the output of "TECH" is displayed. However, I am unable design the code to facilitate the storing of the characters (input characters) into memory 0x200 wherein the storing sequence of characters will be stored from Memory 0x200 and the final words displayed only when "." is inputted and Enter Key pressed.

Write a Review

Operating System Questions & Answers

  Describe the type of flaw or condition within the os

Describe the type of flaw or condition within the OS that allowed the attack and how flaw was addressed or countered. Include 2 resources in your references.

  The acceptable use policy for social media

What are some of the different policy items that would be included for the acceptable use policy for social media?

  Read the following mini security policy.

Each document should have a footer or header identifying the level of sensitivity. Suggested sensitivity levels are unrestricted and client sensitive.

  Discuss the differences between windows and mac os

Discuss the differences between Windows and Mac OS. You may discuss any recent versions of either operating system. Compare and contrast the two, and provide arguments for choosing a PC with Windows or a Mac with Mac OS.

  Millions words in the encyclopedia brittanica

Many computers use one byte (8 bits) of data for each letter of the alphabet. There are 44 millions words in the Encyclopedia Brittanica. What is the bit density (bit/in^2) of the head of a pin if the entire encyclopedia is printed on it? Assume ..

  How many errors can this code detect

Find the corresponding code words. - How many errors can this code detect? -  How many errors can this code correct?

  It assets and intellectual property in opensource

Will IBM's plan to give away some of its IT assets and intellectual property and increase its support of opensource software products like Linux be a successful growth strategy in the "brutally competitive marketplace" in which it operates?

  Managing network addressing issues

1st national banks president congratulates you on successfully managing her network's addressing issues. She then shares the data that she's about to make an offer to buy Monroe's other banks, Metropolitan savings.

  Design and create an efficient, well-documented solution

There are two types of accounts: Standard and Gold. The Standard account has a monthly interest rate of 18% and a monthly credit limit of $4000.

  Find the probability that such a pair exists

Suppose there are 23 people at a gathering. What is the chance that at least two people share the same birthday? -What is the probability that a pair of people, one from each room, possess the same number?

  Court interpretation in case involving online protection

Summarizing a court's interpretation in a case involving online protection of a patent. Cite both the case and statute using standard legal notation.

  Is it necessary to have the page size be a power of two

Is it necessary to have the page size be a power of 2? Could a page of size, say, 4000 bytes be implemented in theory? If so, would it be practical?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd