汇编 语言

(2003年4月2日补记)

课程的名称为 Introduction to Assembler for the IBM PC课程代号: COMP1410, 12节课,3个学分。

这门课并没有列在必修课程表里,是我自己选的。那时,自己对电脑很有兴趣,特别是迷上了电脑游戏,对那层出不穷的变化感到很惊讶,赞叹计算机的强大功能。于是想知道计算机的原理到底是怎么样的,这些游戏软件是如何制作的,有股想“打破沙锅问到底”的劲头。听说 Assembler 是最底层的编程语言,便参加了这门课。

现在在 BCIT 大专课程表里见不到这门课了。我以为 BCIT 淘汰了它,学生不用再学了。不料后来发现它被 BCIT 列入计算机本科课程表里去了。

课本 采用老师自编的教材,15元钱。参考书为 Assembler Language for Intel-Based Computers,第3版。

老师 跟教Quick Basic的是同一个老师。

学习工具 可使用Borland Turbo Assembler 5 或 MS Assembler V6.11。

教学内容

  • A close look at memory, bits, bytes, binary and hexadecimal numbers. Creating an assembler program.

  • Larger numbers. Binary addition. Hexadecimal notation. Storing text information. Register. Data definition statements. Some 8088 instructions. Immediate data and EQU assembler directive.

  • Signed numbers. SIZE and OFFSET keywords. Special DOS file name. INT instruction. Using DOS interrupts.

  • The JMP instruction; The Flags register; Conditional jump instructions; The CMP instruction; Looping through memory; Register indirect addressing; Base + displacement addressing; Loop instructions.

  • Segment addressing and arithmetic; IBM PC memory layout; The debugger.

  • The stack, calls and returns; Using subroutines; Passing parameters.

  • Boolean instructions; Multiword Addition and subtraction; Shift and rotate instructions; Processor-Specific instructions.

  • String instructions.

  • Operand alignment; multiplies and divides; the XLAT and XCHG instructions; DOS vs. BIOS functions and differences; DOS/BIOS input and output functions; organization of vedio memory.

  • Call assembler subroutine from other programs.

计分方法:

  • Assignments          40%

  • Quizzes              10%

  • Mid term Tests       20%

  • Final Examination    30%

作业 有5个作业。

考试 采取卷考试方法。