This is a homework assignment for Computer Architecture and

This is a homework assignment for Computer Architecture and some question use MIPS Assembly language.

1.     In the following MIPS assembly code, translate all the instructions to their corresponding machine code in hexadecimal format. This code is stored in the memory from address 0x1fff0000.
Loop: sw $t1, 4($s0)
       addi $t1, $t1, -1
   sll $t1, $t1, 2
       bne $t1, $s5, Exit
   addi $s0, $s0, 4
         j Loop
Exit: …

2.     Find the MIPS instruction with the machine code 0x02108020.

3.     Find the decimal value of the 2\'s complement number 0xffffffab.

4.     Compile the following C code into MIPS:

i=0;  

        while (i<=100) do

            A[4*i]=0;  

        where integer i is in register $s0 and the base memory address of array A is in$s1.

Solution

1.

Loop: sw $t1, 4($s0)
The syntax is: SW rt, offset(base)
SW - 101011
rt - 01001
base - 10000
offset - 4 - 0000000000000100
So,the binary instruction is: 101011   10000   01001   0000000000000100
And its hex equivalent is: 0xAE090004

addi $t1, $t1, -1
The syntax is: ADDI rt, rs, immediate
ADDI - 001000
rt - 01001
rs - 01001
immediate - 1111111111111111
So, the binary instruction is: 001000   01001   01001   1111111111111111
And its hex equivalent is: 0x2129FFFF

sll $t1, $t1, 2
The syntax is: SLL rd, rt, sa
SPECIAL - 000000
SLL - 000000
0 - 00000
rd - 01001
rt - 01001
sa - 00010
So, the instruction is: 000000   00000   01001   01001   00010   000000
And its hex equivalent is: 0x00094880

bne $t1, $s5, Exit
The syntax is: BNE rs, rt, offset
BNE - 000101
rs - 01001
rt - 10101
offset - 0000000000011000
So, the instruction is: 000101   01001   10101   0000000000011000
And its hex equivalent is: 0x15350018

addi $s0, $s0, 4
The syntax is: ADDI rt, rs, immediate
ADDI - 001000
rt - 10000
rs - 10000
immediate - 0000000000000100
So, the instruction is: 001000   10000   10000   0000000000000100
And its hex equivalent is: 0x22100004

j Loop
The syntax is: J target
J - 000010
target - 11111111110000000000000000
So, the instruction is: 000010   11111111110000000000000000
And its hex equivalent is: 0x0BFF0000
Exit: …

This is a homework assignment for Computer Architecture and some question use MIPS Assembly language. 1. In the following MIPS assembly code, translate all the
This is a homework assignment for Computer Architecture and some question use MIPS Assembly language. 1. In the following MIPS assembly code, translate all the

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site