CSC 174 - Computer Organization and Assembly Language

Dr. R. M. Siegfried

Science 407      (516)877-4482

Office Hours - MWF 10:00-10:50AM; Tu 10AM-12Noon; F 12-1PM

Course Home Page | Announcements | Syllabus | Class Notes | Assignments

The syllabus is also available in PDF format.

Course Description and Purpose

Learn how the programming concepts of CSC 171 and 172, especially data types and basic control constructs, are represented and implemented at a machine-language level. Write working code in a symbolic assembly language

Gen Ed Learning Goals and Distribution Requirements

Course Learning Goals

Students will understand the organization of the Intel processors, be able to work in binary and hexadecimal number bases, and be able to write basic programs in Intel Assembly Language.


CSC 172


Assembly Language for x86 Processors , 7th edition, by Kip R. Irvine, Prentice Hall, 2015.



The assignments this semester will require students to use a text editor (such as Notepad) to create Intel Assembly language program and to run them on Windows-based computers using Microsoft Macroassembler version 6.15 or later. This requires the installation of Microsoft Macroassembler on their personal computers or on their flash drives.

While there will be opportunities to use class time for assigned work, this will be mainly limited to debugging and other assistance that students require in class. One should expect to spend 4-6 hours outside class working on programming assignments for this class.


Each programming assignment will be graded with a base grade of 90%, with points added to reflected areas in which the assignment exceeded specified requirements and/or points deducted to show areas where the assignment is deficient.

Late penalties may be assessed of 2 points per class after the due date.

The final average will be weighted (based on the following ratio:

Programming Assignments 25%
Quizzes 25%
Midterm Exam 25%
Final Exam 25%

The final average will translate to a letter grade according to the following table:
Final Average Course Grade
A 90 - 100
A- 87.5 - 89.9
B+ 83.3 - 87.4
B 80.0 - 83.2
B- 77.5 - 79.9
C+ 73.3 - 77.4
C 70.0 - 73.2
C- 67.5 - 69.9
D+ 63.3 - 67.4
D 60.0 - 63.2
F 0.0 - 59.9


The following is the Adelphi University General Attendance Policy:

Only students who are registered for courses, and whose name appears on the Official Class Roster may attend courses at the University. Adelphi students make a commitment to be active participants in their educational program; class attendance is an integral part of this commitment. Attendance requirements for each course will be announced by the faculty member at the beginning of each term. Students are expected to be present promptly at the beginning of each class period, unless prevented by illness or by other compelling cause. In the event of such absence, students may request that faculty members be notified by the Office of Academic Services and Retention. Students are responsible for completing course work missed through absences. Students should wait a reasonable length of time for an instructor in the event that the instructor is delayed.

Additionally, you are also responsible for whatever work is covered in class whether or not you are there. Absence from the final exam will be excused only for a good and well-documented reason. The decision to allow a make-up exam will be made in accordance with the policies of Adelphi University.

NB: I will not be available on Friday, April 29.

If the University is closed for more than two days due to an emergency, go the home page for this course site each day for instructions and assignments. Student instructions materials can be found at

Tentative Schedule (Subject to Change)
Date Topic Assignment due
January 27 Basic Concepts
February 1 Basic Concepts; x86 Processor Architecture
February 3 x86 Processor Architecture Assn 1 - p.19-21/3, 11, 13, 17, 21; p. 26/6, 7
February 8 Assembly Language Fundamentals Assn 2 - p.47/4, 5
February 10 Assembly Language Fundamentals
February 15 Assembly Language Fundamentals Assn 3 - A program that adds and subtracts 32-bit numbers
February 17 Assembly Language Fundamentals Assn 4 - Adding 4 32-Bit Integer Variables
February 22 Quiz #1
February 24 Data Transfers, Addressing and Arithmetic Assn 5 . Calculating an Expression
February 29 Data Transfers, Addressing and Arithmetic Assn 6 . Calculating a discriminant
March 2 Data Transfers, Addressing and Arithmetic Assn 7 . Calculating the average of four numbers
March 7 Review for Midterm Exam
March 9 Midterm Exam Assn 8 - Working With arrays and indirect operands
March 21 Procedures
March 23 Procedures Assn 9 - Writing the time
March 28 Procedures
March 30 Procedures Assn 10 . Writing a procedure to write the time
April 4 Conditional Processing Assignment #11 - Calculating the average of an array of n numbers
April 6 Conditional Processing
April 11 Conditional Processing Assn 12 . Using procedures
April 13 Integer Arithmetic
April 18 Integer Arithmetic Assn 13 - Finding the sum of the absolute values
April 20 Quiz #2
April 25 Strings and Arrays Assn 14 - A time-appropriate greeting
April 27 Strings and Arrays
May 2 Floating Point Arithmetic Assn 15 - Formatting the time
May 4 Floating Point Arithmetic
May 9 Review for the Final Exam Assn 16 . Find the first 10 prime numbers
May 16 Final Exam (3:30-5:30 PM)

Students With Disabilities

If you have a disability that may impact your ability to carry out assigned course work, and are not enrolled in the Learning Disabilities Program, it is important that you contact the staff in the Disability Support Services Office (DSS), University Center, Room 310, (516) 877-3145. DSS will review your concerns and determine, with you, appropriate and necessary accommodations. All information and documentation of disability is confidential.

Honor Code

Students enrolled in this course are expected to abide by the Adelphi University Honor Code. The purpose of the Honor Code is to protect the academic integrity of the University by encouraging consistent ethical behavior in assigned coursework by students. Following is excerpted from the Student Honor Code:

The code of academic honesty prohibits behavior, which can broadly be described as lying, cheating, or stealing. Violations of the code of academic honesty will include, but are not limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas prohibited by the professor
  3. Unauthorized multiple submission of work
  4. Sabotage of others' work, including library vandalism or manipulation
  5. Plagiarism: presenting any work as one's own that is not one's own
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating on examinations through the use of written materials or giving or receiving help in any form during the exam, including talking, signals, electronic devices, etc.

Student Course Evaluations

During the last two weeks of the class, you will receive notification, via mail and eCampus, that the course evaluation is available for your input electronically. Availability will end at the start of the final examination period. Your feedback is valuable and I encourage you to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after the end of the semester and therefore after course grades have been submitted.

Tear off this and return with information required below:



SIGNED: __________________________________________

PRINT NAME: _________________________________________

DATE: ___________________________

Warning ? This page must be signed and returned to the instructor to receive a complete grade in this course.