CSCI 231-01 Fall, 2012  CRN 776
Assembly Language Programming (for Intel processors)
Instructor: Dennis Higgins

Email: HigginDM@Oneonta.edu     
Text Assembly Language for Intel-based Computers, Kip Irvine, Prentice Hall 6th Ed
Web tutorials
About the text examples and software (powerpoint)

Running 16-bit assembly using DOSBox

Older link: Text software/Running assembly language (html)

Running assembly programs as Visual Studio projects
Other links
Phone: X3552
Office: Lee Hall Room 12
This page serves as syllabus for the course

Meeting time/place: MWF 9am PSci 128

Office Hours: MWF 8am-9am   

 Prerequisites: CSCI 116 and CSCI 201 or permission.
finals schedule



Grading policy:
Your grade will be computed as 50% regular projects + 50% exams/final proj
There will be 2- 100 point exams (midterms) on Sept 24th and Nov 23rd .  You will have a final project also worth 100 points in lieu of exam. Final exam period will be show-and-tell format for these projects.

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, DOS and BIOS interrupts, 87-numerical coprocessor, some graphics, mouse programming.

Outline – approximate order:

·       Background in radix notation (bases 2 and 16), unsigned and signed ints

·       Fetch/execution cycle

·       Runtime environment

·       Format of assembly program & running simple programs in DOS, Textpad and Visual Studio

·       Instruction set – intro… 16 and 32 bit programs

·       Instruction set – datatypes, control structures

·       More instruction set –arrays, procs

·       Structs

·       More instruction set – macros

·       DOS interrupts, ROM-BIOS

·       More instruction set – mouse

·       Numerical processor -87 instructions

·       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. As always, (except for project work we do together in class) projects are individual effort, not team effort.  See me if you need help. We will cover most of the text, in the order of material presented there omitting a few topics (interface of assembly to C++, windows programming) and inserting one or two (more graphics coverage).  See link below for project descriptions and due dates. 

Text resources and notes at: http://kipirvine.com/asm/  (see my links & resource notes above about running programs) 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 – I have notes and screenshots here.)  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 contains Textpad, the assembler, a library, and some handy batch & executable files.  I have the CD and it should also be located somewhere in the Lee Hall CS and general campus labs.  Excepting your 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.

Policies: Evidence of program copying will be referred to the appropriate administrative office. You will be given about 2 weeks to complete each 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. All college policies regarding class attendance, comportment, and academic honesty apply. I cannot give an incomplete except for catastrophic illness or calamity. You must be passing the course to get an incomplete.

Links to posted powerpoints with chapter notes and runs of text examples

Assembly examples, sample tests, and projects page

A subset of DOS and ROM BIOS interrupts with explanations

Video Game and graphics screen shots and source code

ADA (AMERICAN WITH DISABILITIES ACT) STATEMENT

Students Diagnosed with a Disability—All individuals who are diagnosed with a disability are protected under the Americans with Disabilities Act, and Section 504 of the Rehabilitation Act of 1973. As such, you may be entitled to certain accommodations within this class. If you are diagnosed with a disability, please make an appointment to meet with Student Disability Services (SDS), 209 Alumni Hall, ext. 2137. All students with the necessary supporting documentation will be provided appropriate accommodations as determined by the SDS Office.   It is entirely your responsibility to contact SDS and concurrently supply me with your accommodation plan, which will inform me exactly what accommodations you are entitled to. You will only receive accommodations once you provide me with an SDS accommodation plan.  Any previously recorded grades will not be changed.

EMERGENCY EVACUATION PROCEDURES

In the event of an emergency requiring evacuation from PSCI please evacuate to Chase Gym so that College officials can account for you. Please review the College's Emergency Evacuation Procedures and Shelter-in-Place Procedures at the following web link: http://www.oneonta.edu/security. All students are also encouraged to register for NY Alert for immediate notification of campus emergencies on or near the campus.