前言

 

声明:该文集是基于《Intel汇编语言程序设计》第五版电子书发布的。由于本人手中的该版电子书中没有前言部分,为了要求完整性,特在这里将该书的第四版中的前言部分发布,望大家将就着看吧。

 

前言

《Intel汇编语言程序设计》一书第四版介绍的知识是基于Intel IA-32处理器体系结构的。从程序员的角度来看,本书适合作为下列计算机专业课程的教材:

  • 汇编语言程序设计
  • 计算机系统基础知识
  • 计算机体系结构基础知识

尽管本书最初是为普通高校的学生编写的,但现在的读者群已经远不止于此了。很多大学都使用本书作为计算机体系结构课程的入门教材。例如,佛罗里达国际大学就采用本书作为计算机系统基础知识——一门将引出更全面深入地探讨计算机体系结构的课程的教材。

本书的当前版本包含了以下主题,这些主题将自然地引出计算机体系结构、操作系统和编译器编写等后续课程:

  • 虚拟机的概念
  • 基本的布尔运算
  • 指令执行周期
  • 内存访问中时钟周期的使用
  • 中断
  • 多级流水线
  • 超标量体系结构
  • 多任务
  • 加载和执行程序
  • 浮点数的二进制表示

本书中的其他一些主题则是与IA-32体系结构相关的,书中使用的信息来自于它的手册:

  • IA-32保护内存的寻址和分页
  • 实地址模式下的内存分段
  • 中断处理
  • 直接硬件I/O
  • 指令编码

对于以后将要学习计算机科学课程的读者来说,说中该处的下列例子是很有帮助的:

  • 查找和排序算法
  • 高级语言接口
  • 有限状态机
  • 代码优化实例

本书的当前版本还涉及以下一些与程序设计相关的新内容:

  • 有关数据定义的更全面详尽的解释
  • 有关寻址方式的更细致的讲解
  • 适用于几乎所有过程的简化链接库,它们所需的输入参数更少,如新的显示CPU寄存器和 内存内容的过程以及延时过程
  • 对于自顶向下程序设计的讲解和说明
  • 使用流程图作为代码生成工具
  • 对汇编语言伪指令、宏和操作符等内容的更加全面而详尽的说明。例如:本书全面深入地讲解了PROC,PROTO和INVOKE伪指令
  • 更完整地介绍了结构,包括嵌套结构和结构数组
  • IF、WHILE和REPEAT等块结构语句(这是MASM的高级特性)
  • 介绍了视频显示,包括使用BIOS和直接内存映射技术
  • 鼠标程序设计
  • Win32控制台程序设计,直接调用Windows Kemel32库
  • 更多的数组操作实例

本书仍然是一本程序设计教材

读者要注意的是,本书的着重点仍然在于其原来的任务:教会学生如何在硬件层次编写和调试程序。本书并不能够替代那些全面介绍计算机体系结构的书籍,但它的确给了学生们在计算机真实工作的环境中编写软件的第一手经验,这一点的价值绝不可低估,因为他们将在同机器的即时接触中牢记大量的理论知识。在工程课程中,学生们将学习如何构建原型;在软件课程中,学生们将学习如何编写程序。在这两种课程中,原来获得的经验将给予他们在任何操作系统或面向机器的环境中工作的信心。

实模式和保护模式

教师们都表示愿意转向使用Intel保护内存模式的32位程序设计,本书强调了32位保护模式,但其中仍然有三章全部讲述实模式程序设计。书中用一整章内容讲述键盘、视频显示(包括图形)和鼠标的BIOS程序设计,还有一整章是关于使用中断功能调用MS-DOS程序设计的。对于学生们而言,获得一些直接面向固件和硬件的程序设计经验是非常有益的。

本书前面部分的例子几乎全部是32位的基于文本的应用程序,它们运行于保护模式下并使用平坦模式,这样程序就显得非常直观,学生们不必处理段-偏移寻址这类问题。书中用特别标记的段落及提示框提示学生实模式和保护模式程序设计之间的细微差别,其中的大部分差别都封装在本书的两个链接库中了。

链接库

学生们使用两个版本的链接库进行基本的输入输出。32位版本的链接库(Irvine32.lib)可在任何版本的MS-Windows的Win32控制台模式下工作,16位版本可在MS-DOS,MS-Windows 和Linux的DOS模拟器下工作。在本书后面部分的章节中,两个链接库中的所有函数都被逐一例举,读者还可以根据自己的需要修改库。应该注意的是,链接库仅仅是为了方便使用,而不是用来阻止学生们学习自己进行输入输出编程的。

包含的软件和例子

本书中所有例子程序都已经使用Microsoft 6.15版本的宏汇编编译器测试通过,在大多数情况下,例子程序可以用Borland的TASM 4.0和5.0编译,但是有些特性是Borland汇编编译器所不支持的。

网站信息

有关更新和勘误可以在下面的网站上找到,其中包括教授们要在章节授课结束时布置的额外的程序设计项目:

http://www. nuvisionmiami.com/books/asm

如果由于某种原因造成上面的网址无法访问的话,可通过在www.prenhall.com捜索书名或作者全名“Kip Irvine”来获取关于本书的信息以及网站的最新链接。作者的e-mail地址是kip@nuvisionmiami.com