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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课后习题解答.docx

1、微机原理课后习题解答 文档编制序号:KKIDT-LLE0828-LLETD298-POI08微机原理课后习题解答微机原理习题第一章 绪论习题与答案1. 把下列二进制数转换成十进制数、十六进制数及BCD码形式。(2) =解:(2) = = = (1001 0010 0101)BCD2. 把下列十进制数转换成二进制数。(1) 100D =(2) 1000D =(3) =解:(1) 100D = 01100100B(3) = 3. 把下列十六进制数转换成十进制数、二进制数。(1) 2B5H =(2) =解: (1) 2B5H = 693D = 0010 1011 0101B (2) = = 0100

2、 1100 0101 B4. 计算下列各式。(1) A7H+B8H =(2) E4H-A6H =解:(1) A7H+B8H = 15FH(2) E4H-A6H = 3EH5. 写出下列十进制数的原码、反码和补码。(1) +89(2) -37解:(1) +89 原码、反码和补码为: 01011001B6求下列用二进制补码表示的十进制数 (1)(01001101)补 = 解: (1)(01001101)补 = 77D7请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011 (2)O: 1001111 (3)M: 1001101 (4)P: 1010000解: (1)C:0

3、 1000011 (2)O: 0 1001111 (3)M:1 1001101 (4)P: 1 10100008请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011 (4): 0111110解: (1)+:0 0101011 (2)=: 1 0111101 (3)#:1 0100011 (4): 1 01111109叙述 CPU 中PC的作用。解:PC是CPU中的程序计数器,其作用是提供要执行指令的地址。第二章 微处理器体系与结构习题与答案1. 80868088 CPU 由哪两大部分组成请分别叙述它们的功能。解:8

4、086/8088 CPU均由两个独立的逻辑单元组成,一个称为总线接口单元BIU(Bus Interface Unit),另一个称为执行单元EU(Execution Unit)。总线接口单元BIU取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储器单元或I/O端口存取数据。执行单元EU任务是执行指令,进行全部算术逻辑运算、完全偏移地址的计算,向总线接口单元BIU提供指令执行结果的数据和偏移地址,并对通用寄存器和标志寄存器进行管理。2. 80868088与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点解:总线接口部分和执行部分是分开的,每当EU

5、执行一条指令时,造成指令队列空出2个或空出一个指令字节时 ,BIU马上从内存中取出下面一条或几条指令,以添满他的指令队列。这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令。即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是同时进行的。这样大大提高了CPU利用率,降低了系统都对存储器速度的要求。 3. 状态标志和控制标志有何不同80868088的状态标志和控制标志分别有哪些解:8086/8088 CPU设立了一个两字节的标志寄存器,共九个标志。其中标志位O、S、Z、A、P、C是反映前一次涉及ALU操作结果的

6、状态标志,D、I、T是控制CPU操作特征的控制标志。4. 80868088 CPU寻址存储器时,什么是物理地址逻辑地址它们之间有何关系解:8086/8088系统中每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码。在CPU与存贮器之间进行任何信息交换时,需利用物理地址来查找所需要的访问的存储单元。逻辑地址由段地址和偏移地址两部分组成。逻辑地址的表示格式为:段地址:偏移地址。知道了逻辑地址,可以求出它对应的物理地址:物理地址=段地址10H+偏移地址。5. 段寄存器CS1200H,指令指针寄存器IPFF00H,此时,指令的物理地址为多少指向这一物理地址的CS值和IP值是唯一的吗解:根

7、据:物理地址=段地址10H+偏移地址,指令的物理地址为21F00H。指向这一物理地址的CS值和IP值不唯一。6. 8086 CPU中 信号和A0信号是通过怎样的组合解决存储器和外设端口的读写的这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分怎样区分解:若存取一个字节的数据,总是用一个总线周期来完成该操作;若存取一个字,则依该字是规则字还是不规则字需用一个或两个总线周期来完成。对规则字,只用一个总线周期来完成16位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存储操作,先取其奇地址字节(即数据的低位字节),然后存取偶地址字节。在组成存储系统时,总是偶地址单元

8、的数据通过AD0AD7传送,而奇地址单元的数据通过AD8AD15传送,即通过总线高字节传送。 信号和A0信号控制存储器读写见下表: 操作A0 使用的数据总线存取规则字 00AD15AD0传送偶地址的一个字节10AD7AD0传送奇地址的一个字节01AD15AD8存取非规则字 01AD15AD8(第一个总线周期)10AD7AD0(第二个总线周期)11为非法码7什么叫总线为什么各种微型计算机系统中普遍采用总线结构答:总线是模块与模块之间传送信息的一组公用信号线。总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。8微

9、型计算机系统总线从功能上分为哪三类它们各自的功能是什么答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。98086/8088 CPU 分为哪两个部分如何协调工作答:EU是执行部件,主要的功能是执行指令和形成有效地址。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BI

10、U提供服务时,BIU可进行填充指令队列的操作。108086/8088 CPU的地址总线有多少位其寻址范围是多少答:8086/8088 CPU的地址总线共20 位,最大可寻址1MB空间。118086/8088 CPU使用的存储器为什么要分段怎么分段答:8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的

11、存储器物理地址实际使用的解决办法是:将1MB大小的存储空间分为若干“段”,每段不超过64KB。这样,一个20位的物理地址就可以用“16位段基址:16位偏移量”的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。128086/8088 CPU 中有几个通用寄存器有几个变址寄存器有几个指针寄存器通常哪几个寄存器亦可作为地址寄存器使用答:8086/8088 CPU 中共有:8个16位的通用寄存器AX、BX、CX、DX 、BP、SP、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;其中BX、BP、SI、DI 亦可作地址寄存器。13Intel 8086与808

12、8有何区别答:8086与8088的区别主要表现在以下几个方面:第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。第三、其他不同的引脚定义:(1)AD15AD0,在8086中为地址/数据复用,而在8088中AD15AD8 改为A15A8只作地址线用;(2)34、28号引脚定义不同。148086/80

13、88CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号当CPU访问外设接口时,要利用哪些信号答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:、ALE、DEN、READY、AD0AD15、A19/S6A16/S3。若访问外设,需用到以下信号:、ALE、DEN、READY、AD0AD15。15试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:(1)1278H3469H答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1(2)54E3H27A0H答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0(3)3881H3597H答:

14、CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1(4)01E3H01E3H答:CF=0 AF=0 ZF=1 SF=0 OF=0 PF=1其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标志OF 用于判别带符号数运算是否超出数的表示范围。奇偶标志PF 只能判断结果低8 位中“1”的个数为奇数还是偶数。16什么是逻辑地址什么是物理地址它们之间有什么联系各用在何处答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。由于8086/8

15、088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址段基址*16偏移量;另外,一个物理地址可对应多个逻辑地址。17设现行数据段位于存储器0B0000H0BFFFFH 单元,DS 段寄存器内容为多少答: DS 段寄存器内容为0B000H。18在8086中,逻辑地址、偏移地址、物理地址分别指的是什么 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值。物理

16、地址是8086芯片引线送出的20位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。19给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C0E0H,求出该内存单元的物理地址。答:物理地址:0C2EC0H。208086/8088为什么采用地址/数据引线复用技术答:考虑到芯片成本和体积,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。21怎样确定8086的最大或最小工作模式 答:引线的逻辑状态决定808

17、6的工作模式,引线接高电平,8086被设定为最小模式,引线接低电平,8086被设定为最大模式。228086基本总线周期是如何组成的答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。23在基于8086的微计算机系统中,存储器是如何组织的存储器是如何与处理器总线连接的信号起什么作用答:8086为16位微处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接D7D0,“体选”信号接地址线A0;奇体的数据线连接D15D8,“体选”信号接信号;A0信号有效时允许访问偶体中的低字节存储单元,信号有

18、效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。24有一个由20个字组成的数据区,其起始地址为610AH:1CE7H。试写出该数据区首末单元的实际地址PA。首单元地址:610A0H+1CE7H=62D87H末单元地址:62D87H27H=62DAEH25有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H和00135H,试画出它们的存储器示意图。地址内容00130H0DAH00131H31H00132H00133H00134H00135H7F00136H5E26试说明8086CPU的控制引脚ALE的作用。答:8086的低位地址

19、线与数据线复用,为保证地址线维持足够的时间,需使用ALE信号将低位地址线通过锁存器保存,以形成系统地址总线。第三章 80x86指令系统习题与答案1、指出下列指令中操作数的寻址方式(8086系统)。(1) MOV AX,100 (2) MOV AX,100(3) MOV DL,BP+SI (4) MOV BX,CX(5) MOV DX,SI (6) MOV 1234HBX,DS(7) MOV DI+5678H,AL (8) MOV 12BPDI,BH(9) POP CX (10)MOV AX,BX+SI+10解: 目的操作数源操作数(1) MOV AX,100寄存器寻址立即数寻址(2) MOV

20、AX,100寄存器寻址直接寻址(3) MOV DL,BP+SI寄存器寻址基址变址寻址(4) MOV BX,CX寄存器间接寻址寄存器寻址(5) MOV DX,SI寄存器寻址寄存器间接寻址(6) MOV 1234HBX,DS寄存器相对寻址寄存器寻址(7) MOV DI+5678H,AL寄存器相对寻址寄存器寻址(8) MOV 12BPDI,BH相对基址变址寻址寄存器寻址(9) POP CX隐含为堆栈寄存器寻址(10)MOV AX,BX+SI+10寄存器寻址相对基址变址寻址2、指出下列指令中操作数的寻址方式(80386系统)。(1) MOV EBX+12H,AX (2) MOV EBP+EDI*2,E

21、BX(3) MOV EBX*4,BX (4) MOV EDX,EAX+ESI*8-12H解:目的操作数源操作数(1)寄存器相对寻址 寄存器寻址 (2)基址比例变址寻址寄存器寻址(3)比例变址寻址 寄存器寻址(4)寄存器寻址相对基址比例变址寻址3、指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。(1) PUSH 1234H (2) MOV CS,AX(3) IN AX, 300 (4) MOV AX,DX+12(5) MOV BX,BX (6) MOV DS,1000H(7) XCHG AL,AL (8) MOV AL,100H(9) MOV DX,AL (10)LEA BL,B

22、X+5(11)LEA DX,BX (12)MOV 1000H,12H(13)ADD AX,DS (14)SUB 0100H,BYTE PTR 0001(15)SHL BL,2 (16)SHR CL,CL(17)MUL AL,BL (18)INT 400解:(1)非法,8086系统不允许PUSH指令的操作数为立即数;(2)非法,MOV指令中CS不能作为目的操作数;(3)非法,端口号大于0FFH;(4)非法,DX不能出现在中括号内;(5)合法;(6)非法,不能把立即数赋给段寄存器;(7)合法;(8)非法,源操作数大于0FFH,不能赋给8位寄存器AL;(9)非法,源操作数是8位寄存器,目的操作数却是

23、16位寄存器,不匹配;(10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;(11)非法,LEA指令的源操作数只能是存储器操作数;(12)非法,指令存在歧义,无法确定传送的是字节还是字;(13)非法,段寄存器不能参与算术运算;(14)非法,源和目的寄存器不能同为存储器操作数;(15)非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;(16)合法;(17)非法,在8086系统中MUL指令没有双操作数的用法;(18)非法,中断类型号大于0FFH。4、指出以下指令中,哪些指令是非法的,并说明为什么(80386系统)。(1) MOV AX,12EBXSI*16 (2

24、) RCR EAX,10(3) PUSH 5678H (4) POP 1000H(5) MOV EAX+EAX,EAX (6) MOV AL,ESP+ESP*2(7) MOV BL,AX+12 (8) IMUL AL,BL,12解:(1)非法,比例因子只能是1、2、4、8,不能是16;(2)合法;(3)合法;(4)非法,POP指令的目的操作数不能是立即数;(5)合法;(6)非法,ESP只能作为基址寄存器,不能作为变址寄存器;(7)非法,在386系统中AX不能作为基址寄存器,也不能作为变址寄存器;(8)合法。5、假设(AX)=1234H,(BX)=5678H,(SP)=1000H,指出执行下面的

25、程序段后,各相关寄存器及堆栈段中的内容。PUSH AX ;(AX)=,(BX)=,(SP)=,栈顶字节SP=, 栈顶第二字节SP+1=PUSH BX ;(AX)=,(BX)=,(SP)=,栈顶字节SP=, 栈顶第二字节SP+1=POP AX ;(AX)=,(BX)=,(SP)=,栈顶字节SP=, 栈顶第二字节SP+1=解:(AX)=1234H,(BX)=5678H,(SP)=0FFEH,栈顶字节SP=34H,栈顶第二字节SP+1=12H(AX)=1234H,(BX)=5678H,(SP)=0FFCH,栈顶字节SP=78H,栈顶第二字节SP+1=56H(AX)=5678H,(BX)=5678H,

26、(SP)=0FFEH,栈顶字节SP=34H,栈顶第二字节SP+1=12H6、假设A、B、C、D、X、Y为字节变量,AA、BB、YY为字变量,试利用算术运算指令编写程序段,完成以下各算术运算题。(1)计算YYA+B*C,其中A、B、C都是无符号数;(2)计算(AA+BB)/(C-D),商赋给X,余数赋给Y,其中AA、BB、C、D都是带符号数;(3)计算YY(A-B)*C,其中A、B、C都是未组合BCD码。解:(1)MOV AL,B MUL C ADD AL,A ADC AH,0 MOV YY,AX(2)MOV AX,AA ADD AX,BB MOV BL,C SUB BL,D IDIV BL M

27、OV X,AL MOV Y,AH(3)MOV AL,A SUB AL,B AAS MUL CAAMMOV YY, AX7、利用移位指令编写程序段,实现以下运算。(1)计算AXAX*10,其中AX为无符号数;(2)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)(DX,AX)*2。(3)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)(DX,AX)/2。解:(1)SHL AX,1 MOV BX,AX SHL AX,1 SHL AX,1 ADD AX,BX(2)SAL AX,1 RCL DX,1(3)S

28、AR DX,1RCR AX,1 8、指出以下指令执行后,标志寄存器OF、SF、ZF、AF、PF、CF的状态。(1)(AL)=0FFH,(BL)=20H,执行指令:ADD AL,BL(2)(AL)=01H, (BL)=02H,执行指令:CMP AL,BL(3)(AL)=0FFH,执行指令:INC AL(4)(AL)=0,执行指令:DEC AL(5)(AL)=0F0H,(BL)=04H,执行指令:IMUL BL(6)(AX)=1F0H,(BL)=08H,执行指令:DIV BL(7)(AL)=12H, (BL)=34H,执行指令:TEST AL,BL(8)(AL)=98H,执行指令:SAL AL,1

29、解:OFSFZFAFPFCF(1)000001(2)010111(3)00111(4)01011(5)00(6)(7)00000(8)10011注:0表示结果为0,1表示结果为1,表示结果不变,表示结果不确定。9、在8086系统下,编写实现如下功能的程序段:(1)从地址为80H的端口中读入一个字节;(2)如果该字节最高位为“1”,则将字节0FFH送到地址为81H的端口中,并退出程序;(3)如果该字节最高位为“0”,则转向第(1)步,继续循环扫描。解: 参考程序段:AGAIN: IN AL, 80HTEST AL, 80HJZ AGAINMOV AL, 0FFHOUT 81H, AL10、我们知道,MOV指令并不能直接修改CS、IP的值,但事实上,我们还可以通过其他方法来达到修改CS、IP的目的。试编写一个程序段,使该程序段运行后,(CS)=0100H,(IP)=0000H。解:方法一、利用段间返回指令RETF:MOV AX,0100HPUSH AX ;段基址入栈MOV AX,0PUSH AX ;偏移量入栈RETF方法二、利用JMP指令实现段间跳转,假设ADDR为双字变量:MOV WORD PTR ADDR,0 ;WORD PTR ADDR偏移量MO

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

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