Week 10 Learning Log

Week 10 Learning Log

July 27, 2025

Lab: CALAS, City University of Hong Kong
Week of: July 21–27, 2025


Weekly Goals

1. Project Understanding

Goal: Solidify knowledge of RISC-V assembly programming fundamentals.
Actions Taken:

  • Studied RISC-V procedures, branching logic (jal, jalr), stack management, frame pointers, and loop implementation.

  • Analyzed decision-making patterns in branching (conditional jumps, loops) and memory allocation via stack frames.

Reflection: Clarified how high-level constructs (e.g., functions, loops) map to assembly instructions. Understand stack dynamics for nested procedures and variable storage.

2. Skill Development

Goal: Develop proficiency in RISC-V assembly coding and simulation tools.
Actions Taken:

  • Wrote basic RISC-V programs: arithmetic operations (add/sub/mul) and memory access (load/store).

  • Configured RARS (RISC-V Assembler and Runtime Simulator) for code testing and debugging.

Reflection: Gained hands-on experience translating logic to assembly. RARS setup successful; will expand to complex programs next week.

3. Progress Review

Goal: Assess foundational assembly skills and identify gaps.
Actions Taken:

  • Performed informal self-assessment during coding exercises to gauge proficiency.

  • Identified gaps through debugging challenges (e.g., stack management errors).

Reflection: Core operations mastered, but documentation and topic tracking still pending. Will prioritize formal gap analysis next week.


Daily Goals Summary

1. Task Prioritization

Used Notion/Obsidian to track 2–3 daily priorities:

  • Tue: Study stack frames and procedure calls.

  • Thu: Write/test arithmetic assembly code (add, mul).

  • Fri: Debug memory load/store errors in RARS.

2. Focused Learning

Dedicated 1.5 hours/day to:

  • RARS simulation workflows and register monitoring.

  • Branching logic deep dives (e.g., beq/bne vs. jal).

3. Documentation and Personal Reflection

  • Logged code outputs and RARS setup steps in Obsidian.

  • Captured debugging insights in personal blog (e.g., stack pointer behavior).

4. Mentor Interaction

  • Brief sync to validate assembly approaches and RARS configuration.

  • Discussed real-world use cases for stack-based memory allocation.


Reflections

  • Initiative: Created reusable assembly templates for arithmetic operations.

  • Curiosity: Explored branch penalty reduction strategies during loop coding.

  • Next Steps:

    1. Formalize documentation of code snippets and gap-tracking checklist.

    2. Write advanced programs (recursive functions, nested loops).

    3. Deepen stack management skills for multi-procedure workflows.