Skip to content

CS 315-01 Lecture/Lab — Meeting Summary (Fall 2025)

  • Date: Sep 03, 2025
  • Time: 05:18 PM Pacific Time (US and Canada)
  • Meeting ID: 886 4953 2573

Quick Recap

  • Greg provided an overview of assembly language and the machine execution model.
  • He demonstrated how to use GDB to debug assembly and discussed how C code translates to assembly and then to machine code.
  • He emphasized prototypes, naming conventions, calling conventions (register usage), and stack discipline.
  • The session concluded with guidance on Git repository management, troubleshooting access to a test repository, and resolving formatting issues related to a task involving projections and spaces.

Next Steps

  • Students should complete the implementation of the “Mall 4” function in assembly.
  • Students should ensure GDB is properly configured and working.
  • Students should push completed code to their repositories.
  • Students should review GDB guides for future use.
  • Students with unresolved issues should attend office hours tomorrow.

Detailed Summary

Assembly Language and Machine Execution

  • Greg outlined the structure of assembly language:
  • Instruction format, operands, and registers
  • Labels and assembler directives
  • He reviewed system components:
  • CPU, memory, instruction storage and execution
  • He emphasized that understanding the machine model is essential for reasoning about programs at the assembly level.

GDB Assembly Debugging Overview

  • Greg demonstrated basic GDB usage for assembly:
  • Setting breakpoints, stepping through instructions, examining registers
  • He noted that machine code imposes strict instruction formats reflected in assembly.
  • Memory inspection in GDB will be covered in more detail later.
  • He intended to review the provided repository code structure, but the transcript ended before that explanation.

C-to-Assembly Translation

  • Greg described how C code becomes assembly and then machine code—ultimately, all code runs as machine code.
  • Key C/assembly interoperability points:
  • Function prototypes and naming conventions to avoid symbol conflicts
  • Argument passing in registers and return values
  • A single set of 32 registers (on the target architecture)
  • Using the stack to save/restore registers across function calls
  • He provided an example of implementing a C function in assembly.

GDB Setup and Workflow

  • Greg walked through configuring and using GDB:
  • Creating a .config.gdb directory
  • Setting breakpoints and stepping through code
  • Common GDB commands for assembly-level debugging
  • Students were instructed to:
  • Clone their lab repository
  • Set up GDB and run the auto-grader
  • Greg and June planned to verify GDB setup with students and run auto-graders to review results.

GDB Tutorial Walkthrough

  • Greg guided William through:
  • Verifying code correctness
  • Cloning the test repository
  • Setting breakpoints and stepping through assembly functions
  • He encouraged ongoing use of GDB guides and practicing core commands.

Git File Management and Debugging

  • Greg demonstrated Git best practices:
  • Keep repositories clean by removing build artifacts (e.g., object files, executables)
  • Useful commands: git status, git rm, git commit -a
  • Debugging reminders:
  • Use breakpoints strategically
  • Use the return command where appropriate to step out
  • He addressed a GitHub access issue and suggested a temporary workaround.

Test Repository Access Troubleshooting

  • The team investigated test repository access and configuration issues:
  • Email registration and repository visibility problems
  • Checking the test directory and using tab completion
  • The repository needed to be re-added; Greg advised avoiding the use of “dash 2 E” in the configuration.
  • Action items:
  • Create a test file
  • Configure GDB correctly in the lab environment

Task Formatting and Submission Troubleshooting

  • The group worked through formatting and submission issues for a task involving projections and spaces:
  • Verified the auto-grader configuration directory
  • Resolved a test directory error
  • Follow-up plan:
  • Students with questions or issues should attend office hours
  • Greg will review a presentation and ensure all slides are included

Resources

  • GDB guides and references (students are encouraged to read and practice)
  • Course repositories and auto-grader setup in the lab environment