Course Syllabus for Assembly Language Programming - Spring 2008 | CPSC 3121, Exams of Programming Languages

Material Type: Exam; Professor: Bosworth; Class: Assembly Lang Programming 1; Subject: Computer Science; University: Columbus State University; Term: Spring 2009;

Typology: Exams

Pre 2010

Uploaded on 08/04/2009

koofers-user-ouw
koofers-user-ouw 🇺🇸

9 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CPSC3121 – Assembly Language Programming
Spring Semester 2008
Instructor
Dr. Edward L. Bosworth
Center for Commerce and Technology 443
(706) 565-4128 FAX: (706) 565 – 3529
website: http://csc.colstate.edu/bosworth/
Office Hours – Spring 2008
Monday 5:00 PM – 7:00 PM
Tuesday 10:00 AM – 11:00 AM
2:00 PM – 4:00 PM
Wednesday 9:30 AM – 11:30 AM
3:00 PM – 5:00 PM
Thursday 10:00 AM – 11:00 AM
Friday No office hours on Friday.
Class Meetings:
Monday & Wednesday 7:30 PM to 8:45 PM Room 407 CCT
Course Description from the Catalog
CPSC 3121. Assembly Language Programming 1 (3-0-3) Prerequisite: CPSC 2105 with a
grade of C or better. An introduction to assembly language for mainframes or PC's. Topics
include machine architecture (registers, memory, instruction formats), character data
processing, decimal arithmetic, binary arithmetic, subroutine and program linkage.
Course Prerequisites
The student is expected to have taken a course in Computer Organization. In particular, the
student is expected to be familiar with the following:
1. Standard numeric formats, including two’s–complement integer arithmetic.
2. Standard character formats, specifically ASCII and possibly EBCDIC.
3. Standard Boolean operators: NOT, AND, OR, and Exclusive OR.
4. One of the standard high–level programming languages, presumably Java or C++.
Textbook
Programming Assembler Language
IBM 370® Series Architecture and Assembly Language
Peter Abel
Third Edition, Prentice Hall (1989)
ISBN 0 – 13 – 728924 – 3 (On my copy)
This text is out of print. You may obtain a reprinted copy from the CSU Bookstore, or try
your luck at an on–line retailer.
Other Required Materials: None.
Page 1 of 4 pages CPSC3121 Last Revised on November 29, 2020
pf3
pf4

Partial preview of the text

Download Course Syllabus for Assembly Language Programming - Spring 2008 | CPSC 3121 and more Exams Programming Languages in PDF only on Docsity!

CPSC3121 – Assembly Language Programming

Spring Semester 2008

Instructor Dr. Edward L. Bosworth Center for Commerce and Technology 443 (706) 565-4128 FAX: (706) 565 – 3529 E-mail: [email protected] website: http://csc.colstate.edu/bosworth/ Office Hours – Spring 2008 Monday 5:00 PM – 7:00 PM Tuesday 10:00 AM – 11:00 AM 2:00 PM – 4:00 PM Wednesday 9:30 AM – 11:30 AM 3:00 PM – 5:00 PM Thursday 10:00 AM – 11:00 AM Friday No office hours on Friday. Class Meetings: Monday & Wednesday 7:30 PM to 8:45 PM Room 407 CCT Course Description from the Catalog CPSC 3121. Assembly Language Programming 1 (3-0-3) Prerequisite: CPSC 2105 with a grade of C or better. An introduction to assembly language for mainframes or PC's. Topics include machine architecture (registers, memory, instruction formats), character data processing, decimal arithmetic, binary arithmetic, subroutine and program linkage. Course Prerequisites The student is expected to have taken a course in Computer Organization. In particular, the student is expected to be familiar with the following:

  1. Standard numeric formats, including two’s–complement integer arithmetic.
  2. Standard character formats, specifically ASCII and possibly EBCDIC.
  3. Standard Boolean operators: NOT, AND, OR, and Exclusive OR.
  4. One of the standard high–level programming languages, presumably Java or C++. Textbook Programming Assembler Language IBM 370®^ Series Architecture and Assembly Language Peter Abel Third Edition, Prentice Hall (1989) ISBN 0 – 13 – 728924 – 3 (On my copy) This text is out of print. You may obtain a reprinted copy from the CSU Bookstore, or try your luck at an on–line retailer. Other Required Materials: None.

Course Objectives (Learning Outcomes) This course is not a traditional course in assembly language. While the student is expected to become somewhat proficient in IBM Mainframe Assembler by the end of the course, the focus will be on the understanding of 1) the ISA (Instruction Set Architecture) and

  1. the services provided by the run time system of a modern programming language. At the end of the course the student will be able to describe and explain the following:
  1. The binary representations used by IBM for character, integer, and floating–point data and how these differ from those used in more common computers.
  2. How to use zoned decimal and packed decimal data. How these differ from and extend standard two’s–complement arithmetic and standard floating–point formats. Conversions from any one of these formats to any of the other formats.
  3. The IBM view of data organization into fields, records and files. The assembler declaratives that support record definition.
  4. How to edit and assemble a program using the older–style tools associated with the IBM Mainframe environment.
  5. The basic functions of a two–pass Assembler in producing object code.
  6. The basic functions of a Link Editor in producing an executable module.
  7. The use of the DS and DC declaratives to define and initialize storage. Understand the importance of boundary alignment in the use of these declaratives.
  8. Addressing modes in the IBM 370, focusing on the use of base registers.
  9. How to write simple assembler programs that process character and decimal data. This will include producing and running a number of small assembler programs.
  10. How to link separately assembled programs and pass data among them.
  11. The basic design and uses of magnetic tape (obsolete) and disk storage.
  12. The basic data architecture of the ISAM and VSAM storage methods.
  13. The physical and data architecture of physical I/O and data channels. The remaining learning goals focus on building a modern run–time system on top of the services provided by the older–style assembly environment.
  14. How to represent and process variable–length strings.
  15. How to create and process static arrays with automatic bounds checking.
  16. How to create and process a singly linked list.
  17. How to create and use a stack to store data, addresses, or both.
  18. How to write a simple recursive function by explicit use of a stack.
  19. CPU hardware support for the Operating System.
  20. Virtual storage (virtual memory) as implemented on the IBM 370/

Other Course Policies

ADA Accommodation Notice If you have a documented disability as described by the Rehabilitation Act of 1973 (P.L. 933-112 Section 504) and the Americans with Disability Act (ADA) that may require you to need assistance attaining accessibility to instructional content to meet course requirements, we recommend that you contact the Center for Academic Support in Tucker Hall, room 100 or at (706)568-2330, as soon as possible. It is then your responsibility to contact and meet with the instructor. It is also your responsibility to present the instructor with a letter from the Center for Academic Support. Without this letter detailing the required accommodations, the instructor cannot help you. The Center for Academic Support can assist you and the instructor in formulating a reasonable accommodation plan and provide support in developing appropriate accommodations for your disability. Course requirements will not be waived but accommodations may be made to assist you to meet the requirements. Technical support may also be available to meet your specific need. For more information on services and support available, refer to http://uc.colstate.edu/disability_services.htm. Dropping the course We hope that you will complete the course and profit from it. If it is necessary for you to withdraw from the course during the semester, you must follow all official CSU procedures for withdrawing. It is not sufficient to notify the instructor; you must use the ISIS system and withdraw officially. For details on how to withdraw from a course, see http://aa.colstate.edu/advising/w.htm#Withdrawal%20from%20a%20Course. Academic dishonesty Academic dishonesty includes, but is not limited to, activities such as cheating and plagiarism. It is a basis for disciplinary action. Collaboration is not permitted on assignments or exams/quizzes in this course. Any work turned in for individual credit must be entirely the work of the student submitting the work. All work must be your own. You may share ideas but submitting identical assignments (for example) will be considered cheating. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately. For assignments, access to notes, textbook, books and other publications is allowed. Stealing, giving or receiving any code, diagrams, drawings, text or designs from another person (CSU or non-CSU) is not allowed. Having access to another person’s work on the system or giving access to your work to another person is not allowed. It is your responsibility to keep your work confidential, so that other students do not have access to it without your knowledge. Properly dispose of all your scratch work. No cheating in any form will be tolerated. The penalty for the first occurrence of academic dishonesty is a zero grade on the assignment or exam/quiz; the penalty for the second occurrence is a failing grade for the course. For exams/quizzes, discussion of any kind (except with me) is not allowed. (http://aa.colstate.edu/advising/a.htm#Academic Dishonesty/Academic Misconduct)