ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:49.90KB ,
资源ID:9088256      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9088256.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术第四版课后习题答案1.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理与接口技术第四版课后习题答案1.docx

1、微机原理与接口技术第四版课后习题答案1微机原理与接口技术(第四版)课后习题答案-(1) 第1章 微型计算机系统习题1.1简答题(2)总线信号分成哪三组信号?(3)PC机主存采用DRAM组成还是SRAM组成?(5)ROM-BIOS是什么?(6)中断是什么?(9)处理器的“取指译码执行周期”是指什么?解答 总线信号分成三组,分别是数据总线、地址总线和控制总线。 PC机主存采用DRAM组成。 ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好

2、的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。 指令的处理过程。处理器的“取指译码执行周期” 是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。习题1.3填空题(2)Intel 8086支持_容量主存空间,80486支持_容量主存空间。(3)二进制16位共有_个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址_容量主存空间。(9)最初由 公司采用Intel 8088处理器和( )操作系统推出PC机。 1MB,4GB 216,64KB (9)IBM,DOS习题1.4说明微型计算机系统的硬件组

3、成及各部分作用。解答CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。存储器:存储器是存放程序和数据的部件。外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。习题1.7区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。解答助记符:人们采用便于记忆、并能描述指令功能的符号来表示

4、机器指令操作码,该符号称为指令助记符。汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。汇编程序:汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为“汇编”,完成汇编工作的程序就是汇编程序(Assembler)。第2章 处理器结构习题2.1简答题(1)ALU是什么?(2)8086的取指为什么可以被称为指令预取?(4)堆栈的存取原则是什么?(5)标志寄存器主要保存哪方面的信息?(6)执行了一条加法指令后,发现ZF1,说明结果是什么?(9)汇编语言源程序文件中,END语句后的语句会被汇

5、编吗?解答 ALU是算术逻辑运算单元,负责处理器所能进行的各种运算,主要是算术运算和逻辑运算。 取指是指从主存取出指令代码通过总线传输到处理器内部指令寄存器的过程。8086分成总线接口单元和指令执行单元,可以独立操作。在执行单元执行一条指令的同时,总线接口单元可以读取下一条指令,等到执行时不需要进行取指了,所以称为预取。 堆栈的存取原则是先进后出(也称为后进先出)操作方式存取数据。 标志寄存器主要保存反映指令执行结果和控制指令执行形式的有关状态。 执行了一条加法指令后,发现ZF1,表明运算结果为0。 不会。习题2.3填空题(3)逻辑地址由_和_两部分组成。代码段中下一条要执行的指令由CS和_寄

6、存器指示,后者在实地址模型中起作用的仅有_寄存器部分。(4)进行8位二进制数加法:1011101001101100,8位结果是_,标志PF_。(5)在实地址工作方式下,逻辑地址“7380H400H”表示的物理地址是_,并且该段起始于_物理地址。(9)除外设数据外的数据寻址方式有3类,分别被称为_、_和_。解答 段地址,偏移地址,EIP,IP 00100110,0 73C00H,73800H 立即数寻址、寄存器寻址和存储器寻址习题2.4处理器内部具有哪3个基本部分?8086分为哪两大功能部件?其各自的主要功能是什么?解答处理器内部有ALU、寄存器和指令处理三个基本单元。8086有两大功能部件:总

7、线接口单元和执行单元。总线接口单元:管理着8086与系统总线的接口,负责处理器对存储器和外设进行访问。8086所有对外操作必须通过BIU和这些总线进行。执行单元EU:负责指令译码、数据运算和指令执行。习题2.58086怎样实现了最简单的指令流水线?解答8086中,指令的读取是在BIU单元,而指令的执行是在EU单元。因为BIU和EU两个单元相互独立、分别完成各自操作,所以可以并行操作。也就是说,在EU单元对一个指令进行译码执行时,BIU单元可以同时对后续指令进行读取;这就是最简单的指令流水线技术。习题2.8什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地

8、址表达(均为十六进制形式): FFFF0 4017 20004500 B8214567解答物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址。逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。逻辑地址转换成物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址。 FFFFH:0FFFF0H 40H:17H00417H 2000H:4500H24500H

9、B821H:4567HBC777H习题2.12汇编语句有哪两种,每个语句由哪4个部分组成?解答汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。每个语句有:标号、指令助记符、操作数或参数、注释4个部分组成。习题2.16说明下列指令中源操作数的寻址方式?假设VARD是一个双字变量。(1)mov edx,1234h(2)mov edx,vard(3)mov edx,ebx(4)mov edx,ebx(5)mov edx,ebx+1234h(6)mov edx,vardebx(7)mov edx,ebx+edi(8)mov edx,ebx+edi+1234h(9)mov edx,var

10、desi+edi(10)mov edx,ebp*4解答 立即数 直接 寄存器 寄存器间接 寄存器相对 寄存器相对 基址变址 相对基址变址 相对基址变址 带比例寻址第3章 数据处理习题3.1简答题(1)使用二进制8位表达无符号整数,257有对应的编码吗?(2)字符“F”和数值46H作为MOV指令的源操作数有区别吗?(3)为什么可以把指令“MOV AX, (3467H)*3”中的数值表达式看成是常量?(4)数值500,能够作为字节变量的初值吗?(6)都是获取偏移地址,为什么指令“LEA EBX, ESI”正确,而指令“MOV EBX, OFFSETESI”就错误?(7)INC,DEC,NEG和NO

11、T都是单操作数指令,这个操作数应该是源操作数还是目的操作数?(9)乘除法运算针对无符号数和有符号数,有两种不同的指令。只有一种指令的加减法如何区别无符号数和有符号数运算?(10)逻辑与运算为什么也称为逻辑乘?解答 没有。使用二进制8位表达无符号整数,257没有对应的编码。 字符“F”的ASCII码就是数值46H,所以没有区别。 汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。 不能。数值500大于一个字节所能表达的数据量,所以不能为字节变量赋值。 前者在指令执行时获得偏移地址,是正确的;但后者的OFFSET只能在汇编阶段获得偏移地址,但此时寄存器内容是不可知的,

12、所以无法获得偏移地址。 INC,DEC,NEG和NOT指令的操作数既是源操作数也是目的操作数。 加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的CF和OF标志,可利用CF和OF进行区别。 逻辑与运算规则类似二进制的乘法,所以称其为逻辑乘。习题3.3填空题(1)定义字节变量的伪指令助记符是_,获取变量名所具有的偏移地址的操作符是_。(2)计算机中有一个“01100001”编码。如果把它认为是无符号数,它是10进制数_;如果认为它是BCD码,则表示真值_;又如果它是某个ASCII码,则代表字符_。(3)C语言用“n”表示让光标回到下一行首位,在汇编语言中需要输出两个控制字符:一个

13、是回车,其ASCII码是_,它将光标移动到当前所在行的首位;另一个是换行,其ASCII码是_,它将光标移到下一行。(4)数据段有语句“H8843 DWORD 99008843H”,代码段指令“MOV CX, WORD PTR H8843”执行后,CX_。(5)用DWORD定义的一个变量XYZ,它的类型是_,用“TYPE XYZ”会得到数值为_。如果将其以字量使用,应该用_说明。(6)数据段有语句“ABC BYTE 1,2,3”,代码段指令“MOV CL, ABC+2”执行后,CL_。解答 BYTE,OFFSET 97,61,小写字母a 0DH(13),0AH(10) 8843H DWORD,4

14、,WORD PTR XYZ 3习题3.4下列十六进制数表示无符号整数,请转换为十进制形式的真值: FFH 0H 5EH EFH解答 255 0 94 239习题3.5将下列十进制数真值转换为压缩BCD码: 12 24 68 99解答 12H 24H 68H 99H习题3.6将下列压缩BCD码转换为十进制数: 10010001 10001001 00110110 10010000解答 91 89 36 90习题3.7将下列十进制数用8位二进制补码表示: 0 127 127 57解答 00000000 01111111 10000001 11000111习题3.8进行十六进制数据的加减运算,并说明

15、是否有进位或借位: 1234H7802H F034H5AB0H C051H1234H 9876HABCDH解答 1234H7802H8A36H,无进位 F034H5AB0H4AF4H,有进位 C051H1234HBE1DH,无借位 9876HABCDHECA9H,有借位习题3.10设置一个数据段,按照如下要求定义变量或符号常量: my1b为字符串变量:Personal Computer my2b为用十进制数表示的字节变量:20 my3b为用十六进制数表示的字节变量:20 my4b为用二进制数表示的字节变量:20 my5w为20个未赋值的字变量 my6c为100的常量 my7c表示字符串:Per

16、sonal Computer解答my1b byte Personal Computermy2b byte 20my3b byte 14hmy4b byte 00010100bmy5w word 20 dup(?)my6c = 100my7c equ 习题3.11定义常量NUM,其值为5;数据段中定义字数组变量DATALIST,它的头5个字单元中依次存放-10,2,5和4,最后1个单元初值不定。解答num equ 5datalist byte -10,2,5,4,?习题3.12从低地址开始以字节为单位,用十六进制形式给出下列语句依次分配的数值: byte ABC,10,10h,EF,3 dup(

17、-1,?,3 dup(4) word 10h,-5,3 dup(?)解答41 42 43 0A 10 45 46 FF 00 04 04 04 FF 00 04 04 04 FF 00 04 04 0410 00 FB FF 00 00 00 00 00 00习题3.19请分别用一条汇编语言指令完成如下功能:(去E)(1)把EBX寄存器和EDX寄存器的内容相加,结果存入EDX寄存器。(2)用寄存器EBX和ESI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。(3)用EBX和位移量0B2H的寄存器相对寻址方式把存储器中的一个双字和ECX寄存器的内容相加,并把结果送

18、回存储器中。(4)将32位变量VARD与数3412H相加,并把结果送回该存储单元中。(5)把数0A0H与EAX寄存器的内容相加,并把结果送回EAX中。解答 add edx,ebx add al,ebx+esi add bx+0b2h,cx add varw,3412h add eax,0a0h习题3.20分别执行如下程序片断,说明每条指令的执行结果:(去E)(1) mov eax,80h ; EAX_ add eax,3 ; EAX_,CF_,SF_ add eax,80h ; EAX_,CF_,OF_ adc eax,3 ; EAX_,CF_,ZF_(2) mov eax,100 ; EAX

19、_ add ax,200 ; EAX_,CF_(3) mov eax,100 ; EAX_ add al,200 ; EAX_,CF_(4) mov al,7fh ; AL_ sub al,8 ; AL_,CF_,SF_ sub al,80h ; AL_,CF_,OF_ sbb al,3 ; AL_,CF_,ZF_解答(1) ; EAX80H ; EAX83H,CF0,SF0 ; EAX103H,CF0,OF0 ; EAX106H,CF0,ZF0(2) ; EAX100 ; EAX300,CF0(3) ; EAX100 ; EAX44,CF1(包含256的进位含义:25644300)(4) m

20、ov al,7fh ; AL7FH sub al,8 ; AL77H,CF0,SF0 sub al,80h ; ALF7H,CF1,OF1 sbb al,3 ; ALF3H,CF0,ZF0习题3.21(推敲)给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态: mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al解答 mov al,89h ; AL89H CF ZF SF OF PF add al,al ; AL12H 1 0 0 1 1 add al,9dh ; AL0AFH 0 0 1 0

21、1 cmp al,0bch ; AL0AFH 1 0 1 0 1 sub al,al ; AL00H 0 1 0 0 1 dec al ; AL0FFH 0 0 1 0 1 inc al ; AL00H 0 1 0 0 1习题3.22有两个64位无符号整数存放在变量buffer1和buffer2中,定义数据、编写代码完成EDX.EAXbuffer1buffer2功能。(去E)解答 ; 数据段buffer1 qword 67883000hbuffer2 qword 67762000h ; 代码段 mov eax,dword ptr buffer1 mov edx,dword ptr buffer

22、1+4 sub eax,dword ptr buffer2 sbb edx,dword ptr buffer2+4习题3.23分别执行如下程序片断,说明每条指令的执行结果:(去E)(1) mov esi,10011100b ; ESI_H and esi,80h ; ESI_H or esi,7fh ; ESI_H xor esi,0feh ; ESI_H(2) mov eax,1010b ; EAX_B shr eax,2 ; EAX_B,CF_ shl eax,1 ; EAX_B,CF_ and eax,3 ; EAX_B,CF_(3) mov eax,1011b ; EAX_B rol

23、eax,2 ; EAX_B,CF_ rcr eax,1 ; EAX_B,CF_ or eax,3 ; EAX_B,CF_(4) xor eax,eax ; EAX_,CF_,OF_ ; ZF_,SF_,PF_解答(1) ; ESI9CH ; ESI80H ; ESIFFH ; ESI01H(2) ; EAX1010B(可以有前导0,下同) ; EAX0010B,CF1 ; EAX0100B,CF0 ; EAX0000B,CF0(3) ; EAX1011B(可以有前导0,下同) ; EAX101100B,CF0 ; EAX10110B,CF0 ; EAX10111B,CF0(4) ; EAX0,

24、CF0,OF0 ; ZF1,SF0,PF1习题3.243.24 给出下列各条指令执行后AX的结果,以及状态标志CF、OF、SF、ZF、PF的状态。 mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax test ax,0f0f0h解答 mov ax,1470h ; AX1470H CF OF SF ZF PF and ax,ax ; AX1470H 0 0 0 0 0 or ax,ax ; AX1470H 0 0 0 0 0 xor ax,ax ; AX0000H 0 0 0 1 1 not ax ; AXFFFFH 0 0 0 1 1 test a

25、x,0f0f0h ; AX0F0F0H 0 0 1 0 1习题3.25逻辑运算指令怎么实现复位、置位和求反功能?解答AND指令同“0”与实现复位,OR指令同“1”或实现置位,XOR同“1”异或实现求反。习题3.27(去E)编程将一个64位数据逻辑左移3位,假设这个数据已经保存在EDX.EAX寄存器对中。解答 ; 代码段 mov ecx,3again: shl eax,1 rcl edx,1 loop again习题3.28编程将一个压缩BCD码变量(例如92H)转换为对应的ASCII码,然后调用DISPC子程序(在输入输出子程序库中)显示。解答 ; 数据段bcd byte 92h ; 代码段

26、mov al,bcd shr al,4 add al,30h call dispc mov al,bcd and al,0fh add al,30h call dispc习题3.31下面程序的功能是将数组ARRAY1的每个元素加固定值(8000H),将和保存在数组ARRAY2。在空白处填入适当的语句或语句的一部分。 ; 数据段array1 dword 1,2,3,4,5,6,7,8,9,10array2 dword 10 dup(?) ; 代码段 mov ecx,lengthof array1 mov ebx,0again: mov eax,array1ebx*4 add eax,8000h mov _ add ebx,_ loop again解答 mov array2ebx*4,eax add ebx,1第4章 汇编语言程序设计习题4.1简答题(3)为什么判断无符号数大小和有符号大小的条件转移指令不同?(4)双分支结构中两个分支体之间的JMP指令有什么作用?(5)为什么特别强调为子程序加上必要的注释?(6)子程序采用堆栈传递参数,为什么要特别注意堆栈平衡问题?(7)参数传递的“传值”和“传址”有什么区别?(8)INC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1