answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
NikAS [45]
2 years ago
10

For the (pseudo) assembly code below, replace X, Y, P, and Q with the smallest set of instructions to save/restore values on the

stack and update the stack pointer. Assume that procA and procB were written independently by two different programmers who are following the MIPS guidelines for caller-saved and callee-saved registers. In other words, the two programmers agree on the input arguments and return value of procB, but they can't see the code written by the other person.(50 points)
procA:
$s0 = ...
$s1 = ...
$s2 = ...
$t0 = ...
$t1 = ...
$t2 = ...
X
$a0 = ...
$a1 = ...
jal procB
Y
... = $s1
... = $t0
... = $t1
... = $a0
jr $ra

procB:
P
... = $a0
... = $a1
$s2 = ...
$t0 = ...
Q
jr $ra
Computers and Technology
1 answer:
Dimas [21]2 years ago
8 0

Answer:

Explanation:

Let us first consider the procedure procA; the caller in the example given.

  Some results: $s0,$s1,$s2, $t0,$t1 and $t2 are being stored by procA. Out of these registers, few registers are accessing by procA after a call to procB. But, procB might over-write these registers.

       Thus, procA need to save some registers into stack first before calling procB, .

      only $s1,$t0 and $t1 are being used after return from procB in the given example,

       Caller saves and restores only values in $t0-$t9, according to MIPS guidelines for caller-saved and callee-saved registers, .

       Thus, procA needs to save only $t0 and $t1.

    jal instruction overwrites the register $ra by writing the address, to which the control should jump back, after completing the instructions of procB, when procB is called,.

       Therefore, procA also need to save $ra into stack.

 ProcA is writing new values into $a0,$a2, procA must save $a0 and $a1 first before calling procB, .

     In the given example, after return from procB, only $a0 is being used. It is therefore enough to save $a0.

   Also, procA needs to save frame pointer, which points the start of the stack space for each procedure.

       Generally, as soon as the procedure begins, frame pointer is set to the current value of the stack pointer,.

Let us consider the procedure procB; the callee in the given example.

 The callee is responsible for saving values in $s0-$s7 and restoring them before returning to caller, this is according to MIPS guidelines for caller-saved and callee-saved registers,

   procB is expected to over-write the registers $s2 and $t0. Nonetheless, in the first two lines, procB might over-write the registers $s0 and $s1.

   Thus, procB is responsible for saving and restoring $s0,$s1 and $s2.

X:

We need to create space for 5 values on the stack since procA needs to save $a0,$ra,$t0,$t1 and $fp(frame pointer), . Each value(word) takes 4 bytes.

$sp = $sp – 20 # on the stack, create space for 5 values

sw $a0, 16($sp) # store the result in $a0 into the memory address

               # indicated by $sp+20

sw $ra, 12($sp) # save the second value on stack

sw $t0, 8($sp) # save the third value on stack

sw $t1, 4($sp) # save the fourth value on stack

sw $fp, 0($sp) #  To the stack pointer, save the frame pointer

$fp = $sp      #  To the stack pointer, set the frame pointer

Y:

lw $fp, 0($sp) #  from stack, start restoring values

lw $t1, 4($sp)

lw $t0, 8($sp)

lw $ra, 12($sp)

lw $a0, 16($sp)

$sp = $sp + 20 # decrease the size of the stack

P:

$sp = $sp – 12 #  for three values, create space on the stack

sw $s0, 0($sp) # save the value in $s0

sw $s1, 0($sp) # save the value in $s1

sw $s2, 0($sp) # save the value in $s2

Q:

lw $s0, 0($sp) #  from the stack, restore the value of $s0

lw $s1, 0($sp) #  from the stack, restore the value of $s1

lw $s2, 0($sp) #  from the stack, restore the value of $s2

$sp = $sp + 12 # decrease the stack size

You might be interested in
Mike has never used a slide software before, but he needs to create a presentation by the end of the week. what recourse would b
ankoles [38]

This is an incomplete question. The complete question is given below:

Mike has never used slide presentation software before but he needs to create a presentation by the end of the week what resource would be most helpful to mike

a. The 350-page printed manual from the slide presentation software publisher

b. A free tutorial the slide presentation software publisher has posted on the company website

c. A trouble-shooting website created by a third party

d. The 350-page online manual from the slide presentation software publisher

Answer:

b - A free tutorial the slide presentation software publisher has posted on the company website

Explanation:

As Mike has a short time and no prior experience with a slide software, then in this scenario, the best, simplest and fastest way to learn and create a presentation a free tutorial which the slide presentation software publisher has posted on the company website  as this is the same company that has created this particular software so he can be rest-assured that the resource he is relying on is authentic and up-to-date with information on latest features.

Moreover, it's efficient and quick way to learn from a free tutorial rather than from 350-page printed or online manual especially for a beginner.

Besides, his purpose is to create the presentation using the software and not trouble-shooting so trouble-shooting website created by a third party is not useful for him and it also might not be authentic or updated as well.

6 0
2 years ago
Write code that determines the number of full days represented by the number of hours stored in the variable hours and stores th
taurus [48]

Answer:

hours = 50

full_days = int(hours / 24)

print("The number of full days in " + str(hours) + " hours is " + str(full_days))

Explanation:

Initialize the hours

Since there are 24 hours in a full day, divide the hours by 24. Note that you need to typecast it to the int, because the result is a decimal value by default

Print the values as requested

4 0
2 years ago
Describe copyright statute, disclaimers, and filing procedures.
gayaneshka [121]

Answer:(Answers may vary.)

I researched about different concepts regarding statute of limitations, disclaimers, and filing procedures regarding copyright issues.

Statute of limitations

Statute of limitations for copyright falls under two categories. The first is a limitation for ‘Criminal Proceedings’. In this case, the statute stands that the claim (or lawsuit) has to be filed within five years of the cause (act of infringement). The second consideration is in the ‘Civil Action’ case. Here the claim (lawsuit) has to be filed within three years of the cause. Many times the last act of infringement is taken as the date from which these five (or three) years are calculated. There have been cases where the date when the infringement was discovered by the victim, is taken as a starting date.

Disclaimers

A disclaimer is a statement that is intended to pass on some information about the content of the design to the viewer. This disclaimer may be to signify the intent of the designer behind the content. It may also be a suggestion or warning to ensure the viewer uses discretion while viewing the content. A disclaimer is mutual understanding between the designer and viewer. This would protect the designer rights in a situation where the viewer claims damages after the viewer clearly disregarded the disclaimer.

Filing procedures

A claim for copyright has to be filed (ideally) before any infringement occurs, or within three months of the infringement. Timely registration would help the claim for damages. I can file for a copyright online (U.S. Copyright Office). I can also file for a copyright in printed form at the U.S. Copyright Office. I would need two copies of my work at the time of filing. The online facility is charged (fees) lesser than direct submission. I would have to sure which form I fill, as all the forms refer to different types of work.

Explanation: I just did it and it showed me.

7 0
2 years ago
When configuring a record type, an App Builder can configure the available value of a picklist field for the page layout. Which
Alla [95]

Answer:

Option (B) and (D) i.e., Type and Lead Source is the correct answer.

Explanation:

Because when the user configures the record type, Then, they can help that user to configure the value of the picklist fields for the page layout. So, The type and the lead source opportunity is available for the standard field that configure straightly in the type of record. That's why the following option is correct.

7 0
1 year ago
What does NOT match with Agile Manifesto?
Butoxors [25]

Answer:

yes

Explanation:

7 0
2 years ago
Other questions:
  • Which of the following people is required by law to wear a seat belt? A. The operator of a truck weighing more than 26,000 lbs B
    15·1 answer
  • In which of these places might you be most likely to find a peer-to-peer network? On the Internet In a hospital In a home In a l
    5·2 answers
  • Templates contain common layout and formatting that can save you time by not having to recreate documents from scratch. True or
    10·1 answer
  • Consider the relation Courses(C, T, H, R, S, G), whose attributes can be thought of informally as course (C), teacher (T), hour
    10·1 answer
  • If byte stuffing is used to transmit Data, what is the byte sequence of the frame (including framing characters)? Format answer
    6·1 answer
  • A news channel runs a two-minute story on phishing scams. The report features the testimonies of a phishing victim and a compute
    7·1 answer
  • 7.8.1: Function pass by reference: Transforming coordinates. Define a function CoordTransform() that transforms the function's f
    6·1 answer
  • In the next five years there are expected to be over _____ unfilled jobs in the US in computer science.
    10·1 answer
  • HELP 30 points and Brainliest.Type the correct answer in the box. Spell all words correctly.
    11·1 answer
  • A colleague sent you an awesome article about using proper ergonomics while sitting at the computer. You don't have time to read
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!