YoVDO

C Programming and Assembly Language

Offered By: Indian Institute of Technology Madras via Swayam

Tags

Computer Science Courses Programming Languages Courses C Programming Courses Assembly Language Courses

Course Description

Overview

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

Syllabus

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

Taught by

Prof. Janakiraman Viraraghavan

Tags

Related Courses

The Computing Technology Inside Your Smartphone
Cornell University via edX
Computer Architecture
Indian Institute of Technology Madras via Swayam
Computation Structures 2: Computer Architecture
Massachusetts Institute of Technology via edX
Product Design and Manufacturing
Indian Institute of Technology Kanpur via Swayam
Foundations to Computer Systems Design
Indian Institute of Technology Madras via Swayam