COURSE: Assembly Language Programming

COURSE DESCRIPTION:

There is no better way to understand the operation and architecture of the microprocessor than to study assembly language. Using assembly language gives the student direct control over the processor and requires a firm understanding of programming, processors, computer languages, number systems, and software development tools.
Students will learn the binary and hexadecimal number system, be able to convert easily from the decimal system to the binary system to the hexadecimal system , and be able to calculate in hexadecimal.
Students will learn how a computer's memory is organized, including the concepts of bytes, bits, registers, the stack, and the addressing scheme used by the processor.
Students will learn to actually create and process an assembly language program. Learning to write programs in assembly language has two main benefits. The machine code program that is produced takes up less memory space and executes much faster. Assembly language is important for controlling hardware devices of the microcomputer system and for enhancing software operations.

TEXTBOOK:

Assembler Inside and Out by Harley Hahn
Osborne McGraw-Hill ------ISBN 0-07-881842-7

OBJECTIVES OF COURSE:

  1. Describe and define terms about programming, computer languages, number systems, and software development tools.
  2. Define number system terms and describe the binary and hexadecimal number systems.
  3. Convert among decimal, binary, and hexadecimal systems and calculate in hexadecimal.
  4. Describe the organization of computer memory in terms of bytes, bits, registers, the stack, and addressing schemes.
  5. Describe the basic PC addressing scheme.
  6. Define and describe the parts of an assembly language program.
  7. Construct a basic assembly language program.
  8. Turn the assembly program into an executable file and run it.
  9. Use the assembler, linker, and the cross-reference program and read the output.
  10. Use define data directives and other directives to describe data items to the assembler.
  11. Copy data between the registers, the memory locations, and the stack.
  12. Define and describe control flow statements for program execution.
  13. Use assembly language tools of sequence , alternation, and repetition to build the control flow constructs you need for your program.
  14. Use the directives and instruction that define and call procedures, pass information between procedures, and link separate parts into one whole program.
  15. Enter procedures into a library and use the library procedure to write a program.
  16. Define and describe instructions for performing arithmetic with signed and unsigned numbers and decimal numbers.
  17. Define string instructions and describe how to use them.
  18. Change and test the values of bits within a byte or word and change the position of bits within a byte or word.
  19. Define and describe BIOS and DOS interrupts and use them in a program.
  20. Define and use basic input/output concepts.

home top