Question
CSE 230 Project 4: Pardon the Interruption Learning Objectives: _Implement an interrupt service routine in a program containing existing functionality The Task In this project,
CSE 230 Project 4: Pardon the Interruption
Learning Objectives:
_Implement an interrupt service routine in a program containing existing functionality
The Task
In this project, you will be adding an interrupt service routine (ISR) to an existing program. The program is already fully functional hexadecimal counter that shows the current counter value on the seven-segment display. You will use the timer to generate an interrupt every x cycles (where x can be between 100 and 200 cycles). Your ISR needs to do the following things:
1. Toggle all eight LEDs (i.e. if they are all off, they should all be turned on and if they are already on, turn them off)
2. Perform any tasks necessary to allow another timer interrupt within 100 to 200 cycles
No changes should be made to the existing main loop or sseg_display.asm. Code should only be added following the TODO comments.
Skeleton File to work with below:
.org 0x10000000
li $sp, 0x10fffffc # Stack pointer initialization
li $s0, sseg_lut# Lookup table address used by sseg_display
lui $s1, 0xf070# Interrupt controller register
lui $s2, 0xf0a0# Seven segment display
# ****************************
# TODO: enable interrupts below
# ****************************
# NOTE: Do not add or modify any code within this main loop
main:
jal sseg_display
nop
addiu $a0, $a0, 1
j main
nop
# ****************************************
# TODO: add interrupt service routine below
# ****************************************
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started