Skip to content

A collection of RISC-V Assembly assignments and a final project from a Computer Architecture course. Includes solutions for array processing, palindrome checking, factorial calculations, and a financial transaction simulator (CPULator) built entirely in assembly language.

Notifications You must be signed in to change notification settings

naforoutan/assembly-riscv-assignments-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

RISC-V Assembly Assignments & Project

This repository contains my solutions for the Computer Architecture course assignments and final project, all implemented in RISC-V Assembly language.

Repository Structure

├── assignments
│   ├── HW4.pdf
│   ├── five.s
│   ├── four.cpp
│   ├── four.s
│   ├── one.s
│   ├── three.s
│   └── two.s
└── project
    ├── CA-CPULatorProj.s
    ├── project.pdf
    └── report.pdf

Contents

Assignments (/assignments)

  • HW4: Practice exercises focusing on RISC-V instruction set architecture
  • Includes solutions for array processing, palindrome checking, factorial calculation, and more
  • All solutions written in pure RISC-V Assembly

Project (/project)

  • CPULator Project: A financial transaction simulator implemented in RISC-V Assembly
  • Tracks loans and debts between individuals with various query operations
  • Handles floating-point calculations and complex data structures in assembly

Technical Details

  • Language: RISC-V Assembly
  • Instruction Set: RV32I base integer instruction set
  • Focus: Low-level programming, memory management, and computer architecture concepts

Assignment Topics Covered

  • RISC-V instruction formats and types
  • Memory access operations (load/store)
  • Arithmetic and logical operations
  • Control flow (branches, jumps)
  • Function calls and stack management
  • Array processing and string manipulation
  • Recursive algorithms
  • System calls and I/O operations

Project Features

  • Financial transaction tracking system
  • Multiple query types (net worth, debt relationships)
  • Floating-point arithmetic handling
  • String processing and comparison
  • Efficient data structure management in assembly

How to Run

  1. Use a RISC-V simulator like RARS or CPUlator
  2. Load the desired .s file into the simulator
  3. Assemble and execute the program
  4. Provide input as required by each program

Course Information

  • Course: Computer Architecture
  • Instructor: Dr. Elham Cheshmi Khani
  • Semester: Spring 1403 (2024)
  • University: Shahid Beheshti University

About

A collection of RISC-V Assembly assignments and a final project from a Computer Architecture course. Includes solutions for array processing, palindrome checking, factorial calculations, and a financial transaction simulator (CPULator) built entirely in assembly language.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •