当前位置:文档之家› 《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第4版)钱晓捷主编前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。

2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。

它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。

3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。

(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。

(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。

(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。

(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。

(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。

(7).第九章说明BIOS和DOS系统功能调用的使用方法。

(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。

附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。

【重点难点】二进制数及其与其它数制的转换、补码及其运算。

【课 时 数】3学时。

1.1 进位计数制与不同基数的数之间的转换1.1.1 二进制数1. 十进制数:(Decimal)(数后面加D 或省略表示的是十进制数)(1). 十进制数表示为:a n a n -1…a 0.a -1a -2…a -m 其含义如下:i mn i i m m 2211001n 1n n n 10a 10a 10a 10a 10a 10a 10a N ∙=∙++∙+∙+∙++∙+∙=∑-=--------1). 基数为102). 10个数码0 、1、2、3、4、5、6、7、8、93). 逢10进1(2). 权:相应于式中每位数字的10 k 称为该位数的权。

(3). 数的值:每位数字乘以其权所得到的乘积之和即为该数的值。

即如上述多项式展开后所得到的和。

2. r 进制数:(1). r 进制数表示为:a n a n -1…a 0.a -1a -2…a -m 其含义如下:i mn i i m m 2211001n 1n n n r r a r a r a r a r a r a r a N ∙=∙++∙+∙+∙++∙+∙=∑-=--------1). 基数为r2). r 个数码0 、1、2、……、 r-13). 逢r 进1(2). 权:相应于式中每位数字的r k 称为该位数的权。

(3). 数的值:每位数字乘以其权所得到的乘积之和即为该数的值。

即如上述多项式展开后所得到的和。

3. 二进制数:(数后面加B 表示二进制数)(1). 二进制数表示为:a n a n -1…a 0.a -1a -2…a -m 其含义如下:i mn i i m m 2211001n 1n n n 22a 2a 2a 2a 2a 2a 2a N ∙=∙++∙+∙+∙++∙+∙=∑-=--------1). 基数为22). 2个数码0 和13). 逢2进1(2). 权:相应于式中每位数字的2 k 称为该位数的权。

(3). 数的值:每位数字乘以其权所得到的乘积之和即为该数的值。

即如上述多项式展开后所得到的和。

4. 十六进制数:(Hexadecimal)(数后面加H 表示十六进制数)(1). 十六进制数表示为:a n a n -1…a 0.a -1a -2…a -m 其含义如下:i mn i i m m 2211001n 1n n n H 16a 16a 16a 16a 16a 16a 16a N ∙=∙++∙+∙+∙++∙+∙=∑-=-------- 1). 基数为162).16个数码0 、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(或a ~ f)3).逢16进1(2).权:相应于式中每位数字的16 k称为该位数的权。

(3).数的值:每位数字乘以其权所得到的乘积之和即为该数的值。

即如上述多项式展开后所得到的和。

1.1.2二进制数和十进制数之间的转换1.二进制数转换为十进制数:根据上面的二进制数多项式按权展开求和即为十进制数。

2.十进制数转换为二进制数(1).降幂法:首先写出要转换的十进制数,其次写出所有小于此数的各位二进制权值,然后用要转换的十进制数减去与它最相近的二进制权值,如够减则减去并在相应位记以1;如不够减则在相应位记以0并跳过此位;如此不断反复,直到该数为0为止。

(2).除法1).十进制整数转换:采用“除2 (基)取余”法进行转换,即把十进制整数除以2,取出余数1或0作为相应二进制数的最低位,把得到的商再除以2,再取出余数1或0作为相应二进制数的次低位。

由此类推,继续上述过程直至商为0止,最后一次的余数为二进制数的最高位,依次所得到的余数序列就是转换成的二进制数。

2).十进制小数转换:采用“乘2 (基)取整”法进行转换,即先将十进制小数乘以2,取其整数1或0作为相应二进制小数的最高位,然后将乘积的小数部分再乘以2,并再取其整数作为次高位。

依次重复上述过程,直到小数部分为0或达到要求的精度为止。

1.1.3十六进制数及其与二进制、十进制数之间的转换1.十六进制数的表示:(参见1.1.1节的第4步)以下是几个概念:(1).位(bit)。

bit(Binary digit的缩写)是量度信息的最小单位,1比特为二进制的一位包含的信息量。

(2).字节(Byte)。

作为一个单位来处理的一串二进制数位,通常由8位二进制数位组成一个字节。

一个字节可以代表一个数字、一个字母或一个特殊符号。

也是计算机存储容量的单位。

(3).字(Word)。

在计算机中,一般称两个字节为一个字。

(4).字长(Word Length)。

计算机的每个字所包含的位数称为字长。

字长是计算机的一项重要指标。

一般都选为字节的整数倍。

2.十六进制数与二进制数之间的转换(1).二进制数转换为十六进制数:从二进制数的小数点位置开始,整数部分向左,小数部分向右,每四位二进制数字为一组用一位十六进制数字表示,不足四位的用0补足,就得到一个相应的十六进制数。

(2).十六进制数转换为二进制数:每一位十六进制数用四位二进制数表示,就形成相应的二进制数了。

3.十六进制数与十进制数之间的转换(1).十六进制数转换为十进制数:根据上面的十六进制数多项式按权展开求和即为十进制数。

(2).十进制数转换为十六进制数:可类似于十进制数转换为二进制数的降幂法和除法来转换为十六进制数。

也可先将十进制数转换为二进制数,再将二进制数转换为十六进制数。

相关主题