微型计算机原理及应用复习资料共20页.docx
《微型计算机原理及应用复习资料共20页.docx》由会员分享,可在线阅读,更多相关《微型计算机原理及应用复习资料共20页.docx(16页珍藏版)》请在冰豆网上搜索。
微型计算机原理及应用复习资料共20页
第一章
课本、报刊杂志中的成语、名言警句等俯首皆是,但学生写作文运用到文章中的甚少,即使运用也很难做到恰如其分。
为什么?
还是没有彻底“记死”的缘故。
要解决这个问题,方法很简单,每天花3-5分钟左右的时间记一条成语、一则名言警句即可。
可以写在后黑板的“积累专栏”上每日一换,可以在每天课前的3分钟让学生轮流讲解,也可让学生个人搜集,每天往笔记本上抄写,教师定期检查等等。
这样,一年就可记300多条成语、300多则名言警句,日积月累,终究会成为一笔不小的财富。
这些成语典故“贮藏”在学生脑中,自然会出口成章,写作时便会随心所欲地“提取”出来,使文章增色添辉。
1)[X]补=00101110B
要练说,先练胆。
说话胆小是幼儿语言发展的障碍。
不少幼儿当众说话时显得胆怯:
有的结巴重复,面红耳赤;有的声音极低,自讲自听;有的低头不语,扯衣服,扭身子。
总之,说话时外部表现不自然。
我抓住练胆这个关键,面向全体,偏向差生。
一是和幼儿建立和谐的语言交流关系。
每当和幼儿讲话时,我总是笑脸相迎,声音亲切,动作亲昵,消除幼儿畏惧心理,让他能主动的、无拘无束地和我交谈。
二是注重培养幼儿敢于当众说话的习惯。
或在课堂教学中,改变过去老师讲学生听的传统的教学模式,取消了先举手后发言的约束,多采取自由讨论和谈话的形式,给每个幼儿较多的当众说话的机会,培养幼儿爱说话敢说话的兴趣,对一些说话有困难的幼儿,我总是认真地耐心地听,热情地帮助和鼓励他把话说完、说好,增强其说话的勇气和把话说好的信心。
三是要提明确的说话要求,在说话训练中不断提高,我要求每个幼儿在说话时要仪态大方,口齿清楚,声音响亮,学会用眼神。
对说得好的幼儿,即使是某一方面,我都抓住教育,提出表扬,并要其他幼儿模仿。
长期坚持,不断训练,幼儿说话胆量也在不断提高。
正数
唐宋或更早之前,针对“经学”“律学”“算学”和“书学”各科目,其相应传授者称为“博士”,这与当今“博士”含义已经相去甚远。
而对那些特别讲授“武事”或讲解“经籍”者,又称“讲师”。
“教授”和“助教”均原为学官称谓。
前者始于宋,乃“宗学”“律学”“医学”“武学”等科目的讲授者;而后者则于西晋武帝时代即已设立了,主要协助国子、博士培养生徒。
“助教”在古代不仅要作入流的学问,其教书育人的职责也十分明晰。
唐代国子学、太学等所设之“助教”一席,也是当朝打眼的学官。
至明清两代,只设国子监(国子学)一科的“助教”,其身价不谓显赫,也称得上朝廷要员。
至此,无论是“博士”“讲师”,还是“教授”“助教”,其今日教师应具有的基本概念都具有了。
真值为:
+0101110B
所以:
X=+46D
2)[X]补=11010010B
负数
X=[[X]补]补=[11010010]补
=-0101110B
所以:
X=-46D
第四章
中断分类:
硬件中断和软件中断硬件中断分两类:
一类叫非屏蔽中断,另一类叫可屏蔽中断。
✓.SS=3450HSP=1234hDI=0012HSI=1100HDS=3460H
问堆栈栈顶物理地址和(DS:
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;(AX)←(AL)×(BL);A5×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
JMPLP3
课后题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)有效数据位传输位是:
7×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向外部传送数据的程序段。
POLL:
INAL,76H;从状态端口输入状态信息
TESTAL,80H;检查忙标志位
JNEPOLL;忙等待
MOVAL,DATA;从缓冲区取数据
OUT75H,AL;从数据端口输出
第九章
二进制:
8位00H~FFH0~225初值为00
BCD码:
8位00~99最大初值00
十六进制:
16位0000H~FFFFH0~225初值为0000
BCD码:
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;
INA,L,42H;读高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方式.
OUTDX,AL
MOVDX,0250H
MOVAL,02H;计数器0时间常数(BCD数高8位)
OUTDX,AL
MOVAL,50H;计数器1时间常数(BCD数高8位)
MOVDX,0251H
OUTDX,AL
脉宽调制
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
OUTDX,AL;写入初值高8位
MOVDX,0251H
MOVAX,10
OUTDX,AL;写入初值低8位
MOVAL,AH
OUTDX,AL;写入初值高8位
●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
OUT90H,AL
MOVAL,01110111B;T/C1
MOVAX,9H
OUT92H,AL
MOVAL,AH
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
OUTDX,AL
MOVAL,AH
OUTDX,AL
MOVDX,303H
MOVAL,10010111B
OUTDX,AL
MOVDX,302H
M