微机原理与接口技术(科学出版社)第4章课后习题及答案
- 格式:docx
- 大小:36.94 KB
- 文档页数:5
微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。
其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。
冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。
2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。
微型计算机系统结构如下图所示。
3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。
7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。
PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。
单片机微型计算机原理及接口技术课后习题答案第4章4-2 试述指令MOV A,R0和MOV A,@R0的区别两条指令的目的操作数相同,两条指令的区别在于源操作数来源不同:MOV A,R0 指令的源操作数就是R0寄存器的内容;而MOV A,@R0 指令的源操作数是位于存储器单元内,且存储器单元的地址是R0寄存器的内容。
4-3 试述指令MOV A,20H和MOV A,#20H的区别MOV A,20H 源操作数是直接寻址,20H表示源操作数所在存储器单元的地址。
MOV A,#20H 源操作数是立即数寻址,#20H是立即数,也就是源操作数。
4-4 说明一下指令中源操作数所在的存储器类型。
(1)MOV A,#30H; 立即数#30H,就是源操作数,存在于指令中,所以位于程序存储器。
(2)MOV A,30H; 30H是源操作数所在数据存储单元的地址,所以源操作数位于数据存储器。
(3)MOVC A,@A+DPTR;源操作数是变址寻址, 助记符MOVC表示源操作数位于程序存储器。
(4)MOVX A,@DPTR; 源操作数是寄存器间接寻址, 助记符MOVX表示源操作数位于外部数据存储器。
4-5 判断下列指令书写是否正确:(1)MOV A,B; ✔(2)MOV A,#3000H ; ✘,因为A是8位寄存器,而#3000H是16位数值,没法全部存到A里(3)INC,#20H ; ✘只能INC A/direct/Rn/@Ri/DPTR(4)MOV 5,A ; ✔,注意目的操作数是直接寻址方式,不是立即寻址(5)MOV 30H,40H; ✔(6)MOV B,@DPTR ; ✘,@DPTR寻址用于MOVX指令,不能用于MOV指R(7)CJNE 30H,#80H,NEXT ; ✘,CJNE指令格式只能是CJNE A/Rn/@Ri,#data,rel或CJNE A,direct,rel(8)POP A ; ✘只能是直接寻址方式POP direct,正确的是POP ACC(9)PUSH ACC; ✔(10)SJMP 2000H ; ✘rel的范围是-128~127(用补码表示其值)共256B范围4-6 设ACC=12H,B=64H,SP=60H,30H中存放的是78H,试分析下列程序执行后,ACC、B、30H、SP中的内容分别为多少,并画出堆栈示意图。
第1章绪论作业1. 将下列二进制数转换成十进制数。
(1)11001010B=202 (2)00111101B=61(3)01001101B=77 (4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4. 求下列十进制数的BCD码(1)327=11 0010 0111(BCD码)(2)1256=1 0010 0101 0110(BCD码)6. 求出下列10进制数的原码、反码和补码(2)+85 (4)-85解:85=0101 0101B原码:+85= 0101 0101B -85= 1101 0101B反码:+85= 0101 0101B -85= 1010 1010B补码:+85= 0101 0101B -85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器CPU:控制微处理器与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O之间传送数据;(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。
I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。
输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第2章 8086CPU作业2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
(2)① BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。
《微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。
答:(1)微处理器:微处理器(Microprocessor)简称µP或MP,或CPU。
CPU 是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。
(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。
其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。
一般把软件划分为系统软件和应用软件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。
答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。
当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。
第1章绪论作业1. 将下列二进制数转换成十进制数。
(1)11001010B=202 (2)00111101B=61 (3)01001101B=77(4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH (4)134= 1000 0110B =86H4. 求下列十进制数的BCD 码(1)327=11 0010 0111(BCD 码)(2)1256=1 0010 0101 0110(BCD 码)6. 求出下列10进制数的原码、反码和补码(2)+85 (4)-85 解:85=0101 0101B原码:+85= 0101 0101B -85= 1101 0101B 反码:+85= 0101 0101B -85= 1010 1010B 补码:+85= 0101 0101B -85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?解:微型计算机的基本结构框图如下:微处理器CPU :控制微处理器与存储器或I/O 设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:(1)指令控制:从存储器中取指令,指令译码;(2)数据加工:简单的算术逻辑运算;(3)操作控制:在微处理器和存储器或者I/O 之间传送数据;(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O 接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等地址总线I/O 总线微处理器CPU存储器I/O 接口I/O 设备数据总线控制总线各种功能。
I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。
输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第2章 8086CPU作业2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?答:(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
第一章习题答案一、选择题1.十进制数 66 转换成二进制数为_______。
A. 11000010B.01100110C.11100110D.01000010答案:D2.十进制数 27.25 转换成十六进制数为_______。
A. B1.4HB.1B.19HC.1B.4HD.33.4H答案:C3.下列数中最小的是________。
A. (101001)2B. (52)8C. (2B)16D. (50)10答案:A4.若一个数的 BCD 编码为 00101001,则该数与______相等。
A. 41HB.121DC.29DD. 29H答案:C5.十进制数 9874 转换成 BCD 数为________。
A. 9874HB. 4326HC. 2692HD. 6341H答案:A6.BCD 数 64H 代表的真值为_______。
A. 100B.64C.-100D.+100答案:B7.十六进制数 88H,可表示成下面几种形式,错误的表示为_______。
A. 无符号十进制数 136B.带符号十进制数-120C.压缩型 BCD 码十进制数 88D.8 位二进制数-8 的补码表示答案:D8.若[A]原=1011 1101,[B]反=1011 1101,[C]补=1011 1101,以下结论正确的是______。
A. C 最大B. A 最大C.B 最大D.A=B=C答案:B9.8 位二进制补码表示的带符号数 1000 0000B 和 1111 1111B 的十进制数分别是____。
A. 128 和 255 B. 128 和-1 C. -128 和 255 D. -128 和-1答案:D10.微机中地址总线的作用是___________。
A.用于选择存储器单元B.用于选择进行信息传输的设备C.用于指定存储器单元和 I/O 设备接口单元的选择地址D.以上选择都不对答案:C11.计算机中表示地址使用____。
A.无符号数B.原码C.反码D.补码答案:A二、填空题1.计算机的主机由_______、控制器、主存储器组成。
微机原理与接口技术第四章课后习题
1.指令主要有哪些分类方式? 其主要类别是什么?
答:操作数、级别、功能。
操作数:无操作数、单操作数、双操作数三操作数;
级别:机器指令和汇编指令
功能:传送类、算术运算类、位操作类、I/O类、串操作类、CPU控制类、转移类;
2.80X86的寻址方式有哪些?它们的具体含义是什么?
答:操作数寻址方式主要有立即寻址方式、寄存器寻地址、存储器寻址方式、端口寻址方式
(1)立即寻址方式:操作对象是这个操作数本身
(2)寄存器寻地址:操作对象是寄存器中的内容
(3)存储器寻址方式:操作对象是内存地址所对应的存储单元中的内容
(4)端口寻址方式:操作数是指明端口的地址、端口地址所对应的端口中的内容是操作对象
3. 指出下列各指令中源操作数和目的操作数的寻址方式:
⑴MOV BX,WORD PTR[2200H] ⑵ AAA
⑶JUM 2200H ⑷ LES DI,[2100H]
⑸ MOV [BX+SI+8], BX ⑹ ADD AX,[BP+3000H]
答:
⑴MOV BX, WORD PTR[2200H] 源操作数:直接寻址;目的操作数:寄存器寻址
⑵AAA 源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶JUM 2200H 程序转移段内直接寻址方式
⑷LES DI,[2100H] 源操作数:直接寻址;目的操作数:寄存器寻址
⑸MOV [BX+SI+8], BX 源操作数:寄存器寻址;目的操作数:相对基址变址寻址
⑹ADD AX,[BP+3000H] 源操作数:直接寻址;目的操作数:寄存器相对寻址
4. 设
CS=1000H,DS=2000H,ES=3000H,SS=4000H,IP=100H,SP=200H,BX=300H,BP=400H,SI=500 H,则:
(1)10202H
(2)40300H
(3)21010H
(4)42156H
(5)31510H
5.写出清除AX寄存器内容的方法并比较。
MOV AX,0
XOR AX,AX
异或指令执行速度最快
6. 若AX=0ABCDH,BX=7F8FH,CF=1。
求分别执行8086 CPU指令后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
⑴ADD AX,BX ⑵ADC AX,BX
⑶SBB AX,BX ⑷NEG AX
⑸AND AX,BX ⑹OR AX,BX
⑺XOR AX, BX ⑻IMUL BL
答:
⑴AX=2B5CH, SZAPCO=001110B ⑵AX=2B5DH, SZAPCO=001010B
⑶AX=2C3DH, SZAPCO=001001B ⑷AX=5433H, SZAPCO=001110B
⑸AX=2B8DH, SZAPCO=00X100B ⑹AX=FFCFH, SZAPCO=10X100B
⑺AX=D442H, SZAPCO=10X100B ⑻AX=3283H, SZAPCO=XXXX11B
7.若AL=78H,BL=87H
⑴求执行指令ADD AL,BL与DAA后,AL=?、标志AF=?、CF=?
⑵若执行指令SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?
答:
⑴AL=65H, AF=1, CF=1。
⑵AL=91H, AF=0, CF=1。
8.指出下列指令中哪些是错误的,并指出错在何处?
⑴MOV DL,[DX] ⑵MOV ES,2000H
⑶SUB [BX],[SI] ⑷ADD AX,[BX+CX]
⑸XCHG DS,[2400H] ⑹DEC 15H
⑺IN AL,DX ⑻OUT 300H,AX
答:
⑴错,DX不能作为间接寻址的寄存器。
⑵错,立即数不能直接送给段寄存器。
⑶错,两个存储单元间内容不能直接相减。
⑷错,CX寄存器不能作为变址寄存器。
⑸错,不允许段寄存器与存储单元内容进行交换。
⑹错,减1指令不能对段寄存器直接操作。
⑺对。
⑻错,输出指令的地址若是16位,必须用DX间址。
9.下列程序段执行后AX=?
设数据段有: TABLE DW 100,200,300,400
ENTRY DW 3
代码段对DS初始化
MOV BX,OFFSET TABLE
MOV SI,ENTRY
MOV AX,[BX+SI]
执行后AX=2C00
10.将AL中的8位二进制数按倒序方式重新排列,即AL原来为D7D6...D0,倒序后AL=D0D1 (7)
答:
MOV CX, 8
L:SHL AL, 1
RCR BL, 1
LOOP L
MOV AL, BL
11.若起始地址偏移量为2000H的内存单元存放有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口。
答:
MOV SI, 2000H
MOV CX, 100
MOV DX, 100H
NEXT2:MOV AL, [SI]
AND A L, 0FFH
JPE NEXT1
OR AL, 80H
NEXT1:OUT DX, AL
INC SI
LOOP NEXT2
MOV AH, 4CH
INT 21H
12.若SS=1000H,SP=2000H,AX=1234H,BX=5678H,FR=2115,试说明执行指令PUSH AX
PUSH BX
PUSHF
POP CX
POP DX
之后,SP=? SS=? CX=? DX=? 并画图指出堆栈中各单元的内容。
答:
SS=1000H
SP=1FFEH
CX=2115H
DX=5678H
栈中各单元内容如下所示:
13.分别写出实现下列功能的程序段:
(1)将AX中间8位,BX低四位,DX高四位拼成一个新字的程序段是:
AND DX, 0F000H
AND AX, 0FF0H
AND BX, 0FH
SHL AX, 4
SHL BX, 4
ROL DX, 4
ADD AX, BX
ADD AX, DX
(2)对数据段中以BX为偏移地址的连续三单元中的无符号数求和。
MOV AH,0
ADD AL,[BX+1]
ADC AH,0
ADD AL,2 [BX]
ADC AH,0
(3)将数据段中以BX为偏移地址的连续四单元的内容颠倒过来。
MOV AX,[BX]
XCHG AH,2[BX]
XCHG AL,3[BX]
MOV [BX],AX
(4)将BX中的四位BCD数用非压缩BCD数按序放在AH、AL、CH和CL中。
MOV DX,BX
MOV CL,4
SHR BX,CL
AND BL,0FH
AND DX,0F0FH
MOV AH,BH
MOV CH,BL
MOV AL,DH
MOV CL,DL
14.在不改变AL中数值的情况下,检测AL中1的个数,将结果放在BL中。
XOR BX, BX
MOV DL, AL
MOV CX, 8
CIRCLE:TEST DL, 01H
JNP ZERO
ADD BL, 01H
ZERO:SHR DL, 01H
LOOP CIRCLE
15.程序分析。
(1)AX=05CFH
(2)CF=0,AL=B9H
(3)SF⊕OF=1,CF=0
16.程序语句填空。
(1)下列是完成1~20之间的奇数累加和存于AL中的程序段:
XOR AL, AL
MOV CX, 10
MOV BL, 1
AGAIN:ADD AL, BL
ADD BL, 2
LOOP AGAIN
(2)下列是在串长为N的串STR中查找是否有’T’字符的程序段:
MOV Dl,SEG STR
LEA Dl,STR
CLD
MOV CX,N
MOV AL,’T’
REPNE SCASB
JZ FOUND
(3)下列是完成1位十六进制数X显示的程序段:
MOV DL, X
AND DL, 0FH
ADD DL, 30H
CMP AL, ’9’
JBE NEXT
ADD DL, 7
NEXT:MOV AH, 02H
INT 21H
17.假定AX和BX中的内容为带符号数,CX和DX的内容为无符号数,请用比较指令和转移指令实现以下条件转移:
(1)若CX的内容超过DX的内容,则转到L1。
CMP CX,DX
JA L1
(2)若BX的内容大于AX的内容,则转到L2。
CMP BX,AX
JG L2
(3)判断BX与AX相比较是否产生溢出,若溢出则转到L3。
CMP BX,AX
JO L3
(4)若BX的内容小于等于AX的内容,则转到L4。
CMP BX,AX
JLE L4
@张宏宇。