CO Lab Manual
Course Page
  • Course Information
    • Welcome
    • Introduction
    • Your Contributions
    • Lab Sessions and Etiquette
    • Team Setup
    • Assumed Prior Knowledge
  • Setup Guides
    • GitHub Repository Setup
    • Technical Setup
      • Windows
      • Linux
      • macOS
    • GitHub SSH Setup
    • Framework Setup
  • Reference Documentation
    • Introduction to the Documentation
    • A Brief History Lesson
    • Syntax (Intel vs. AT&T)
      • Section Exercises
    • Memory
      • Memory Management
      • Section Exercises
    • Registers
      • Section Exercises
    • Instructions
    • Subroutines
      • Calling Subroutines
      • Writing Subroutines
      • Section Exercises
    • Input/Output
      • Printing to the Terminal
      • Reading from the Terminal
      • Section Exercises
    • Programming Constructs
    • Assembler Directives
    • C/C++ vs Assembly
    • Building and Running Programs
    • Address Sanitization
    • A0: A Running Example
  • Assignments
    • Introduction to the Assignments
    • Mandatory Assignments
      • A1: Subroutines and I/O
      • A2: Recursion
    • Extra Assignments
      • A3-a: Fibonacci Calculator
      • A3-b: Fibonacci REPL
      • A4: Diff
      • A5: Printf
      • A6: HPC
      • A7: Bitmap
      • A8: Game
  • Appendix
    • Acknowledgments
    • Rules and Regulations
    • Frequently Asked Questions
    • How to use a Debugger
Powered by GitBook
On this page
  1. Reference Documentation

Introduction to the Documentation

It is likely that you do not yet have a very clear image in your mind as to what goes on inside of your computer when it is executing a program. This Lab should remedy this situation to a certain degree. To start, this part of the Manual will introduce or reiterate some essential concepts; this should eliminate any romantic preconceptions you may have regarding assembly languages, machine language, and higher-level programming languages. Much of this should of course already be known to you from following the lectures and reading material, so consider these pages as a gentle refresher...

In the (extremely unlikely) case that you have not followed the lectures or the reading material yet, it is important to mention that this Manual is not a full substitute in any way. Most explanations are kept to a concise summary of the full explanations found in the other material, leaving out background information (which may be part of your exam).

For those who are up-to-date with the other material, this reference documentation should serve as a useful handbook for solving the assignments.

PreviousFramework SetupNextA Brief History Lesson

Last updated 4 months ago