How registers are stored on the stack

Assignment Help Other Engineering
Reference no: EM131230398

1. Rewrite your program in #1 to use a procedure for the conversion. In other words, if you send ‘a' to the procedure it will return ‘A'. Leave the rest of the code in main. Test it on the source strings: "loop2:" and "Elephant!" You should print two memory screen shots, one for each input data.

In your procedure you should add code to check if the byte sent to the procedure is in fact a lowercase letter, and only convert if it is; otherwise it should just return the byte.

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 second string, reserving at least 25 bytes.
This is my code:
.data
in_string: .asciiz "Input your string please:\n"
out_msg: .asciiz "Uppercase of your strings are:\n"
in_name:
.space 25 # space for input string

.text
.globl main
main: la $a0,in_string # prompt user for input
li $v0,4
syscall

la $a0,in_name # read the input string
li $a1,25
li $v0,8
syscall

la $a0,out_msg # write output message
li $v0,4
syscall

la $t0,in_name

loop:
lb $s1,($t0)
beqz $s1,exit_loop # if NULL, we are done
blt $s1,'a',lowercase_Var
bgt $s1,'z',lowercase_Var
addu $s1,$s1,-32 # convert to uppercase

lowercase_Var:
sb $s1,($t0)
addu $t0,$t0,1 # increment pointer

j loop

exit_loop:
la $a0,in_name # output converted string
li $v0,4
syscall

li $v0,10 # exit
syscall

2. We don't have to save $s0 and $s1 in our procedure because we didn't use them. However, to observe the process, go ahead and add statements at the top of the procedure to save $s0 and $s1 on the stack and statements at the bottom of the procedure to restore them. Single-step through your program (at least through the first subroutine call) and answer the following questions. Copy a-g below and paste your answers/screen shot here.

a. Single-step to the jal statement. Write down the contents of registers:

• $sp=
• $pc=
• $ra =

b. Single-step over the jal. Write the down the contents of registers:

• $ra=
• $pc=

c. Single-step over the instructions that save $s0, $s1 on the stack. Change the memory window to look at the current $sp, uncheck ASCII if you have it checked. Take a screen shot showing the stack and the current $sp

d. Single-step through the procedure, through the statements that restore $s0 and $s1. Write down the contents of registers:

• $sp =
• $pc =

e. Single-step back to the calling procedure. Write down the contents of registers:

• $sp =
• $pc =
• $ra =

f. Write a 3-4 sentence summary of how the $pc and $ra registers are affected by subroutine calls and returns.

g. Write a 4-6 sentence summary describing the (i) the convention of saving $sn registers at the top of the subroutine and restoring them at the end (ii) how registers are stored/restored on the stack and how the $sp is affected, (iii) what the stack looks like after you return from a subroutine. Is the data pushed onto the stack still there? Where does the $sp point?

Reference no: EM131230398

Questions Cloud

What are the risks of sloppy code to an organization : What are the risks of "sloppy code" to an organization? Briefly describe what a key logger, virus, and a worm are and provide examples. Ideally, who is involved in designing and maintaining a secure organizational environment?
Define and describe software mashups and apps : Define and describe open source software and Linux and explain their business benefits.
What are the challenges of managing it infrastructure : Explain how using a competitive forces model and calculating the TCO of technology assets help firms make good infrastructure investments.
Why is selecting computer hardware and software : Why is selecting computer hardware and software for the organization an important management decision? What management, organization, and technology issues should be considered when selecting computer hardware and software?
How registers are stored on the stack : Write a 4-6 sentence summary describing the convention of saving $sn registers at the top of the subroutine and restoring them at the end. How registers are stored/restored on the stack and how the $sp is affected.
Advantages and disadvantages of cloud computing : What factors and management decisions must be considered when developing a solution to this problem?
Post a brief summary of your research project : Discuss with your colleagues strategies you could implement to overcome those challenges and address common questions.
What are arguments against corporate social responsibilities : What business, personal, and social costs are involved when traveling by airplane between Copenhagen and Helsinki?
Find the first occurrence in t of a string s : Given a long text string T, one shorter pattern string s, and an integer k, find the first occurrence in T of a string (if any) s such that dH(s, s ) ≤ k. What is the complexity of your algorithm?

Reviews

Write a Review

Other Engineering Questions & Answers

  Characterization technology for nanomaterials

Calculate the reciprocal lattice of the body-centred cubic and Show that the reciprocal of the face-centred cubic (fcc) structure is itself a bcc structure.

  Calculate the gasoline savings

How much gasoline do vehicles with the following fuel efficiencies consume in one year? Calculate the gasoline savings, in gallons per year, created by the following two options. Show all your work, and draw boxes around your answers.

  Design and modelling of adsorption chromatography

Design and modelling of adsorption chromatography based on isotherm data

  Application of mechatronics engineering

Write an essay on Application of Mechatronics Engineering

  Growth chracteristics of the organism

To examine the relationship between fermenter design and operating conditions, oxygen transfer capability and microbial growth.

  Block diagram, system performance and responses

Questions based on Block Diagram, System Performance and Responses.

  Explain the difference in a technical performance measure

good understanding of Mil-Std-499 and Mil-Std-499A

  Electrode impedances

How did this procedure affect the signal observed from the electrode and the electrode impedances?

  Write a report on environmental companies

Write a report on environmental companies

  Scanning electron microscopy

Prepare a schematic diagram below of the major parts of the SEM

  Design a pumping and piping system

creating the pumping and piping system to supply cool water to the condenser

  A repulsive potential energy should be a positive one

Using the data provided on the webvista site in the file marked vdw.txt, try to develop a mathematical equation for the vdW potential we discussed in class, U(x), that best fits the data

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