Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Consider the program below, where Mand N are (secret) #defined constants: int mat 1[M][N]; int mat2[N][M]; int copy_element(int i, int i) { mat1[i][j] = mat2[j][i];
Consider the program below, where Mand N are (secret) #defined constants: int mat 1[M][N]; int mat2[N][M]; int copy_element(int i, int i) { mat1[i][j] = mat2[j][i]; } Here is the compiled assembly code for the above program: copy_element : pusha %rbp mova %rsp, %rbp movl %edi, -4(%rbp) movl %esi, -8%rbp) movl -4(%rbp), %eax movl -8(%rbp), %edx movsla %edx, %rdx sala $3, %rdx adda %rdx, %rax movl mat2(,%rax, 4), %ecx movl -8(%rbp), %eax movsla %eax, %rsi movi -4(%rbp), %eax movsla %eax, %rdx mova %rdx, %rax adda %rax, %rax adda %rdx, %rax sala $2, %rax adda %rsi, %rax movl %ecx, mat1(,%rax, 4) popa %rbp ret Based on your understanding of Carray representation, and the manner in which indices i and j are used, what are the values of Mand N? M- N = Consider the program below, where Mand N are (secret) #defined constants: int mat 1[M][N]; int mat2[N][M]; int copy_element(int i, int i) { mat1[i][j] = mat2[j][i]; } Here is the compiled assembly code for the above program: copy_element : pusha %rbp mova %rsp, %rbp movl %edi, -4(%rbp) movl %esi, -8%rbp) movl -4(%rbp), %eax movl -8(%rbp), %edx movsla %edx, %rdx sala $3, %rdx adda %rdx, %rax movl mat2(,%rax, 4), %ecx movl -8(%rbp), %eax movsla %eax, %rsi movi -4(%rbp), %eax movsla %eax, %rdx mova %rdx, %rax adda %rax, %rax adda %rdx, %rax sala $2, %rax adda %rsi, %rax movl %ecx, mat1(,%rax, 4) popa %rbp ret Based on your understanding of Carray representation, and the manner in which indices i and j are used, what are the values of Mand N? M- N =
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started