Exam 1

Addendum used in Exam1:  Addendum1 Topics include
Memory access
  - Read/write to global RAM space
  - 8/16/32 bits
  - Signed and unsigned
Registers and stack
  - Temporary variables in registers
  - Use Stack to save(PUSH) and restore(POP)
Arithmetic operations (both C and assembly)
  - ADDS SUBS MULS   - You will not be tested on overflow/underflow
Shift operations (both C and assembly)
  - Shifting fixed or a variable number of times
Logical operations (both C and assembly)
Control structures (both C and assembly)
  - if-then
  - if-then-else
  - while
  - do-while
  - for-loop
Functions (both C and assembly)
  - AAPCS, parameter passing
  - Prototype/Declaration, Implementation/Definition
  - Input parameters with R0,R1,R2...
  - Output parameter with R0
  - Return with BX LR
  - Call functions with BL
  - Functions that invoke other functions need to save LR
Arrays (both C and assembly)
  - Pointer/base to array passed by reference in R0
  - You will have the option to access with
    + Index, address is base+precision*index or
    + Pointer, Next pointer is pointer+precision
  - Size is either fixed/known or passed as a number in R1
  - 8/16/32-bit data, signed or unsigned

Exam1s prior to Fall 2023 have been converted to MSPM0G3507 we suggest you do old exams on your own, and then show your solution to a TA or professor for review.
  Exam1F17.docx  Exam1F17sol.docx 
  Exam1F18.docx  Exam1F18sol.doc 
  Exam1S19.docx  Exam1S19sol.docx 
  Exam1F19.docx  Exam1F19sol.docx 
  Exam1S20.docx  Exam1S20sol.docx 
  Exam1F22.docx  Exam1F22sol.docx 
  Exam1F23.pdf  Exam1F23sol.pdf 

Exam2 - Fall 2023 (30% assembly, 70% C)

Topics on Exam 2 30% assembly, 70% C
- Parameter-passing
- Pointers
- Arrays
- Strings
- Structs
- Linked structures
- Local variables in registers (assembly)

Topics Not on Exam 2
- FSMs
- I/O (GPIO, SPI, ST7735 LCD, DAC)
- SysTick
- Circuits
- Fixed-point
- Local variables on stack (assembly)
- More than 4 input parameters

Download many practice exams: Exam2_MSPM0_StudentVersions.zip
- Download the project, unzip
- Open CCS and import project
- Add your EID to Exam2CPart.c
- Run the system and read the specific instructions for your version
- Understand the questions
- Observe the inputs
- Understand the desired outputs
- Edit/build/debug MANY times for looking at grader

  Exam2_StringCompare Easy practice Exam 2 involving ASCII strings
  Exam2_CalculusSpring2013 Medium difficulty practice Exam 2 involving Math
  Exam2_Merge Medium difficulty practice Exam 2 involving ASCII strings
  Exam2_Unicode Practice Exam 2 involving 8 and 16-bit arrays
  Exam2_PermuteCombine Medium difficulty practice Exam 2 involving Math
  Exam2_Mode Practice Exam 2 involving arrays and structures
  Exam2_ManhattanDistance Exam 2 involving math and structures
  Exam2_EKGprocess Medium difficulty
  Exam2_HeartMonitor Medium difficulty
  Exam2_StringConversions Extremely hard, string to octal
  Exam2_CubeVolume, cube volume
  Exam2_ArrayOfStruct structures and arrays of structures in assembly
  Fall2017, mode Hard practice Exam 2 involving strings and pointers
  Fall2019, pill organizer, array of structs
  Spring2021, compute, array of struct
  Fall2021, overlapping trains
  Spring2022, struct within a struct
  Fall2022, assembly function calls another, string to decimal, struct
  Spring2023, CountandRemove, struct within a struct

Finals Spring 2024 (sorry only five solutions available)

  For a final exam study guide see Lec13.pptx
  FinalS15.pdf  Final exam from Spring 2015 converted to MSPM0
  FinalF15.pdf  Final exam from Fall 2015 converted to MSPM0
  FinalS16.pdf   FinalS16sol.pdf  Final exam from Spring 2016 converted to MSPM0
  FinalS17.pdf   FinalS17sol.pdf Final exam from Spring 2017 converted to MSPM0
  FinalF17.pdf  Final exam from Fall 2017 converted to MSPM0
  FinalF18.pdf  Final exam from Fall 2018 converted to MSPM0
  FinalS19.pdf  Final exam from Spring 2019 converted to MSPM0
  FinalF19.pdf   FinalF19sol.pdf  Final exam from Fall 2019 converted to MSPM0
  FinalF22.pdf    FinalF22sol.pdf  Final exam from Fall 2022 converted to MSPM0
  FinalF23.pdf    FinalF23sol.pdf  Final exam from Fall 2023
How to study: Try to solve problems by yourself using just the Final-Addendum.pdf. Focus on questions you find most difficult. Work in reverse cronological error (do most recent first). Look up any information you need to study. Show your answers to your professor or TA. Studying in groups can be effective. Be careful, however, not to look at solutions before you try to answer it yourself.

This web page made by Jonathan Valvano, updated December 4, 2023 Go to Home