您好,欢迎来到微智科技网。
搜索
您的当前位置:首页微机原理及应用(2012)

微机原理及应用(2012)

来源:微智科技网


微机原理及应用复习

主要章节

微机及微处理器结构及原理

8088CPU的主要部件及其功能、工作模式、复位、存储器组织与物理地址计算。

指令系统及汇编程序设计

寻址方式(地址计算)、基本指令及功能(传送、运算、串操作、控制转移)、数据定义伪指令、汇编程序结构。基本DOS功能调用(键盘输入、显示、设置中断向量)

微机和外设的数据传输

接口功能、I/O数据传送方式 。

控制及接口芯片原理及编程

8253、8255、8251,8259,8237设

置及应用编程)

考试题型 填空、地址计算、简答、指令和程序的分析、芯片编程设置、程序设计。

填空:指令分析,基本概念

地址计算:根据寄存器的内容及指令寻址方式,计算单元的逻辑地址和物理地址。

简答:基本概念、基本原理

指令分析:①给出功能要求,写出指令实现。

②给出指令,分析功能、计算地址。

程序分析:分析程序段的功能和执行结果

芯片编程设置:给出芯片功能要求,写出设置命令字及程序段。

程序设计:根据要求编写程序。

例题

填空题

1、8086CPU中,若DS的内容为4300H,则数据段的首单元物理地址为 H,数据段最后单元物理地址为 H。

2、8086CPU中,若物理地址为063C74H,地址偏移量为4344H,则段地址为

H。

3、8086指令系统的串传送指令中,目的操作数的物理地址由寄存器 ES*16 与 DI 相加得到,源操作数的物理地址由寄存器 DS*16 与 SI 相加得到。

4、CPU与接口间传送的信号类型主要有控制信息、 数据信息 和 状态信息 。

5、 使用 AND AX,0FFH 指令可使寄存器AX的高8位清零,其他位不变,

使用 OR AL,0F0H 指令可使寄存器AL高4位置1,其他位不变,

使用 XOR AX,OFFH 指令可使寄存器AX的低8位取反,其他位不变。

6、可用 MOV 存器中,

AX,SS:[560H] 指令将SS:560H单元内容传送到AX寄

用 MOV [560H],CX 指令将寄存器CX的内容传送到DS:560H单元中,

用 MOV CX,6734 指令将数据6734送入CX寄存器中。

7、 中断类型码为42H的中断服务程序入口地址的偏移地址存放在中断向量表中

的 108H,109H 单元,段地址存放在 10AH,10BH 单元。

8、 将下列各指令中操作数寻址所使用的段寄存器分别填写在各指令后空格中:

MOV AL, [3000H] DS

ADD [BP],AX SS SUB AX,EX:[BX+DI] ES

SCASB ES

简答题

1、8086 CPU中指令接口单元(BIU)的主要功能是什么?

2、8086CPU的中断系统可以处理那几类中断?

3、计算机输入/输出接口电路与外部设备间交换的信号有哪几种类型?

4、8255A有几种工作方式?分别对应哪些端口?

答:指令接口单元(BIU)的主要功能是负责与存储器、输入/输出端口传送数据,即存取程序和数据的实际处理。

1、 答:8086CPU的中断系统可以处理的中断可以有256种,包括硬件中断和软件中断,硬件中断中包括非屏蔽中断和可屏蔽中断。

2、 答:计算机输入/输出接口电路与外部设备间交换的信号有数字量、模拟量、开关量和脉冲量。

3、 答:8255A有基本输入输出方式、选通输入输出方式和双向传送方式。端口A可以在三种方式中选择,端口B在前两种方式中选择,端口C只能使用基本输入输出方式。

一、指令分析:

1、 写出将DS:3766H单元内容送AL中的指令

写出将BX内容送ES:3766H单元的指令

写出将2340H送CX的指令。

MOV AL,[3766H]

MOV ES:[3766H],BX

MOV CX,2340H

2、将BX的D8~D12位清0

AND BX,1110000011111111B

(或者AND BX,0E0FFH)

3、写出指令中操作数寻址所使用的段寄存器

MOV AL,[357H] DS ADD [DI],BX DS

AND CL,[BP+69H] SS

STOSB ES

二、地址计算:

1、巳知8086CPU中下列各寄存器的内容分别为:

CS=5340H,DS=0030H,SS=1230H,

IP=5220H ,AX=3240H, BX=7240H,

BP=4B0H,SP=4690H,

ES=3330H

1〉求当前指令单元地址和堆栈栈顶单元物理地址。

2〉求下列各指令中操作数所在存储单元的物理地址。

a. MOV AX,[4730H]

b. MOV [BX+4730H],AX

C. MOV AX,[BP+473H]

答案:

1> 当前指令单元地址:

CS+IP: 53400H+ 5220H =58620H

堆栈栈顶单元物理地址:

SS+SP= 12300H+ 4690H=16990H

2>

a. DS+4730H

=00300H+4730H

=04A30H

b. DS+BX+4730H

=00300+7240H+4730H

=0BC70H

c. SS+BP+473H

=12300H+ 4B0H+ 473H

=12C23H

2、巳知8086CPU中下列各寄存器的内容分别为:

CS=4300H,DS=5000H,SS=0H,ES=7800H

IP=C400H,DI=320H, BP=2600H,

SP=330H

1〉给出当前指令单元和堆栈栈顶单元的偏移地址和物理地址。

2〉求下列各指令中操作数所在存储单元的偏移地址和物理地址。

a. MOV CX,[700H]

b. MOV ES:[DI+4300H],DX

C. MOV [BP+300H] ,DX

解:

1) 指令单元 偏移地址:0C400H 物理地址:4F400H

栈顶单元 偏移地址:330H 物理地址: 6700H

2)a. 偏移地址:700H 物理地址:50700H.

b. 偏移地址:4620H 物理地址:7C620H.

c. 偏移地址:2900H 物理地址:8D00H.

三、程序分析:

1、写出下列程序段执行完后,AL,DL的内容,并指出程序完成的功能。

MOV CL,04

MOV AL,87H

MOV DL,AL

AND AL,0FH

OR AL,30H

SHR DL,CL

OR DL,30H

解:

(AL)=37H (DL)=38H

将BCD码87的个位和十位转换成对应的ASCII码,并存放在AL,DL中。

2、执行完下列程序段后,寄存器AX,BX,CX,DX的内容分别是多少?

(6分)

MOV AX,3C0H

XOR CX,CX

MOV [200H],AX

MOV BX,[200H]

MOV CL,[201H]

MOV DX,2220H

ADD BX,DX

答案:AX=3C0H,BX=25E0H,CX=0003H, DX=2220H

四、接口芯片设置及编程:

1、假设8253占用的端口地址为180H-184H,CLK0和CLK2接8MHZ时钟,要求:

1)将计数器0设置时钟周期为1ms分频器,计数器2的设置为软件触发的选通信号发生器,设置完计数初值0.2ms后OUT2输出选通信号。

2)将OUT0接到计数器1的CLK1,计数器0工作方式同上,计数器1输出频率为1HZ的方波信号。

1)计数器0:方式字 00 11 010 0 (34H)

初值:8000

计数器2:方式字 10 11 100 0 (0B8H)

初值:1600

MOV DX,183H

MOV AL,34H

OUT DX,AL

MOV AL,0B8H

OUT DX,AL

MOV DX,180H

MOV AX,8000

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV DX,182H

MOV AX,1600

OUT DX,AL

MOV AL,AH

OUT DX,AL

答案:

2)计数器0:方式字00 11

010 0 (34H)

初值:8000

计数器1:方式字 01 11 011 0 (076H)

初值:1600

MOV DX,183H

MOV AL,34H

OUT DX,AL

MOV AL,076H

OUT DX,AL

MOV DX,180H

MOV AX,8000

OUT DX,AL

MOV AL,AH

OUT DX,AL

MOV DX,181H

MOV AX,1000

OUT DX,AL

MOV AL,AH

OUT DX,AL

2、定时/计数器芯片8253A的端口地址为24H—27H,将它的通道2的CLK2接外部计数脉冲,要使计数值达到4000时,OUT2产生中断请求,写出相应程序段。

答案:通道2的方式命令字:10110000(0B0H)

计数初值:4000

MOV DX,27H

MOV AL,0B0H

OUT DX,AL

MOV AX,4000

MOV DX,26H

OUT DX,AL

MOV AL,AH

OUT DX,AL

3、设某8255并行接口芯片的端口地址为140H~143H,根据下列设置要求对芯片编程:

1)将A口设为选通方式的输出口,并允许中断;B口设为选通方式的输入口,PC5,PC4设为输出。

2)将A口设为双向传输方式,禁止输出中断产生,允许输入中断产生,B口设为选通输入方式,并允许中断产生。

答案:

1)方式控制字: 10100110 (0A6H)

A口允许中断(PC6=1):0000 110 1 (0DH)

MOV AL,0A6H

MOV DX,143H

OUT DX,AL

MOV AL,0DH

OUT DX,AL

2)方式控制字: 11000110(0C6H)

A口禁止输出中断(PC6=0):0000 1100 (0CH)

A口允许输入中断(PC4=1):0000 1001 (09H)

B口允许输入中断(PC2=1):0000 0101 (05H)

MOV AL,0C6H

MOV DX,143H

OUT DX,AL

MOV AL,0CH

OUT DX,AL

MOV AL,09H

OUT DX,AL

MOV AL,05H

OUT DX,AL

4、并行接口芯片8255A的端口地址为34H—37H,将其设置为下述工作方式:端口A设置为选通的输入方式,端口A的中断设为允许状态,端口B设置为基本输出方式,,端口C设为输入方式,给出相应的控制字说明,并写出相应程序段。

答案:方式命令字: 10111001(0B9H)

设A口输入中断允许: 00001001(09H)

MOV DX, 37H

MOV AL,OB9H

OUT DX,AL

MOV AL,09H

OUT DX,AL

5、某微机系统采用单片8259A构成中断控制系统,采用非缓冲方式,中断采用边沿触发,自动EOI方式,完全嵌套方式,端口地址为 6AH--6BH,芯片的中断类型码设为68H,IR5上接一个外部中断源,中断程序入口地址为8300H:3450H,编写初始化程序,并设置中断向量。

答案:

ICW1(6AH):00010011B ( 13H)

ICW2(6BH):68H

ICW4(6BH):00000011B (03H)

设置中断向量表:AH=25H,AL=6DH

DS=8300H,DX=3450H

程序段:

MOV OUT MOV OUT MOV OUT CLI

MOV MOV MOV MOV INT

AL,93H

6AH,AL

AL,68H

6BH,AL

AL,03H

6BH,AL

AX, 8300H

DS,AX

DX,3450H

AX,256DH

21H

STI

IN AL,6BH

AND AL,11011111B

OUT 6AH,AL ;清除IR5中断屏蔽

6、利用PC/XT中8237A DMA控制器的通道1将外设传送来的4236H个数据装入85000H单元开始的存储器中,编写有关程序实现。

答案:通道1:模式字:01 0 0 01 01(45H)

地址:5000H(端口:02)

计数:4236H (端口:03)

页面地址:08H (端口:83H)

MOV AL,5

OUT 0AH,AL ;设置通道1屏蔽

MOV AL,01000101B

OUT 0BH,AL ;设置通道1的模式字

OUT 0CH,AL ;清先后触发器

MOV AX,5000H

OUT 02H,AL ;置通道1起始地址的低8位

MOV AL,AH

OUT 02H,AL ;置通道1起始地址的高8位

MOV AX,4236H

OUT 01H,AL ;置通道1计数初值的低8位

MOV AL,AH

OUT 01H,AL ;置通道1计数初值的高8位

MOV AL,08H

OUT 83H,AL ;置通道1的页面地址

MOV AL,1

OUT 0AH,AL ;清除通道1屏蔽

五、编程

1、根据下面定义的数据段,编写一个完整的程序,将数据缓冲区INBUF的数据传送到数据缓冲区OUTBUF中。

DATA SEGMENT

INBUF DW 100 DUP(?)

OUTBUF DW 100 DUP(?)

DATA ENDS

答案:

DATA SEGMENT

INBUF DW 100 DUP(?)

OUTBUF DW 100 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START:MOV AX,DATA

MOV DS,AX

MOV EX,AX

MOV SI,OFFSET INBUF

MOV DI,OFFSET OUTBUF

MOV CX,100H

CLD

REP MOVSW

MOV AH,4CH

INT 21H

CODE ENDS

END START

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务