Question: In Section 3.6.6, we examined the following code as a candidate for the use of conditional data transfer: long cread(long *xp) { return (xp? *xp

In Section 3.6.6, we examined the following code as a candidate for the use of conditional data transfer: long cread(long *xp) { return (xp? *xp : 0) } We showed a trial implementation using a congitional move instruction but argued that it was not.valid, since it could attemnt to read from a null address. Write a C function cread_alt that has the same behavior as cread, except that it can be compiled to use conditional data transfer. When compiled, the generated code should use a conditional move instruction rather than one of the jump instructions.

How to solve this? Please let me know the correct answer and why.(simple answer peferred)

Can I do it with just a test of !=null or >0 and <0?

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!