微型计算机原理及应用复习资料共20页Word下载.docx

上传人:b****5 文档编号:19841540 上传时间:2023-01-10 格式:DOCX 页数:16 大小:163.72KB
下载 相关 举报
微型计算机原理及应用复习资料共20页Word下载.docx_第1页
第1页 / 共16页
微型计算机原理及应用复习资料共20页Word下载.docx_第2页
第2页 / 共16页
微型计算机原理及应用复习资料共20页Word下载.docx_第3页
第3页 / 共16页
微型计算机原理及应用复习资料共20页Word下载.docx_第4页
第4页 / 共16页
微型计算机原理及应用复习资料共20页Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

微型计算机原理及应用复习资料共20页Word下载.docx

《微型计算机原理及应用复习资料共20页Word下载.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用复习资料共20页Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

微型计算机原理及应用复习资料共20页Word下载.docx

DI)物理地址?

堆栈栈顶:

SS+SP=3450X16H+1234h=34500H+1234h=35734H

(DS:

DI)物理地址:

DS+SI=3460HX16H+1100H=34600H+1100H=35700H

书后P108

●1.8086系统中的物理地址是如何得到的?

假如CS=2000H,IP=2100H其物理地址应该是多少?

答:

8086系统的物理地址是将段地址寄存器的内容左移四位(或乘16)加上偏移地址,即可得到20位的物理地址。

2000H左移4位为20000H,加上2100H为22100H,则物理地址为22100H。

●2.什么是可屏蔽中断?

什么是非屏蔽中断?

可屏蔽中断是通过CPU的INTR引脚引入,当中断语序标志IF为1时,允许中断,当IF=0时,中断受到禁止。

不可屏蔽中断,不受IF标志的控制是由NMI引脚引入,如电源掉电。

●3.什么是中断向量?

中断向量表指的是什么?

中断向量表放在什么地方?

中断向量:

是终端处理子程序的入口地址每个终端类型对应一个中断向量。

中断向量表:

是指中断类型编码与中断向量的关系。

中断向量表位于存储器的最低部位地址为000H~3FFH共1K字节单元。

●4.假如中断类型为8,它的中断服务入口地址是什么?

段地址=8X4+2=34=0022H

偏移地址=8X4=32=0020H

中断类型8的中断服务程序的入口地址为0022H:

0020H,物理地址为00240H。

第十一章

●32位微处理器有3种工作方式,即实地址方式、保护方式、和虚拟8086方式

●保护模式增加了四个寄存器:

全局描述符表寄存器GDTR中断描述符表寄存器IDTR

局部描述符表寄存器LDTR任务寄存器TR

●假定LDT的基址为0012000H,GDT基址为00100000H如果装入CS寄存器的选择符为1007H,那么请求特权级是多少?

段描述符地址是多少?

是GDT还是LDT?

解(CS)=0001000000000111b

最右边两位为1则RPL=3

TI=1表示段描述符在LDT中。

偏移量为高13位乘以8得到相对于表基址的偏移量。

偏移量=0001000000000b×

8=512×

8=4096=1000H

段描述符地址为00120000H+1000H=00121000H

●3.例如:

IDTR=0E003F40007FFH,

则IDT的地址为0E003F400H,

长度为7FFH+1=800H。

其中可容纳800H/8=100H个中断门描述符。

●2.假定全局描述符表的基址为00011000H,TR为2108H,问TSS描述符的起始范围是多少?

TSS起始地址=00011000H+2108H=00013108H

由于描述符为8字节故

TSS终止位置为00013108H+7H=0001310FH

✓2.假定虚拟地址由段描述符0100H和偏移量00002000H组成,禁止分页。

如描述符中读出的段基址为00030000H,那操作数的物理地址是多少?

虚拟地址=选择符:

偏移量

=0100:

00002000H

线性地址=段基址+偏移量

=00030000H+00002000H

=00032000H

✓3.GDTR=0E003F0003FFH,问GDT地址是什么?

长度是什么?

可容纳多少个段描述符?

GDT的地址为0E003F00H(高32为)可容纳400H/8=80H个段描述符(每段58字节)长度为3FFH+1=400H(线长+1)

十一章课后题没写~

第五章

●在8086指令系统中,说明操作数所在地址的

寻址方式可分为4种:

①立即数寻址②直接寻址

③寄存器寻址④寄存器间接寻址

书P113例五

✓设BX=0158H,DI=10A5H,位移量=1B57H,DS=2100H,并假定没有使用段前缀,即把DS作为操作数对应的段寄存器。

在各种寻址方式下,这些寄存器和位移量所产生的有效地址和物理地址为:

a)直接寻址:

有效地址=1B57H

物理地址=21000H+1B57H=22B57H

b)寄存器间接寻址(寄存器为BX)有效地址=0158H

物理地址=21000H+0158H=21158H

c)BX寄存器相对间接寻址有效地址:

0158H+1B57H=1CAFH

物理地址=21000H+1CAFH=22CAFH

d)变址寻址(寄存器为DI)有效地址=10A5H

物理地址=21000H+10A5H=220A5H

e)DI寄存器相对变址寻址

有效地址=10A5H+1B57H=2BFCH

物理地址=21000H+2BFCH=23BFCH

f)基址加变址的寻址(BX为基址寄存器,DI为变址寄存器)

有效地址=0158H+10A5H=11FDH

物理地址=21000H+11FDH=221FDH

g)相对的基址加变址的寻址(BX为基址寄存器,DI为变址)

有效地址=0158H+10A5H+1B57H=2D54H

物理地址=21000H+2D54H=23D54H

指令操作例:

MOVAX,[3012H]如果(DS)=2000H,(23012H)=CDH,(23013H)=ABH

则操作数的物理地址为:

20000H+3012H=23012H

指令执行后:

(AX)=ABCDH

●2.指令操作例:

MOVSI,AX;

SI(AX)

指令执行前:

(AX)=2233H

(AX)=2233H,(SI)=2233H

3.

●4.MOVAX,[SI+3000H]

设(DS)=4000H,(SI)=2000H物理地址=40000H+2000H+3000H=45000H

●5.例:

MOVAX,[BX+8]?

MOVCX,TABLE[SI]?

MOVAX,[BP];

默认段寄存器为SS?

MOVAX,DATA[BX]

若(DS)=6000H,(BX)=1000H,DATA=2A00H,

(63A00H)=66H,(63A01H)=55H

则物理地址=60000H+1000H+2A00H=63A00H

(AX)=5566H

●6.指令操作例:

MOVAX,[BX][SI]

假定:

(DS)=8000H,(BX)=2000H,SI=1000H

则物理地址=80000H+2000H+1000H=83000H

指令执行后:

(AL)=[83000H](AH)=[83001H]

●7.

●8.例:

写出34H÷

25H的程序段。

MOVAL,34H

MOVBL,25H

CBW;

AL的符号扩展到AH

DIVBL;

0034H÷

25H,结果为

;

(AH)=0FH,(AL)=01H

●9.例:

(AL)=A5H(-5BH的补码),(BL)=11H

(1)MULBL;

(AX)←(AL)×

(BL);

A5×

11=0AF5;

(AX)=0AF5HCF=OF=1

(2)IMULBL;

11⇒-5B×

11=-060B⇒F9F5;

(AX)=F9F5HCF=OF=1

●10.例:

把AL中的数x乘10

因为10=8+2=23+21,所以可用移位实现乘10操作。

程序如下:

●12.把从A000H开始的2KB内存单元清零。

程序段如下:

MOVAX,0

MOVCX,1024

MOVDI,0A000H

CLD

REPSTOSW

✓13.把1000H开始的100个存储单元填入ASCII码2AH(*)。

MOVDI,1000H;

首地址

MOVAL,2AH;

‘*’

MOVCX,100;

重复执行100次

CLD;

增量修改DI

REPSTOSB

●12.JMPDWORDPTR[SI]

设指令执行前:

(DS)=4000H,(SI)=1212H,

(41212H)=1000H,(41214H)=4A00H

则指令执行后:

(IP)=1000H,(CS)=4A00H,于是转到4B000H处开始执行指令。

书后复习题:

P135

●分别指出下列指令中的源操作数和目的操作数的寻址方式:

1.MOVSI,200源:

立即寻址;

目:

寄存器寻址

2.MOVCX,DATA[SI]源:

3.ADDAX,[BX][DI]源:

基址变址寻址;

4.ANDAX,BX源:

5.MOV[SI],AX源:

寄存器寻址;

寄存器间接寻址

6.PUSHF源:

直接寻址

●试述指令MOVAX,2019H和MOVAX,DS:

[2019H]的区别?

MOVAX,2019H,把2019H→AX中

MOVAX,DS:

[2019H];

把数据段的2019H地址中的内容→AX中

●写出下列指令中内存操作数的所在地址?

1.MOVAL,[BX+5](DS)*10H+(BX)+5

2.MOV[BP+5],AX(SS)*10H+(BP)+5

3.INCBYTEPTR[SI+3](DS)*10H+(BI)+3

4.MOVDL,ES:

[BX+DI](ES)*10H+(BX)+(DI)

5.MOVBX,[BX+SI+2](DS)*10H+(BX)+(SI)+2

●判断下列指令书写是否正确:

1.MOVAL,BX错

2.MOVAL,CL对

3.INC[BX]对

4.MOV5,AL错

5.MOV[BX],[SI]对

6.MOVBL,F5H对

7.MOVDX,2000H错

8.POPCS错9.PUSHCS对

第六章

●基本程序结构分为:

顺序结构循环结构分支结构子程序结构

✓从外设端口71H读入数据M,判断M的范围,若M≥20,则送0FFH给外设73H,如果M<10,则送00H给外设73H,若10≤M<20,则送88H给外设73H。

INAL,71H;

将71H端口的字节读入AL

CLC;

清楚CF

CMPAL,10;

将AL的内容和10相比较

JCLP1;

小于10转LP1

CMPAL,20;

将AL的内容和20相比较

JCLP2;

10≤AL<

20转LP2

MOVAL,0FFH;

将OFFH送入AL寄存器

LP3:

OUT73H,AL;

将OFFH输出到73H端口

HLT;

暂停

LP1:

MOVAL,0;

小于10送到AL

JMPLP3

LP2:

MOVAL,88H;

将88H送到BL

课后题P151

●编写一程序段完成AX*10的任务(要求不准用乘法指令做)

MOVBX,AX

MOVCL,2

SHLAX,CL

ADDAX,BX

SHLAX,1

✓编一子程序利用XLAT指令把十六进制转换成ASCII码。

假设ASCII码存放在以DAT1为首地址的数据区中,对应的十六进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。

MAN:

PUSHBX把BX放入堆栈中

PUSHSI

PUSHDI

PUSHCX

PUSHAL

PUSHDS

START:

MOVBX,DAT1把DAT1传送到BX

MOVSI,DAT2

MOVDI,DAT3

MOVCX,16

NEST:

LODSB读字节串

XLATDATA1将DATA1进行字节翻译

STOSB写字节串

LOOPNEST循环控制NEST

POPDS弹出DS内容

POPAL

POPCX

POPDI

POPSI

POPBX

RET复位

第八章

✓串行通信线路有如下3种方式:

单工通信:

它只允许一个方向传输数据

半双工通信:

允许两个方向传输数据但不能同时传输,只能交替进行

全双工通信:

它允许两个方向同时进行数据传输

✓在串行通信数据中的收发可采取异步和同步两种基本的工作方式。

•例如:

ASCII‘Q’=51h(1010001)

✓ASCII‘0’=30h(0110000)(奇数低电平,偶数高电平)

✓2.异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则:

1)波特率应该是多少?

2)有效数据位传输位是多少?

3)传输效率是多少?

1)波特率是

(7位数据位+1位起始位+1位校验位+1位停止位)×

240=2400b/s

2)有效数据位传输位是:

240=1680b/s

3)传输效率是:

1680/2400=70%7/10=70%

●3.设8250的基地址为3F8H,则:

–发送保持寄存器、接收缓冲寄存器的地址为3F8H(对应于A2A1A0=000b)。

–线路状态寄存器的地址为3FDH(A2A1A0=101b)。

●4,设置发送字符长度为8位,2位停止位,偶校验,线路控制寄存器应设为00011111B。

线路控制寄存器的地址为3FBH(A2A1A0=011b),其程序段为:

MOV DX,3FBH   ;

LCR口地址

MOV AL,00011111B;

LCR的内容

OUT DX,AL

课后习题P224

●设8251A的控制和状态端口地址为52H,数据输入/输出口地址为50H(输出端口未用),输入50个字节,将字符放在BUFFER所指的内存缓冲区中。

请写出这段的程序。

●设状态端口地址为86H,数据端口地址为87H,外部输入信息准备好状态标志为D7=1,请用查询方式写出读入外部信息的程序段。

POLL:

INAL,86H;

从状态端口输入状态信息

TESTAL,80H;

检查READY是否是1

JEPOLL;

未准备好,循环

INAL,87H;

准备好,从数据端口输入数据

●设状态端口地址为76H,数据端口地址为75H,外部设备是否准备好信息由D7位传送,D7=1为准备好,D7=0为未准备好(忙),请用查询方式写出;

CPU向外部传送数据的程序段。

INAL,76H;

检查忙标志位

JNEPOLL;

忙等待

MOVAL,DATA;

从缓冲区取数据

OUT75H,AL;

从数据端口输出

第九章

二进制:

8位00H~FFH0~225初值为00

BCD码:

8位00~99最大初值00

十六进制:

16位0000H~FFFFH0~225初值为0000

16位0000~9999最大初值0000

定时系数=要求定时的时间/时钟脉冲的周期

●如果8253接收到的控制字为10010000B,那么会把它设置成何种配置?

计数器2,只用低8位,二进制技术,操作在方式0

问:

写一个计数器1的控制字,其设置如下:

只选入低字节,操作在方式5,二进制计数?

控制字D7-D0=5AH(01控制字01低字节101方式50二进制01011010)

●编写一个在计数操作进行过程中读取计数器2内容的指令序列,并把读取的数值装入AX寄存器。

假定8253的端口地址从40H开始?

MOVAL,1000XXXXB;

锁存计数器2

OUT43H,AL;

INA,L,42H;

读低8位

MOVBL,AL;

读高8位

MOVAH,AL;

MOVAL,BL;

●3、8254的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复频率为40KHz,此时应如何写入计数初值。

解:

首先计算计数初值

若采用二进制计数,则写入方式为

MOVAI,25

OUTPORT0,AL;

PORT0为通道0的端口地址

若采用十进制计数,则写入方式为

MOVAL,25H

OUTPORT0,AL

●4、图中的计数器1编程操作于方式4。

为在装入该计数器10us后产中一个选通信号,应装入的计数初值是多少?

N=0BH

分析:

方式4使计数器工作在软件触发选通方式。

在这种方式下,当由软件装入计数初值之后,计数器便自动进行减1计数;

当到达计数终止时刻(计数器计数到0时,在N+1个时钟脉冲之后),该计数器的输出端产生一个选通脉冲信号。

现要求在10us后产生一个选通信号则

N=Tout/Tclk=10/(1/1.19318)=12

十进制数12转换为十六进制数为0CH

所以,应把计数初值N=0BH装入计数器1

以便在装入10us后产生一个选通信号。

●5、分频器设计

某微机系统中8253-5/8254-2的端口地址为250H~253H,如何用该定时器将1MHz的脉冲变为1Hz的脉冲?

MOVAL,25H;

计数器0控制字,只使用高8位,方波,BCD方式.

MOVDX,253H

OUTDX,AL

MOVAL,65H;

计数器1控制字,只使用高8位,分频器,BCD方式.

MOVDX,0250H

MOVAL,02H;

计数器0时间常数(BCD数高8位)

MOVAL,50H;

计数器1时间常数(BCD数高8位)

MOVDX,0251H

脉宽调制

MOVDX,0253H

MOVAL,34H;

计数器0控制字,16位,方式2分频,二进制

OUTDX,AL

MOVAL,72H

计数器1控制字,方式1,由GATE信号上升沿控制,二进制

OUTDX,AL

MOVDX,0250H

MOVAX,10000

OUTDX,AL;

写入初值低8位

MOVAL,AH

写入初值高8位

MOVDX,0251H

MOVAX,10

OUTDX,AL;

●6、8254的CLK0的时钟频率是8KHz,问

(1)T/C0最大定时时间是多少?

TCLO=1/FCLKO=1/8000=0.125ms,最大定时时间=65536X0.125ms=8.192秒

(2)要求8254端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。

(3)现在要求使用该8254产生周期为9秒,占空比为4:

9的方波,请在上面的电路图中完成电路,并编写初始化程序。

MOVAL,00110111B;

T/CO

OUT96H,AL

MOVAX,8000H

OUT90H,AL

MOVAL,AH

MOVAL,01110111B;

T/C1

MOVAX,9H

OUT92H,AL

7、8253通道2接有一个发光二极管,要使发光二极管以点亮2秒、熄灭2秒的间隔工作,当CPU的地址线A9A8A7A6A5A4A3A2=11000000时,8253的片选信号端变低,其硬件电路如下图所示。

试编程完成以上工作。

答案:

由题中的图可知,CLK1=1KHZ,而通道2工作

在方式3输出4S有周期信号,设通道1工作方式2,OUT1

输出信号的周期为1秒。

MOVDX,303H

MOVAL,01110101B

OUTDX,AL

MOVDX,301H

MOVAX,1000H

MOVAL,AH

MOVAL,10010111B

MOVDX,302H

M

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1