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

UNSW Computing 1 - The Art of Programming
OpenLearning
C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera
Beginning Game Programming with C#
University of Colorado System via Coursera
Introduction to Computing 计算概论A
Peking University via Coursera
Comprendre les Microcontroleurs
École Polytechnique Fédérale de Lausanne via Coursera