文档库 最新最全的文档下载
当前位置:文档库 › 微机原理及接口技术课后习题答案

微机原理及接口技术课后习题答案

微机原理及接口技术课后习题答案
微机原理及接口技术课后习题答案

《微机原理与接口技术》

复习题

第1章

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访问指定的存单元。

(3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。

3.何谓IA-32处理器?

答:

《微机原理与接口技术》复习题

Intel公司推出了32位结构的80386微处理器后,确定了80386芯片的指令集结构(Instruction Set Architecture)为以后开发80X86系列处理器的标准,称其为Intel 32位结构(Intel Architecture-32,IA-32),后来的80486、Pentium等微处理器统称为IA-32处理器,或称32位80X86处理器。

4.什么叫总线?总线包括哪三种?

答:

所谓总线,它将多个功能部件连接起来,并提供传送信息的公共通道,能为多个功能部件分时共享,CPU通过总线连接存储器和I/O接口等,构成了微型计算机。

这里指的总线(BUS)包括地址总线、数据总线和控制总线三种。

5.地址总线的作用是什么?

答:

地址总线(Address Bus,AB),通常是CPU用来发出地址信息的,用于对存储器和I/O 接口进行寻址。

6.什么叫溢出?判断溢出的方法是什么?

答:

(1)溢出通常指计算机运算的结果超出了计算机所能允许的围。本章所讲的溢出是指用补码实现加/减运算后,若参与操作的两数在定义域,但运算结果超出了字长围补码所能允许表示的值,所计算出的结果产生了错误,称之为溢出。

(2)加/减运算判断溢出的方法:

如果把加/减法运算都变成补码相加,则两个正数相加可能产生正的溢出,两个负数相加可能会产生负的溢出,正负两数相加不会产生溢出。

具体实现的方法是:两个操作数运算后,用最高位和次高位产生的进位位异或,异或结果为1,则表示有溢出,结果为0,表示无溢出。例如:两个8位数运算后,溢出标志OF=C6⊕C7

7.假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址存多少字节?

解:每种CPU可寻址存分别是:216=64KB、220=1MB、224=16MB、232=4GB。

8.在一般指令格式中,由哪两部分组成?

答:

由操作码和操作数组成。

9.设字长为16位,将下列十进制数转换成二进制数、十六进制数以及BCD数。

① 65 ② 129 ③ 257 ④ 513

解:

- - 2

① 65=01000000B=41H=(0110 0101)BCD

② 129=10000001B=81H=(0001 0010 1001)BCD

③ 257=100000001B=101H=(0010 0101 0111)BCD

④ 513=1000000001B=201H=(0101 0001 0011)BCD

10.设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?

① x=-78 y=35 ② x=-64 y=-66

解:

① x=-78 y=35

[X]原=11001110, [X]反=10110001, [X]补=10110010

[Y]原=00100011, [Y]反=00100011, [Y]补=00100011

[X]补+[Y]补=10110010+00100011=11010101,无溢出。

② x=-64 y=-66

[X]原=11000000, [X]反=10111111, [X]补=11000000

[Y]原=11000010, [Y]反=10111101, [Y]补=10111110

[X]补+[Y]补=11000000+10111110=01111110,有溢出。

11.试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写出它们各自的奇校验、偶校验、标记校验及空格校验的ASCⅡ码。

① B ② 8 ③ CR ④ NUL

解:各自对应的奇校验、偶校验、标记校验及空格校验的ASCⅡ码如表1所示。

表1 数、字母以及控制命令的ASCⅡ码

12.设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y,注意要做加6修正运算。

解:

1000 1001

0111 0101

1111 1110 结果不正确

110 个位加6修正

1 0000 0100 结果还不正确

.

《微机原理与接口技术》复习题

+ 110 十位加6修正

1 0110 0100 结果正确

13.若规格化32位浮点数N的二进制存储格式为41360000H,求其对应的十进制数值。

解:

41360000H=0 10000010 01101100000000000000000B

N=(-1)S×(1.M)×2E-127=(-1)0×(1.011011)×2130-127

=1.011011×23=1011.011=11.375D

14.微机中的存储器是如何编址的?

答:

在微机中,存储器均按字节(一字节由8位二进制信息组成)编址,即每个字节有一个二进制的地址编码。给每个存储单元分配的一个固定地址,称为单元地址。

15.微型计算机的硬件系统由那些部件组成?

答:

微型计算机的硬件系统主要由运算器、控制器、存储器、输入设备及输出设备五大部分组成。

16.计算机的主要性能指标有哪些?

答:字长、CPU的主频、主存储器的容量及外存储器的容量等。

第2章

1.微型计算机可以工作在哪三种工作模式下?

答:

微处理器可以工作在:实地址模式、保护模式及虚拟8086模式共三种。

2.如何从实模式转变到保护模式?

答:

通过对CPU中的控制寄存器CR0中的b0位置1,即保护允许位PE置1,于是系统进入保护模式。这是由操作系统程序来实现的。

3.实模式有哪些特征?

答:

实地址模式(Real-Address Mode)也称实模式,简单地说,是指80286以上的微处理器所采用的8086的工作模式。在实模式下,采用类似8086 CPU的体系结构,其寻址机制,尤其是存储器寻址,以及中断处理机制均和8086相同。在实模式下,关键是CPU寻址空间

- - 4

只有1MB(00000H~FFFFFH),也是采用分段管理存储器的方式,将存储器分成四种类型的段,每段存储空间最大为64KB。将1MB的存储空间保留两个区域:一个是中断向量表区(00000~003FFH),这是1KB的存储空间,用于存放256个中断服务程序的入口地址(中断向量),每个中断向量占4字节。

4.16位微处理器有哪些通用寄存器?

答:

AX、BX、CX、DX、SI、DI、SP和BP。

5.16位微处理器有哪4个段寄存器?每个段寄存器的作用是什么?

答:

4个段寄存器分别是代码段寄存器CS、数据段寄存器DS、附加段寄存器ES及堆栈段寄存器SS。

(1)代码段寄存器CS是一个随机存取存储区,用来保存微处理器使用的程序代码。在8086系统中,代码段寄存器CS定义了代码段的起始地址。代码段的最大存储空间为64KB。

(2)数据段寄存器DS也是一个随机存取存储区,用来保存程序执行过程中所使用的数据及存放程序运行后的结果。数据段寄存器DS定义了数据段的起始地址,其最大存储空间也是64KB。

(3)附加段寄存器ES是为某些串操作指令存放操作数而附加的一个数据段。与数据段类似,附加段寄存器ES定义了附加段的起始地址,其最大存储空间也为64KB。

(4)堆栈段寄存器SS是一个特殊的随机存取存储区,用来临时保存程序执行过程中有关寄存器的容、程序的地址信息及传递参数等。堆栈段寄存器SS与堆栈指针SP共同确定堆栈段的存取地址。其最大存储空间为64KB。

6.如何理解32位微处理器的通用寄存器与16位的通用寄存器兼容?

答:

虽然32位微处理器将8086原来的8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP均扩展成(Extended)32位的寄存器,即EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。但是,它保留了原来的8个16位寄存器和8个8位的寄存器,仍然可以使用它们编程,当然,所编写的程序仍然可以在32位机上运行。既可以用32位寄存器编程,还可以用16位及8位寄存器编程,这就实现了寄存器的兼容。

7.什么叫段基地址?什么叫偏移地址?

答:

编程人员在编程时,只能涉及到逻辑地址,而不能涉及到实际地址。逻辑地址在实模式下,它由段基地址与段偏移地址组成,习惯上写为“段基地址:偏移地址”,实模式下,段基地址与段偏移地址都是16位,段基地址是段起始地址的高16位,说明每个段在主存中的起始位置,段偏移地址也称“偏移量”,是所要访问存储单元距离起始地址之间的字节距离。

.

《微机原理与接口技术》复习题

在32位段的情况下,偏移量是32位。

8.段寄存器与32位偏移地址寄存器的固定搭配如何?

答:

固定搭配如表2所示。

表2 段寄存器与32位偏移地址寄存器的固定搭配

9.8086 CPU由哪两部分组成?它们的主要功能各是什么?

答:

8086 CPU部结构从功能上看,它由两大部件组成,分为总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。

(1)总线接口部件BIU的主要功能:它是8086 CPU与外部存储器和I/O端口的接口,提供了16位双向数据总线和20位地址总线,负责CPU与存储器及I/O端口之间的数据传送操作(包括物理地址的形成)。

(2)执行部件EU主要功能:从BIU中的指令队列获取指令,对指令进行译码分析并执行,执行指令所需要的操作数和运算结果的存储,是由EU向BIU传递偏移地址,BIU只要收到EU送来的偏移地址,于是将送来的偏移地址与相应的段地址组成20位的物理地址,根据现行的20位物理地址,通过执行存储器的读/写总线周期来完成读/写操作,或者是通过执行I/O端口的读/写总线周期来完成读/写I/O端口的操作。

10.8086 CPU中的标志寄存器FLAGS有哪些状态标志位?在什么情况下置位?

答:

状态标志有6位:CF、PF、AF、ZF、SF和OF。

① CF(Carry Flag),进位标志位。本次运算中最高位有进位或借位时,CF=1。

②PF(Parity Flag),奇偶校验标志位。本次运算结果的低8位中1的个数为偶数时,PF=1。

③ AF(Auxiliary Carry Flag),辅助进位标志位。本次运算结果低4位向高4位有进位或借位时,AF=1。

④ ZF(Zero Flag),零标志位。若运算结果为0时,ZF=1。

⑤ SF(Sign Flag),符号标志位。当运算结果的最高位为1,则SF=1。

- - 6

⑥ OF(Overflow Flag),溢出标志位。当运算结果有溢出时,OF=1。

11.什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?

答:从8088/8086开始,CPU部就有了对存储器的分段机制,每个存储单元可以看成两种地址:逻辑地址与物理地址。

(1)逻辑地址

逻辑地址是编程时所使用的地址,在实模式下,它由段基地址与段偏移地址组成,习惯上写为“段基地址:偏移地址”。

(2)物理地址

物理地址又称为实际地址,它是信息在存中存放的实际地址,是CPU访问存储器时实际发出的地址信息。

(3)在实地址方式下,由CPU中的总线接口单元将段基地址左移4位后与16位的偏移地址相加,生成20位的物理地址。可以访问1MB的存储空间。

12.设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?

答:

(1)X+Y=35+76后,CF=0、AF=0、SF=0、OF=0、ZF=0、PF=1。

(2)X-Y=35-76后,CF=1、AF=1、SF=1、OF=0、ZF=0、PF=1。

13.什么叫存储器地址交叉?微机的存储器为什么要用存储器地址交叉技术?

答:

(1)在一个物理存储芯片部所有存储单元的地址编号都不是连续的,而在相邻存储芯片之间的物理地址是相连接的,例如,16位的微处理器8086/80286把存地址分为偶地址的字节数据、奇地址的字节数据,因此,分为偶字库和奇字库,即在一个物理存储芯片所有存储单元的地址编号都是奇地址,另一物理存储芯片所有存储单元的地址编号都是偶地址,这就称为地址交叉。

(2)偶地址存储体与数据总线的低8位(D7~D0)相连,奇地址存储体与数据总线高

8

A0=0),由奇地址有效选中奇字库)。原因是:便于CPU可以只访问偶地址一个字节,也可以只访问奇地址一

个字节,还可以访问一个字(2字节)。

在CPU的外部数据总线为32位的情况下,CPU不仅可能只访问一个字节、一个字,还可能访问一个双字,因此,把存分成4个存储体,实现存储器地址的4体交叉。

14.请将实模式下逻辑地址转变成物理地址。

(1)FFFFH:0000H (2)0045H:0018H

(3)2000H:4600H (4)B821H:3456H

解:

(1)FFFFH:0000H,物理地址= FFFFH×16+0000H=FFFF0H

.

《微机原理与接口技术》复习题

- -

8

(2)0045H :0018H ,物理地址= 0045H×16+0018H=00468H (3)2000H :4600H ,物理地址= 2000H×16+4600H=24600H (4)B821H :3456H ,物理地址= B821H×16+3456H=BB666H

15.在8086系统中,CPU

,说明当前CPU 要访问哪一个存储体?

时,CPU 要访问奇地址的存储体。

第3章

3.1 按照16位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。

解:

(1) mov ax,0

;源操作数:立即寻址,目的操作数:寄存器寻址 (2) mov [si],ax ;源操作数:寄存器寻址,目的操作数:变址寻址 (3) mov 2[di],bx

;源操作数:寄存器寻址,目的操作数:相对变址寻址

(4) mov 2[bx+si],dx ;源操作数:寄存器寻址,目的操作数:相对基址(加)变址寻址

(5) mov ax,[1000h] ;源操作数:直接寻址,目的操作数:寄存器寻址

(6) mov dx,[bx][si] ;源操作数:基址(加)变址寻址,目的操作数:寄存器寻址 (7) mov ax,[bx] ;源操作数:基址寻址,目的操作数:寄存器寻址 (8) mov dx,[bp+8] ;源操作数:相对基址寻址,目的操作数:寄存器寻址

3.2 按照32位微处理器的寻址方式看,分别指出下列指令中源操作数和目的操作数的寻址方式。

解:

(1) mov eax,01h ;源操作数:立即寻址,目的操作数:寄存器寻址 (2) mov [esi],ax

;源操作数:寄存器寻址,目的操作数:基址寻址 (3) mov [esi*2],bx ;源操作数:寄存器寻址,目的操作数: 比例变址寻址

(4) mov [ebx+esi],dx

;源操作数:寄存器寻址,目的操作数: 基址加比

例变址寻址

(5) mov eax,[1000h] ;源操作数:直接寻址,目的操作数:寄存器寻址

(6) mov dx,[ebx+esi*8] ;源操作数: 基址加比例变址寻址,目的操作数:寄存器寻址

(7) mov edx,eax ;源操作数:寄存器寻址,目的操作数:寄存器寻址

(8) mov dx,[ebp*2+8] ;源操作数: 比例变址加位移寻址,目的操作数:寄存器寻址

(9) mov dx,[ebx+8] ;源操作数: 基址加位移寻址,目的操作数:寄存器寻址

(10) mov ax,[ebx+esi*2+78h] ;源操作数: 基址加比例变址加位移寻址,目的操作数:寄存器寻址

3.3 指出下列指令的错误原因

解:

(1) inc [si] ;目的操作数类型不明确

(2) mov eax,bx ;源操作数和目的操作数类型不匹配

(3) mov 2,ax ;立即数不能作目的操作数

(4) mov [ebx],[edi] ;源操作数和目的操作数不能同时为存储器操作数

(5) mov ax,[bx+bp] ;基址变址寻址方式不能同时为基址寄存器

(6) mov ax,[si+di] ;基址变址寻址方式不能同时为变址寄存器

(7) mov ah,300 ;300超出了ah可以容纳的数据围

(8) mov cs,1000h ;cs不能由程序员赋值,它由系统自动赋值

(9) push al ;push要求操作数为16位或32位

(10) shl ax,8 ;当移位次数超过1时,先将移位次数送cl,再移位

(11) mov ax,bx+di ;基址变址寻址方式缺少一对方扩号

(12) mov ip,bx ;ip不能由程序员赋值,它由系统自动赋值

(13) mov es,ds ;源操作数和目的操作数不能同时为段寄存器

(14) mov [sp],ax ;入栈只能用push指令实现

3.4 比较下列两条指令,指出他们的区别。

解:

mov eax,[si] ;从存读数据送eax

mov [si],eax ;把eax的值写入到存

3.5 假设(EAX)=12345678H,写出下面每条指令单独执行后,(EAX)=?

解:

.

《微机原理与接口技术》复习题

(1) and eax,0000ffffh ;(eax)=00005678h

(2) test eax,1 ;(eax)=12345678h

(3) xor eax,eax ;(eax)=0

(4) sub eax,eax ;(eax)=0

(5) add eax,1 ;(eax)=12345679h

(6) or eax,1 ;(eax)=12345679h

(7) cmp eax,0000ffffh ;(eax)=12345678h

(8) inc eax ;(eax)=12345679h

(9) dec eax ;(eax)=12345677h

(10) sub eax,8 ;(eax)=12345670h

3.6 假定(AX)=1234H,(BX)=00FFH,回答每条指令单独执行后,(AX)=?(BX)=?

解:

(1) and ax,bx ;(ax)=0034h (bx)=00ffh

(2) test ax,bx ;(ax)=1234h (bx)=00ffh

(3) xor ax,bx ;(ax)=12cbh (bx)=00ffh

(4) xchg ax,bx ;(ax)=00ffh (bx)=1234h

(5) add ax,bx ;(ax)=1333h (bx)=00ffh

(6) sub bx,ax ;(ax)=1234h (bx)=0eecbh

(7) or bx,ax ;(ax)=1234h (bx)=12ffh

(8) cmp ax,bx ;(ax)=1234h (bx)= 00ffh

3.7 假设(EAX)=11223344H,(EBX)=11225566H,写出下面程序段每条指令执行后

(EAX)=?(EBX)=?

解:

add eax,ebx ;(eax)=224488aaH,(ebx)=11225566H

add eax,00000088h ;(eax)=22448932H,(ebx)=11225566H

sub eax,ebx ;(eax)=112233ccH,(ebx)=11225566H

inc ebx ;(eax)=112233ccH,(ebx)=11225567H

and ebx,0000ffffh ;(eax)=112233ccH,(ebx)=00005567H

3.8 已知(DS)=1000H,(BX)=0100H,(SI)=0004H,存储单元[10100H]~[10107H]

依次存放11H 22H 33H 44H 55H 66H 77H 88H,[10004H]~[10007H] 依次存放2AH 2BH 2CH 2DH,说明下列每条指令单独执行后AX中的容。

- - 10

解:

(1)MOV AX,[0100H] ;(AX)=2211H

(2)MOV AX,[BX] ;(AX)=2211H

(3)MOV AX,[0004H] ;(AX)=2B2AH

(4)MOV AX,[0102H] ;(AX)=4433H

(5)MOV AX,[SI] ;(AX)=2B2AH

(6)MOV AX,[SI+2] ;(AX)=2D2CH

(7)MOV AX,[BX+SI] ;(AX)=6655H

(8)MOV AX,[BX+SI+2] ;(AX)=8877H

3.9 已知(DS)=1000H,(EBX)=0100H,(ESI)=0004H,存储单元[10100H]~[10107H]依次存放11H 22H 33H 44H 88H 77H 66H 55H,[10004H]~[10007H] 依次存放8AH 8BH 8CH 8DH,说明下列每条指令执行后EAX中的容。

解:

(1)MOV EAX,[0100H] ;(EAX)=44332211H

(2)MOV EAX,[EBX] ;(EAX)=44332211H

(3)MOV EAX,[EBX+4] ;(EAX)=55667788H

(4)MOV EAX,[0004H] ;(EAX)=8D8C8B8AH

(5)MOV EAX,[ESI] ;(EAX)=8D8C8B8AH

(6)MOV EAX,[EBX+ESI] ;(EAX)=55667788H

3.10 什么是堆栈?它的工作原理是什么?它的基本操作有哪两个?

答:

堆栈是在存RAM中开辟的一段空间,利用“先进后出”或“后进先出”的原则存取数据。如果把数据压入堆栈,则堆栈指针的值是减少的,即所谓的向下生成堆栈。由SS:SP(16位)或SS:ESP(32位)指向栈底(栈空)或栈顶(栈不空)地址。它的基本操作有数据入栈指令PUSH和数据出栈指令POP。

3.11 设SS=1000H,SP=0100H,指出下列每条指令执行后,(AX)=?(BX)=?(SP)=?并且回答堆栈中的容如何?

解:

MOV AX,2233H ;(AX)=2233H,(BX)不确定,(SP)=0100H

PUSH AX ;(AX)=2233H,(BX)不确定,(SP)=00FEH

MOV BX,4455H ;(AX)=2233H,(BX)=4455H,(SP)=00FEH

.

《微机原理与接口技术》复习题

PUSH BX ;(AX)=2233H,(BX)=4455H,(SP)=00FCH

POP AX ;(AX)=4455H,(BX)=4455H,(SP)=00FEH

POP BX ;(AX)=4455H,(BX)=2233H,(SP)=0100H

这段指令执行后将AX和BX的值互换。

3.12 什么是16位段?它有何特点?

答:

32位微机在上电或复位后,微处理器首先工作在实地址模式,它与8086/80186的工作方式具有相同的基本结构,也只能寻址1MB物理存储空间,分段最大只能是64KB,但是,在实地址模式下,32位X86 CPU可以使用16位寄存器和16位寻址方式,这与8086 CPU兼容,32位X86 CPU还可以使用32位寄存器和32位寻址方式,处理32位数据及执行32位的新增指令,但是,段基地址和偏移量都只用16位,6个段寄存器仍然当作16位的段寄存器使用,对于偏移地址来说,如果是32位,则高16位应该为0,只有低16位偏移地址有效,相当于可以进行32位数处理的快速8086,所以称之为“16位段”。

3.13 什么是32位段?它与16位段的主要区别如何?

答:

32位X86 CPU由实地址模式可以进入保护工作模式,它是一个增强了80286保护模式功能的32位保护工作模式。在保护工作模式下,32位微处理器不仅具有段式存储器管理功能,而且还有页式存储器管理功能,支持虚拟存储器,段基地址和段偏移量都是32位,称之为“32位段”,使用全部32条地址线,可以寻址的物理存储器达到4GB,只有在保护模式下,32位X86 CPU才能发挥全部功能。而32位段的程序只能在32位Windows环境中执行。

3.14 16位存储器寻址中,分为哪几种寻址方式?

答:

(1)直接寻址

(2)基址寻址(包括相对基址寻址)

(3)变址寻址(包括相对变址寻址)

(4)基址(加)变址寻址

(5)相对基址(加)变址寻址

3.15 32位存储器寻址中,分为哪几种寻址方式?

答:

(1)直接寻址

(2)基址寻址

- - 12

(3)基址加位移寻址

(4)比例变址寻址

(5)比例变址加位移寻址

(6)基址加比例变址寻址

(7)基址加比例变址加位移寻址

3.16 对于立即寻址的指令,有8位、16位及32位的立即寻址的指令,各列举2条指令(一条是传送指令,另一条是加法指令)。

解:

8位立即寻址指令

(1) MOV AH,2

(2) ADD AL,3

16位立即寻址指令

(1) MOV AX,1234H

(2) ADD DX,3456H

32位立即寻址指令

(1) MOV EAX,12345678H

(2) ADD EDX,12345678H

3.17 用移位指令将ESI中容移入EDI中,如何实现?

解:

.model small

.386

.code

.startup

mov esi,11223344h

mov edi,12345678h

shrd edi,esi,16

rol esi,16

shrd edi,esi,16

.exit

End

.

《微机原理与接口技术》复习题

3.18 将EBX中存放的值清零,实现的方法有哪一些?

解:

(1) SUB EBX,EBX

(2) AND EBX,0

(3) XOR EBX,EBX

第4章

- - 14

2.将下列程序段所定义字符串中的小写字母均改为大写字母,并放回原处,原大字母不变,最后,用DOS的9号功能显示这串大写字符,请完善下列程序。

.model small

.data

x db ‘Hello EVEryBODY !’,’$’

.code

.startup

解:

程序如下:

.model small

.386

.data

x db 'Hello EVEryBODY !','$'

.code

.startup

lea bx,x

.repeat

mov al,[bx]

.if al >= 'a' && al <= 'z'

sub al,20h

mov [bx],al

.endif

inc bx

.until al = = '$'

lea dx,x

mov ah,9

int 21h

.exit

.

《微机原理与接口技术》复习题

end

3.设变量名VAL1、VAL2及SUM的数据类型属性都是双字属性,VAL1和VAL2中分别存放了一个32位的加数和被加数,SUM用于存放和数。

(1)选用简化段格式编程,实现两个32位数相加,结果存放到SUM变量所指的存储单元。

(2)选用完整段格式编程,实现上述相同的功能。提示:只能使用16数相加。

解:

程序一,简化段格式编程,实现两个32位数相加,结果存放到SUM变量所指的存储单元。

.model small

.386

.data

val1 dd 12345678h

val2 dd 87654329h

sum dd ?

.code

.startup

mov eax,val1

add eax,val2

mov sum,eax

.exit

end

程序二,完整段格式编程,实现两个32位数相加,结果存放到SUM变量所指的存储单元。

data segment

val1 dd 12345678h

val2 dd 87654329h

sum dd ?

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

mov ax,word ptr val1

add ax,word ptr val2

mov word ptr sum,ax

mov ax,word ptr val1+2

- - 16

add ax,word ptr val2+2

mov word ptr sum+2,ax

mov ah,4ch

int 21h

code ends

end start

4.将数据段的一串字符传送到附加的数据段,并将传送到附加数据段的字符显示出来,要求用完整段和简化段两种格式分别编程实现。

解:

程序一,简化段格式编程,实现将数据段的一串字符传送到附加的数据段,并将传送到附加数据段的字符显示出来。

.model small

.386

.data

x db 'Hello World !','$'

n equ $-x

y db 100 dup(?)

.code

.startup

mov ax,ds

mov es,ax

mov cx,n

lea si,x

lea di,y

rep movsb

mov ah,9

lea dx,y

int 21h

.exit

end

注意:在简化段模式编程时,数据段和附加数据段是同一段,在使用字符串指令时,用指令mov ax,ds、mov es,ax将DS和ES保持一致。

程序二,完整段格式编程,实现将数据段的一串字符传送到附加的数据段,并将传送到附加数据段的字符显示出来。

data segment

x db 'Hello World !','$'

n equ $-x

.

《微机原理与接口技术》复习题

data ends

edata segment

y db 100 dup(?)

edata ends

code segment

assume cs:code,ds:data,es:edata

start:

mov ax,data

mov ds,ax

mov ax,edata

mov es,ax

lea si,x

lea di,y

mov cx,n

rep movsb

mov ah,9

lea dx,y

int 21h

mov ah,4ch

int 21h

code ends

end start

5.设有一个数组存放了40名学生的成绩(0~100分),设数组位于变量名为SCORS的存储单元,编程统计0~59分、60~69分、70~79分、80~89分及90~100分的人数,并分别存放到SCOREE、SCORED、SCOREC、SCOREB、SCOREA存储单元中。

解:

程序一,简化段格式编程

.model small

.386

.data

score db 90,23,56,67,98,78,10,45,87,100

db 65,78,89,100,45,30,99,69,59,60

db 0,59,60,69,70,79,80,89,90,99

db 100,61,68,71,78,81,88,91,98,0

n=$-score

scoree db 0

- - 18

scored db 0

scorec db 0

scoreb db 0

scorea db 0

.code

.startup

lea si,score

mov cx,n

mov dl,10

.while cx != 0

mov ah,0

mov al,[si]

div dl

sub al,5

.if sbyte ptr al <= 0

inc byte ptr scoree

.else

mov ah,0

.if al == 5

mov al,4

.endif

mov bx,ax

inc byte ptr scoree[bx] .endif

inc si

dec cx

.endw

.exit

end

程序二,完整段格式编程

data segment

score db 90,23,56,67,98,78,10,45,87,100 db 65,78,89,100,45,30,99,69,59,60 db 0,59,60,69,70,79,80,89,90,99

db 100,61,68,71,78,81,88,91,98,0 n=$-score

scoree db 0

.

《微机原理与接口技术》复习题

scored db 0

scorec db 0

scoreb db 0

scorea db 0

data ends

code segment 'code'

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

lea si,score

mov cx,n

mov dl,10

class: mov ah,0

mov al,[si]

div dl

sub al,5

jg great

inc byte ptr scoree

jmp next

great: mov ah,0

cmp al,5

jnz store

mov al,4

store: mov bx,ax

inc byte ptr scoree[bx]

next: inc si

loop class

mov ah,4ch

int 21h

code ends

end start

6.已知两个字的定义如下,比较这两个字的大小,将较大的数存放到Z单元,如果两数相等,则把其中任意一数存入Z单元。要求用简化段格式编程:

(1)按照无符号数比较与编程。

(2)按照有符号数比较与编程。

X DW 1234H

Y DW 9678H

- - 20

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理课后作业答案(第五版)

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1)1200:3500H=1200H×16+3500H=15500H (2)FF00:0458H=FF00H×16+0458H=FF458H (3)3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH (2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH (3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是283AH; 从2001H单元取出一个字数据需要2次操作,数据是5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

微机原理课后答案

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。

微机原理习题解答

第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理(第三版)课后练习答案(DOC)

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

微机原理课后习题答案

第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA

微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

相关文档