Prob 10. using a pointer: int32_t x_cmp_y_load (int32_t x, int32_t y, int16_t *ptra, int32_t *ptrB) { if (x > y) { return (int32_t)*(++ptrA) = 2; } else { 1. Given the following C function for returning a 16-bit or 32-bit value return (ptrB++) / 2; x_cmp_y_load_s PROC CMP B.. cmp_else Rewrite the above C function in assembly with the following start code: ro, ri cmp_then

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Prob 10.
using a pointer:
Given the following C function for returning a 16-bit or 32-bit value
int32_t x_cmp_y_load (int32_t x, int32_t y, int16_t *ptrA, int32_t *ptrB) {
if (x > y) {
return (int32_t)*(++ptrA) * 2;
}
} else {
}
1.
return *(ptrB++) / 2;
x_cmp_y_load_s PROC
CMP
B..
cmp_else
cmp_then
cmp_end
Rewrite the above C function in assembly with the following start code:
cmp_then
cmp_else
BX
ENDP
where B.. should be replaced by the appropriate instruction and should be followed by an
assembly instruction. Note that we use the positive logic (the same logic as the C if test) to
have the else code block before the then code block. Write your code in the space provided
in the code.
2.
x_cmp_y_load_s PROC
CMP
B..
cmp_end
ro, ri
cmp_then
1r
Rewrite the above C function in assembly with the following start code:
BX
ENDP
ro, ri
cmp_else
lr
Note that we use the negative logic (the opposite logic of the Cif test) to have the else code
block following the then code block. Write your code in the space provided in the code.
Transcribed Image Text:Prob 10. using a pointer: Given the following C function for returning a 16-bit or 32-bit value int32_t x_cmp_y_load (int32_t x, int32_t y, int16_t *ptrA, int32_t *ptrB) { if (x > y) { return (int32_t)*(++ptrA) * 2; } } else { } 1. return *(ptrB++) / 2; x_cmp_y_load_s PROC CMP B.. cmp_else cmp_then cmp_end Rewrite the above C function in assembly with the following start code: cmp_then cmp_else BX ENDP where B.. should be replaced by the appropriate instruction and should be followed by an assembly instruction. Note that we use the positive logic (the same logic as the C if test) to have the else code block before the then code block. Write your code in the space provided in the code. 2. x_cmp_y_load_s PROC CMP B.. cmp_end ro, ri cmp_then 1r Rewrite the above C function in assembly with the following start code: BX ENDP ro, ri cmp_else lr Note that we use the negative logic (the opposite logic of the Cif test) to have the else code block following the then code block. Write your code in the space provided in the code.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY