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
xz_007 [3.2K]
3 years ago
8

Given a high-level code you should be able to write the corresponding MIPS assembly code. Simple loop in C; A[ ] is an array of

ints do { g = g + A[i]; i = i + j; while (i != h) } Rewrite this as: Loop: g = g + A[i]; i = i + j; if (i != h) goto Loop; Using the mapping: g: $s1, h: $s2, i: $s3, j: $s4, base of A: $s5; write the corresponding assembly instructions
Computers and Technology
1 answer:
nevsk [136]3 years ago
4 0

Answer:

Explanation:

The code for the given problem is written below

.data

A : .word 1 2 3 4 5 6 7 8 9 10

.text

la $s5,A

li $s1,0 # load g

li $s2,10 # load h

li $s3,0 # load i

li $s4,1 # load j

loop:

mul $s6,$s3,4

add $s6,$s6,$s5 #address of A[i]

lw $s6,($s6) #get value of A[i] in s3

add $s1,$s1,$s6 #g = g+A[i]

add $s3,$s3,$s4 # i = i+j

bne $s3,$s2,loop #if i!=h jump to loop

You might be interested in
Assume that a large number of consecutive IP addresses are available starting at 198.16.0.0 and suppose that two organizations,
Fiesta28 [93]

Answer & Explanation:

An IP version 4 address is of the form w.x.y.z/s

where s = subnet mask

w = first 8 bit field, x = 2nd 8 bit field, y = 3rd 8 bit field, and z = 4th 8 bit field

each field has 256 decimal equivalent. that is

binary                                        denary or decimal

11111111      =        2⁸      =             256

w.x.y.z represents

in binary

11111111.11111111.11111111.11111111

in denary

255.255.255.255

note that 255 = 2⁸ - 1 = no of valid hosts/addresses

there are classes of addresses, that is

class A = w.0.0.0 example 10.0.0.0

class B = w.x.0.0 example 172.16.0.0

class C = w.x.y.0 example 198.16.8.1

where w, x, y, z could take numbers from 1 to 255

Now in the question

we were given the ip address : 198.16.0.0 (class B)

address of quantity 4000, 2000, 8000 is possible with a subnet mask of type

255.255.0.0 (denary) or

11111111.11111111.00000000.00000000(binary) where /s =  /16 That is no of 1s

In a VLSM (Variable Length Subnet Mask)

Step 1

we convert the number of host/addresses for company A to binary

4000 = 111110100000 = 12 bit

step 2 (subnet mask)

vary the fixed subnet mask to reserve zeros (0s) for the 12 bit above

fixed subnet mask: 11111111.11111111.00000000.00000000            /16

variable subnet mask: 11111111.11111111.11110000.000000                /20

now we have added 4 1s in the 3rd field to reserve 12 0s

<u><em>subnet mask: 255.255.</em></u><u><em>16.</em></u><u><em>0 (where the 1s in each field represent a denary number as follows)</em></u>

<u><em>1st 1 = 128, 2nd 1 = 64 as follows</em></u>

<u><em>1        1       1      </em></u><u><em> 1 </em></u><u><em>      1     1     1     1</em></u>

<u><em>128  64     32    </em></u><u><em>16</em></u><u><em>    8    4     2    1</em></u>

step 3

in the ip network address: 198.16.0.0/19 <em>(subnet representation)</em> we increment this using 16

that is 16 is added to the 3rd field as follows

That means the ist Valid Ip address starts from

          Ist valid Ip add: 198.16.0.1 - 198.16.15.255(last valid IP address)

Company B starts<u><em>+16: 198.16.</em></u><u><em>16</em></u><u><em>.0 - 198.16.31.255</em></u>

<u><em>                   +16: 198.16.</em></u><u><em>32</em></u><u><em>.0- 198.16.47.255 et</em></u>c

we repeat the steps for other companies as follows

Company B

Step 1

we convert the number of host/addresses for company B to binary

2000 = 11111010000 = 11 bit

Step 2

vary the fixed subnet mask to reserve zeros (0s) for the 11 bit above

fixed subnet mask: 11111111.11111111.00000000.00000000            /16

variable subnet mask: 11111111.11111111.11111000.000000                /21

now we have added 5 1s in the third field to reserve 11 0s

<u><em>subnet mask: 255.255.</em></u><u><em>8.</em></u><u><em>0 (where the 1s in each field represent a denary number as follows)</em></u>

<u><em>1st 1 = 128, 2nd 1 = 64 as follows</em></u>

<u><em>1        1       1       1       </em></u><u><em>1 </em></u><u><em>    1     1     1</em></u>

<u><em>128  64     32    16    </em></u><u><em>8 </em></u><u><em>   4     2    1</em></u>

Step 3

Starting from after the last valid Ip address for company A

in the ip network address: 198.16.16.0/21 (<em>subnet representation</em>) we increment this using 8

That means the ist Valid Ip address starts from

           Ist valid Ip add: 198.16.16.1 - 198.16.23.255(last valid IP address)

Company C starts <u><em>+16: 198.16.</em></u><u><em>24</em></u><u><em>.0- 198.16.31.255</em></u>

<em>                             </em><u><em> +16: 198.16.</em></u><u><em>32</em></u><u><em>.0- 198.16.112.255 et</em></u>c

Company C

Step 1

we convert the number of host/addresses for company C to binary

4000 = 111110100000 = 12 bit

Step 2

vary the fixed subnet mask to reserve zeros (0s) for the 12 bit above

fixed subnet mask: 11111111.11111111.00000000.00000000            /16

variable subnet mask: 11111111.11111111.11110000.000000                /20

now we have added 4 1s in the 3rd field to reserve 12 0s

<u><em>subnet mask: 255.255.</em></u><u><em>16.</em></u><u><em>0 (where the 1s in each field represent a denary number as follows)</em></u>

<u><em>1st 1 = 128, 2nd 1 = 64 as follows</em></u>

<u><em>1        1       1       1       1     1     1     1</em></u>

<u><em>128  64     32    16    8    4     2    1</em></u>

Step 3

Starting from after the last valid ip address for company B

in the ip network address: 198.16.24.0/20 (subnet representation) we increment this using 16

That means the ist Valid Ip address starts from

           Ist valid Ip add: 198.16.24.1 - 198.16.39.255(last valid IP address)

Company C starts <u><em>+16: 198.16.40.0- 198.16.55.255</em></u>

<em>                          </em><u><em>    +16: 198.16.56.0- 198.16.71.255 et</em></u>c

Company D

Step 1

we convert the number of host/addresses for company D to binary

8000 = 1111101000000 = 13 bit

Step 2

vary the fixed subnet mask to reserve zeros (0s) for the 13 bit above

fixed subnet mask: 11111111.11111111.00000000.00000000            /16

variable subnet mask: 11111111.11111111.11100000.000000                /19

now we have added 3 1s in the 3rd field to reserve 13 0s

<u><em>subnet mask: 255.255.</em></u><u><em>32.</em></u><u><em>0 (where the 1s in each field represent a denary number as follows)</em></u>

<u><em>1st 1 = 128, 2nd 1 = 64 as follows</em></u>

<u><em>1        1      </em></u><u><em> 1 </em></u><u><em>      1       1     1     1     1</em></u>

<u><em>128  64     </em></u><u><em>32  </em></u><u><em>  16    8    4     2    1</em></u>

Step 3

Starting from after the last valid ip address for company C

in the ip network address: 198.16.40.0/20 (subnet representation) we increment this using 32

That means the ist Valid Ip address starts from

           Ist valid Ip add: 198.16.40.1 - 198.16.71.255(last valid IP address)

Company C starts <u><em>+16: 198.16.72.0- 198.16.103.255</em></u>

<em>                          </em><u><em>    +16: 198.16.104.0- 198.16.136.255 et</em></u>c

5 0
3 years ago
Write a program that converts a number entered in Roman numerals to decimal. your program should consist of a class, say, Roman.
arlik [135]

Answer:

The code is given below in Java with appropriate comments

Explanation:

import java.util.*;

public class RomantoDecimal {

    public static void main(String[] args)

    {

         Scanner SC = new Scanner(System.in);

         RomantoDecimal r = new RomantoDecimal();

         System.out.println("Enter a Roman number :");

         // INPUT A ROMAN NUMBER

         String rNum = SC.next();

         // CALL convertToDecimal FOR CONVERSION OF ROMAN TO DECIMAL

         r.convertToDecimal(rNum);

    }

    // M=1000, D=500, C=100, L=50, X=10, V=5, I=1

    public void convertToDecimal(String roamNo)

    {

         int number = 0;

         // TEACK EACH DIGIT IN THE GIVEN NUMBER IN REVERSE ORDER

         for (int i = roamNo.length() - 1; i >= 0; i--)

         {

             // FIND OUT WHETHER IT IS 'M' OR NOT

             if (roamNo.charAt(i) == 'M')

             {

                  if (i != 0)

                  { // CHECK WHETHER THERE IS C BEFORE M

                       if (roamNo.charAt(i - 1) == 'C')

                       {

                            number = number + 900;

                            i--;

                            continue;

                       }

                  }

                  number = number + 1000;

             }

             // FIND OUT WHETHER IT IS 'D' OR NOT

             else if (roamNo.charAt(i) == 'D')

             {

                  if (i != 0)

                  {

                  // CHECK WHETHER THERE IS C BEFORE D

                       if (roamNo.charAt(i - 1) == 'C')

                       {

                            number = number + 400;

                            i--;

                            continue;

                       }

                 }

                  number = number + 500;

             }

            // FIND OUT WHETHER IT IS 'C' OR NOT

             else if (roamNo.charAt(i) == 'C')

             {

                  if (i != 0)

                  {

                       if (roamNo.charAt(i - 1) == 'X')

                       {

                            number = number + 90;

                            i--;

                            continue;

                      }

                  }

                  number = number + 100;

             }

             else if (roamNo.charAt(i) == 'L')

             {

                  if (i != 0)

                  {

                       if (roamNo.charAt(i) == 'X')

                       {

                            number = number + 40;

                            i--;

                            continue;

                       }

                  }

                  number = number + 50;

             }

             // FIND OUT WHETHER IT IS 'X' OR NOT

             else if (roamNo.charAt(i) == 'X')

             {

                  if (i != 0)

                  {

                       if (roamNo.charAt(i - 1) == 'I')

                       {

                            number = number + 9;

                            i--;

                            continue;

                       }

                  }

                  number = number + 10;

             }

             // FIND OUT WHETHER IT IS 'V' OR NOT

             else if (roamNo.charAt(i) == 'V')

             {

                  if (i != 0)

                  {

                       if (roamNo.charAt(i - 1) == 'I')

                       {

                            number = number + 4;

                            i--;

                            continue;

                       }

                  }

                  number = number + 5;

             }

            else // FIND OUT WHETHER IT IS 'I' OR NOT

             {

                  number = number + 1;

             }

         }// end for loop

         System.out.println("Roman number: " + roamNo + "\nIts Decimal Equivalent: " + number);

    }

}

3 0
3 years ago
Transistors contain a huge number of integrated circuits <br><br> a. true or <br> b. false
malfutka [58]
False. Integrated circuits have transistors within them, not the other way around
6 0
3 years ago
An item that appears in a program's graphical user interface is known as a _______.
nydimaria [60]
Widget is an item that appears in a programs graphical user interface.
7 0
3 years ago
.What are signals, how can they be used?
goldfiish [28.3K]

Answer:

 The signal is the function which that carry information about the particular phenomenon in the signal processing. A signal is also define as the change in the quantity which is observable.

In terms of telecommunication, a signal is the varying current, voltage and the electromagnetic wave which basically carries data or information. Signal can be in the form of audio, image and radar related.

A signal can be used be various signal processing system and telecommunication fr the transmission of information from one device to another device.    

8 0
3 years ago
Other questions:
  • _____ rows indicate that there is different formatting for odd and even rows.
    14·1 answer
  • Saas provides services to an organization that requires the standard business process infrastructure such a CRM
    7·1 answer
  • Multiple client switches and routers have been set up at a small military base. The network team decided to implement Terminal A
    15·1 answer
  • Given two variables matric_age and grad_age, write a statement that makes the associated value of grad_age 4 more than that of m
    15·1 answer
  • Read each statement below. If the statement describes a peer-to-peer network, put a P next to it. If the statement describes a s
    12·1 answer
  • What is the number reason for conflict on a team?
    12·1 answer
  • Free coins who is octane and dont say u dont know because i will do the same to u
    13·2 answers
  • Write a short-essay discussing your own stand on social media usage for students.​
    5·1 answer
  • Help me i'll brainiest if its right
    7·2 answers
  • In cell N2, enter a formula using the IF function and structured references as follows to determine which work tier Kay Colbert
    15·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!