X
X
X

X
Swayam Central

C Programming and Assembly Language

By Prof. Janakiraman   |   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: 7586

SUMMARY

Course Status : Upcoming
Course Type : Elective
Duration : 4 weeks
Start Date : 20 Jul 2020
End Date : 14 Aug 2020
Exam Date : 27 Sep 2020
Enrollment Ends : 27 Jul 2020
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

    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: 27 September 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.

    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 will not be dispatched.

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

    - NPTEL team

    DOWNLOAD APP

    FOLLOW US