《微机系统》练习题
1.微处理器、微型计算机、微型计算机系统的区别是什么?
2.微型计算机有哪些基本部分构成?
3. CISC、RISC 的技术特点。
CISC 是指复杂指令系统计算机,RISC 是指精简指令系统计算机。
他们的区别在于不同的 CPU 设计理念和方法。RISC 指令系统仅包含哪些必
要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。完成
特殊功能时效率比较低。CISC 的指令系统比较丰富,一些特殊功能都有相应的
指令。处理特殊任务效率较高。
RISC 对存储器操作相对简单,使对存储器访问的控制简化;而 CISC 机器的
存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑
比较复杂。RISC 在一条指令执行的适当地方可以响应中断;而 CISC 机器是在一
条指令执行结束后响应中断。
RISC CPU 的电路构成比 CISC CPU 简单,因此面积小、功耗也更低;CISC 电路
CPU 电路复杂,同水平比 RISC CPU 面积大、功耗大。RISC CPU 结构比较简
单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC
CPU 结构复杂,设计周期长,技术更新难度大。从使用角度看,RISC 微处理器结
构简单,指令规整,性能容易把握,易学易用;CISC 微处理器结构复杂,功能
强大,实现特殊功能容易。
4.8086 的两种工作方式由什么决定?两种工作方式有什么差别?
5.8086CPU 的组成与功能。
总线接口部件 BIU 跟执行部件 EU。
总线接口部件(BIU)是联系微处理器内部与外部的重要通道,其主要功能
是负责微处理器内部与外部的信息传递。主要任务:(1)取指令(2)形成物理
地址(3)传送数据
EU 完成控制器的功能,它负责执行指令并对相应的硬件部分进行控制,它
的主要功能就是完成全部指令的执行。EU 完成以下主要任务:(1)指令译码(2)
执行指令(3)向 BIU 传送偏移地址信息(4)管理通用寄存器和标志寄存器。
6.8086 微处理器有那几个段寄存器?简述他们的主要功能。
4 个,CS 内容指出当前代码段,SS 内容指出当前程序所使用的堆栈段,DS
指出了当前程序使用的数据段,ES 指出了当前程序使用的附加段。
7.什么是物理地址、逻辑地址?逻辑地址 2000:2345H 对应的物理地址是多少?
8.若代码段寄存器 CS=3200H,指令指针 IP=0FF00H,此时,指令存放的物理
地址是什么?说明指向这一物理地址的 CS 和 IP 值是否唯一。
9.对齐数据与非对齐数据的不同结构对数据的访问速度的影响。
当访问的数据是一个对准数据时,一个总线周期可以完成读写,如果访问的数据
不是对准的数据时,要通过两个总线周期完成读写过程,因此编程时应当应尽量
使数据对准存放。
10. 简述 Pentium 微处理器的主要性能特点。
11. Pentium 有什么主要技术特点?至少说出四点。
12. 说明 Pentium 处理器引脚#Cache 和#KEN 的作用.
13. 说明 Pentium 处理器引脚#BE7~#BE0 的作用。
14. 什么是指令周期?什么是总线周期?什么是时钟周期?说明三者的关系。
时钟周期:CPU 脉冲时间。
总线周期:CPU 经过总线执行信息的输入/输出过程,称为总线周期。
指令周期:完成一条指令的时间。
关系:一个总线周期包含多个时钟周期,一个时钟周期包含多个指令周期。
15. 说明寄存器 EAX、AX、AH、AL 之间的关系。
16. Pentium 总线操作有几种时钟状态?T12、T2P、TD 与一般的时钟状态有什
么区别?
17. IP/EIP 寄存器的用途是什么?
IP/EIP 内容为下一条要取入 CPU 的指令在内存中的偏移地址。CPU 复位后,
IP/EIP 清零。每取一条指令,IP/EIP 自动增加取入 CPU 的字节数目。
18. Pentium 微处理机在实模式下操作时,段寄存器的用途是什么?
在实地址模式下,Pentium 的运行方式为 8086 方式,CPU 可以直接访问段寄
存器,每个段寄存器定义一个 64KB 存储器段的起点,既给出相应的段基址。CS
内容指出当前代码段,SS 内容指出当前程序所使用的堆栈段,DS 指出了当前程
序使用的数据段,ES 指出了当前程序使用的附加段。
19. Pentium 的寄存器组包括哪些类型的寄存器?简要说明基本结构寄存器、系
统级寄存器的用途。
20. 在 Pentium 处理器总线周期中,#NA 有效具有什么样的意义?
21. CPU 与存储器连接时主要应考虑哪些问题?
22. 什么是高速缓存? 计算机中设置 Cache 的作用是什么?能不能把 Cache 的容
量扩大,最后取代主存?
23. 说明伪指令 END、ENDS、ENDP、ENDM 的区别。
END 程序汇编结束
ENDS 段定义结束
ENDP 过程定义结束
ENDM 宏定义结束
24. 指出下列指令的错误:(1)MOV AH,BX(2)ADD 15H,BX(3)MOV CS,
AX(4)MOV AX,[SI][DI] (5)MOV BYTE PTR [BX],1000
25. 设要在地址为 DAT1 的数据区中顺次存放以下数据:’A’,’B’,0,
0,’C’,’D’,0,0,写出分别用命令 DB、DW 和 DD 实现的语句。
26. 简述子程序与宏指令的区别。
27. 说明 RET,END,HLT 的用途和区别.
28. 执行下面的指令序列后,写出标志寄存器 CF、PF、ZF、SF、OF 位的状态。
MOV AX,35E5H
MOV BX, 7832H
ADD AX, BX
答:CF=0、PF=1、ZF=0、SF=1、OF=1
29. 阅读下列程序段,将执行结果填入后面的空格内。
MOV AX,BX
NOT AX
ADD AX,BX
INC AX
AX=____,CF=____
答: AX=0,CF=0
30. 说明下列指令中源操作数的寻址方式。
(1) MOV CX,24[BX][SI]
(2) MOV BX,[2000H]
(3) INC BYTE PTR[BX]
(4) MOV AX,[BP+DI]
答:
(1) 相对基址变址
(2) 直接寻址
(3) 寄存器间接寻址
(4) 基址变址
31. 解释 PUSH DI 指令是怎样工作的
(1)SP←SP-1,调整 SP 指针。
(2)将 DI 内容的高 8 位压入堆栈指针 SP 所指的存储单元。
(3)SP←SP-1,调整 SP 指针。
(4)将 DI 内容的低 8 位压入堆栈指针 SP 所指的存储单元。
32. 对于下面的数据定义,各条 MOV 指令单独执行后,AX 寄存器的内容是什么?
ORG 2000H
A1 DB ?
A2 DW 20 DUP(?)
A3 DB ‘ABCD’
A4 DW 10 DUP(?)
(1) MOV AX,TYPE A1
(2) MOV AX,OFFSET A2
(3) MOV AX,LENGTH A3
(4)MOV AX,SIZE A4
答:
(1) 1
(2) 2001H
(3) 1
(4)20
33. 伪指令的作用是什么?
伪指令又称为操作,他们不像机器指令那样在程序运行期间由计算机来执行
的,而是在汇编程序对源程序汇编是由汇编程序处理的操作。伪指令主要完成处
理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。
34. 标号的作用是什么?
代码段中的名字字段叫做标号。它用来表示一个指令语句的符号地址,可以
用该符号地址来访问该指令。
35. 假设 VAR12 和 VAR34 为字变量,LAB 为标号,试指出下列指令的错误之处。
(1) ADD VAR12 ,VAR34
ADD 指令的源操作数和目的操作数不能同时为内存操作数,但 VAR12 和
VAR34 都是内存操作数。
(2) SUB AL ,VAR12
VAR12 是字变量,而 AL 是字节型的,不匹配
(3) JMP LAB [DI]
JMP 跳转指令,后面直接跟指令标号,所以不应该有[DI]..
(4) JNZ VAR12
JNZ 条件跳转指令,后面直接跟指令标号,但是 VAR12 不是标号。
36. 试编写由键盘输入一个以回车(0x0D)作为结束的字符串,将其按 ASCII
码由大到小的顺序输出到显示器上的源程序。
DSEG SEGMENT 'DATA'
RESULT DB 100 DUP(1)
N DB 0
DSEG ENDS
SSEG SEGMENT STACK 'STACK'
DW 100H DUP(?)
SSEG ENDS
CSEG SEGMENT 'CODE'
START PROC FAR
; STORE RETURN ADDRESS TO OS:
PUSH DS
MOV AX, 0
PUSH AX
; SET SEGMENT REGISTERS:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
;1.输入保存------------------------
MOV CL, 0
LEA SI, RESULT
input_next:
: MOV AH, 1
INT 21H
CMP AL, 0DH ; 回车为 ODH
JZ toSort
MOV [SI],AL
INC SI
INC CL
JMP input_next
toSort:
MOV N, CL ;输入的 ASCII 码个数保存到 N 中
;2.排序--------------------
MOV DH, 0
MOV DL, N
DEC DX
next1: LEA BX, RESULT
MOV CX,DX
next2: MOV AL,[BX]
CMP AL,[BX+1]
JNC noX
XCHG AL,[BX+1]
MOV [BX],AL
noX: INC BX
LOOP next2
DEC DX
JNZ next1
;3.显示------------------
MOV CH, 0
MOV CL,N
LEA BX, RESULT
displayNext:
MOV DL,[BX]
MOV AH,2
INT 21H
INC BX
LOOP displayNext
RET
START ENDP
CSEG ENDS
END START
37. 设从 BUFFER 开始存放若干个以$为结束标志的带符号字节数据,试编写将
其中的正数按由大到小的顺序存入 PLUS 开始的缓冲区中的完整源程序。
BUFFER DB
PLUS
STR
DB 15 DUP(0)
DB 0AH,0DH,"PLUS==>$"
(编程注意四个环节:段的定义;数据定义;提取带符号字节数据中的正数;由
大到小排序。)
答:
DATA SEGMENT
11H,12H,0FEH,0EAH,32H,0A3H,22H,14H,54H,0C3H,09H,45H,53H,37H,38H,'$'
DATA ENDS
CODE
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
CALL SUB1 ; Calculate / Positive Number to PLUS
CALL SUB2 ; Sort PLUS
CALL SUB3 ; output PLUS / for testing the program
SEGMENT
ASSUME
CS:CODE,DS:DATA
MOV AL,[BX]
PROC NEAR
PUSH AX
PUSH BX
LEA SI,PLUS
LEA BX,BUFFER
XOR AX,AX
XOR DX,DX
CMP AL,24H
JZ AA3
TEST AL,80H
JNZ AA2
MOV [SI],AL
INC SI
INC BX
INC DX ; total of PLUS
JMP AA1
MOV AH,4CH
INT 21H
MAIN ENDP
SUB1
AA1:
AA2:
AA3:
SUB1 ENDP
SUB2
L1: MOV CX,DX
LEA BX,PLUS
L2: MOV AL,[BX]
L3: INC BX
SUB2
;;;;;;;;;;;;;;;;;;;;;;;;
CMP AL,[BX+1]
JNC L3
XCHG AL,[BX+1]
MOV [BX],AL
LOOP L2
DEC DX
JNZ L1
POP DX
RET
PUSH DX
DEC DX
INC BX
JMP AA1
POP BX
POP AX
RET
PROC NEAR
ENDP
PROC NEAR
PUSH AX
PUSH CX
PUSH DX
MOV DL,[BX] ; BX is the Parameter in this function
MOV CL,4
SHR DL,CL
OR DL,30H
CMP DL,3AH
JC BB1
ADD DL,7
INT 21H
MOV DL,48H
INT 21H
MOV DL,20H ;Output Space
INT 21H
POP DX
POP CX
POP AX
RET
MOV AH,2
INT 21H
MOV DL,[BX]
AND DL,0FH
OR DL,30H
CMP DL,3AH
JC BB2
ADD DL,7
MOV AH,2
SUB4
BB1:
BB2:
SUB4 ENDP
SUB3
LL1:
SUB3
ENDP
CODE ENDS
INC BX
LOOP LL1
POP DX
RET
PROC NEAR
PUSH DX
MOV CX,DX
LEA DX,STR
MOV AH,9
INT 21H
LEA BX,PLUS
CALL SUB4
END MAIN
38. 已知在 ARRAY 数组中有 80 个无符号字节数据,编写一个完整的 8086 汇编
语言程序,将 ARRAY 数组中的最大值放入 MAX 单元中。
39. 有 100 个无符号整数,编写完整汇编程序,求最小值及其位置。
40. 有 100 个无符号整数,编写完整汇编程序,求平均值及其位置。
41. 说明计算机中采用 Cache 和虚拟存储器的原因。
42. 段描述符用于描述段的信息,它由 个字节组成。
43. Pentium 实地址模式的特点,8086 工作模式、Pentium 实地址模式、Pentium
虚拟 8086 模式之间的异同?
Pentium 实地址模式特点:能有效地使用 8086 所没有的寻址方式、32 位寄
存器和大部分指令。
实地址方式,Pentium 与 8086 兼容,基本体系结构相同。
虚拟 8086 方式与实地址方式的不同: 1)虚拟 8086 方式是一个程序的运行方式。
2)实地址方式是处理器的工作方式。
44. IDTR、GDTR 和 LDTR 分别代表什么寄存器?其内容是什么信息?有什么作
用?
45. 说明段描述符的组成及作用。
46. 说明 CPL、RPL、DPL 的含义。
47. 任务状态段 TSS 的主要作用是什么?
48. 简述 Pentium 通过 GDT 访问数据段的寻址过程(也可画图说明)。
49. 简述 Pentium 通过 LDT 访问数据段的寻址过程(也可画图说明)。
50. 说明段页式存储管理的寻址过程。
51. Pentium 处理器采用分段存贮器管理时的数据访问逻辑地址转换为物理地
址的过程。
Pentium微处理器的分段存储管理机制允许将46位虚拟地址映射到硬件所需
的32位物理地址。如图,首先由虚拟地址(逻辑地址)段选择符部分的13位索引字
段确定段描述符在段描述符表中的位置,然后取出段描述符中的32位基地址并与
逻辑地址中的32位偏移量相加,得到32位的线性地址。若无分页功能,则线性地
址就直接是物理地址。
逻辑地址:
段选择符( 16位)
偏移量( 32位)
基址( 32位) 界限( 20位) 属性( 12位)
基址( 32位) 界限( 20位) 属性( 12位)
基址( 32位) 界限( 20位) 属性( 12位)
基址( 32位) 界限( 20位) 属性( 12位)
段描述符表GDT/ LDT:
⊕
物理地址:
线性地址( 32位)
52. CPU 与外部设备之间为什么要使用接口?
微型计算机的外部设备多种多样,这些外设在工作原理、驱动方式、信息格