Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

This problem is adapted from an earlier edition of P&H, and should be submitted. Consider the following code used to implement a new instruction: foo $t3,$t1,$t2: mask : . word 0xFFFFF83F s t a r t :...

1 answer below »

This problem is adapted from an earlier edition of P&H, and should be submitted.
Consider the following code used to implement a new instruction: foo $t3,$t1,$t2:
mask : . word 0xFFFFF83F
s t a r t : l a $t0 , mask
lw $t0 , 0 ( $ t 0 )
l a $t3 , s h f t r
lw $t3 , 0 ( $ t 3 )
and $t3 , $t3 , $ t 0
a ndi $t2 , $t2 , 0 x 0 0 1 f
s l l $t2 , $t2 , 6
o r $t3 , $t3 , $ t 2
l a $t5 , s h f t r
sw $t3 , 0 ( $ t 5 )
s h f t r : s l l $t3 , $t1 , 0
Add meaningful comments to the code and write a brief (2 sentence max) description of what foo does. This
is not the same as saying how it does it - e.g., when asked to describe what a pedestrian is doing, you would
say they are walking, not that they are ilfting their left leg, angling it forward, putting it down, . . ..
State at least one reason why writing “self-modifying code” such as this is a bad idea (and often times not
actually allowed by the operating system)?

Answered 117 days After Jun 11, 2022

Solution

Robert answered on Oct 07 2022
55 Votes
Step 1 mask: .word 0xFFFFF83F start: la $t0,mask
$t0 = 0xfffff83f,1111111...100000111111 ( meaning word is loaded to register t0) lw $t0,0($t0)
load word at RAM address ($t0+0) into register$t0 la $s0,shftr
$s0 = sll instruction( shifting to left) means loading the shift instruction. lw $s0,0($s0) and $s0,$s0,$t0...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here