# C Programming And Assembly Language Assignment 2 Answers

NPTEL C Programming And Assembly Language Assignment 2 Answers 2022:- Hello students in this article we are going to share NPTEL C Programming And Assembly Language Assignment week 2 answers. All the Answers are provided below to help the students as a reference, You must submit your assignment with your own knowledge.

## NPTEL C Programming And Assembly Language Assignment 2 Answers 2022

1. What expression will the register EAX bear immediately after the execution of statement 11?

a. EAX =((a&b)|x) ⊕ (x&y)
b. EAX = (a|b|x) ⊕ (x&y)
c. EAX = (a|b|x)&(x&y)
d. EAX = (a|b|x) ⊕ (x|y)

`Answer:- a`

2. What value will the register EAX bear immediately after the execution of statement 11?

`Answer:- 7`

3. If statement 11 was changed to MUL EBX, what value will the register EDX bear immediately after the execution of statement 11?

`Answer:- 0`

4. What is the value in AX when the program reaches statement 14?

`Answer:- 8`

5. If the instructions were executing on a 16-bit processor, what is the largest value one can assign to N in statement 3 such that the program reaches statement 14 without an overflow of the accumulator in statement 9?

`Answer:- 23`

6. Let the answer to question 5 be k. If we replace N = 5(in statement 3) by N = k, what is the value in AX when the program reaches statement 14?

`Answer:- 46368`

7. Which of the following C statements do not get compiled to assembly statements when compiled for maximum optimizations?

a. statement 4
b. statement 5
c. statement 6
d. statement 7
e. statement 8
f. None of the above

`Answer:- a, c, d`

8. If statement 9 was changed to return q, then which of the following C statements do not get compiled to assembly statements when compiled for maximum optimizations?

a. statement 4
b. statement 5
c. statement 6
d. statement 7
e. statement 8
f. None of the above

`Answer:- a, b, c, d, e`

9. If statement 9 was retained as return and statement 6 was changed to s = a, then which of the following C statements do not get compiled to assembly statements when compiled for maximum optimizations?

a. statement 4
b. statement 5
c. statement 6
d. statement 7
e. statement 8
f. None of the above

`Answer:- For Answer Click Here`

10. After the execution of the following code snippet, what is the value by which the pointer variables pB and pA are incremented respectively?

`Answer:- e`

11. Which of the following is the purpose of the assembly statement 3?

`Answer:- c`

12. Which of the following assembly statement(s) implement the functionality of the C statement 4?

`Answer:- c, d`

13. Statement 9 in the C code maps to assembly statement __________

`Answer:- For Answer Click Here`

14. If statement 1 of the C code is changed to int arrlenfn(short int *pA), then which of the following will statement 10 of the compiled assembly code change to?

`Answer:- a`

15. If arrlenfn is called from main, as shown below, what value will be printed?

`Answer:- 3`

16. Mark the valid option/s that will be printed once the above C program is executed.

`Answer:- a`

17. What is the value in the C variables ‘a’ and ‘b’ after statement 6 executes? (Assume that the main() function is executed first and control has been transferred to the function swap(int *x, int *y))

`Answer:- b`

18. What is the value in the C variables a and b after statement 7 executes? (Assume that the main() function is executed first and control has been transferred to the function swap(int ∗x, int ∗y))

`Answer:- c`

19. Mark the valid option/s that will be printed once the above C program is executed.

`Answer:- a`

## What is C Programming and Assembly Language?

Students who complete their bachelors degree (BE/ BTech) in computer science or electrical engineering do extensive course work in Microprocessors and then in C programming. However, what is missing in the current curriculum is to explicitly establish the link between the two. Specifically we look at how a C program is translated to assembly language and how it eventually gets executed on a microprocessor. Through, animations we show what happens in the stack, data and code segment, of the microprocessor when a C program is executed.

COURSE LAYOUT

• WEEK 1: Introduction to Microprocessors and Assembly language
Programming Microprocessor Architecture
Machine Language Execution sequence in a MuP
Memory in a microprocessor Instruction Set ADDRESSING SCHEMES MOV ARITHMETIC AND LOGICAL INSTRUCTIONS FLAG REGISTER STACK INSTRUCTIONS CALL and RET HARDWARE LOOPS
• WEEK 2: Introduction to C and Inline Assembly Data types and their sizes Simple examples of Inline assembly ALU operations String length Multiplication using repeated addition Swap two variables in C Swap two variables in inline Assembly Function to swap two variable in C Inline code to swap the two variables using a function
• WEEK3: Compiling C to Assembly Language Compiling a simple program to Assembly – first order Passing parameters Prologue Epilogue Local variables
• WEEK4: C++ and Some special Functions C and C++ at assembly language level Recursion vs Loops with factorial as example Special functions memcpy strlen

CRITERIA TO GET A CERTIFICATE

Average assignment score = 25% of average of best 3 assignments out of the total 4 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.