ARM ASSEMBLY LANGUAGE!! Given the following C function, implement the equivalent
ID: 3853312 • Letter: A
Question
ARM ASSEMBLY LANGUAGE!!
Given the following C function, implement the equivalent assembly language function, int returnLength(char *myArray, int *length) { int i: i=0: while (myarray[i] !=0) { myarray[i] = myarray[i] & 0 x 0F: i++: } 'length = i: return(i): }Explanation / Answer
while(a!=b){ 003613DE mov eax,dword ptr [a] 003613E1 cmp eax,dword ptr [b] 003613E4 je common+44h (0361404h) if(a > b){ 003613E6 mov eax,dword ptr [a] 003613E9 cmp eax,dword ptr [b] 003613EC jle common+39h (03613F9h) a = a - b; 003613EE mov eax,dword ptr [a] 003613F1 sub eax,dword ptr [b] 003613F4 mov dword ptr [a],eax } else{ 003613F7 jmp common+42h (0361402h) b = b - a; 003613F9 mov eax,dword ptr [b] 003613FC sub eax,dword ptr [a] 003613FF mov dword ptr [b],eax } } 00361402 jmp common+1Eh (03613DEh) return a; 00361404 mov eax,dword ptr [a] }