About me

Course Work




Organization Suggestions

This course moves very quickly and there are many small suggstions that I can make to save you time. The biggest suggestion is that you organize your code as you go through this course. If you do, then you will find these projects get progressively easier to write. To organize your code, ideally, you want to create a set of procedures that you will write once and then just use as you move on to the next project. If you have to "reinvent the wheel" every time you try to do one of these projects you will waste huge amounts of time. Since you don't know what to expect in this course, allow me to suggest a number of functions that will be useful to you during the entire course.

When you write one of these functions, you will eventually want to put it in its own file, save it, create a macro and add it to an intuitive file, save that, and build a test module to verify that the code works flawlessly. Then you can pack the module into a library and simply use it on all subsequent projects. You may not need all of these depending upon the specific projects, but as you create these, store them and reuse them.

  • Basic I/O
    • ExitProgram
    • ClearScreen
    • PrintString (buffer)
    • WriteString (buffer, row, col) - direct to video ram
    • GetChar
    • GetString
    • GetNumber

  • File I/O (stick with handles)
    • Open (filename)
    • Close (handle)
    • Read (handle, numBytes, buffer)
    • Write (handle, numBytes, buffer)
    • Unlink (filename)
    • UnlinkConfirm (filename)
    • CreateOverwrite (filename)
    • CreatePromptOverwrite (filename)

  • Interrupts
    • GetVector (intNum, seg, offset)
    • SetVector (intNum, seg, offset)

  • General
    • Beep (frequency, duration)
    • StringLength (buffer)
    • CheckRange (buffer, lowVal, highVal)
    • PrintErrorMsg (based on carry flag & AX) - more advanced
Last Modified: January 26, 1999 - Barry E. Mapen