C Programming and Assembly Language

By Prof. Janakiraman   |   IIT Madras
Learners enrolled: 20870
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. INTENDED AUDIENCE: Any Interested Learners PRE-REQUISITES:Students are expected to have done a course on C programming and Microprocessors INDUSTRY SUPPORT: Almost all software companies and many hardware companies
Course Status : Completed
Course Type : Elective
Duration : 4 weeks
Category :
  • Computer Science and Engineering
Credit Points : 1
Level : Undergraduate
Start Date : 14 Sep 2020
End Date : 09 Oct 2020
Enrollment Ends : 25 Sep 2020
Exam Date : 18 Dec 2020 IST

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.

Page Visits

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

Books and references

“The C Programming Language” by BRIAN W. KERNIGHAN and DENNIS M. RITCHIE, Second Edition
“The INTEL Microprocessors – Architecture, Programming and Interfacing”, by Barry B. Brey 8th Edition

Instructor bio

Prof. Janakiraman

IIT Madras
Prof. Janakiraman Viraraghavan is an Assistant Professor at the Department of Electrical Engineering, IIT Madras and is part of the Integrated Circuits and Systems (iCS) group. His research interests include porting machine-learning algorithms on to hardware and statistical analysis in VLSI. He also has a keen interest in Microprocessors and Programming in general.

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 18 December 2020 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.


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.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Madras .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team

MHRD logo Swayam logo


Goto google play store