搜档网
当前位置:搜档网 › 微机原理课后习题解答

微机原理课后习题解答

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

微机原理习题

第一章绪论

习题与答案

1. 把下列二进制数转换成十进制数、十六进制数及BCD码形式。(1)10110010B =

(2)01011101.101B =

解:

(1)10110010B = 178D = B2H = (0001 0111 1000)BCD (2)01011101.101B = 93.625D = 5D.AH

= (1001 0011.0110 0010 0101)BCD

2. 把下列十进制数转换成二进制数。

(1)100D =

(2)1000D =

(3)67.21D =

解:

(1) 100D = 01100100B

(2) 1000D = 1111101000B

(3)67.21D = 1000011.0011B

3. 把下列十六进制数转换成十进制数、二进制数。

(1) 2B5H =

(2) 4CD.A5H =

解:

(1)2B5H = 693D = 0010 1011 0101B

(2)4CD.A5H = 1229.6445D = 0100 1100 1101.1010 0101 B

4. 计算下列各式。

(1)A7H+B8H =

(2)E4H-A6H =

解:

(1)A7H+B8H = 15FH

(2)E4H-A6H = 3EH

5. 写出下列十进制数的原码、反码和补码。

(1)+89

(2)-37

解:

(1)[+89 ] 原码、反码和补码为: 01011001B

(2)[-37] 原码= 10100101 B

[-37] 反码= 11011010 B

[-37] 补码= 11011011 B

6.求下列用二进制补码表示的十进制数

(1)(01001101)补=

(2)(10110101)补=

解:

(1)(01001101)补= 77D

(2)(10110101)补= -75D

7.请用8位二进制数写出下列字符带奇校验的ASCII码。

(1)C:1000011 (2)O:1001111

(3)M:1001101 (4)P:1010000

解:

(1)C:0 1000011 (2)O:0 1001111

(3)M:1 1001101 (4)P:1 1010000

8.请用8位二进制数写出下列字符带偶校验的ASCII码。

(1)+:0101011 (2)=:0111101

(3)#:0100011 (4)>:0111110

解:

(1)+:0 0101011 (2)=:1 0111101

(3)#:1 0100011 (4)>:1 0111110

9.叙述CPU 中PC的作用。

解:PC是CPU中的程序计数器,其作用是提供要执行指令的地址。

第二章微处理器体系与结构

习题与答案

1. 8086/8088 CPU 由哪两大部分组成?请分别叙述它们的功能。

解:8086/8088 CPU均由两个独立的逻辑单元组成,一个称为总线接口单元BIU(Bus Interface Unit),另一个称为执行单元EU(Execution Unit)。

总线接口单元BIU取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储器单元或I/O端口存取数据。

执行单元EU任务是执行指令,进行全部算术逻辑运算、完全偏移地址的计算,向总线接口单元BIU提供指令执行结果的数据和偏移地址,并对通用寄存器和标志寄存器进行管理。

2. 8086/8088与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?

解:总线接口部分和执行部分是分开的,每当EU执行一条指令时,造成指令队列空出2个或空出一个指令字节时,BIU马上从内存中取出下面一条或几条指令,以添满他的指令队列。这样,一般情况下,CPU在执行完一条指令后,便可马上执行下一条指令,不像以往8位CPU那样,执行完一条指令后,需等待下一条指令。即EU从指令队列中取指令、执行指令和BIU补充指令队列的工作是同时进行的。这样大大提高了CPU利用率,降低了系统都对存储器速度的要求。

3. 状态标志和控制标志有何不同?8086/8088的状态标志和控制标志分别有哪些?解:8086/8088 CPU设立了一个两字节的标志寄存器,共九个标志。其中标志位O、S、Z、A、P、C是反映前一次涉及ALU操作结果的状态标志,D、I、T是控制CPU操作特征的控制标志。

4. 8086/8088 CPU寻址存储器时,什么是物理地址?逻辑地址?它们之间有何关系?解:8086/8088系统中每个存储单元都有一个物理地址,物理地址就是存储单元的实际地址编码。在CPU与存贮器之间进行任何信息交换时,需利用物理地址来查找所需要的访问的存储单元。逻辑地址由段地址和偏移地址两部分组成。

逻辑地址的表示格式为:段地址:偏移地址。知道了逻辑地址,可以求出它对应的物理地址:物理地址=段地址×10H+偏移地址。

5. 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?

解:根据:物理地址=段地址×10H+偏移地址,指令的物理地址为21F00H。指向这一物理地址的CS值和IP值不唯一。

6. 8086 CPU中信号和A0信号是通过怎样的组合解决存储器和外设端口的读/写的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?

解:若存取一个字节的数据,总是用一个总线周期来完成该操作;若存取一个字,则依该字是规则字还是不规则字需用一个或两个总线周期来完成。对规则字,只用一个总线周期来完成16位数据的传送,而对于非规则字则用相邻两个总线周期来完成该字的存储操作,先取其奇地址字节(即数据的低位字节),然后存取偶地址字节。在组成存储系统时,总是偶地

址单元的数据通过AD0~AD7传送,而奇地址单元的数据通过AD8~AD15传送,即通过总线高字节传送。信号和A0信号控制存储器读写见下表:

7.什么叫总线?为什么各种微型计算机系统中普遍采用总线结构?

答:总线是模块与模块之间传送信息的一组公用信号线。

总线标准的建立使得各种符合标准的模块可以很方便地挂在总线上,使系统扩展和升级变得高效、简单、易行。因此微型计算机系统中普遍采用总线结构。

8.微型计算机系统总线从功能上分为哪三类?它们各自的功能是什么?

答:微型计算机系统总线从功能上分为地址总线、数据总线和控制总线三类。地址总线用于指出数据的来源或去向,单向;数据总线提供了模块间数据传输的路径,双向;控制总线用来传送各种控制信号或状态信息以便更好协调各功能部件的工作。

9.8086/8088 CPU 分为哪两个部分?如何协调工作?

答:EU是执行部件,主要的功能是执行指令和形成有效地址。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据,主要功能是形成实际地址、预取指令和存取操作数。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。

10.8086/8088 CPU的地址总线有多少位?其寻址范围是多少?

答:8086/8088 CPU的地址总线共20 位,最大可寻址1MB空间。

11.8086/8088 CPU使用的存储器为什么要分段?怎么分段?

答:8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址?

实际使用的解决办法是:将1MB大小的存储空间分为若干“段”,每段不超过64KB。这样,一个20位的物理地址就可以用“16位段基址:16位偏移量”的形式(称为逻辑地址)来表示了,

其中段地址存放在8086/8088的段寄存器中。

12.8086/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 亦可作地址寄存器。

13.Intel 8086与8088有何区别?

答:8086与8088的区别主要表现在以下几个方面:

第一、8086的指令队列可以容纳6个字节,每个总线周期在存储器中取出2个字节指令代码填入队列。而8088只能容纳4个字节,且每个总线周期只能取出1个字节指令代码。

第二、8086外部数据总线宽度为16位,8088外部数据总线宽度只有8位。注意:8086和8088外部数据总线的宽度不同将导致扩展主存储器及输入/输出接口时系统地址线和数据线连接方式的不同。

第三、其他不同的引脚定义:(1)AD15~AD0,在8086中为地址/数据复用,而在8088

中AD15~AD8 改为A15~A8只作地址线用;(2)34、28号引脚定义不同。

14.8086/8088CPU工作在最小模式时:当CPU访问存储器时,要利用哪些信号?当CPU 访问外设接口时,要利用哪些信号?

答:8086/8088 CPU工作在最小模式时,若访问存储器,需用到以下信号:IO

M/、ALE、DT/、DEN、READY、BHE、W R、RD、AD0~AD15、A19/S6~A16/S3。若访问外设,需用R

到以下信号:IO

DT/、DEN、READY、W R、RD、AD0~AD15。

M/、ALE、R

15.试指出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别:

(1)1278H+3469H

答:CF=0 AF=1 ZF=0 SF=0 OF=0 PF=1

(2)54E3H-27A0H

答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=0

(3)3881H+3597H

答:CF=0 AF=0 ZF=0 SF=0 OF=0 PF=1

(4)01E3H-01E3H

答:CF=0 AF=0 ZF=1 SF=0 OF=0 PF=1

其中,进位标志CF 用于判别无符号数运算是否超出数的表示范围,而溢出标志OF 用于判别带符号数运算是否超出数的表示范围。

奇偶标志PF 只能判断结果低8 位中“1”的个数为奇数还是偶数。

16.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?

答:逻辑地址由两个16 位的部分即段基址和偏移量组成,一般在程序中出现的地址都

表示为逻辑地址形式;物理地址是一个20 位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。

由于8086/8088CPU 中的寄存器只有16 位长,所以程序不能直接存放20 位的物理地址,而必须借助逻辑地址,即用两个16 位的寄存器来表示物理地址。他们之间的关系是:物理地址=段基址*16+偏移量;另外,一个物理地址可对应多个逻辑地址。

17.设现行数据段位于存储器0B0000H~0BFFFFH 单元,DS 段寄存器内容为多少?

答:DS 段寄存器内容为0B000H。

18.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段基址和段内偏移地址两部分组成,都是16位的二进制代码,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值。物理地址是8086芯片引线送出的20位地址码,物理地址=段基址*16+偏移地址,用来指出一个特定的存储单元。

19.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C0E0H,求出该内存单元的物理地址。

答:物理地址:0C2EC0H。

20.8086/8088为什么采用地址/数据引线复用技术?

答:考虑到芯片成本和体积,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。

21.怎样确定8086的最大或最小工作模式?

答:引线MX

MN引线接高电平,8086被设MN的逻辑状态决定8086的工作模式,MX

定为最小模式,MX

MN引线接低电平,8086被设定为最大模式。

22.8086基本总线周期是如何组成的?

答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。

23.在基于8086的微计算机系统中,存储器是如何组织的?存储器是如何与处理器总线连接的?BHE信号起什么作用?

答:8086为16位微处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,分别命名为偶存储体和奇存储体;偶体的数据线连接D7~D0,“体选”信号接地址线A0;奇体的数据线连接D15~D8,“体选”信号接BHE信号;A0信号有效时允许访问偶体中的低字节存储单元,BHE信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。

24.有一个由20个字组成的数据区,其起始地址为610AH:1CE7H。试写出该数据区首末单元的实际地址PA。

首单元地址:610A0H+1CE7H=62D87H

末单元地址:62D87H+27H=62DAEH

25.有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H和00135H,试画出它们的存储器示意图。

地址

00130H

00131H

00132H

00133H

00134H

00135H

00136H

26.试说明8086CPU的控制引脚ALE的作用。

答:8086的低位地址线与数据线复用,为保证地址线维持足够的时间,需使用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 1234H[BX],DS

(7)MOV [DI+5678H],AL (8)MOV 12[BP][DI],BH

(9)POP CX (10)MOV AX,[BX+SI+10]

解:

2、指出下列指令中操作数的寻址方式(80386系统)。

(1)MOV [EBX+12H],AX (2)MOV [EBP+EDI*2],EBX (3)MOV [EBX*4],BX (4)MOV EDX,[EAX+ESI*8-12H] 解:

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,[BX+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位寄存器,目的操作数却是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,12[EBX][SI*16] (2)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,指出执行下面的程序段后,各相关寄存器及堆栈段中的内容。

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,(SP)=0FFEH,栈顶字节[SP]=34H,栈顶第二字节[SP+1]=12H

6、假设A、B、C、D、X、Y为字节变量,AA、BB、YY为字变量,试利用算术运算指令编写程序段,完成以下各算术运算题。

(1)计算YY←A+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

MOV X,AL

MOV Y,AH

(3)MOV AL,A

SUB AL,B

AAS

MUL C

AAM

MOV YY, AX

7、利用移位指令编写程序段,实现以下运算。

(1)计算AX←AX*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)SAR DX,1

RCR 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

解:

注:0表示结果为0,1表示结果为1,×表示结果不变,—表示结果不确定。

9、在8086系统下,编写实现如下功能的程序段:

(1)从地址为80H的端口中读入一个字节;

(2)如果该字节最高位为“1”,则将字节0FFH送到地址为81H的端口中,并退出程序;(3)如果该字节最高位为“0”,则转向第(1)步,继续循环扫描。

解:参考程序段:

AGAIN:IN AL, 80H

TEST AL, 80H

JZ AGAIN

MOV AL, 0FFH

OUT 81H, AL

10、我们知道,MOV指令并不能直接修改CS、IP的值,但事实上,我们还可以通过其他方法来达到修改CS、IP的目的。试编写一个程序段,使该程序段运行后,(CS)=0100H,(IP)=0000H。解:

方法一、利用段间返回指令RETF:

MOV AX,0100H

PUSH AX ;段基址入栈

MOV AX,0

PUSH AX ;偏移量入栈

RETF

方法二、利用JMP指令实现段间跳转,假设ADDR为双字变量:

MOV WORD PTR ADDR,0 ;WORD PTR ADDR←偏移量

MOV WORD PTR ADDR+2,0100H ;WORD PTR ADDR+2←段基址

JMP DWORD PTR ADDR

11.写出能完成下述操作的指令。

(1)将立即数1234H 送至DS 寄存器。

(2)将存储单元3000H 和内容送至4000H 单元。

(3)将累加器AX 与寄存器CX 中的内容对调。

答案:(1)MOV AX, 1234H

MOV DS, AX

(2) MOV AX, [3000H]

MOV [4000H], AX

(3) XCHG AX, CX

12.编程:将数据段中以BX 为偏移地址的连续4 单元的内容颠倒过来。答案:MOV AL, [BX]

XCHG AL, [BX+3]

MOV [BX], AL

MOV AL,[BX+1]

XCHG AL, [BX+2]

MOV [BX+1], AL

13.将AX 寄存器清零有4 种方法,试写出这4 条指令。

答案:MOV AX, 00H

SUB AX, AX

AND AX, 00H

XOR AX, AX

14.使用一条逻辑运算指令实现下列要求:(1)使AL 高4 位不变,低4 位为0。(2)使AL 最高位置1,后7 位不变。(3)使AL 中的bit3、bit4 变反,其余位不变。(4)测试判断CL 中的bit2、bit5、bit7 是否都为1。

答案:(1) AND AL, 0F0H

(2)OR AL, 80H

(3)XOR AL 18H

(4)TEST AL, 0A4H

15.试分析下面的程序段完成什么功能。

MOV CL, 4

SHL AX, CL

SHL BL, CL

MOV AL, BL

SHR DH, CL

OR AL, DH

答案:将AX 中间8 位,BX 的低4 位,DX 的高4 位组成一个新字存放在AX 中。

16.若要将源串100 个字节数据传送到目标串单元中去,设源串首址的偏移地址为

2500H,目标串首址的偏移地址为1400H,请编写程序实现以下功能。(1)完成源串到目标串的搬移。(2)比较两串是否完全相同,若两串相同,则BX 寄存器内容为0;若两串不同,则BX 指向源串中第一个不相同字节的地址,且该字节的内容保留在AL 的寄存器中。

答案:(1) CLD

MOV CX, 100

MOV SI, 2500H

MOV DI, 1400H

REP MOVSB

(2) CLD

MOV CX, 100

MOV SI, 2500

MOV DI, 1400

REPE CMPSB

JZ EQQ

DEC SI

MOV BX, SI

MOV AL, [SI]

JMP STOP

EQQ: MOV BX, 0

STOP: HLT

17.设若标志寄存器原值为0A11H,(SP)=0060H,(AL)=4。下列几条指令执行后,标志寄存器、AX、SP的值分别是多少?

PUSHF

LAHF

XCHG AH,AL

PUSH AX

SAHF

POPF

答:指令执行后标志寄存器的值为0411H,AX=0411H ,SP=005EH。

18.假如在程序的括号中分别填入指令:

(1) LOOP L20

(2) LOOPNE L20

(3) LOOPE L20

试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么?

BEGIN: MOV AX,01

MOV BX,02

MOV DX,03

MOV CX,04

L20: INC AX

ADD BX,AX

SHR DX,1

( )

答案:(1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0

(2)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0

(3)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1

19.变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。

答案:MOV AX, 0

MOV AL, N1

SUB AL, N2

AAS

MOV DL, AL

MOV AL, N1+1

SBB AL, N2+1

AAS

MOV DH, AL

20.在已学的指令中,可实现累加器清0的单条指令有哪些?比较它们的功能。

答:(1)MOV AX,0 ;仅将累加器清0,不会影响任何标志位

(2)SUB AX,AX ;累加器清0的同时影响所有状态标志,具体地有:ZF、PF 置1,CF、AF、SF、OF均清0

(3)AND AX,0 ;将累加器清0,ZF、PF置1,CF、OF、SF清0

(4)XOR AX,AX ;将累加器清0,ZF、PF置1,CF、OF、SF清0

21.已知(DS)=2000H,有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT的偏移地址为1200H。执行下列指令后,寄存器AX、BX、SI的值分别是多少?

MOV BX,OFFSET COUNT

MOV SI,[BX]

MOV AX,COUNT[SI][BX]

答:执行结果为(BX)=1200H,(SI)=1000H,(AX)=3040H。

22.设若内存单元DATA在数据段中偏移量为24C0H处,24C0H~24C3H单元中依次存放着55H、66H、77H、88H。下列几条指令执行后,寄存器AX、BX、CL、SI、DS的值分别是多少?

MOV AX,DATA

LEA SI,DATA

MOV CL,[SI]

LDS BX,DATA

答:执行结果为(AX)=6655H,(BX)=6655H,(CL)=55H,(SI)=24C0H,(DS)=8877H。

23.若(AX)=26D3H,(CX)=7908H,CF=1,执行下列指令后,寄存器AX、CX的值分别是多少?CF=?OF=?

SAL CH,1

RCR AX,CL

ROL AL,1

答:执行结果为(AX)=0A64CH,(CX)=0F208H,CF=OF=0。

24.已知有程序段如下:

MOV AL,35H

MOV DL,AL

AND DL,0FH

AND AL,0F0H

MOV CL,4

SHR AL,CL

MOV BL,10

MUL BL

ADD A L,DL

执行之后,AL的值等于多少?该程序段完成了什么功能?

答:程序段执行后(AL)=23H。该程序段实现了将AL中的1个组合BCD码转换为十六进制数并存回AL中的功能。

25.下面的程序执行后,DX、AX的值分别是多少?

;以X为首址的字单元中的数据依次为1234H、5678H

;以Y为首址的字单元中的数据依次为8765H、4321H

LEA SI,X

LEA DI,Y

MOV DX,[SI+2]

MOV AX,X

ADD AX,X

ADC DX,[SI+2]

CMP DX,[DI+2]

JL L2

CMP AX,Y

JL L1

JMP EXIT

L1:MOV AX,1

JMP EXIT

L2:MOV AX,2

EXIT:……

答:执行结果为(AX)=2,(DX)=0ACF0H。

26.设VAR字单元的值为x,F1字单元的值为y,试编程按以下要求给y赋值:

2 x>30

y = 0 30≥x≥1

-2 x<1

答:一种可能的程序段实现如下:

MOV AX,VAR ;AX x

CMP A X,30

JG PLUS2 ;x>30,则转PLUS2

CMP A X,1

JL MIN2 ;x<1,则转MIN2

MOV F1,0 ;30≥x≥1,y=0

JMP GO

PLUS2:MOV F1,2 ;y=2

JMP GO

MIN2:MOV F1,-2 ;y = -2或00FEH

GO:……;后续处理

简析:本例中并未说明VAR字节单元是带符号数还是无符号数,读者在使用判断转移指令时可任意选用。若当作带符号数,应使用JG、JL、JGE、JLE等指令,如参考程序;若当作无符号数,则应使用JA、JB、JAE、JBE等指令。

第四章 80x86汇编语言程序设计

习题与答案

1、指出以下数据定义伪指令所分配的字节数(8086系统)。

(1)DATA1 DB 10,?,‘A’

(2)DATA2 DW 10 DUP(2,3 DUP(?),1)

(3)DATA3 DB ‘HELLO,WORLD!’,‘$’

(4)DATA4 DW DATA4

解:(1)3字节;(2)100字节;(3)13字节;(4)2字节。

2、指出以下数据定义伪指令所分配的字节数(80386系统)。

(1)DATA1 DF 12,34,56

(2)DATA2 DF DATA2

(3)DATA3 DQ 0,10 DUP(?)

(4)DATA4 DT 0,1,2

解:(1)18字节;(3)6字节;(3)88字节;(4)30字节。

3、指出以下指令中哪些是无效的,并说明原因。

(1)ADDR DB $

(2)DATA DB F0H,12H

(3)1_DATA DW 1234H

(4)@VAR DW VAR1 ;VAR1为一个字节变量

(5)MOV AX,[10-VAR1] ;VAR1为一个字变量

(6)MOV BX,[VAR2*2+1] ;VAR2为一个字变量

解:

(1)非法,地址计数器$是32位数;

(2)非法,以字母开头的16进制数应在前面加“0”,即应为“0F0H”;

(3)非法,变量名非法,不能以数字开头;

(4)合法;

(5)非法,地址表达式不能是“常数-地址”;

(6)非法,地址表达式不能出现乘法。

4、假设已定义数据段如下:

DATA SEGMENT

ORG 100H

DATA1 DB 10 DUP(1,2,3)

DATA2 DW DATA1,$

DATA ENDS

且段寄存器DS已初始化为该数据段的段基址(假设段基址为1234H)。请指出以下指令执行后,相应的寄存器中的内容。

(1)MOV AX,WORD PTR DATA1 ;(AX)=?

(2)MOV BX,DATA2 ;(BX)=?

(3)MOV CX,DATA2+2 ;(CX)=?

(4)MOV DX,OFFSET DATA2 ;(DX)=?

(5)MOV SI,SEG DATA1 ;(SI)=?

(6)MOV DI,LENGTH DATA1 ;(DI)=?

(7)MOV SP,TYPE DATA1 ;(SP)=?

(8)MOV BP,SIZE DATA2 ;(BP)=?

解:

(1)(AX)=0201H;(2)(BX)=0100H;(3)(CX)=0120H;(4)(DX)=011EH;(5)(SI)=1234H;(6)(DI)=000AH;(7)(SP)=0001H;(8)(BP)=0002H。

5、在8086系统下,编写完整程序,实现从键盘上输入8位二进制数,从显示器上显示相应的16进制数,例如从键盘上输入“00010010”,应在显示器上显示“12H”。

解:参考程序:

DATA SEGMENT

MSG1 DB 'Input binary number(ESC to exit):','$'

MSG2 DB 0AH,0DH,'Input error!',0AH,0DH,'$'

DATA ENDS

OUTPUT MACRO ASC ;定义输出一个字符的宏

MOV DL, ASC

MOV AH, 2

INT 21H

ENDM

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

MAIN PROC FAR

PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA

MOV DS, AX

AGAIN: LEA DX, MSG1

MOV AH, 9

INT 21H ;提示输入信息

MOV CX, 8 ;输入8位二进制数

MOV BL, 0

L: MOV AH, 1

INT 21H

SHL BL, 1

CMP AL, 1BH ;ESC键退出

JZ DONE

CMP AL, '0' ;输入“0”

JZ NEXT

CMP AL, '1' ;输入“1”

JNZ ERROR ;输入其他则出错

INC BL

NEXT: LOOP L

OUTPUT 0AH

OUTPUT 0DH

PUSH BX

MOV CL, 4

SHR BL, CL

CALL T RAN ;显示高4位对应的16进制数

POP BX

AND BL, 0FH

CALL T RAN ;显示低4位对应的16进制数

OUTPUT 'H'

OUTPUT 0AH

OUTPUT 0DH

JMP AGAIN

ERROR: LEA DX, MSG2

MOV AH, 9

INT 21H

JMP AGAIN

DONE: RET

MAIN ENDP

TRAN PROC FAR

CMP BL, 0AH

JB BELOW

ADD BL, 7

BELOW: ADD BL, 30H

OUTPUT BL

RET

TRAN ENDP

CODE ENDS

END MAIN

6、在8086系统下,编写完整程序,实现从键盘上输入两个4位十进制数,从显示器上显示这两个数之和,例如输入“1234”、“5678”,应在显示器上显示“6912”。

解:参考程序:

DATA SEGMENT

MSG1 DB 'Input the first number(ESC to exit):','$'

MSG2 DB 'Input the second number(ESC to exit):','$'

MSG3 DB 0AH,0DH,'Input error!Input again:','$'

DATA ENDS

OUTPUT MACRO ASC ;定义输出一个字符的宏

MOV DL, ASC

MOV AH, 2

微机原理与接口技术课后习题与参考答案

第一章课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.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=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 00011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 1.9 答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/80286:16位机;80386/80486:32位机;Pentium系列机:64位。 第二章课后习题 2.1、EU与BIU各自的功能是什么?如何协同工作? 2.2、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 2.3、8086对存储器的管理为什么采用分段的办法?

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

第一章 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、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。

1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍

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

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

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

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万条指令。

微机原理与接口技术(第二版)课后习题答案完整版

习题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.6) 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

微机原理课后答案

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.计算机硬件中最核心的部件是( )。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章 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处理器? 答:

微机原理王忠民版课后答案

部分习题答案 (3) 0.1101 1B= 0.84375 = 0.D8H (4) 11110.01 B= 30.25 =1E.4H 3、完成下列二进制数的加减法运算 (1) 1001.11 + 100.01 = 1110.0001110101.0110 (4) 01011101.0110 — 101101.1011 = 101111.1011 4、 完成下列十六进制数的加减法运算 (1) 745CH + 56DFH= D14B H (2) ABF.8H — EF6.AH = 9C28.E H (3) 12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H — EFD8H= 7F29 H 5、 计算下列表达式的值 103.CEH (3) 18.9 + 1010.1101B + 12.6H — 1011.1001 = 36.525 6、选取字长n 为8位和16位两种情况,求下列十进制数的补码。 (1) X=— 33的补码: ⑵ Y=+ 33的补码: 0010 0001 , 0000 0000 0010 0001 ⑶ Z=— 128 的补码:1000 0000 , 1111 1111 1000 0000 ⑷ N=+ 127的补码: 0111 1111 , 0000 0000 0111 1111 A=— 65的补码: 1011 1111 , 1111 1111 1011 1111 ⑹ B=+ 65的补码: 0100 0001 , 0000 0000 0100 0001 ⑺ C=— 96的补码: 1010 0000 , 1111 1111 1010 0000 (8) D=+ 96的补码: 0110 0000 , 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X 补=1000 0000 0000 0000 H X = — 1000 0000 0000 0000 H =— 32768 (2) [Y 补=0000 0001 0000 0001 H Y = + 0000 0001 0000 0001 H = + 257 (3) [Z 补=1111 1110 1010 0101 H Z= — 0000 0001 0101 1011 H =—347 (4) [A 补=0000 0010 0101 0111 H A= + 0000 0010 0101 0111 H =+ 599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43 + 8 [43]补=00101011B , [8]补=00001000B [43]补+ [8]补=00101011B + 00001000B = 00110011B = 33H 00101011B + 00001000B 00110011B T C s = 0, C D = 0, OF= C S ? C D = 0 ? 0= 0 ??? 无溢出 (1) 43 + 8 33H (无溢出) 第二章 1、 将十进制数转换为二进制和十六进制 (1) 129.75 = 1000 0001.11B = 81.CH (3) 15.625 = 1111.101B = F.AH 2、 将下列二进制数转换为十进制和十六进制 (1) 111010 B= 58 =3A H 计算机中的数值和编码 (2) 218.8125 = 1101 1010.1101B = DA.DH ⑷ 47.15625 = 10 1111.0010 1B = 2F.28 H (2) 1011 1100.111B= 188.875 = BC.E H (2) — 52 + 7 D3 H (无溢出)

微机原理习题解答

第一章微型计算机的基础知识 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=

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二 版)课后习题答案完整版-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

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

微机原理课后习题答案

第一章 学习指导: 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.将二进制数转换为十六进制数为。 2.将十进制数199转换为二进制数为____ ____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数转换成二进制是。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数转换成二进制为、八进制、十六进制。(精确到小数点后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,则一个时钟周期的时间为μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为

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

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

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

相关主题