Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

long unknown(unsigned long x) { if (___________) return _________; unsigned long nx = _____________________; long rv = unknown(x); return ___________________; } 0000000000000000 : unknown: testq

long unknown(unsigned long x) { if (___________) return _________; unsigned long nx = _____________________; long rv = unknown(x); return ___________________; } 0000000000000000 : unknown: testq %rdi, %rdi jne .L8 movl$0, %eax ret .L8: pushq %rbx movq %rdi, %rax xorq $1, %rax andl $1, %eax movq %rax, %rbx shrq %rdi call unknown addq %rbx, %rax popq %rbx ret 

What value does unknown() store in the calleed-saved register %rbx? Fill in the missing expressions in the C code shown above. Hint: "unknown 31" returns 0 while "unknown -31" returns 4.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Processing Fundamentals, Design, and Implementation

Authors: David M. Kroenke, David J. Auer

14th edition

133876705, 9781292107639, 1292107634, 978-0133876703

More Books

Students also viewed these Databases questions