1answer.
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
Anit [1.1K]
3 years ago
8

Translate the following MIPS code to C. Assume that the variables f, g, h, i, and j are assigned to registers $s0, $s1, $s2, $s3

, and $s4, respectively. Assume that the base address of the arrays A and B are in registers $s6 and $s7, respectively.
addi $t0,$s6,4
add $t1,$s6,$0
sw $t1,0($t0)
lw $t0,0($t0)
add $s0,$t1,$t0
Computers and Technology
1 answer:
Romashka [77]3 years ago
3 0

Answer:

f = 2 * (&A[0])

See explaination for the details.

Explanation:

The registers $s0, $s1, $s2, $s3, and $s4 have values of the variables f, g, h, i, and j respectively. The register $s6 stores the base address of the array A and the register $s7 stores the base address of the array B. The given MIPS code can be converted into the C code as follows:

The first instruction addi $t0, $s6, 4 adding 4 to the base address of the array A and stores it into the register $t0.

Explanation:

If 4 is added to the base address of the array A, then it becomes the address of the second element of the array A i.e., &A[1] and address of A[1] is stored into the register $t0.

C statement:

$t0 = $s6 + 4

$t0 = &A[1]

The second instruction add $t1, $s6, $0 adding the value of the register $0 i.e., 32 0’s to the base address of the array A and stores the result into the register $t1.

Explanation:

Adding 32 0’s into the base address of the array A does not change the base address. The base address of the array i.e., &A[0] is stored into the register $t1.

C statement:

$t1 = $s6 + $0

$t1 = $s6

$t1 = &A[0]

The third instruction sw $t1, 0($t0) stores the value of the register $t1 into the memory address (0 + $t0).

Explanation:

The register $t0 has the address of the second element of the array A (A[1]) and adding 0 to this address will make it to point to the second element of the array i.e., A[1].

C statement:

($t0 + 0) = A[1]

A[1] = $t1

A[1] = &A[0]

The fourth instruction lw $t0, 0($t0) load the value at the address ($t0 + 0) into the register $t0.

Explanation:

The memory address ($t0 + 0) has the value stored at the address of the second element of the array i.e., A[1] and it is loaded into the register $t0.

C statement:

$t0 = ($t0 + 0)

$t0 = A[1]

$t0 = &A[0]

The fifth instruction add $s0, $t1, $t0 adds the value of the registers $t1 and $t0 and stores the result into the register $s0.

Explanation:

The register $s0 has the value of the variable f. The addition of the values stored in the regsters $t0 and $t1 will be assigned to the variable f.

C statement:

$s0 = $t1 + $t0

$s0 = &A[0] + &A[0]

f = 2 * (&A[0])

The final C code corresponding to the MIPS code will be f = 2 * (&A[0]) or f = 2 * A where A is the base address of the array.

You might be interested in
Can someone start me off with a short 2 or 3 paragraphs about the pros and cons of Microsoft Word, and if you can recommend a si
Romashka-Z-Leto [24]
Microsoft Word is an overall very good application. It can be easily used with other Microsoft products, such as PowerPoint and Excel. However, there are some cons.

The spelling and grammar check is widely considered not very good. It does pick up many spelling errors, but many grammar errors are either not noticed, or are incorrectly noticed - it may say that you have made an error when you have not.
7 0
3 years ago
Which of the following best explains the different between Cut and Copy? a. When you copy text you are permanently deleting it,
Vilka [71]
B. When you copy text it remains in its original location and places it on the clipboard. Cutting text removes it from its original location and places it on the clipboard

5 0
3 years ago
Read 2 more answers
Can you run microsoft office on a chromebook
zimovet [89]
Yes, you can Microsoft office in a Chromebook.
6 0
4 years ago
When you go to a website, your web browser requests a web page from:
lakkis [162]

Answer: web server

Explanation:

When you go to a website, your web browser requests a web page from the web server. For this to happen, the IP address for the webpage has to be identified first, tmaftee which the browser will request appropriate data from the web server.

Such request comes in form of data packet and takes place through HTTP and.utnhas all the necessary information that is needed by the web server for the delivery of the webpage data.

3 0
3 years ago
In a class named InputTextToOutputFile.java use the following prompt to get the fileName of the output file from the user: "What
grin007 [14]

Answer:

Detailed program code is written at explaination

Explanation:

Program:

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;

public class InputTextToOutputFile

{

public static void main(String[] args) throws IOException

{

Scanner in=new Scanner(System.in);//Scanner object to get user input

System.out.println("What is the name of your output file? ");

String fileName = in.nextLine();//get output file name

File file = new File(fileName);//File object with fileName as input

//Create the file by method file.createNewFile()

if (file.createNewFile())

{

System.out.println("File is created!");

} else {

System.out.println("File already exists.");

}

//FileWriter object with user file name given as input

FileWriter writer = new FileWriter(file);

System.out.println("Enter text to write to a file : ");

String line;//variable to store line content

do {

line=in.nextLine();//get line content from user

writer.write(line+"\n"); //write content to file by adding new line(\n) character

}while(!line.equals("STOP!"));//repeat a loop until user enters "STOP!" line

writer.close();//close the file object

}

5 0
4 years ago
Other questions:
  • Ron is in the process of designing tables for a database that will contain information for all school matches played in a year.
    6·1 answer
  • Which programming language looks similar to human languages?
    12·1 answer
  • Given a link with a maximum transmission rate of 18 Mbps. Only two computers, X and Y, wish to transmit starting at time t = 0 s
    14·1 answer
  • What do you think is the meaning of the saying "Sticks and stones may break my bones, but words can never hurt me"? Do think tha
    5·1 answer
  • What does anyone who chooses to use speech recognition software need to do? Create a Guest Account.
    8·1 answer
  • 10010010 + 01100010 =
    11·1 answer
  • GAMER OYUNCU KOLTUĞU % YERLİ
    6·1 answer
  • What is a prototype ?
    9·1 answer
  • Fill in the sentences with the correct terms.
    7·2 answers
  • Html is a markup language that lets you identify common sections of a web page
    8·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!