CS-280 Lab 4: Adding Machine

Overview

You will design and implement an adding machine making use of the 16×2-character display and matrix keypad included with the Fox11 system. This is a 2-week assignment. You may work alone or in pairs and submit a group report. Demos are due at the beginning of the week 5 and 6 labs.

Lab activity

Design, code, assemble, link, download, and run an adding machine program.

Requirements - Mandatory

Meeting these requirements but none of the optional requirements will result in a maximum score of 85% on each demo.

Requirements - Optional

Meeting these requirements will result in additional points on the demos.

Suggestions

Connecting the keypad

The keypad will only work when connected to J6 (near the DIP switches) such that the keypad is facing up when it is bent away from the Fox11 board. There are 10 holes in the socket but 8 pins on K6—there is one unused pin on each side of the socket.

.include “keypad.s”

If you use .include “keypad.s” to access the keypad code from your main program, you should do so at the end of your .s file. Otherwise, the keypad code will be assembled before the _start of your program, so you would need to use an address different than 8400 (which could be found in the .rst file) to start your program.

Demonstrations

Your first of two demonstrations is due at the beginning of the week 5 lab and is worth 20% of the lab 4 grade. You must be able to enter an addend, demonstrate where it is stored in memory (in a single byte), and properly output it to the display. The ‘C’ key must clear the addend. Successfully meeting all the mandatory requirements related to the features for this demo will result in a demo 1 grade of 85%. Additional points will be given for meeting the relevant optional requirements.

Your second demonstration is due at the beginning of the week 6 lab and is worth 30% of the lab 4 grade. Successfully implementing all mandatory requirements will result in a demo 2 grade of 85%. Additional points will be given for meeting optional requirements, up to a maximum of 100% if all optional requirements are met.

Report (due by 11 PM on the day of the week 6 lab)