微机接口.docx
- 文档编号:5340516
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:38
- 大小:450.51KB
微机接口.docx
《微机接口.docx》由会员分享,可在线阅读,更多相关《微机接口.docx(38页珍藏版)》请在冰豆网上搜索。
微机接口
第一章
1.8086CPU的RESET引脚的功能是什么?
答:
RESET引脚称为复位引脚,输入、三态、高电平有效;RESET引脚将使CPU立即结束当前操作,处理器要求RESET信号至少要保持4个时钟周期的高电平,才能结束它正在进行的操作。
CPU复位以后,除了代码段寄存器CS的值为FFFFH外,其余所有寄存器的值均为零,指令队列为空。
当RESET回到低电平时,CPU开始执行“热启动”程序,由于此时CS的值为FFFFH,IP的值为0000H,所以CPU复位以后执行的第一条指令的物理地址为FFFF0H,该单元通常放置一条段间直接转移指令JMPSS:
OO,SS:
OO即为系统程序的实际起始地址。
2.在8086CPU工作在最小模式时,
(1)当CPU访问存储器时,要利用哪些信号?
当CPU访问存储器时,要利用AD0~AD15、WR*、RD*、IO/M*以及A16~A19;
(2)当CPU访问外设接口时,要利用哪些信号?
当CPU访问外设接口时,同样要利用AD0---AD15、WR*、RD*以及IO/M*,但不使用高端地址线A16---A19;
(3)当HOLD有效并得到响应时,CPU哪些引脚置高阻?
当HOLD有效并得到响应时,CPU除HOLD、HOLDA引脚外其余所有的信号引脚均为高阻态。
3.当8086CPU工作在最大模式时
(1)S2、S1和S0可以表示CPU的哪些状态?
(2)CPU的
/
信号的作用是什么?
P8
4.说明8086CPUREADY信号的功能。
READY(ready):
准备就绪信号,输入,高电平有效。
READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。
当READY信号高电平有效时,表示CPU要访问的存储器或I/O端口已经作好了输入/输出数据的准备工作,CPU可以进行读/写操作。
当READY信号为低电平时,则表示存储器或I/O端口还未准备就绪,CPU需要插入若干个“TW状态”进行等待。
5.8086CPU的NMI和INTR引脚的不同有几点?
两点:
(1)INTR是可以由用户用指令禁止的,(通过中断允许标志IF的开---STI和关CLI进行);而NMI不能由用户禁止;
(2)INTR是可以区分优先级别的,NMI是最高级的,没有中断优先级的排队。
6.叙述8086CPU内部的标识寄存器的作用
8086CPU的标志寄存器(PSW或FLAG)共有9个标志位,分别是:
CF(CarryFlag)---进位或借位标志;
PF(ParityFlag)---奇偶标志;
AF(auxiliaryFlag)----半进位标志;
ZF(ZeroFlag)-----结果为零标志;
SF(SignFlag)-----符号标志;
OF(OverflowFlag)-----溢出标志;
IF(InterruptEnableFlag)-----中断允许标志;
DF(DirectionFlag)----方向标志;
TF(TrapFlag)-----陷阱标志。
7.说明8086CPU内部14个寄存器的作用。
8086内部的寄存器可以分为3类:
第一类:
通用寄存器:
AX、BX、CX、DX、SI、DI、SP、BP,共8个可以存储数据或者地址的低16位;AX、BX、CX和DX可以分成8个8位的寄存器使用;SI、DI又称变址寄存器,用于存储变址地址;SP和BP存放指针变量值。
第二类:
段寄存器:
CS、DS、SS、ES,共4个寄存器,只能存放对应段的段地址;
第三类为IP和FLAG,IP在通常情况下不允许用户访问,而FLAG是用以向用户提供了解ALU工作状态或者控制CPU工作方式的标志寄存器。
8.试画出一个基本的存储器读总线周期的时序图
第二章
1
MOVAX,00H;立即寻址
SUBAX,AX;寄存器寻址
MOVAX,[BX];寄存器间接寻址
MOVAX,TABLE;直接寻址
MOVAL,ARAY1[SI];寄存器相对寻址
MOVAX,[BX+6];寄存器相对寻址
2若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。
程序片段如下:
ORG100h
MOVCX,03FFH;数据个数
LEASI,TABLE;源区首地址
LEADI,NEXT;目的区首地址
AGAIN:
MOVAL,[SI];
MOV[DI],AL;搬移
INCSI
INCDI;移动地址指针
DECCX;循环计数器递减
JNZAGAIN;循环未结束转
HLT;暂停
TABLEDB1024dup('A');源数据区
NEXTDB1024dup(0);目的数据区
3编写10个字(16位二进制数)之和的程序
ORG100h
LEASI,ADD1;
LEADI,ADD2;
LEABX,SUM;
MOVCL,CONT;
MOVCH,0;循环初始化
CLC;进位清零
MADD1:
MOVAX,[SI];读加数1
ADCAX,[DI]
ADDSI,2;移动源区地址指针
ADDDI,2;移动目的区地址指针
MOV[BX],AX;回存计算结果
ADDBX,2;移动“和”存储区地址指针
LOOPMADD1;循环控制
HLT;暂停
ADD1DB0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数1
ADD2DB56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加数2
SUMDB10DUP(0);和存储单元
CONTDB5;循环次数
4某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其分别存放在ANS和REMAIN中。
ORG100h
MOVBL,2;除数初值
AGAIN:
MOVCX,NUM;预计最大循环次数
MOVAL,BL;0、1的平方根除外
MULBL;得到2的平方
CMPAX,CX;大于原始数据么?
JGEXIT;若原始数据小于4转EXIT
MOVAX,CX;读数
DIVBL;试除
INCBL;除数递增
JMPAGAIN;继续除
EXIT:
DECBL;去除除数自加
MOVANS,BL;存商
MOVAL,BL;恢复余数
MULBL;
SUBCX,AX;
MOVREMAIN,CL;
HLT
NUMDW7;
ANSDB?
;
REMAINDB?
;
5.试编程序将BUFFER中的一个8为二进制数转换为ASCII码,并按位数高低顺序存放在ANSWER之下
DATASEGMENT
BUFFERDB4AH
ANSWERDB2DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,BUFFER
MOVCL,4
SHRAL,CL
CMPAL,10
JCL1
ADDAL,7
L1:
ADDAL,30H
MOVANSWER,AL
MOVAL,BUFFER
ADDAL,0FH
CMPAL,10
JCL2
ADDAL,7
L2:
ADDAL,30H
MOVANSWER+1,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
6在DATA1之下顺序存放着以ASCII码表示的千位数,将其转换成二进制数。
MOVCL,4;移位次数
MOVCH,CL;循环次数
MOVSI,OFFSETASCBIN
CLD
XORAX,AX
XORDX,DX
ASCB1:
LODSB
ANDAL,7FH
CMPAL,'0';不大于‘0’结束转换
JLERR
CMPAL,'9'
JGASCB2;大于‘9’转ASCB2
SUBAL,30H;数字形式二进制数减30H
JMPASCB3
ASCB2:
CMPAL,'A';大于‘9’又小于‘A’结束转换
JLERR
CMPAL,'F'
JGERR;大于‘F’为不合理数,结束转换
SUBAL,37H;字符形式ASCII数减37H
ASCB3:
ORDL,AL
ROLDX,CL
DECCH
JNZASCB1
ROLDX,CL
MOVBIN,DX;存储转换结果
ERR:
NOP
HLT
ASCBINDB'1','B,'4','3'
BINDW?
7编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。
解:
第一种方法:
常规乘法运算
ORG100h
MOVAL,MOLT
MOVBL,20
MULBL
MOVANS,AX
HLT
MOLTDB2
ANSDW?
第二种方法,将MOLT连加20次
ORG100h
MOVCX,20
MOVBX,MOLT
XORAX,AX
CLC
ADD1:
ADCAX,BX
LOOPADD1
MOVANS,AX
HLT
MOLTDW5
ANSDW?
第三种方法,将“20”连加MOLT次
ORG100h
MOVCX,MOLT
MOVBX,20
XORAX,AX
CLC
ADD1:
ADCAX,BX
LOOPADD1
MOVANS,AX
HLT
MOLTDW5
ANSDW?
8.在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。
ORG100h
XORDL,DL
LEADI,KVFF;
NEXT0:
LEASI,BUFFER;
MOVCL,99;比较次数为N-1次
NEXT1:
MOVAL,[SI];
INCSI;
CMPDL,AL;
JNCNEXT2;
MOVDL,AL;DL中始终存目前最大值
NEXT2:
DECCL;
JNZNEXT1;
MOV[DI],DL;最大值存储
HLT
BUFFERDB;自行定义100个数据
KVFFDB?
9若将数据按大小顺序排序,试编写程序..
解:
此处采用“冒泡法”予以处理:
ORG100h
LEADI,BUFFER;数据区
MOVBL,99;外循环次数
NEXT0:
MOVSI,DI;
MOVCL,BL;内循环次数
NEXT3:
MOVAL,[SI];读数
INCSI;移动指针
CMPAL,[SI];比较
JNCNEXT5;大于转NEXT5
MOVDL,[SI];
MOV[SI-1],DL;
MOV[SI],AL;不大于互换
NEXT5:
DECCL;内循环次数减一
JNZNEXT3;
DECBL;外循环次数减一
JNZNEXT0
HLT
BUFFERDB自行定义100个字节型数据
10.址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求:
统计>=90分、80~89分、70~79分、60~69分、60分以下的人数,结果存放在BTRX开始的5个单元中
求平均成绩,结果存放在LEVEL中。
解:
寄存器使用分配:
90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在[DI]。
ORG100h
XORAH,AH
XORDX,DX;统计结果清零
XORBX,BX;统计结果清零
LEASI,DATA
LEADI,LEVEL
MOVCL,CONT;总人数送循环计数器CX
goon:
MOVAL,[SI];读原始数据
ADC[DI],AL;累加总分
ADC[DI+1],0;计算进位
CMPAL,90
JLPP8;不高于90分者转PP8
INCDH;90--100分的人数加一
JMPSTOR
PP8:
CMPAL,80
JLPP7;不高于80分转PP7
INCDL;80----89分的人数加一
JMPSTOR
PP7:
CMPAL,70
JLPP6;不高于70分者转PP6
INCBH;70---79分的人数加一
JMPSTOR
PP6:
CMPAL,60
JLPP5;不高于60分者转PP5
INCBL;60---69分的人数加一
JMPSTOR
PP5:
INCAH;低于60分的人数加一
STOR:
INCSI;读下一个分数
LOOPGOON
;CX=CX-1,CX不为零转GOON,继续统计
LEASI,BUFFER;回存统计结果
MOV[SI],DH
INCSI
MOV[SI],DL
INCSI
MOV[SI],BH
INCSI
MOV[SI],BL
INCSI
MOV[SI],AH
MOVAX,WORDPTR[DI];计算平均成绩
MOVCL,CONT
DIVCL
MOVLEVEL,AL;回存平均成绩
HLT
CONTDB10
DATADB30,65,99,80,75,89,100,45,60,70
BUFFERDB?
?
?
?
?
LEVELDB?
?
11.求两个有符号数(DATA1,DATA2)差的绝对值,结果存入DATA3.
ORG100h
MOVAL,DATA1;读入被减数
SUBAL,DATA2;减去减数
JCCHANGE;
JMPSTOR
CHANGE:
NEGAL
STOR:
MOVDATA3,AL
HLT
DATA1DB3
DATA2DB5
DATA3DB?
12.存从40000H到4BFFH的个单元均写入55H,并再逐个读出,验证是否一致,若一致,置AL为7EH,否则置AL为81H.
ORG100h
MOVAX,4000H;
MOVDS,AX;
MOVSI,0
START:
MOVCX,0BFFFH
BEGIN:
MOV[SI],55H
MOVAL,[SI]
INCSI
CMPAL,55H
JNZERR
LOOPBEGIN
MOVAL,7EH
JMPSTOP
ERR:
MOVAL,81H
STOP:
HLT
13.-14.端口03FBH的BIT5为状态标志,当该位为1时,表示外设忙,不能接收数据;当为0时,表示外设闲,可以接收数据;当CPU向端口03F8H写入一个字节的数据时,03FBH的BIT5置1,当它变为0状态时,又可以写入下一个数据。
据此编写将起始地址为SEDAT的50个数据输出到03F8H端口的程序。
WAIT:
MOVDX,03FBH
INAL,DX
TESTAL,00100000B;(20H)
JZSEND
JMPWAIT
SEND:
MOVDX,3F8H
MOVAL,[SI];
CMPAL,0AH;输出字串结束标志符
JZSTOP
OUTDX,AL
JMPWAIT
STOP:
HLT
15.口02E0H的BIT2和BIT5同时为1,表示端口02E7H有一个字节型数据准备好可以用以输入,当CPU从该端口读入数据后,02E0端口的BIT2和BIT5就不再同时为1;只有当02E7H端口的数据再次准备好时,它们才会再次同时为1,据此编写从02E7H端口输入32个数据然后存入A1000H单元开始的区域。
MOVAX,0A000H
MOVDS,AX
MOVSI,1000H;设置存储区地址
MOVCL,20H;输入数据个数
BEGIN:
MOVDX,0E20H
INAL,DX
TESTAL,00100100B;测试状态位BIT5、BIT2
JZBEGIN;不同时为1继续测试
MOVDX,02E7H
INAL,DX;输入数据
MOV[SI],AL;存到指定区域
INCSI;移动地址指针
LOOPBEGIN;循环
HLT
16.在内存40000H开始的16K的单元中存放着一组数据,将其顺序搬移到起始地址为A0000H的区域。
解:
利用字符串操作指令MOVSB,16K即16*1024=3FFFH。
MOVAX,4000H
MOVDS,AX
MOVAX,A000H
MOVES,AX
MOVSI,0
MOVDI,0
MOVCX,3FFFH
CLD
REPMOVSB
HLT
17.上题的基础上,将两个区域的数据逐个进行比较,若有错将BL置0,全对将BL置FFH。
MOVAX,4000H
MOVDS,AX
MOVAX,A000H
MOVES,AX
MOVSI,0
MOVDI,0
MOVCX,03FFH
CLD
AAB:
CMPSB
JNZSTOP
LOOPAAB
MOVBL,0FFH
JMPEX1
STOP:
MOVBL,0;
EX1:
NOP
HLT
18.统计由40000H单元开始的16K个单元中所存字符‘A’的个数,统计结果存放在DX寄存器中。
MOVAX,4000H
MOVDS,AX
MOVSI,0;
MOVCX,3FFFH;数据个数
MOVDX,0;统计结果寄存器清零XORDX,DX
CLD
AAB:
LODSB
CMPAL,‘A’;比较
JZAAC;字符为‘A’转计数
LOOPAAB;循环
JMPSTOP;处理完毕转结束
AAC:
INCDX;统计结果加1
DECCX;循环次数减1
JCXNZAAB;CX<>0继续
STOP:
HLT
19.编写对AL中的数据进行“偶校验”的一个过程,并将校验结果放入AL寄存器。
PJYPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
MOVAL,DAT
ANDAL,AL
JNPPJY1
MOVAL,00H;表示为偶
JMPEXIT
PJY1:
MOVAL,FFH;表示为奇
EXIT:
POPDX
POPCX
POPBX
POPAX
RET
PJYENDP
DATDB?
20.对80000H开始的256个单元的数据加上偶校验。
ORG100h
MOVAX,8000H
MOVDS,AX
MOVSI,0
MOVCX,100H
CLD
PAR0:
LODSB;(MOVAL,[SI];INCSI)
TESTAL,AL
JNPPAR1
LOOPPAR0
JMPSTOP
PAR1:
ORAL,80H;
MOV[SI-1],AL
DECCX
JNZPAR0
STOP:
HLT
第三章
1.试说明总线的分类及采用总线标准的优点。
答:
总线分为片内总线(集成电路芯片内部各功能元件之间的连接线)、元件级总线(元件级总线又成板(卡)内总线,用于实现电路板(卡)内各元器件的连接)、内总线(内总线又称系统总线,用于将构成微型计算机的各电路板(卡)连接在一起)、外总线(外总线又称通信总线,用于实现微型计算机与外设以及微型计算机系统之间的相互连接)
采用总线标准的优点:
1.简化硬、软件的设计2.简化了系统结构3.易于系统扩展4.便于调试5.便于维修。
2.PC/XT总线插座上有多少个接点?
主要包括哪几类信号?
PC/XT总线由62个插座信号构成,
3.与PC/XT相比,PC/AT(ISA)总线新增加了哪些信号?
其总线工作频率是多少?
ISA总线增加了8条数据线、4条地址线、7个中断请、4个DMA请求、4个DMA响应等信号。
最高工作频率为8MHz,其数据最高传送速率只有16MB/s
4.试说明PCI总线的特点,PCI总线通常分为哪几类?
说明什么叫即插即用
PCI总线特点:
高性能、总线设备工作与CPU相对独立、即插即用、支持多主控设备、错误检测及报告、两种电压环境。
即插即用就是在PCI总线上的电路板插在PCI总线上立即就可以工作。
在PCI总线上的接口地址由PCI控制器自动配置,不可能发生竞争。
5.说明串行接口总线RS-232C的特点及其不足。
RS-232C是一条串行外总线,其主要特点如下:
1.传输线比较少2.传送距离远3.具有多种可供选择的传送速率4.采用非归零码负逻辑工作5.结构简单,实现容易。
存在的问题:
1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口