X
X
X

X
Swayam Central

C Programming and Assembly Language

By Prof. Janakiraman Viraraghavan   |   IIT Madras
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

Learners enrolled: 21295

SUMMARY

Course Status : Ongoing
Course Type : Elective
Duration : 4 weeks
Start Date : 29 Jul 2019
End Date : 23 Aug 2019
Exam Date : 29 Sep 2019
Category :
  • Computer Science and Engineering
  • Level : Undergraduate
    This is an AICTE approved FDP course

    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 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 centers.
    • The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
    • Date and Time of Exams:29th September 2019 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.

    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.
    • 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 are being discontinued from July 2019 semester and will not be dispatched.

    DOWNLOAD APP

    FOLLOW US