CSCI 231-01
Assembly Language Programming (for Intel processors)
Fall, 2008
Instructor: Dennis Higgins
Text Assembly Language for Intel-based Computers, Kip Irvine, Prentice Hall 5th Ed
Web tutorials
About the text examples and software
Other links
Phone: X3552
Office: F239
Syllabus
class meetings:

Office Hours: 8-8:30am T/R; 11:15-noon; T/R 10-11am MW
Prerequisites: CSCI 116 and CSCI 201 or permission.
finals schedule



Grading policy:
Your grade will be computed as 60% projects + 30% exam(s) and quizzes + 10% participation
There will be 2- 100 point exams (midterms), no final exam.  You will have a final project in lieu of an exam.
Exam dates for Fall 2006 are:   Tuesday Oct 7th, 2008 and Tuesday, Nov 11th, 2008

Catalog description:
Introduction to computer structure and machine language coding.  Assembly level programming on a specific computer.  Topics include: data representation, addressing techniques, macros, file I/O, program segmentation and linkage, assembler construction.

Course goals/objectives:

Successful students in this course will be capable 8086 Macro-Assembly language programmers at the end of the semester. Students will learn the registers, some architecture and memory management, segmentation, the 8086 instruction set, macro-writing, procedures, include files, assembly modules callable from C and C functions callable from assembly, DOS and BIOS interrupts, device drivers, text and med/high resolution graphics.

Format:

This is principally a programming course in assembly language. Students will write 6 to 8 assembly language projects exploring the speed, power and flexibility of a macro-assembly language. There are no make-up quizzes or exams.  There is no final exam.  As always, (except for project 1 in this class) projects are individual effort, not team effort.  See me if you need help.

The course text contains a CD with Textpad (an edit environment for java, C++, assembly...) and the Microsoft Assembler.  This software is also available in F200 lab.    Excepting final project, your program submissions will typically be posted (listing and screen-shot) on your homepage.  In some instances, I may request hardcopy or ask to see the run.

 Evidence of program copying will be referred to the appropriate administrative office. You will always be given a week or longer (ie., plenty of time) to complete a project.  Lab closures, broken printers, etc., will not be accepted as excuses for failure to submit work. Programs will receive a 1-point deduction for each school day late, up to 5 days, after which they receive no credit. Plan to start working on programs as soon as they are assigned. NOTE:  My assistance on a given program will be provided up to due date, not after. More remarks on programs will be made as they are assigned.

 You will be called on in class and are expected to be able to answer questions on general knowledge or previously covered material. Other remarks: All college policies regarding class attendance, comportment, and academic honesty apply. I will not give an incomplete except for catastrophic illness or calamity. You must be passing the course to get an incomplete.

Your text comes with a MSN VC++ cd.  Text resources and notes at:

http://kipirvine.com/asm/

 

The  MSN site for the assembler which is also linked from the text is at: http://www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en  (The website explains how to run assembly from the VC++ environment.  It isn’t hard to do – you just need to make sure the assembler has been downloaded and to add some tools to the interface.)

 

It may not be sufficient for this course to use VC++/Masm as per current text edition and so I recommend you get hold of the 4th edition text CD material which contained Textpad, the assembler, a library, and some handy batch & executable files.  I have the CD and it is also located somewhere in the Fitz and general campus labs.  (I am trying to find out where.)

 

Assembly examples, sample tests, and projects page