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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理及接口技术李干林习题参考解答.docx

1、微机原理及接口技术李干林习题参考解答习题参考解答1.1 什么是微处理器、微型计算机、微型计算机系统? 参考答案:将运算器和控制器集成在一块大规模集成电路芯片上作为中央处理部件,简称为微处理器;以微处理器为核心,再配上存储器、接口电路等芯片,构成微型计算机;微型计算机系统由硬件和软件系统两大部分组成:(1)硬件系统由微型计算机和外设组成的计算机实体;(2)软件系统是指为微型计算机运行的全部技术资料和各种程序,由系统软件和应用软件构成。1.2 什么是微型计算机的三种总线?参考答案:系统总线包含有三种不同功能的总线,即数据总线DB(Data Bus)、地址总线AB(Address Bus)和控制总线

2、CB(Control Bus)。 “数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或IO接口等其它部件,也可以将其它部件的数据传送到CPU。 “地址总线AB”是专门用来传送地址的,由于地址只能从CPU传向外部存储器或IO端口,所以地址总线总是单向三态的。 “控制总线CB”用来传送控制信号和时序信号。1.3 评估微型计算机的主要技术指标有哪些?参考答案:评估微型计算机的主要技术指标有:CPU的字长,决定计算机内部一次可以处理的二进制代码的位数;内存储器容量与速度,内存储器容量是衡量它存储二进制信息量大小的一个重要指标,内存储器的速度用存取周期来

3、衡量;CPU指令执行时间,反映CPU运算速度的快慢;系统总线的传输速率等。1.4 将下列十进制数分别转换为二进制、十六进制数。 35 130 0.625 48.25参考答案: 100011B,23H 10000010B,82H 0.101B,0.AH 110000.01B,30.4H1.5 将下列二进制数分别转换为十进制、八进制、十六进制数。 101101B 11100110B 110110.101B 101011.011B参考答案: 45,55Q,2DH 230,346Q,E6H 54.625,66.5Q,36.AH 43.375,53.3Q,2B.6H1.6 写出下列十进制数的原码、反码、

4、补码(分别采用8位二进制和16位二进制表示)。 38 120 -50 -89参考答案: 原码、反码、补码:00100110B,0000000000100110B 原码、反码、补码:01111000B,0000000001111000B 原码:10110010B,1000000000110010B 反码:11001101B,1111111111001101B 补码:11001110B 1111111111001110B -89原码:11011001B,1000000001011001B 反码:11001101B,1111111111001101B 补码:11001110B 11111111110

5、01110B 1.7 已知补码求出其真值和原码。 21H 93H 45A6H 0DA25H参考答案: 真值:+21H,原码:21H 真值:-6DH,原码:EDH 真值:+45A6H,原码:45A6H 真值:-25DBH,0A5DBH1.8 将下列十进制数转换为压缩和非压缩格式的BCD码。 12 55 147 368参考答案: 00010010B,00000001 00000010B 01010101B,00000101 00000101B 000101000111B,00000001 00000100 00000111B 001101101000B,00000011 00000110 0000

6、1000B1.9 下列十进制数算术运算,试用8位二进制补码计算,并用十六进制数表示运算结果,判断是否有溢出。 35-45 80+50 -70-60 -20 +(-60)参考答案:各数的补码:35补 = 00100011B,-45补 = 11010011B,80补 = 01010000B,50补 = 00110010B,-70补 = 10111010B,-60补 = 11000100B,-20补 = 11101100B。 35-45=11110110B=-10,结果正确,没有溢出; 80+50=10000010B=-126,结果不正确,有溢出,因为130超出了8位补码的表示范围上限+127; -

7、70-60=01111110B=-126,结果不正确,有溢出,因为-130超出了8位补码的表示下限-128; -20 +(-60)=10110000B=-80,结果正确,没有溢出。1.10 分别写出下列字符串的ASCII码(十六进制表示)。 3aB8 eF10 +5(0: How are you?参考答案: 33614238H 65463130H 2B3528303AH 486F770061726500796F753FH2.1 8086CPU内部由哪两部分组成?它们的主要用途是什么?参考答案:8086CPU内部按功能分执行单元EU和总线接口单元BIU。执行单元的功能:负责指令的执行。同时向BI

8、U输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下进行。总线接口单元的功能:负责从内存或I/O 端口取指令、取操作数和保存运算结果。2.2 8086/8088CPU 有哪些寄存器?各有什么用途?参考答案:8086/8088 CPU 内部有 14 个 16 位的寄存器,按功能可分为:通用寄存器(8个)、段寄存器(4个)和控制寄存器(2个)。通用寄存器组EU中有4个16位的通用寄存器,即数据寄存器 AX、BX、CX、DX。数据寄存器 AX、BX、CX、DX一般用来存放数据,但它们都有各自的特定用途。AX称为累加器,是最常用的寄存器。它常用

9、来存放算术逻辑运算中的操作数,而且一些操作要在 AX 中完成,如乘法操作和除法操作。此外,所有的 I/O 指令都使用累加器与外设端口交换信息。BX称为基址寄存器。它常用来存放操作数在内存中数据段内的基地址。CX称为计数器。在设计循环程序时一般使用该寄存器存放循环次数。DX称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。指针和变址寄存器8086/8088CPU中,有一组4个16位寄存器,它们是基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容是某一

10、段地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。SP称为堆栈指针寄存器;BP称为基址指针寄存器; SI称为源变址寄存器;DI称为目的变址寄存器。段寄存器 CS、DS、SS、ES8086/8088 有 20 位地址总线,一共可以寻址 1M 的空间。而所有内部寄存器都是16位的,只能直接寻址64KB,因此采用分段技术来解决。将1MB的存储空间分成若干逻辑段,每段最长64KB,这些逻辑段在整个存储空间中可以浮动。8086/8088定义4个独立的逻辑段,分别为:代码段、数据段、堆栈段和附加数据段,将程序代码或数据分别放在这 4 个逻辑段中。每个逻辑段的段地址分别放在对应的段寄存器中,

11、代码或资料在段内的偏移地址由有关寄存器或立即数给出。8086/8088 的 4 个段寄存器: CS称为代码段寄存器,用来存储程序当前使用的代码段的段地址(起始地址)。 DS称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 SS称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。 ES称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。指令指针寄存器 IPIP称为指令指针寄存器,用来存放预取指令在代码段内的偏移地址。. 标志寄存器FF称为标志寄存器,是一个 16 位的寄存器,其中只用了 9 位。分别为 6 个状态标志位和 3 个控制标志位。2.3 8086/8088CP

12、U 中标志寄存器有几位状态位?有几位控制位?其含义各是什么?参考答案:标志寄存器是一个 16 位的寄存器,其中只用了 9 位。分别为 6 个状态标志位和 3 个控制标志位。 状态标志位状态标志位用来反映算术和逻辑运算结果的一些特征。 CF:进位标志位。当进行加减运算时,若最高位发生进位或借位则CF1,否则 CF0。 PF:奇偶标志位。当运算结果的低 8 位中含有偶数个 1 时,PF1,否则 PF0。 AF:辅助进位标志位。加法或减法运算时,若结果的低字节的低 4位向高 4 位有进位或借位,则 AF1;否则 AF0。 ZF:零标志位。若当前的运算结果为 0,则 ZF1;否则 ZF0。 SF:符号

13、标志位。与运算结果的最高位相同,当运算结果的最高位为 1时,SF=1;否则为 0。 OF:溢出标志位。当运算结果超出了带符号数的范围,即溢出时,OF=1;否则 OF=0。 控制标志位控制标志位有 3 个,用来设置控制条件来控制 CPU 的操作,由程序设置或清除。 TF:跟踪标志位。 IF:中断允许标志位。用来控制可屏蔽中断的控制标志。若 IF=1,允许 CPU 接受可屏蔽中断请求;若 IF0,则禁止 CPU 回应可屏蔽中断请求。IF 的状态对非屏蔽中断及内部中断没有影响。 DF:方向标志位。控制串操作指令用的标志。2.4 Intel 8086CPU 和 8088CPU 主要区别有哪些?参考答案

14、:8086CPU 与 8088CPU 的区别主要有以下 4 个方面:. 内部结构8086 的指令队列有 6B,而 8088 仅有 4B。它们的执行单元 EU 完全相同,而总线接口单元 BIU 却不完全相同。8086CPU 内、外部的数据总线(DB)都为 16 位,8088 内部数据总线为 16 位,外部为 8 位。. 引出线和内存组织8086 有一条高 8 位数据总线允许引出线,它可以看做一条附加的地址线,用来访问内存的高字节,而 A0 用来访问内存的低字节。. 地址/数据复用线8086 的地址/数据复用线是 16 位 AD15AD0;而 8088 仅有 AD7AD0 复用,A8A15仅作为地

15、址线使用。. 内存与 I/O 接口选通信号电平。内存与 I/O 接口选通信号电平不同:8086 为M/ ,即高电平进行存储器操作,低电平进行 I/O 操作;而 8088 则相反,为IO/ 。2.5 逻辑地址和物理地址指的是什么?如果已知逻辑地址为 1200:0ABCDH,其物理地址为多少?参考答案:把用段地址和偏移地址表示存储单元的地址称为逻辑地址,段地址和段内偏移地址经20位地址加法器生成的20位地址称为物理地址。已知逻辑地址为 1200:0ABCDH,其物理地址为 12000H + 0ABCDH= 1CBCDH。2.6 若CS为3000H,试说明现行代码段可寻址的存储空间的范围。参考答案:

16、可寻址的存储空间的范围:30000H+0000H 30000H+FFFFH,既:30000H3FFFFH2.7 设现行数据段位于存储器10000H到1FFFFH存储单元,DS段寄存器内容为多少?参考答案:一个逻辑段最大范围:0000HFFFFH,因此DS段寄存器内容为:1000H。2.8 设双字节12345678H的起始地址是1000H,试说明这个双字在存储器中如何存放?参考答案:2.9 已知堆栈段寄存器SS=4000H,堆栈指针SP=0100H,试将数据56789ABCH推入堆栈,画出进栈示意图。最后栈顶SP=?参考答案: 最后栈顶SP=400FCH2.10 试求出下列运算后的各个状态标志。

17、 1234H + 6789H 23A5H 65C2H参考答案: 1234H + 6789H=79BDH,CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0; 23A5H65C2H=0BDE3H,CF=1,PF=0,AF=0,ZF=0,SF=1,OF=0。2.11 8088CPU工作在最小模式时。 当CPU访问存储器时,要利用哪些信号? 当CPU访问I/O时,要利用哪些信号?参考答案: IO/=0,A19/S16 A16/S3,A15 A8,AD7 AD0,ALE,读存储器时:=0,DT/=0(写存储器时:=0,DT/=1),。IO/=1,A19/S16 A16/S3,A15 A8,AD

18、7 AD0,ALE,读IO端口时:=0,DT/=0(写IO端口时:=0,DT/=1),。2.12 简要说明 8086/8088 的指令周期、总线周期、机器周期和时钟周期有何不同。参考答案:(1) 指令周期由若干个机器周期组成,而机器周期时间又包含若干个时钟周期,总线周期一般由 4 个时钟周期组成。(2) 机器周期和总线周期的关系是:机器周期指的是完成一个基本操作的时间,这个基本操作有时可能包含总线读/写,因而包含总线周期,但是有时可能与总线读/写无关,所以,并无明确的相互包含关系。2.13 什么情况下插入TW等待周期?插入TW多少,取决什么因素?参考答案:在T3状态,CPU采样READY线,若

19、READY信号无效,插入TW状态;插入TW状态为一个至多个,直到READY信号有效,才进入T4状态。2.14 什么情况下会出现总线的空闲周期?参考答案:只有在8086CPU和存储器或I/O接口之间传输数据时,CPU才执行总线周期,当CPU不执行总线周期时(指令队列6个字节已装满,EU未申请访问存储器),总线接口部件不和总线打交道,就进入了总线空闲周期Ti 。在空闲周期中,虽然CPU对总线进行空操作,但是CPU内部操作仍然进行,即EU部件在工作。所以说,总线空操作是总线接口部件BIU对总线执行部件EU的等待。3.1 指出下列传送类指令源操作数的寻址方式。(1) MOV SI,120 (2) MO

20、V BX,DX(3) MOV AX,100BXDI (4) MOV DI,BX100(5) MOV AX,1000H (6) MOV AX,80H(7) MOV AX,BX (8) MOV CX,BXSI参考答案:(1) 立即数寻址 (2) 寄存器寻址(3) 基址加变址寻址 (4) 基址寻址(5) 直接寻址 (6) 立即数寻址(7) 基址寻址 (8) 基址加变址寻址3.2 指出下列指令中存储器操作数物理地址的计算表达式。(1) MOV SI,BX (2) MOV 8DI,DX(3) MOV AX,BPSI (4) ADD DI,BX100(5) ADD AX,1000H (6) SUB AX,

21、BX+DI+80H(7) ADD AX,ES:BX (8) DEC WORD PTRSI参考答案:(1) DS16BX (2) DS16DI8(3) SS16BPSI (4) DS16BX100(5) DS161000H (6) DS16BXDI80H(7) ES16BX (8) DS16DI3.3 指出下列指令中的错误。(1) MOV BX,AL (2) MOV CS,AX(3) MOV 100,CL (4) MOV BX,1000H(5) PUSH 1234H (6) MOV CS ,1200H(7) XCHG AH,12H (8) INC 2000H(9) ADD BX,10 (10)

22、OUT 258H,AX参考答案:(1) 源操作数和目的操作数寄存器类型不匹配(2) 代码段寄存器CS不允许赋值(3) 立即数不能做目的操作数(4) 内存单元之间不能直接传送(5) 立即数不能做堆栈指令操作数(6) 代码段寄存器CS不允许赋值(7) 立即数不能做交换指令操作数 (8) 字类型还是字节类型不明确(9) 目的操作数类型不明确 (10) 端口地址大于8位二进制数,需要通过DX传送。3.4 设(SP)3000H,(AX)1234H,(BX)5678H,指出执行下列指令后相关寄存器的内容。 PUSH AX PUSH BX POP AX POP BX参考答案:执行后,(AX)5678H, (

23、BX)1234H, (SP)3000H。3.5 若AX=1234H,BX=3456H,当执行SUB AX,BX指令后,求AX和标志寄存器CF、AF、SF、ZF和OF标志位的值?参考答案:(AX)=0DDDEH,CF=1,AF=1,SF=1,ZF=0,OF=0。3.6 设(AH)0F6H,(AL)90H,问执行SUB AH,AL指令后,AX中的值及标志寄存器CF、AF、SF、ZF、PF和OF标志位的值?参考答案:(AX)=6690H,CF=0,AF=0,SF=0,ZF=0,OF=0,PF=1。3.7 设(BX)1000H,(DI)0050H,执行LEA BX,BXSI0200H后,(BX)?参考

24、答案:(BX)0E50H3.8 已知(DS)2000H,(SS)5000H,(AX)0012H,(BX)0340H,(CX)0781H,(BP)0035H,(SI)0100H,(DI)0300H,(20440H)2104H,(20742H)0E2AH,(20372H)6FD3H,试求单独执行下列指令后的结果。 参考答案:(1) MOV DL,BXSI ;(DL)04H(2) MOV BPDI,CX ;(50336H)07H(3) LEA BX,100HBXDI ;(BX)0740HMOV DX,2BX ;(DX)0E2AH(4) SUB SI,CX ;(SI)0F97FH(5) XCHG CX

25、,32HBX ;(CX)6FD3H3.9 下列指令完成什么功能?(1) NEG BX (2) MUL BL(3) DIV CL (4) DEC AX(5) SBB AX,CX (6) INC DL(7) ADC AX,1000H (8) SAR AL,CL(9) DAA (10) CBW参考答案: (1) 将BX中的内容求补(正数变负数或负数变正数,绝对值不变)后送回BX。 (2) BLAL,结果送AX。(3) AX/CL,商存于AL,余数存于AH。 (4) AX中值减1,结果送回AL。(5) AX中的值减去BX中的值再减去CF中的值,结果送回AX。 (6) DL中的值当无符号数加1,结果送回

26、DL。(7) AX中的内容加上1000H后,再加上CF的值,结果送回AX。 (8) AL中的值向右移,移动位数为CL中的值,AL左边补充符号位的值。(9) 将AL中的两位BCD码加法运算的结果调整为两位压缩型十进制数,仍保留在AL中。 (10) 将AL的最高有效位扩展至AH。3.10 已知AX=3405H,BX=0FE1H,CX=0002H,DX=2A3EH,求下列每条指令执行后目的操作数的结果。(1) AND AH,BL (2) OR CL,20H(3) NOT DX (4) XOR CX,0FE3H(5) TEST AL,80H (6) CMP BX,OF123H(7) SHR DX,CL

27、 (8) SAR AL,CL(9) RCL AL,1 (10) ROR DX,CL参考答案:(1) (AH)=02H (2) (CL)=22H(3) (DX)=0D5B1H (4) (CX)=0FE1H(5) (AL)=05H (6) (BX)=OFE1H(7) (DX)=0A8FH (8) (AL)=01H(9) (AL)=0AH (10) (DX)=8A8FH3.11 设(AX)54D1H,执行下列程序段指令后,求相应的结果。 MOV BL,AH 参考答案: MOV CL,AL ADD BL,100 ;BL=0B8H XCHG AL,BL ;AL=0B8H SUB AL,CL ;AX=54

28、E7H JS HH AND AL,0FH HH: ADC AH,BL ;AX=26E7H BL=0D1H3.12 设(AX)1023H、(BX)0430H,执行下列程序段指令后,求相应的结果。 MOV CL,2 参考答案: SHR AH,CL ;AX=0423H ADD BX,AX ;BX=0853H JMP NEXT MUL BLNEXT:OR AX,BX ;AX=0C73H HLT 3.13 已知当前数据段中有一个十进制数字09的7段ASCII表,其数值依次为30H39H,其首地址为2000H。要求用XLAT指令将十进制数46转换成相应的7段代码值,存到AX寄存器中,试写出相应的程序段。参

29、考答案: MOV BX, 2000H MOV AL,4 XLAT MOV AH,AL MOV AL,6 XLAT HLT3.14 设有程序段: DATA SEGMENT STRING DB Today is saturdy! N EQU $-STRING DATA ENDS试用字符串指令完成以下功能: 把该字符串传送到附加段中偏移量为CHAR1开始的内存单元中; 检查该字符串是否有“!”字符,若有将找到的第一个“!”用“?”将其替换。参考答案: CLD MOV CX,N LEA SI,STRING LEA DI,CHAR1 REP MOVSB LEA DI,STRING MOV AL,! MOV CX,N CLD REPNE SCASB MOV AL,? MOV DI,AL3.15 阅读程序段,说明其完成的功能。 MOV CX,100 MOV DL,0 MOV BX,1000H LP1:MOV AL,BX CMP AL,0 JNZ LP2 INC DLLP2:INC BXLOOP LP1 MOV BX,DL HLT参考答案:程序段的功能:统计从数据段偏移地址1000H的100个字节单元内容0的个数,并将统计 结果存入数据段偏移地址为1064H的内存单

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2