What is the value of pc before you execute the jal

Assignment Help Computer Engineering
Reference no: EM132080072

Need help solving question

String manipulation, loops, branches, and subroutine calls in MIPS

Background:

.asciiz stores a string with the null terminator

.ascii stores a string without a null terminator

Since MIPS stores a string as ASCII bytes, it will make sense to use the lbu/sb load/store byte instructions.

Write a MIPS program to copy a lowercase string to another string, converted to uppercase. For example: "hola" should become "HOLA". Store string lower as .asciiz and reserve space for string upper using .space.

Look up an ASCII table in hex online or in the notes and notice the difference in hex between upper and lower case letters to figure out how to easily convert from one to the other. Your program should loop until it encounters the null terminator.

Take a screen shot of the program code. Take another screen shot of the memory area after the program ran, but check the ASCII box below the memory window.

Table 1: Rubric for Problem 1

Task

Points

Code screen shot

10

Memory screen shot

5

Loop ends at '\0'

5

Code comments, formatting

5

Total

25

Rewrite your program in #1 to use a procedure for the conversion. In other words, if you send "apple" to the procedure it will return "APPLE". Leave the rest of the code in main.

Test it on the source strings: "loop2:" and "Elephant!" In other words, code in your main program calls the procedure twice, once for each source string. You should print a memory screen shot after the program runs, showing that both strings were converted - check the ASCII box.

You should add code to check if each byte is in fact a lowercase letter, and only convert if it is; otherwise it should just copy it.

In the program for problem 1 you could use $tn registers but in this program you should follow the conventions for using $sn and $tn registers.

Also, use the directive .space for the upper case strings, reserving at least 10 bytes for each of the 2 upper strings.

Table 2: Rubric for problem 2

Task

Points

Code and screen shot

5

Memory screen shots for 2 inputs

10

Correct procedure usage

5

Code checks a-z range

5

Correct use of $tn and $sn

5

Main code calls procedure twice

5

Code comments, formatting

5

Total

40

Single-step through your program through the first subroutine call and back, then answer the following questions. Copy a-g below and paste your answers/screen shot here.

What is the value of PC before you execute the jal?

What is the value of $ra before you execute the jal?

Set a breakpoint to the jr instruction and run until then. What is the value of PC before the jr?

Single step back to the main program. What address is in the next instruction?

What value is in the PC?

Write a 2-3 sentence summary describing how the PC and $ra registers change when a subroutine is called and when we return from a subroutine.

Reference no: EM132080072

Questions Cloud

What are the main contributions the greeks : What are the main contributions the Greeks made to the world today? Why are they important?
Think of coca-cola environmental initiatives : What do you think of Coca-Cola’s environmental initiatives? Are they just window dressing, or does the company seem to be sincere in it’s efforts?
Create a scanner object that reads from the parameter : Create a Scanner object that reads from the parameter String and then perform the same computation as sumReals(Scanner).
Use in assessing corporate reputation : Develop a list of factors or characterisics that different stakeholders may use in assessing corporate reputation.
What is the value of pc before you execute the jal : Write a 2-3 sentence summary describing how the PC and $ra registers change when a subroutine is called and when we return from a subroutine.
Why was the 1st street photographer even important : But what was one of his accomplishments that made an impact and why was the 1st street photographer even important?
Euthyphro definition of holiness : 1. Euthyphro's definition of holiness as what is approved of by all of the gods fails because
Lease shifts more cost uncertainty to tenant than gross : A triple net lease shifts more cost uncertainty to a tenant than a gross lease
Explain example of business decision that would be unethical : Describe and explain an example of a business decision that would be unethical even though it is legal.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

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