Charlotte, North Carolina
June 20, 1999
June 20, 1999
June 23, 1999
4.39.1 - 4.39.7
A Revised Assembly Language Programming Course for a Computer Engineering Technology Program
Dean Lance Smith, Robert Douglas The University of Memphis
A new text was selected which teaches programming and uses the 80x86 family assembly language as the vehicle. Laboratory exercises have been written or revised to support the text. Students assemble and run the programs on new networked Microsoft Windows NT personal computers. The programs are assembled with Microsoft MASM 6.11. Microsoft Visual C++ Professional version 4.0 is used to assemble the software when assembly is mixed with C.
TECH 3251, Assembly Language Programming, is a required first semester senior class in Computer Engineering Technology. Other engineering technology students take the course as an elective. The class has three 55-minute lecture periods and three hours of unscheduled laboratory each week during a 14 week semester. The students receive 4 hours credit for the course. Prerequisites include programming in C and Pascal, and an introductory microprocessors course on the 80x86 family of processors. Assembly Language Programming is offered every fall during the day and every two and one-half years in the evening.
A new text1 was selected for the course to replace the previous text2, and the laboratory exercises were revised to accommodate the new text. Laboratory exercises are the focus of the course. Grades assigned to the laboratory exercises count one-third of the course grade. The exercises emphasize programming and the reuse of existing code. Lectures are used to go over reading assignments and discuss some short problem and question assignments. Often, the students write short assembly language programs in class that help them do the laboratory exercises. The solutions to the in-class programming exercises are critiqued in class.
Table 1 shows the grading criteria used for the laboratory exercises. Up to 100 points can be earned for each assignment. Assignments turned in late receive no credit. The more a student accomplishes and the higher the quality of the accomplishments, the better the score. For example, up to 10 points can be earned for high quality documentation. All procedures will have a header block that describes a) what the procedure does, b) the procedure’s inputs, c) the procedure’s outputs, and d) what functions or procedures are called. Significant action blocks or data definitions will have adequate comments if they are not self-documenting. (e.g. NOMATCH DB “Strings do not match.” is an example of a self-documenting data definition.)
Douglas, R., & Smith, D. L. (1999, June), A Revised Assembly Language Programming Course For A Computer Engineering. Technology Program Paper presented at 1999 Annual Conference, Charlotte, North Carolina. https://peer.asee.org/7924
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 1999 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015