Question: f1: subl $97, %edi xorl %eax, %eax cmpb $25, %dil setbe %al ret f2: cmpl %edx, %edi sete %dl xorl %eax, %eax cmpl %esi, %edi

 f1: subl $97, %edi xorl %eax, %eax cmpb $25, %dil setbe

f1:

subl $97, %edi

xorl %eax, %eax

cmpb $25, %dil

setbe %al

ret

f2:

cmpl %edx, %edi

sete %dl

xorl %eax, %eax

cmpl %esi, %edi

sete %al

andl %edx, %eax

ret

f3:

movq %rdi, %rax

notq %rax

shrq $63, %rax

ret

f4:

cmpl $1, %edi

jle .L9

addl $1, %edi

movl $2, %edx

movl $1, %eax

.L8:

imull %edx, %eax

addl $1, %edx

cmpl %edi, %edx

jne .L8

ret

.L9:

movl $1, %eax

ret

f5:

cmpl $1, %esi

jle .L28

movl 4(%rdi), %eax

cmpl %eax, (%rdi)

jg .L30

addq $4, %rdi

subl $1, %esi

xorl %eax, %eax

jmp .L26

.L27:

movl (%rdi), %edx

addq $4, %rdi

cmpl (%rdi), %edx

jg .L30

.L26:

addl $1, %eax

cmpl %esi, %eax

jne .L27

.L28:

movl $1, %eax

ret

.L30:

xorl %eax, %eax

ret

CSC 373 Sections 601, 610 Spring 2018 Homework Assignment 5 Due: as specified on D2L The purpose of this assignment is for you to become better at comprehending x86-64 assembly language. We will not write assembly language programs. Instead, in this assignment you are given 5 functions in x86-64 assembly language. Your task is to "reverse engineer" these 5 functions by writing them in C. Each correct answer is worth 1 point. Your C code does not have to compile into exactly the same.s code that I have given you. Rather, you will be graded on whether or not your C functions properly emulate the assembly language; that is, they both should return the same value provided they are passed the same values as parameters. The assembly language code can be found in the file hw5.s CSC 373 Sections 601, 610 Spring 2018 Homework Assignment 5 Due: as specified on D2L The purpose of this assignment is for you to become better at comprehending x86-64 assembly language. We will not write assembly language programs. Instead, in this assignment you are given 5 functions in x86-64 assembly language. Your task is to "reverse engineer" these 5 functions by writing them in C. Each correct answer is worth 1 point. Your C code does not have to compile into exactly the same.s code that I have given you. Rather, you will be graded on whether or not your C functions properly emulate the assembly language; that is, they both should return the same value provided they are passed the same values as parameters. The assembly language code can be found in the file hw5.s

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!