Wilfrid Laurier University Faculty of Science May 1, 2013
Canadian Excellence

CP216: Microprocessor I

About this course ...
Faculty of Science General Regulations [pdf]

© 2002-2013 Nora Znotinas, Wilfrid Laurier University

 

grades 2013

 

 

Programming Language

Target System - Handheld Running PalmOS®

dragon ball image
Target Hardware - DragonBall™
[Freescale Semiconductor formerly Motorola, Inc.]
Week of ... Lectures, Readings, and Documentation Deliverables: Assignments, Labs, and Quizzes
January 07 Assignment 0 - do NOT hand in
-> Representation of Numbers [ Solutions ]

EASy68K Development Environment:

  • we will be running EASy68K V5.12.0 (editor); 5.12.5 (simulator)
    [ SetupEASy68K.exe   - executable with installer; version in labs]
  • EASy68K Editor / Assembler / Simulator [C. Kelly, Monroe County Community College; distributed under the GNU General Public Use License]

Matching Games: [© Nick Reeder, Sinclair Community College]

Cisco Binary Game: here [© 1992-2011 Cisco Systems Inc.]

Binary Blitz: here [Jerry Wolski]

Lab - EASy68K Editor, Assembler and Simulator



January 14 Assignment 1 - due Friday January 18 9am
-> Operation and data length

Lab - Debugging Assembly Language Programs



January 21
Assignment 2 - due Friday January 25 9am
-> Simple programs

Lab - Breakpoints

Quiz - given a simple program listing {move, and, or, eor, add, sub} and the corresponding memory dump: locate data in the memory dump, determine the result/output of any line of code, express results in binary, hexadecimal or decimal [ sample1 , sample2 - indicative of current online format ]



January 28 Assignment 3 - due Friday February 01 9am EMAIL to David
-> Decision Structures, Loops, and Hardware Devices

Lab - Input / Output

Quiz - given a data area containing DC/DS directives indicate how the data is stored in memory [ sample1 , sample2 ]
Note: BRING YOUR ASCII TABLE TO THE LAB
- you will be provided with a blank memory map as in the sample2 quiz.
- indicate memory locations reserved but not initialized with "--"
- indicate memory locations skipped to align word or longword data with an empty cell



February 04 Assignment 4 - due Friday February 08 9am   
-> I/O, Decisions, and Loops

Lab - File Handling ** Either on your own (email task to David by end of Monday) or come to a lab on Monday morning.




February 11 Assignment 5 - due Friday February 15 9am
-> File I/O [sample output to question 3 corrected, Feb13:
one of the test files for question 2 was bad, uploaded correct file, Feb 13 ]

Lab - BCD and Extended Precision

Quiz - given a series of assembly language instructions {move, and, or, eor, add, sub}, determine the output and the value of the condition codes [ sample1 , sample2 ; we will use the format shown in sample2]




February 18 READING WEEK  



February 25 Assignment 6 - due Friday March 01 9am
-> BCD and Extended Precision Arithmetic

Lab - Pixel Level Images and Screen Buffers

Quiz - conditional branches, instructions such as CMP, TST, Bcc, DBcc [ sample 1 , sample 2 - you will see a combination of the two samples; some additional questions to think about]

 




March 04

March 8th is last day to drop course.
Assignment 7 - due Friday March 08 9am
-> Pixel Level Graphics and Subroutines
[ modified push button action on question 3, March 3;
corrected example in question 1, March 5 ]


Lab - Pixel Level Images and Look-Up Tables

Quiz - looping [ sample1 , sample2 ]



March 11

Assignment 8 - due Friday March 15 9am
-> Passing Parameters and Look-Up Tables

Lab - Calling C Routines

Quiz - arithmetic [ sample1 , sample2 , sample3 ]




March 18 Assignment 9 - due Friday March 22 9am
-> Using Stack Frames and the C Calling Convention

Lab - Interrupts

Quiz - Palm API, stack [ sample1 , sample2 ]




March 25 Assignment 10 - due Monday April 1 9am
-> Interrupts

  • 68000 TRICKS AND TRAPS - Some assembly language programming guidelines   [BYTE magazine, September 1986 by Mike Morton]
    - lots of code examples which you should now be able to understand; some not immediately obvious
    - tricks can teach you a lot and test the depth of your understanding; however, if time or space are not critical, readable code (i.e. obvious) is better as the person maintaining your code may not be as strong a programmer as you
  • Advanced Coding Techniques - some additional coding examples; you should be able to read this code

No lab -- No quiz [ Good Friday - University Holiday ]




April 01 Assignment 11 - due Monday April 8 11pm
-> Recursion Plus

Lab - Machine Code and Instruction Timing

No quiz




     
April 11-30

The final exam is 2.5 hours long. The exam is open book and you may bring in any print material (notes, labs, assignments, reference materials, texts) that you want. Electronic devices such as calculators, cell phones, PDAs, devices running the PalmOS, and laptops are not allowed.

At minimum, you should bring the following reference material to the exam:

If a Palm API routine is required in the exam, the appropriate pages from the Palm API reference manual will be provided with the exam.

The exam will have two parts:

  1. short answer questions to be answered in the space provided on the exam
  2. two or three programming questions to be answered in the exam booklet


FINAL EXAM:   CP216 Saturday, April 27, 2013 7:00 PM
in SBE1220

  • Course Recap
  • Sample exam: Winter 2005 final [pdf]
  • Sample exam: annotated version with marking scheme so you know how I mark programming questions on exams.
    Note: The sample exam indicates level of difficulty and format. The exam content is always unique.
  • Sample exam from similar but not identical course
    University of Dublin - note, I'm not a big fan of "explain" questions unless there is a specific example that must be analyzed
     

© 2002-2013 Nora Znotinas, Wilfrid Laurier University