微机原理与接口技术作业题五号字体为考后加的解答.docx
《微机原理与接口技术作业题五号字体为考后加的解答.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术作业题五号字体为考后加的解答.docx(16页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术作业题五号字体为考后加的解答
微机原理与接口技术作业题(五号字体为考后加的解答)
微机原理与接口技术作业题(五号字体为考后加的解答)
作业1:
1、微机系统由哪几个部分组成?
各部分的作用是什么?
CPU+存储器+IO设备+总线;CPU是取指和执行指令的部件,存储器是存储指令和数据的部件,IO设备完成信息的输入和输出,总线是CPU和部件之间的数据传送的公共通道。
2、计算机是如何工作的?
计算机三大基本操作(任务)是什么?
一般计算机的工作原理是存储指令、逐条执行。
其三大基本操作(任务)是数据传送、数据运算和程序跳转。
3、CPU由哪几部分组成?
各部分有何作用?
CPU一般由控制器+运算器+寄存器组构成。
控制器是控制取指和执行指令的部件;运算器是完成数据运算的部件;大部分寄存器协助完成运算任务,小部分协助完成控制任务。
8086CPU由接口部件BIU和执行部件EU构成。
BIU完成取指(和取数据)功能,EU完成执行指令的功能(包含运算器功能)
4、总线分哪几部分组成?
各部分有何作用?
DB/AB/CB,DB是数据传送通道,AB提供数据传送的物理地址,CB控制数据的传送方向和有效传送时间。
作业2:
1、求5,0,-6的补码(一个字节长度)
00000101B、00000000B、11111010B
2、求100,64和10的BCD码(用十六进制表示)
100H、64H、10H
3、写出字符“A”,“a”和“1”的ASCII码
41H、61H、31H
4、说明如何进行BCD码相加?
先进行二进制加,再作修正。
例如:
67+89=?
,先作二进制加67H+89H=F0H,再作修正(个位数加后为10H大于9H,十位数加后为FH大于9H,故都加6修正):
F0H+66H=156H,得67+89=156
5、说明如何进行十、十六进制数的互相转换?
“除以16取余数”的方法,可以将数十进制数转化为十六进制数。
通过“各项乘以16N的权再求和”,可以将数十六进制数转化为十进制数。
余数法例如:
278/16=18余10,18/16=1余2,故282=12AH。
也可以使用除以2取余数的方法先求得二进制数,再转化成十六进制数(每4位二进制数转化成1位十六进制数)。
此法也容易将十进制数转化为八进制数,例如282=000100101010B=452Q。
注意小数部分转化为十六进制数不是用除16取余法,是采用“乘16取整”的方法,例如0.6*16=9.6,0.6*16=9.6…,故0.6≈0.9999H=0.1001100110011001B=0.46314Q
作业3:
1、设8086的CS=2000H,IP=3000H,写出8086下一条指令的物理地址。
物理地址=20000H(段地址CS*10H)+3000H(段内偏移地址IP)=23000H
2、设8086的SS=3000H,SP=00F0H,AX=5678H,写出PUSHAX指令执行后SP的内容和AH内容存入存储器的物理地址。
SP=00F0H-2H=00EEH,AL存入堆栈区的地址为30000H+00EEH=300EEH,AH存入堆栈区的地址为300EFH(注意:
AX低字节存入主存低地址单元中,高字节存入主存高地址单元中)
3、说明以下寄存器的基本用途、位数:
CS、AL、IP、SP、Flags、CF、OF。
CS存放代码段起始地址,16位;AL存放操作数,8位;IP存放待取指令的偏移地址,16位;SP存放堆栈段内栈顶的偏移地址,16位;Flags存放程序运行的状态位和控制位,16位;CF存放最高位运算进(借)位,1位(如7000H+9000H时CF=1);OF存放运算溢出位,1位(最高位进位与次高位进位的异或值,例如8880H+7780H时,OF=0);又如:
SF存放最高位运算结果(如7000H+9000H时SF=0);ZF运算结果为0时ZF=1,否则ZF=0;IF为外部可屏蔽中断允许控制位,IF=1表示允许接收INTR引脚的中断请求。
4、指出在缺省(默认)情况下,下列指针指示的区段:
IP、SP、BP、BX、SI、DI(字符串操作时)、DI(非字符串操作时)
分别为CS、SS、SS、DS、DS、ES、DS;详见P47表3-2,记住堆栈操作使用SS寄存器!
又例:
MOV[BP],AL与MOVDS:
[BP],AL区别在目的操作数的存储区
作业4:
1、名词解释:
CISC,流水线,超标量,超线程,双核
CISC是复杂指令系统计算机(如Pentium机);流水线是将指令的执行细化成多个小步骤,每个步骤只在一个小部件中完成,使一个指令周期可以同时执行多条指令的指令执行结构;超标量是具有两条以上流水线的结构;超线程是具有两个逻辑独立的处理器,可以同时执行两个以上程序(线程);双核是具有两个CPU的处理器。
2、Pentium机有哪几种工作模式?
在“地址保护模式”下如何进行地址转换?
实地址模式(如8086),保护地址模式(如Pentium)和虚拟8086模式。
“地址保护模式”下,逻辑地址到物理地址的转换,先通过“段转换部件”把“逻辑地址”转换成“线性地址”,“线性地址”是通过保存于段寄存器中的段描述符索引找到段描述符,将存放段描述符中的段起始地址加上运行指令得到的段内偏移地址得到的值为“线性地址”,再通过“页转换部件”把“线性地址”转换成“物理地址”。
3、段描述符有何用途?
几个字节长?
Pentium系统最多可以提供多少个段?
段描述符具有地址保护功能,防止越界和不符合属性的访问。
有8个字节长,Pentium系统最多可以提供214-1=16383个段。
注意:
8086只使用实地址方式,没有使用段描述符和特权级
4、什么是虚拟存储器?
有何意义?
是一种存储器管理技术,使进程的逻辑存储空间具有辅存的大容量,又具有接近主存的速度。
它使计算机可以运行比内存大得多的(一道或多道)程序。
注意:
CPU不会直接访问硬盘!
4、什么是Cache?
有何意义?
其“缔合方式”,“写策略”和“替换算法”各指什么?
高速缓冲存储器,提高CPU访问速度以改善系统性能;“缔合方式”指主存块与Cache行的地址映射方式,“写策略”是CPU写Cache后如何修改主存的策略;“替换算法”是新的主存块替换掉旧Cache行的算法。
作业5:
1、解释实验指导书中,实验1~6中各个MOV指令的功能(不上交)
2、举例说明以下寻址方式:
立即,直接,存储器间接,IO口间接,基址加变址加偏移
立即:
MOVAL,2008H
直接:
MOVAL,[2008H]
存储器间接:
MOVAL,[BX]
IO口间接:
INAL,DX;
基址加变址加偏移:
MOVAL,[BX+SI+100H]
注意:
[BX]中BX表示偏移地址,内存物理地址是DS*10H+BX共20位地址(内存有1MB空间);DX表示IO端口物理地址共只有16位地址(64KB空间)
5、设AX=1234H,BX=5678H,SP=0004H,填写下列指令顺序执行后的结果。
PUSHAX;AL=34HSP=0002H
PUSHBX;BL=78HSP=0000H
POPAX;AH=56HSP=0002H
POPBX;BH=12HSP=0004H
注意:
堆栈操作原则先进后出,上例不符合这个规则故有此结果
作业6
1、解释实验1参考程序段的功能(从START:
MOVDX,04A0H到JMPSTART句)
2、解释实验1参考程序段的功能(从START:
MOVAX,100H到JMPSTART句)
作业7:
编程题(不需要写指示性语句)
自1000H单元开始有100个数的数据快,要传送到自2000H开始的存储区中,用三种方法编程:
1、使用数据块传送指令(REPMOVSB)
2、使用单个传送的数据块传送指令(MOVSB)
3、不使用数据块传送指令(MOV)
作业8:
1、说明下列指令中(或伪指令中)字符的类型(常量、变量或标号):
ABCEQU123;ABC是常量
CDFDB56,78H;CDF是字节变量
EFG:
MOVAX,BX;EFG是标号
又例:
ADW2008H;A是字变量;
BEQUBYTEPTRA;B是字节变量;
2、说明下列命令字如何配对使用,构成段定义结构或过程定义结构?
EQU,DB,SEGMENT,PROC,END,ENDS,ENDP
段定义结构:
SEGMENT(首部)/ENDS(尾部)
过程定义结构:
PROC(首部)/ENDP(尾部)
3、结合题1,说明运行结果(设CDF单元的地址为123H,CS只填有何变化)
MOVSI,OFFSETCDF;SI=123H
LEABX,CDF;BX=123H
JMPEFG;IP=OFFSETEFGCS=不变
JMPFAREFG;IP=OFFSETEFGCS=变(段间跳转,变成EFG所在段的CS)
MOVAX,ABC;AX=123
MOVDX,WORDPTRCDF;DX=7838H字变量
ADB3DUP(5),5DUP(3);A+1单元内容=5A+5单元内容=3
作业9(存储器读写实验):
1、自0500H单元开始,有10个无符号数,编一个程序求这10个数的和(用8位运算指令),把和放在050A及050B单元中(和用两个字节表示,高位在050B单元)。
见存储器读写实训任务
提示:
采用CX=10的循环结构,开始AX←0,然后进行AL和AH累加,AL加使用ADD,而AH加使用ADC指令;
例如:
AX←0;BX←0500H;CX←10
LP:
AL←[BX];AL←AL+[BX];AH←AH+CF;BX←BX+1;LOOPLP
[050AH]←AL;[050AH]←AH
若10个十进制数相加,则先做二进制加再利用DAA矫正,思路如下:
AX←0;BX←0500H;CX←10;[050BH]←0;
LP:
AL←[BX];AL←AL+[BX];DAA;AL←[05B0H];AL←AL+CF;DAA;[05B0H]←AL;BX←BX+1;LOOPLP
[050AH]←AL;
2、若从0200H单元开始有100个数,编一个程序求其绝对值,仍存回原单元中。
见存储器读写实训任务
提示:
负数取反指令NEG。
采用CX=100的循环结构,内部通过CMP和JNS(或TEST和JNZ)指令来分支;例如:
例如:
BX←0200H;CX←100
LP:
AL←[BX];CMPAL,0;JNSOK;NEGAL;[BX]←AL
OK:
INCBX;LOOPLP
或者:
BX←0200H;CX←100
LP:
AL←[BX];TESTAL,80H;JZOK;NEGAL;[BX]←AL
OK:
INCBX;LOOPLP
作业10(I/O读写实验)
某IO端口的地址为04B0H,试利用延时子程序结构编写一个程序,每间隔一定时间按照顺序循环输出下列数据表中的一项数据:
0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
见8255实训任务
例如:
BL=0;SI←OFFSETTAB;CX←8
LP:
AL←BL;XLAT;[04B0H]←AL;INCBL;LOOPLP;CX←8;JMPLP
TABDB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;
作业11(存储器地址计算)
1、若有一单板机,具有用8片2114构成的4KRAM,连线如图所示,以1KB为一组,求这4组的基本地址、地址范围,地址有无重叠?
0000H~03FFH
4000H~43FFH
8000H~83FFH
C000H~C3FFH;无重叠
2、有一单板机的存储器连线,是分析图中ROM,PROM1,PROM2和各组RAM的地址范围。
0000H~07FFH
0800H~0FFFH
1000H~17FFH
2000H~23FFH
2400H~27FFH
2800H~2BFFH
2C00H~2FFFH
作业12
1、8086时钟周期为5MHz,求时钟周期,基本总线周期。
0.2μS,0.8μS
2、在总线周期的T1,T2,T3,T4状态,CPU分别执行什么动作?
什么情况下需要插入Tw?
如何插入?
T1输出物理地址;T2读写控制信号有效和打开总线收发器;T3查询READY信号;T4完成数据读写操作;
READY信号无效时插入等待周期Tw,插在T3状态后
3、8086是怎样解决地址线和数据线的复用问题?
ALE信号何时处于有效电平?
通过外加地址锁存器和增加地址锁存信号ALE;T1时ALE信号有效。
4、执行下列指令时,M//IO引脚电平分别为多少?
OUT10,AL:
M//IO引脚低电平
MOV[10],AL:
M//IO引脚高电平
又例:
MOVAL,10;源操作数10在存储器代码段中,立即寻址
INAL,10;10表示端口号,源操作数在该端口中,直接寻址
MOVAL,[10];10表示数据段偏移地址,源操作数在该单元中,直接寻址
作业13
1、填空:
微机总线上的信号包含数据,地址,控制和电源地、备用线信号类型
微机总线有三类,它们是CPU总线,系统总线和外总线
8086系统中,IO口与存储器采用独立编址方式
总线的性能指标有时钟频率,位宽,传送速率和总线带宽
总线的标准包含物理、电气、功能和时间特性
2、名词解释
突发数据传送方式,单数据传送方式,即插即用,IDE接口,总线主控设备
突发数据传送方式:
CPU只输出一次地址却能读写一批数据的传送方式(外部设置地址增1部件)。
单数据传送方式:
CPU输出一次地址只能读写一个字节或字数据的传送方式
即插即用:
增加外设不需重启而能自动识别和配置资源(IO地址及中断向量号等)的功能
IDE接口:
集成设备电子部件接口或称ATA接口,是硬盘光盘的接口标准。
总线主控设备:
启动总线读写周期的部件,如CPU,DMA
作业14
1、8086最多有多少级中断,中断源分哪两大类?
256级,软件中断和硬件中断。
注意:
中断不可以中断当前指令的执行,只能在执行完当前指令后响应中断。
2、什么是中断向量?
1CH的中断向量存于哪里?
其子程序的入口地址为5110H:
2030H,则中断向量如何存放?
中断入口地址;1CH的中断向量存于70H地址开始的4个主存单元之中,子程序的入口地址为5110H:
2030H时,70H,71H,72H,73H分别存放30H,20H,10H,51H。
3、IRET和RET指令有何异同?
IRET和RET的共同点是:
都从堆栈区把栈顶数据(即主程序断点地址)弹出返还给CS和IP。
IRET和RET的不同点是:
IRET还从堆栈区把随后的栈顶数据(即主程序断点的Flags寄存器内容)弹出返还给Flags;IRET用于中断子程序的末尾句,而RET用于普通调用子程序的末尾句。
4、哪些是硬件中断,哪些是软件中断?
外部中断分哪两类,如何接入8086?
软件中断:
软中断指令INTn、单步执行和运算溢出。
硬件中断:
外部可屏蔽中断和不可屏蔽中断。
外部可屏蔽中断和不可屏蔽中断信号分别接8086的INTR和NMI引脚。
作业15
1、利用8259开放两个中断IR0,IR6,试初始化8259和中断向量表
见8259中断实训
提示:
初始化8259是设置ICW1(工作方式设置为13H),ICW2(中断向量设置大于20H的量,后3位比特为0),ICW4(自动中断结束方式,设置为03H),OCW1(中断屏蔽位设置看IRx接法),然后初始化中断向量表(将中断子程序的入口地址存放在中断向量号×4开始的4个单元中,中断子程序的入口地址要使用“OFFSET标号”得到偏移地址值),中断子程序的末尾句是IRET。
注意:
单个8259提供8个中断源,若8259级联,连接从片的主片IRx引脚不提供中断源,故两个8259最多只能提供15个中断源,9个8259最多只能提供64个中断源。
例如:
ICW1←13H;ICW2←48H;ICW4←03H;0CW1←10111110B;
DS←0;[120H]←OFFSETH1;[122H]←SEGH1;[138H]←OFFSETH2;[13AH]←SEGH2;STI;JMP$
H1:
....IRET;
H2:
....IRET;
2、填空
1)中断向量表容纳256个中断向量,每个中断向量占用4个字节
2)8259工作于8086模式,ICW2等于60H,若在IR3处有一中断请求,则它的中断向量号为63H,该中断子程序的入口地址存放在18CH到18FH的四个单元之中。
3)8086相应外部中断时,会自动完成关中断,保存断点地址和标志寄存器,读入中断向量号,查询中断向量表,来修改CS及IP之值。
3、8259的ICW1,ICW2,ICW4,OCW1地址分别为:
04B0H,04B2H,04B2H,04B2H;试在某IRx引入一个中断,使中断向量号为30H+[学号/8]余数。
见8259中断实训任务
同作业题15.1:
设学号为77号,则中断向量号为35H:
ICW1←13H;ICW2←30H;ICW4←03H;0CW1←11011111B;
DS←0;[0D4H]←OFFSETH5;[0D6H]←SEGH5;STI;JMP$
H5:
....IRET;
又例:
若已设ICW2为30H;试利用IR7引脚多加一个中断功能,试编程初始化IR1的中断向量。
又增加一个中断子程序,其功能是IR7每输入一个脉冲则04A0H端口的LED指示灯作加1变化,试编程。
解:
中断向量号为30H+7H=37h;主程序在初始化IR0的中断向量后加一个程序段用于在初始化IR7的中断向量表:
主程序加上这几句:
movsi,0DCh;中断向量存储地址为向量号4倍:
37h×4=DCH
movax,offsethint2
movds:
[si],ax
addsi,2
movds:
[si],seghint2;实验箱为100H
中断子程序:
先主程序加一句设置指示灯初值
MOVBX,0000H
在hint子程序末尾句IRET后加一个中断子程序Hint2:
Hint2:
nop
MOVAX,BX
ADDAX,1
MOVBX,AX
movdx,04b0h
NOTAX
outdx,ax;LED灯亮灭一次
iret
作业16
1、IO接口芯片有何用途?
微机IO方式分哪几种?
数据缓冲,执行CPU命令(选择工作方式和查询工作状态),设备选择信号,转换与数据格式转换。
微机与外设的IO方式:
程序控制,中断控制,DMA;
注意:
程序控制方式下CPU与外设IO无法并行操作;注意:
8255的工作方式为:
基本IO(A、B、C口),单向选通IO(A、B口)和双向选通IO(A口)三种
2、利用8255芯片,在B口控制输出一个流水灯现象。
见8255实训任务
记住:
A口输入B口输出时控制字为90H,B口输入A口输出时控制字为82H,
提示:
控制口←90H,AL←灯起始值,使用ROLAL,1指令、B口←AL及CALL指令的循环(延时子程序使用CX=0FFFFH的NOP循环);
例如:
K口←90H;AL←0FEH;
LP:
B口←AL;ROLAL,1;CALLDEL;JMPLP
DEL:
CX←0FFFFH;D1:
NOP;LOOPDI;RET
作业17
1、完成8237DMA控制的存储器到存储器之间的数据传送
见8237实训任务,如题3
2、解释名词:
DMA,DMAC,块传送类型,请求传送类型,DREQ,DACK,HOLD,HLDA
DMA:
直接存储器存取;DMAC:
DMA控制器,
块传送类型:
一次传送即连续传送完一块数据的传送类型;请求传送类型:
块传送中间可以由DMA请求信号无效而暂停的传送类型。
DREQ:
DMA请求信号;DACK:
DMA应答信号;
HOLD:
总线请求信号;HLDA:
总线应答信号
3、8037总清,通道0基址、字数、通道1基址、字数、方式字、命令字、屏蔽字和软件请求字地址分别为:
F01AH,F000H,F002H,F004H,F006H,F016H,F010H,F01EH,F012H利用通道0读和通道1写进行存储器到存储器之间的DMA传送,将2000H起100个数据送到2100H起100个单元中。
见8237实训任务
例如初始化部分:
F01AH←00H;F000H←00H,20H;F002H←63H,F004H←00H,21H;F006H←63H,F016H←88H,85H,F010H←03H,F01EH←0FH,F012H←04H
作业18
根据下列情况,对下列芯片进行初始化编成(不必写任何指示性语句)
1、8255A口,B口,C口和控制口地址分别为:
04B0H,04B2H,04B4H,04B6H,A口接按键开关,B口接LED显示器。
2、同2,但B口接按键开关,A口接LED显示器。
见8255实训任务
提示:
控制口←90H或82H,使用AL←A口(或B口)、B口(或A口)←AL的循环
作业19
1、8250如何启动收发?
发空和收齐的标志位分别放在哪里?
通过检测起始位(低电平)自动启动接收,通过写入发送保持寄存器的操作启动发送;发空标志在LSR的D5位,收齐标志在LSR的D0位。
8251与8250类似,其内部状态字寄存器LSR除设立此“发空”和“收齐”标志位外,还设立设立奇偶校验位、帧格式错和溢出错标志位
2、8250的LCR、DLL、DLH、IER寄存器的地址分别为0486h、0480h、0482h、0482h,时钟频率为1.84MHz,采用通信波特率为9600、8位、无校验和1位停止位的传输帧结构,试对它进行初始化编程。
见8250实训任务,例如初始化部分:
LCR←80H、DLL←0CH、DLH←00H、LCR←03H、IER←00H
注意:
波特率/帧比特数=字符发送速度;例如波特率为9600,字符发送速度=9600/10
作业20
1、8253计数器0,计数器1,计数器2和控制寄存器地址分别为:
04B0H,04B2H,04B4H,04B6H,对计数器0作20分频输出。
提示:
控制寄存器写入16H,计数器0写入14H(=20)
3、同1,对计数器1作37500分频输出。
提示:
控制寄存器写入76H,计数器1写入两次,先低字节后高字节的16位分频值(37500=927CH)
概念部分的其它典型问题如:
1、计算机硬件系统结构有哪几部分组成?
CPU/存储器/IO设备/总线
2、汇编语言程序的基本结构有哪几种?
顺序/分支/循环/子程序
3、Pentium处理器如何进行地址转换?
通过什么部件来实现地址转换?
8086如何进行地址转换?
通过什么部件来实现地址转换?
Pentium处理器先通过“段转换部件”把“逻辑地址”转换成“线性地址”,再通过“页转换部件”把“线性地址”转换成“物理地址”。
8086通过段寄存器内容偏移4位确定的段起始地址加上运行指令给出的段内偏移地址得到物理地址。
通过BIU(接口)部件来实现地址转换。
4、Pentium处理器有哪几种工作模式?
哪种模式