Question: 5. Write assembly functions that implement the following C functions: a. uint32_t add32(uint32_t x, uint32_t y) // returns (x+y)%(2^32); any carry out is lost b.

5. Write assembly functions that implement the following C functions: a. uint32_t add32(uint32_t x, uint32_t y) // returns (x+y)%(2^32); any carry out is lost b. uint64_t add32_64(uint32_t x, uint32_y) // returns x+y; sum contains any carry c. uint64_t add64(uint64_t x, uint64_t y) // returns (x+y)%(2^64) d. uint32_t shiftLeftU32 (uint32_t x, uint32_p) // returns x << p = x*2^p for p = 0..31 e. uint32_t shiftU32(uint32_t x, int32_p) // return x*2^p for p = -31..31 f. int32_t shiftLeftS32 (int32_t x, uint32_p) // returns x << p = x*2^p for p = 0..31 g. int32_t shiftS32(int32_t x, int32_p) // return x*2^p for p = -31..31

For each of these programs, submit a file named hw2_4x.s where x is a, b, c, d, e, f, g, h, I, j, k, or l. Each file must include assembler directives so that it can be assembled with the following command as o hw2_4x_s.o hw2_4x.s with the function being callable from a C program.

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!