Courses/Computer Science/CPSC 355.W2014/Assignments
Contents
- 1 A Note to Instructors
- 2 Submission Instructions
- 3 Assignment 1: Translating Between Number Systems
- 4 Assignment 2: Disassembly
- 5 Assignment 3: Writing Assembly Programs
- 6 Assignment 4: Making System Calls
- 7 Assignment 5: A Stack Reverser
- 8
Assignment 6: I/O on SPARC - 9 Project: Writing an Assembler for the 8088
A Note to Instructors
I hate having to write this kind of note due to a few bad apples. The material here is available (as it says at the bottom of the wiki page) under a Creative Commons Attribution/Share-Alike License. This includes the linked homework assignment descriptions (strictly speaking, the HW assignments are under an even more restrictive copyright, but with this declaration, I am hereby making them available under CCASA). This kind of license means you have certain responsibilities if you want to use this material in your course. Please abide by them. I'm happy to share content publicly (which is the whole reason this material is on the UofC wiki in the first place).
Submission Instructions
http://pages.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/SUBMIT-HOWTO
Assignment 1: Translating Between Number Systems
Released: 13 January 2014
Due: 27 January 2014, 11:59pm MST
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw1-cpsc355-w2014.txt
Assignment 2: Disassembly
Released: 13 Jan 2014
Due: 6 Feb 2014, 11:59pm MST (updated, was 3 Feb)
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw2-cpsc355-w2014.txt
Assignment 3: Writing Assembly Programs
Released: 13 Jan 2014
Due: 17 February 2014 19 February 1014
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw3-cpsc355-w2014.txt
Assignment 4: Making System Calls
Released: 13 January 2014
Due: 3 March 2014, 11:59pm MST
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw4-cpsc355-w2014.txt
Assignment 5: A Stack Reverser
Released: 13 January 2014
Due: 26 March (was 24 March)
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw5-cpsc355-w2014.txt
Assignment 6: I/O on SPARC
Released: 13 January 2014
Due: 7 April
Link: http://www.cpsc.ucalgary.ca/~locasto/teaching/2014/CPSC355/hw/hw6-cpsc355-w2014.txt
Project: Writing an Assembler for the 8088
Project Specification: see post in Piazza. Project specification posted on 13 February 2014 at 5:15pm.
- Milestone 1 (Test Suite) Due: 7 March
- Milestone 2 ("D" Level Code) Due: 2 April (was 31 March)
- Milestone 3 (Demo and submission Due: 7..14 April
Resources
- Writing 16-bit x86 code for DOS with NASM: http://www.nasm.us/doc/nasmdoc8.html
- DOSBox: http://sourceforge.net/projects/dosbox/
- FreeDOS http://www.freedos.org/
- http://core.ecu.edu/csci/wirthj/Assembly8088/upg8088.html
- http://en.wikipedia.org/wiki/MS-DOS_API
- http://spike.scu.edu.au/~barry/interrupts.html
- http://msdn.microsoft.com/en-us/library/aa984837%28v=vs.71%29.aspx