Question: 7. 50% 50% This (now familiar MIPS PIM program includes a subroutine called myadd that performs x-y+z: In the space below, replace the myadd subroutine

7. 50% 50% This (now familiar MIPS PIM program includes a subroutine called myadd that performs x-y+z: In the space below, replace the myadd subroutine with one named ham that will compute xsham (y, z);, the Hamming Distance between y and z. Hamming Distance is defined as the number of bits that differ, and the following C code gives a simple algorithm to compute it. This uses a little trick credited to Brian Kernighan (and described here) to count the "population" of ls in the XOR of the two numbers; te & (te - 1) removes the least-significant 1 bit from the value of te extern int x, y, z; void ham(void) int t1 0; while (t0) f t1 - t1 + 1; # Addition routine: .text .globl myadd myadd: $te, y $t1, $t1, $t2, z e($t1) $to, $t1 addu #t2=y+z SW jr $ra # return
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
