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. |