汇编语言程序设计(第四版)第1章【课后答案】(共7页).doc
-
资源ID:14107739
资源大小:40KB
全文页数:7页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
汇编语言程序设计(第四版)第1章【课后答案】(共7页).doc
精选优质文档-倾情为你奉上 汇编语言程序设计 第四版 【课后习题答案】 -囮裑為檤 第1章 汇编语言基础知识习题1.1简述计算机系统的硬件组成及各部分作用。 解答 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。外部设备:实现人机交换和机间的通信。习题1.2明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。解答主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。习题1.3什么是汇编语言源程序、汇编程序、目标程序? 解答用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。习题1.4汇编语言与高级语言相比有什么优缺点? 解答汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。汇编语言与高级语言相比的缺点:由于与处理器密切相关导致通用性差、可移植性差,汇编语言功能有限,又涉及寄存器、主存单元等硬件细节,编写汇编语言比较繁琐,调试起来也比较困难,编译程序产生的目标程序往往比较庞大、程序难以优化,运行速度慢。习题1.5将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH(5)2EH (6)10H (7)1FH (8)ABH解答(1)FFH B 255D (2)0H 0B 0D (3)5EH B 94D (4)EFH B 239D(5)2EH B 46D (6)10H 10000B 16D (7)1FH 11111B 31D(8)ABH B 171D习题1.6将下列十进制数转换为BCD码表示(1)12 (2)24 (3)68 (4)127(5)128 (6)255 (7)1234 (8)2458解答(1)12 (2)24 (3)68 (4)127 1(5)128 0 (6)255 1(7)1234 10100(8)2458 11000习题1.7将下列BCD码转换为十进制数(1) (2) (3) (4)(5) (6) (7) (8)解答(1)91 (2)89 (3)36 (4)90(5)08 (6)97(7)81 (8)02习题1.8将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57(5)126 (6)-126 (7)-128 (8)68解答(1)0 +0 -0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 习题1.9完成下列二进制数的运算 (1)10111001 (2)10111001 (3)1011×1001 (4)÷1001(5)1011 1001 (6)1011 1001 (7)1011 (8)1011 ? 1001解答(1)10111001=10100 (2)10111001=0010 (3)1011×1001= (4)÷1001=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计算机中有一个“”编码,如果把它认为是无符号数,它是十进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 解答十进制无符号数:B61H97BCD码:61ASCII码:a习题1.12简述Intel 80x86系列微处理器在指令集方面的发展。 解答1978年Intel,正式推出了16位8086CPU,1979年Intel推出了准16位微处理器8088,随后,Intel推出了80186/80188,80186/80188指令系统比8086指令系统新增了若干条实用的指令,涉及堆栈操作、移位指令、过程指令和边界检测及乘法指令,1982年Intel推出80286 CPU, 80286指令系统包括全部80186指令及新增的保护指令15条,其中有些保护方式在实方式下也可以使用,1985年,Intel80x86推出微处理器地进入第三代80386 CPU, 80386指令系统在兼容原来16位指令系统的基础上,全面升级为32位,还新增了有关位操作、条件设置指令以及控制、调试和测试寄存器的传送指令等,1989年,Intel推出了80486CPU,80486将浮点处理单元FPU集成进来,还采用了精简指令集计算机技术RISC和指令流水线方式,还新增了用于多处理器和内部Cache操作的6条指令,1993年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-BIOS? 解答DOS是Diskette Operating system的缩写,意思是磁盘操作系统,DOS主要是面向磁盘的系统软件,说得简单些,就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,是19811995年的个人电脑上使用的一种主要的操作系统。BIOS(Basic InputOutput System)即基本输入输出系统,通常是固化在只读存储器(ROM)中,所以又称为ROMBIOS。它直接对计算机系统中的输入、输出设备进行设备级、硬件级的控制,是连接软件程序和硬件设备之间的枢纽。ROMBIOS是计算机系统中用来提供最低级、最直接的硬件控制的程序。习题1.14简述PC机最低1MB主存空间的使用情况。 解答(1)基本RAM区(00000H9FFFFH)该区共640KB,由DOS进行管理。在这个区域中操作系统要占用掉一部分低地址空间,其它则向用户程序开放。(2)保留区RAM(A0000H-BFFFFFH)该区为系统安排的“显示缓冲存储区”,共126KB,是显卡上的芯片提供支持,用于存放屏幕显示信息。但这部分地址空间实际上并没有全部使用。(3)扩展区ROM(C0000H-DFFFFH)该区128KB,由接口卡上的芯片提供支持,用于为系统不直接支持的外设安排设备驱动程序。用户固化的程序就可安排在这一段,系统的会对它进行确认和连接。(4)系统区ROM(E0000H-FFFFFH)该区共128KB,由系统占用,它主要提供ROM-BIOS程序,基本输入输出程序BIOS,是操作系统的重要组成部分,主要用来驱动输入输出设备,也负责系统的上电检测,磁盘引导等初始化操作,在ROM-BIOS中还有CMOS微机设置程序以及使用的字符图符信息等内容。习题1.15罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 解答(1)数据寄存器:AX称为累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;BX称为基址寄存器,常用做存放存储器地址;CX称为计数器,作为循环和串操作等指令中的隐含计数器;DX称为数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。(2)指针及变址寄存器包括SI,DI,BP,S P,四个寄存器,常用于存储器寻址时提供地址。SI是源变址寄存器,DI是目的变址寄存器,一般与DS联用确定数据段和附加段中某一存储单元地址,在串指令中,SI与DS联用、DI和ES联用,分别寻址数据段和附加段;同时,在串指令中,SI和DI还都具有自动增量或减量的功能。S P,为堆栈指针寄存器,指示栈顶的偏移地址;BP为基地址指针寄存器,表示堆栈段中的基地址。S P与BP寄存器均可与SS段寄存器联合使用以确定堆栈段中的存储单元地址。习题1.16什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。 解答标志用于反映指令执行结果或控制指令执行形式。它是汇编语言程序设计中必须特别注意的一个方面,状态用来记录运行的结果的状态信息,许多指令的执行都将相应地设置它,控制标志位可由程序根据需要用指令设置,用来控制处理器执行指令的方式。 CF是进位标志;ZF 是零标志;SF是符号标志;PF奇偶标志;OF溢出标志;AF辅助进位标志;DF方向标志;IF中断允许标志;TF陷阱标志。习题1.17举例说明CF和OF标志的差异。 解答溢出标志OF和进位标志CF是两个意义不同的标志。进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确。例1:3AH + 7CHB6H无符号数运算:58124182,范围内,无进位有符号数运算: 58124182 ,范围外,有溢出例2:AAH + 7CH(1)26H无符号数运算:170124294,范围外,有进位有符号数运算:8612428 ,范围内,无溢出习题1.18字和双字在存储器中如何存放,什么是“小端方式”?对字和双字存储单元,什么是它们的对齐地址?为什么要对齐地址? 解答字或双字在存储器中占相邻的2个或4个存储单元;存放时,低字节存入低地址,高字节存入高地址;字或双字单元的地址用它的低地址来表示。80x86处理器采用的这种“低对低,高对高”的存储形式,被称为“小端方式”;将字单元安排在偶地址,双字节单元安排在模4地址,被称为“地址对齐方式”因为对于不对齐地址的数据,处理器访问时,需要额外的访问时间,所以通常应该将数据的地址对齐,以取得较高的存取速度。习题1.19什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达: (1)FFFFh:0 (2)40h:17h (3)2000h:4500h (4)B821h:4567h解答在8086处理器中,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000HFFFFFH。在8086内部和用户编程时,采用的段基地址 : 段内偏移地址形式称为逻辑地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址如下逻辑地址用物理地址表达:(1)FFFFh:0FFFF0H(2)40h:17h00417H(3)2000h:4500h24500H(4)B821h:4567hBC777H (不要算错)习题1.208086有哪4种逻辑段,各种逻辑段分别是什么用途? 解答代码段(Code Segment)用来存放程序的指令序列。处理器利用CS : IP取得下一条要执行的指令。堆栈段(Stack Segment)确定堆栈所在的主存区域。处理器利用SS : SP操作堆栈中的数据。数据段(Data Segment)存放当前运行程序所用的数据。处理器利用DS : EA存取数据段中的数据。附加段(Extra Segment)是附加的数据段,也用于数据的保存。处理器利用ES : EA存取数据段中的数据习题1.21数据的默认段是哪个,是否允许其他段存放数据?如果允许,如何实现,有什么要求?解答数据的默认段是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段,允许其它段存放数据,数据的存放比较灵活的,实际上可以存放在任何一种逻辑段中,这时,只要明确指明是哪个逻辑段就可以了。习题1.22什么是操作码、操作数和寻址方式?有哪三种给出操作数的方法? 解答操作码说明计算机要执行哪种操作,它是指令中不可缺少的组成部分,操作数是指令执行的参与者,也是各种操作的对象,我们把寻找数的方式叫做操作数的寻址方式。给出操作数的三种方法是直接给出,间接给出,隐藏操作数方式给出。习题1.23什么是有效地址EA?8086的操作数如果在主存中,有哪些寻址方式可以存取它? 解答DS存放数据段的段地址,存储器中操作数的偏移地址则由各种主存方式得到,称之为有效地址EA。8086的操作数如果在主存中,可以存取它的寻址方式有直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式、相对基址变址寻址方式。习题1.24说明下列指令中源操作数的寻址方式?如果BX2000H,DI40H,给出DX的值或有效地址EA的值。 (1) mov dx,1234h(2) mov dx,1234h(3) mov dx,bx(4) mov dx,bx(5) mov dx,bx+1234h(6) mov dx,bx+di(7) mov dx,bx+di+1234h解答(1)直接寻址,EA1234H(2)立即数寻址,DX1234H(3)寄存器寻址,DX2000H(4)间接寻址,EA2000H(5)相对寻址,EA3234H(6)基址变址寻址,EA2040H(7)相对基址变址寻址,EA3274H专心-专注-专业