Please convert the following C code to assembly Y86 int ij

Please convert the following C code to assembly Y86

int i,j; .....
if (i >j) {

i= i+5;

} else {

i=0;

j++;

}

Solution

Answer:

MIPS Assembly Language Code :

.zero 1
main:
push rbp
mov rbp, rsp
mov eax, DWORD PTR [rbp-4]
cmp eax, DWORD PTR [rbp-8]
jle .L2
add DWORD PTR [rbp-4], 5
jmp .L3
.L2:
mov DWORD PTR [rbp-4], 0
add DWORD PTR [rbp-8], 1
.L3:
mov eax, 0
pop rbp
ret
__static_initialization_and_destruction_0(int, int):
push rbp
mov rbp, rsp
sub rsp, 16
mov DWORD PTR [rbp-4], edi
mov DWORD PTR [rbp-8], esi
cmp DWORD PTR [rbp-4], 1
jne .L7
cmp DWORD PTR [rbp-8], 65535
jne .L7
mov edi, OFFSET FLAT:std::__ioinit
call std::ios_base::Init::Init()
mov edx, OFFSET FLAT:__dso_handle
mov esi, OFFSET FLAT:std::__ioinit
mov edi, OFFSET FLAT:std::ios_base::Init::~Init()
call __cxa_atexit
.L7:
nop
leave
ret
push rbp
mov rbp, rsp
mov esi, 65535
mov edi, 1
call __static_initialization_and_destruction_0(int, int)
pop rbp
ret

Please convert the following C code to assembly Y86 int i,j; ..... if (i >j) { i= i+5; } else { i=0; j++; }SolutionAnswer: MIPS Assembly Language Code : .zer
Please convert the following C code to assembly Y86 int i,j; ..... if (i >j) { i= i+5; } else { i=0; j++; }SolutionAnswer: MIPS Assembly Language Code : .zer

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site