Lecture 0: CS61C Review

This entire lecture is optional and won’t be tested directly on exams, but you may find it useful for Project 1. You can use the sanity check questions to determine which section(s) you want to review.

Number Representation

How many bytes are represented by `0x36`? Why?

C Memory

The compiler, assembler, linker, and loader are used to execute a C program. Which one is responsible for converting assembly code into machine code?

From lowest address to highest address, what are the four sections of C memory? What is each section used for? Which section grows up during program execution? Which section grows down during program execution?

Little-endian Words

Stack Analogy

Stack Design

In x86, what are the registers ebp, esp, and eip responsible for? What do we mean when we say these registers contain pointers?

Function Call

Function Call in x86 Assembly

You can find the complete set of function call slides here.