汇编语言程序设计(第四版)第1-5章(课后答案).docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《汇编语言程序设计(第四版)第1-5章(课后答案).docx》由用户(最好的沉淀)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后答案 汇编语言 程序设计 第四 课后 答案
- 资源描述:
-
1、word 专业资料-可复制编辑-欢迎下载第 1 章 汇编语言基础知识习题 1.1简述计算机系统的硬件组成及各部分作用。 解 答 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责 把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序 所要求的功能;寄存器组为处理单元提供所需要的数据。存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。习题 1.2明确下列概念或符号: 主存和辅存,RAM 和 ROM,存储器地址和I/O 端口, KB、MB、GB 和 TB。解答主存又称内存是主存储器的简称,
2、主存储器存放当前正在执行的程序和使用的数据, CPU 可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据, CPU 需要通过 I/O 接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。RAM 是随机存取存储器的英语简写,由于 CPU 可以从 RAM 读信息,也可以向 RAM 写入信息,所以RAM 也被称为读写存储器,RAM 型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而 ROM 中的信息只能被读出,不能被修改,ROM 型半导体通常只能被读出,但这类存储器断电后能保存信息。存储器由大量存储单元
3、组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O 接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成 I/O 地址,通常称做 I/O 端口。KB 是千字节、MB 是兆字节、GB 是吉字节和 TB 是太字节,它们都是表示存储器存储单元的单位。习题 1.3什么是汇编语言源程序、汇编程序、目标程序?解答用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇 编程序编译通过的程序就是目标程序。习题 1.4汇编语言与高级语言相比有什么优缺点?解答汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效 地控制
4、计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接 控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。汇编语言与高级语言相比的缺点:由于与处理器密切相关导致通用性差、可移植性差,汇 编语言功能有限,又涉及寄存器、主存单元等硬件细节,编写汇编语言比较繁琐,调试起 来也比较困难,编译程序产生的目标程序往往比较庞大、程序难以优化,运行速度慢。习题 1.5将下列十六进制数转换为二进制和十进制表示(1)FFH(2)0H(3)5EH(4)EFH(5)2EH(6)10H(7)1FH(8)ABH解答(1)FFH11111111B255D(2)0H0B0D(3)5EH10
5、11110B94D(4)EFH11101111B239D(5)2EH101110B46D(6)10H10000B16D(7)1FH11111B31D(8)ABH10101011B171D习题 1.6将下列十进制数转换为 BCD 码表示(1)12(2)24(3)68(4)127(5)128(6)255(7)1234(8)2458解答(1)1200010010(2)2400100100(3)6801101000(4)127000100100111(5)128000100101000(6)255001001010101习题 1.7将下列 BCD 码转换为十进制数(1)10010001(5)00001
6、000解答(2)10001001(6)10010111(3)00110110(7)10000001(4)10010000(8)00000010(1)91(2)89(3)36(4)90(5)08(6)97(7)81(8)02习题 1.8将下列十进制数分别用 8 位二进制数的原码、反码和补码表示(1)0(5)126解答(2)-127(6)-126(3)127(7)-128(4)-57(8)68(1)0+0000000000000000000000000-0100000001111111100000000(2)-127111111111000000010000001(3)12701111111011
7、1111101111111(4)-57101011111101000011010001(5)126011111100111111001111110(6)-126(7)-12811111110100000011000001010000000(8)68010001000100010001000100习题 1.9完成下列二进制数的运算(1)10111001(2)10111001(3)10111001(4)101110001001(5)1011 1001(6)1011 1001 (7)1011(8)1011 ? 1001解答(1)10111001=10100(2)10111001=0010(3)101
8、11001=1100011(4)101110001001=10100,余数 1000(5)1011 1001=1001(6)1011 1001=1011(7)1011=0100(8) 1011?1001=0010(?代表异或)习题 1.10数码 09、大写字母 AZ、小写字母 az 对应的ASCII 码分别是多少?ASCII码为 0dh、0ah 对应的是什么字符?解答数码 09:30H39H大写字母 AZ:41H5AH小写字母 az:61H7AHASCII 码为 0dh、0ah 分别对应回车和换行控制字符。习题 1.11计算机中有一个“01100001”编码,如果把它认为是无符号数,它是十进制
9、什么数?如果认为它是 BCD 码,则表示什么数?又如果它是某个 ASCII 码,则代表哪个字符?解答十进制无符号数:01100001B61H97 BCD 码:61ASCII 码:a习题 1.12简述 Intel 80x86 系列微处理器在指令集方面的发展。解答1978 年 Intel,正式推出了16 位 8086CPU,1979 年 Intel 推出了准 16 位微处理器 8088,随后,Intel 推出了 80186/80188,80186/80188 指令系统比 8086 指令系统新增了若干条实用的指令,涉及堆栈操作、移位指令、过程指令和边界检测及乘法指令,1982 年 Intel 推出
10、80286 CPU, 80286 指令系统包括全部 80186 指令及新增的保护指令 15 条,其中有些保护方式在实方式下也可以使用,1985 年,Intel80x86 推出微处理器地进入第三代 80386 CPU, 80386 指令系统在兼容原来 16 位指令系统的基础上,全面升级为 32 位,还新增了有关位操作、条件设置指令以及控制、调试和测试寄存器的传送指令等, 1989 年,Intel 推出了80486CPU,80486 将浮点处理单元 FPU 集成进来,还采用了精简指令集计算机技术 RISC 和指令流水线方式,还新增了用于多处理器和内部 Cache 操作的 6 条指令,1993 年
11、Intel 制成了俗称 586 的微处理器,取名Pentium。Pentium 仍为 32 位结构,地址总线为 32 位,对常用的简单指令用硬件实现,重新设计指令的微代码等,Pentium 新增了一条 8 字节比较交换指令和一条处理器识别指令,以及 4 条系统专用指令,1996 年推出了 MMX Pentium,新增了 57 条多媒休指令,1995 年 Intel 推出 Pentium Pro 新增了 3 条指令,1999 年推出了Pentium新增了 70 条 SSE 指令,2000 年推出的 Pentium4 新增了 76 条 SSE2 指令习题 1.13什么是 DOS 和 ROM-BIO
12、S?解答DOS 是 Diskette Operating system 的缩写,意思是磁盘操作系统,DOS 主要是面向磁盘的系统软件,说得简单些,就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”, 是 19811995 年的个人电脑上使用的一种主要的操作系统。BIOS(Basic InputOutput System)即基本输入输出系统,通常是固化在只读存储器( ROM)中,所以又称为 ROMBIOS。它直接对计算机系统中的输入、输出设备进行设备级、硬件级的控制,是连接软 件程序和硬件设备之间的枢纽。ROMBIOS 是计算机系统中用来提供最低级、最直接的硬件控制的程序。习题 1.14简
13、述 PC 机最低 1MB 主存空间的使用情况。解答(1) 基本RAM 区(00000H9FFFFH)该区共 640KB,由DOS 进行管理。在这个区域中操作系统要占用掉一部分低地址空间,其它则向用户程序开放。(2) 保留区 RAM(A0000H-BFFFFFH)该区为系统安排的“显示缓冲存储区”,共126KB,是显卡上的芯片提供支持,用于存放屏幕显示信息。但这部分地址空间实际上并没有全部 使用。(3) 扩展区 ROM(C0000H-DFFFFH)该区 128KB,由接口卡上的芯片提供支持,用于为系统不直接支持的外设安排设备驱动程序。用户固化的程序就可安排在这一段,系统的 会对它进行确认和连接。
14、(4) 系统区 ROM(E0000H-FFFFFH)该区共 128KB,由系统占用,它主要提供 ROM-BIOS程序,基本输入输出程序 BIOS,是操作系统的重要组成部分,主要用来驱动输入输出设备,也负责系统的上电检测,磁盘引导等初始化操作,在 ROM-BIOS 中还有CMOS 微机设置程序以及使用的字符图符信息等内容。习题 1.15罗列 8086CPU 的 8 个 8 位和 16 位通用寄存器,并说明各自的作用。解答(1) 数据寄存器:AX 称为累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX 称为基址寄存器,常用做存放存储器地址;CX 称为计数器,作为循环和串操作等指令中
15、的隐含计数器;DX 称为数据寄存器,常用来存放双字长数据的高 16 位,或存放外设端口地址。(2) 指针及变址寄存器包括 SI,DI,BP,S P,四个寄存器,常用于存储器寻址时提供地址。SI 是源变址寄存器,DI 是目的变址寄存器,一般与 DS 联用确定数据段和附加段中某一存储单元地址,在串指令中,SI 与 DS 联用、DI 和 ES 联用,分别寻址数据段和附加段;同时, 在串指令中,SI 和 DI 还都具有自动增量或减量的功能。S P,为堆栈指针寄存器,指示栈顶的偏移地址;BP 为基地址指针寄存器,表示堆栈段中的基地址。S P 与 BP 寄存器均可与SS 段寄存器联合使用以确定堆栈段中的存
16、储单元地址。习题 1.16什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器 FLAGS,说明各个标志的位置和含义。解答控制标志位可由程序根据需要用指令设置,用来控制处理器执行指令的方式。标志用于反映指令执行结果或控制指令执行形式。它是汇编语言程序设计中必须特别注意 的一个方面,状态用来记录运行的结果的状态信息,许多指令的执行都将相应地设置它,CF 是进位标志;ZF 是零标志;SF 是符号标志;PF 奇偶标志;OF 溢出标志;AF 辅助进位标志;DF 方向标志;IF 中断允许标志;TF 陷阱标志。习题 1.17举例说明 CF 和 OF 标志的差异。解答溢出标志 OF 和进位
17、标志 CF 是两个意义不同的标志。进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号 数运算结果是否超出范围,运算结果已经不正确。例 1:3AH + 7CHB6H无符号数运算:58124182,范围内,无进位 有符号数运算: 58124182 ,范围外,有溢出例 2:AAH + 7CH(1)26H无符号数运算:170124294,范围外,有进位有符号数运算:8612428 ,范围内,无溢出习题 1.18字和双字在存储器中如何存放,什么是“小端方式”?对字和双字存储单元, 什么是它们的对齐地址?为什么要对齐地址?解答字或双字在存储器中占相邻的 2 个或 4 个存储单元
18、;存放时,低字节存入低地址,高字节存入高地址;字或双字单元的地址用它的低地址来表示。80x86 处理器采用的这种“低对低, 高对高”的存储形式,被称为“小端方式”;将字单元安排在偶地址,双字节单元安排在模 4 地址,被称为“地址对齐方式”因为对于不对齐地址的数据,处理器访问时,需要额外的访问时间,所以通常应该将数据的地址对齐,以取得较高的存取速度。习题 1.19什么是8086 中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:(1)FFFFh:0(2)40h:17h(3)2000h:4500h(4)B821h:4567h解答在 8086 处理器中,对应每个物理
19、存储单元都有一个唯一的 20 位编号,就是物理地址,从00000HFFFFFH。在 8086 内部和用户编程时,采用的段基地址 : 段内偏移地址形式称为逻辑地址。将逻辑地址中的段地址左移二进制 4 位(对应16 进制是一位,即乘以 16),加上偏移地址就得到 20 位物理地址如下逻辑地址用物理地址表达:(1) FFFFh:0FFFF0H(2)40h:17h00417H(3)2000h:4500h24500H(4)B821h:4567hBC777H(不要算错)习题 1.208086 有哪 4 种逻辑段,各种逻辑段分别是什么用途?解答代码段(Code Segment)用来存放程序的指令序列。处理器
20、利用CS : IP 取得下一条要执行的指令。堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用 SS : SP 操作堆栈中的数据。数据段(Data Segment)存放当前运行程序所用的数据。处理器利用 DS : EA 存取数据段中的数据。附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用 ES : EA 存取数据段中的数据习题 1.21数据的默认段是哪个,是否允许其他段存放数据?如果允许,如何实现,有什么要求?解答数据的默认段是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段,允许其它段存放数据,数据的存放比较灵活的,实际上
21、可以存放在任何一种逻辑段中, 这时,只要明确指明是哪个逻辑段就可以了。习题 1.22什么是操作码、操作数和寻址方式?有哪三种给出操作数的方法?解答操作码说明计算机要执行哪种操作,它是指令中不可缺少的组成部分,操作数是指令执行 的参与者,也是各种操作的对象,我们把寻找数的方式叫做操作数的寻址方式。给出操作 数的三种方法是直接给出,间接给出,隐藏操作数方式给出。习题 1.23什么是有效地址 EA?8086 的操作数如果在主存中,有哪些寻址方式可以存取它?解答DS 存放数据段的段地址,存储器中操作数的偏移地址则由各种主存方式得到,称之为有效地址 EA。8086 的操作数如果在主存中,可以存取它的寻址
展开阅读全文