微机原理复习基本概念
1. 掌握计算机中的数和编码系统
二、十、十六进制的相互转换,无符号数、带符号数、真值、机器数的区别,原码、反码、补码、真值之间的相互转换方法,位、字节和字长的概念,十进制数用8421BCD码表示,ASCII码,二进制数的加、减、乘、除算术运算,二进制数的与、或、非、异或逻辑运算,进位和溢出的概念。 2. 掌握系统组成
微处理器、微型计算机、微型计算机系统的概念,微机系统组成框图及各部分的主要功能,指令和程序的概念,软件的分类,软、硬件的关系。掌握计算机主要技术性能指标(字长、内存容量、主频、运算速度、存取周期)的含义。通过简化的微型计算机的初步理解计算机的工作过程,建立起整机的概念。了解微机的工作环境。8086中20位地址的形成,8086存储器的分段方法。
3. 理解8086微处理器的内部结构、引脚功能和定时关系
8086的寄存器结构和功能结构、最小组态,主要引脚的功能,指令周期、总线周期、时钟周期的概念,能看懂存储器读和存储器写典型时序图。 4. 掌握8086主要寻址方式
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、基址变址寻址、串寻址、端口寻址和隐含寻址。掌握8086中的标志寄存器各位的含义。掌握8086主要常用指令的功能数据传送类、算术运算类、逻辑运算类、转移类、移位类、串操作类、处理器操作类指令中的常用指令。 5. 汇编语言
以Intel8086 CPU 为背景,了解汇编语言的特点、汇编语言的基本语法。掌握常用汇编伪指令的含义和用法:符号定义伪指令、数据定义伪指令、段和模块定义伪指令和过程定义伪指令。了解其他伪指令的含义和用法。掌握汇编语言程序的格式和运算方法。.掌握汇编语言程序中返回DOS的方法。了解其他常用的系统功能调用。 6. 基本程序设计方法
理解顺序程序、分支程序、循环程序、含子程序的程序的基本方法,能读写、运行、调试简单的汇编语言程序,如数据传送、比较、求和等简单程序。 7. 存储器
理解存储器分类,性能指标,典型芯片,8086存储器结构,重点掌握存储器与微处理器的连接。
微机原理练习题
1. 8086CPU由哪两个部分组成?它们的主要功能是什么?
答:执行部件EU,总线接口部件BIU,EU执行全部的指令,同时向BIU输出,并对寄存器和标志寄存器进行管理. BIU负责全部的外部总线周期,提供总线控制型号,进行物理 地址的计算.
2. 8086有多少条地址线?允许访问多少个存储器地址?8086存储器为什么要分段?怎样
分段?
答:20条. 1M. EU内部只能处理16位地址信息,而地址信号线却`有20条,为了解决这个矛盾使用了分段的方法. 分段方法:每个逻辑地址分为 段基址 和偏移量,段基址 在段寄存器中,偏移量+段基址*16=物理地址
1
3. 什么叫总线周期?8086系统中的总线周期由几个时钟周期组成?如果一个CPU的主
时钟频率为25MHZ,问一个时钟周期是多少?一个基本总线周期是多少? 答:CPU访问一次总线所需要的时间。最少4个时钟周期。40NS。160NS。 4. 在总线周期的T1、T2、T3、T4状态CPU分别执行什么动作?什么情况需要插入Tw? 答:T1: 地址的输出 T2: 总线的转向 T3: 完成对存储器或者I/O的访问 T4: 总线周期的结束。
当对速度比较慢的存储器或外部设备进行操作时候,为了使其与CPU时间匹配。
5.在T1状态下,数据/地址线上是什么信息?用哪个信号将此信息锁存起来?数据信息是在什么时候给出的?用时序图表示出来。
答:地址信息,ALE信号的下降沿。 T2 状态下当RD或者WR信号为低的时候。 5. 状态标志和控制标志有何不同?8086的状态标志和控制标志分别有哪些? 答:状态标志表示算术和逻辑运算的结果。控制标志用来控制CPU的工作条件。 状态标志:CF PF AF OF SF ZF 控制标志:TF IF DF
6. 8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?
答:用分时复用的方法,在T1 给出的是地址信息,T2 时给出 数据。ALE在T1 时出现高电平, 它的下 跳沿将出现在A/D总线上。
7. 8086系统在最小模式时应该怎样配置?
答: MN/MX 引脚直接接高电平。IO/M 、RD 、WR 和INTA引脚直接接在存储器和IO端口相应的控制线上,地址 地址/数据 线接在地址锁存上, 数据线可以直接接到数据总线上,或通过数据驱动器8286接在总线上,8284 提供CPU提供的时钟。
8. RESET信号到来时,系统从何处开始启动? 答:CS:FFFFH ,其他全是0000H
9. 8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址? 答: 1M 分段的存储结构
10. 直接寻址方式中,一般只指出操作数的偏移地址,但段地址如何确定? 答:指令中默认的段是DS ,若想改变可以使用断超越。
11. 用增、减量指令设计程序时,其后不能用标志位作为判断的依据,为什么? 答:INC 和DEC 指令对CF没影响。
12. 条件转移指令均为相对转移指令,请解释“相对转移”的含义。若需要向较远的地方
进行条件转移,该怎么办?
答:相对转移指令的下一条指令的第一个代码所在的地址跳转。
可以使用 有条件跳转与无条件跳转的组合 或者有条件跳转与中断或者调用指令的组合 13. 设存储器内数据段中存放了两个字2FE5H、3EA8H,数据存放的偏移地址为4F25H和
3E5AH,已知(DS)=3500H。画图说明这两个字的存放情况,若要读取这两个字,需要对存储器进行几次读操作?
答:3500H:3E5AH 0A8H 3500H:3E5BH 3EH 。。。。。。。。 3500H:4F25H 0E5H 3500H:4F26H 2FH 3次读操作
14. 写出下列存储器地址的段地址、偏移地址和物理地址:
1) 2314H:0035H 段 :2314H 偏移:0035H 物理:23175H 2) 1FD0H:00A0H 1FD0H 00A0H 1FDA0H 3) 0000H:0100H 0000H 0100H 00100H
2
4) 3FB0H:0035H 3FB0H 0035H 3FB35H 15. 判断下列指令书写是否正确:
1) MOV AL,BX 错 2) XCHG CS,AX 错 3) IN BX,DX 错 4) MOV AL,CL 对 5) INC [BX] 错 6) MOV 5,AL 错 7) MOV [BX],[SI] 错 8) MOV DX,F5H 错 9) MOV DX,2000H 对 10) POP CS 错 11) PUSH CS 对 16. 设(SP)=2000H,(AX)=3000H ,(BX)=5000H,问:
1) 执行指令 PUSH AX 后SP=? 1FFEH
2) 再执行指令 PUSH BX 和 POP AX 后 SP=?AX=?BX=? 答:SP=1FFEH AX=5000H BX=5000H 17. 假如(AL)=20H,(BL)=10H,当执行CMP AL,BL后,问:
1) 若是两个无符号数比较,结果如何? AL 〉 BL 2) 若是两个有符号数比较,结果如何? AL 〉 BL
18. 将62A0H与下列各数相加,试给出和数及标志AF、SF、ZF、CF、OF、PF的状态:
1) 1234H AF 0 SF 0 PF 0 ZF 0 OF 0 CF 0
2) 4321H AF 0 SF 1 PF 1 ZF 0 OF 1 CF 0 3) 0CFA0H AF 1 SF 0 PF 0 ZF 0 OF 0 CF 1 19. 试分析在下列程序段执行完后,A单元的内容是什么? DATA SEGMENT A DW 1 B DW 2 C DW 3 DATA ENDS
CODE SEGMENT ??
MOV BX,OFFSET A MOV AX,[BX] MOV B,AX MOV AX,2[BX] ADD AX,B MOV A,AX ??
CODE ENDS 答:A=2
20. 编写一段程序,实现下列要求:
1) 使AX的低4位清零,其余位不变。AND AX,0F0H AND AL,0F0H
2) 使AX的低4位不变,高4位取反。XOR AX,0F0H XOR AL,0F0H
3
21. 编写一段程序,将两位组合的BCD数转换成ASCII码,并存放于指定单元中。 答:以下是程序段 不是完整程序、 STT DB ?
ENDD DB 2 DUP(?) 。 。
MOV AL,STT MOV CL ,4 MOV AH,0 SHL AX,CL SHR AL,CL ADD AH,30H ADD AL,30H MOV ENDD ,AL MOV ENDD+1 ,AH 22. 已知程序段如下:
MOV AX,1234H ;(AX)=1234H AX=1234H
MOV CL,3 ;(AX)=1234H AX=1234H ROL AX,CL ; AX=2341H DEC AX ; AX=2340H
MOV CX ,4 ; AX=2340H MUL CX ;AX=8D04H ??
1) 每条指令结束后,AX的内容是什么?
2) 程序结束时,AX、CX的内容是什么? AX=8D04 H CX =0004H 23. 在编写乘除法程序时,为什么常用移位指令来代替乘除法指令?编写一段程序,实现
将BX中的数除以10,结果仍然放在BX中。 二进制数左移一位相当于乘2 右移一位相当除2 。 以下是程序段 : MOV AX,BX
CBD
MOV BX,10
TEST DX ,0FFFFH ; 判断是否是无符号数 JZ GO DIV BX
JMP EXIT GO: IDIV BX
EXIT : MOV BX,AX
24. 假设(DX)=0E3H,变量CHAR中存放的内容是55H,确定下列各个指令单独执行后
的结果:
4
相关推荐: