MIM3122 PC Architecture and System Programming
Winter 2000 - Dr. Perry

****************************ANNOUNCEMENTS********************************
1. A ZIP file containing all necessary files to run MASM 6.11 is available for downloading. Click here.

2. An improved explanation of how to call the procedures in the IRVINE.LIB link library is available. This  replaces pp. 626-627 of the book. Click here to view or copy.

3. The .asm  files for all homework exercises are available for viewing and downloading. See "EXAMPLE ASSEMBLY CODE, Homework Programming Exercises" section below.

4. The .com files for the DOS interrupts illustrated in class but not contained in the Class Packet are available for downloading. See "EXAMPLE ASSEMBLY CODE, DOS Interrupt Illustrations not in Class Packet" section below.
******************************************************************************

HANDOUTS

Course Outline

Detailed Reading Assignments

Homework Assignments

Term Project

Lecture Slides

Installation Procedure for MASM Assembler

DOS Directory Structure Example

Study Guide for Final Examination

HOMEWORK ASSIGNMENTS

All homework should be done as an individual effort with no collaboration.

All coding exercises should be well-docmented with comments in the .ASM file or in the DEBUG script file when using DEBUG.

When using a networked printer in a Lab to get screen printouts from DEBUG, use  the following approach, rather than the "Shift-print screen" keys as suggested in the text.

        At the DOS prompt:  DEBUG < file.SCR > file.OUT

        where: "file.SCR" is a DEBUG script file and "file.OUT" will contain all output sent to the screen by DEBUG.
        The file, "file.OUT " can then be printed as a file.

     Homework #1

     Homework #2

     Homework #3

     Homework #4

     Homework #5

HOMEWORK SOLUTIONS

    Homework #1 Solution (Distributed Jan 21)

    Homework #2 Solution (Distributed Feb 4)

    Homework #3 Solution (Distributed Feb 22)

    Homework #4 Solution (To be announced)

    Homework #5 Solution (To be announced)

COMPUTER LAB EXERCISES (You may have to shift click on the file name to download files)

Room 374 SN will have assistance available from 2:00 - 3:00pm on the dates shown for each lab exercise.

    Computer Lab Exercise #1 (Jan 24 at 2:00 pm in Rm 374 SN)

    Computer Lab Exercise #2 (Feb 23 at 2:00 pm in Rm 374 SN)

        Downloadable software for Lab Ex. #2
           cluster.exe

    Computer Lab Exercise #3 (Mar 6 at 2:00 pm in Rm 374 SN)

         Downloadable software for Lab Ex. #3
           gwbasic.exe
           key-bits.bas
           keyscope.exe
           (After downloading, rename this file: keyscope.com using the DOS rename command as:
           rename keyscope.exe keyscope.com)
           keyscope.inf

    Computer Lab Exercise #4 (Mar 8 at 2:00 pm in Rm 374 SN)

EXAMPLE ASSEMBLY CODE (.ASM files) (Click on file name to view, shift-click to download)

Homework Programming Exercises
c3_pe3 (Arithmetic sums)
c3_pe4 (Upper case conversion)
c4_pe3 (Add a list of 16-bit numbers)
c4_pe4 (Fixing an overflow problem)
c5_pe3 (Stack operations)
c5_pe9 (String input)
c6_pe4 (Alphabetic input)
c6_pe5 (Signed integer input)
c7_pe4 (Room schedule)
c11_pe1 (Set default disk drive)
c11_pe3 (Disk free space)
c11_pe5 (Create a hidden directory)
c5_pe11 (String with attributes)
c5_pe15 (Setting the cursor size)
 

Ilustrative Problems from the Text and Lecture
Chapter 3
sumintarray (Sum of integer array)

Chapter 4
linkdemo (Link library demo program)
2darray (Sum of 2-dimensional array)

Chapter 5
c5_pe10 (Upper case conversion)
c5_pe12 (Box-drawing program)
subs (Example of he use of procedures)
buffinpt (Input from K/B to buffer, Int 21h, 0Ah)
t_cap_lk (Toggles caps-lock key on and off)
set_cplk (Sets the caps-lock key on)
num_lk (Turns off the num-lock key)

Chapter 6
c6_pe12 (Count the words in a file)
finite (Finite state machine)
upcase (Convert chars from K/B input)
3small (Find smallest of 3 numbers from K/B)
convert.asm (Convert hex K/B input ot binary)
dispbin (Display a binary number entered from the K/B)
bin (Display a binary number)
wrint_ex (Illustrates use of Writeint library as a procedure)

Chapter 7
multiadd (Double precision arithmetic)
date (Extracts DOS date parts -- day,  month, year)

Chapter 11
cluster (Display files and associated clusters)

DOS Interrupt Illustrations not in Class Packet (shift-click to download)
int10s3.com
int10s6.com
int10sa.com
int10sb.com
i21s3c40.com
i21s3d40.com
i21s3d3f.com
i21r_w.com

Library Routines
 writeint
disks
writestring
strcmp
readint
bitmap
console
fileio
integer
mactest
strings
tbmap
test