微机原理复习[yjy1] 总结[yjy1]
第1章 基础知识
n 计算机中的数制
n BCD码
与二进制数11001011B等值的压缩型BCD码是11001011B。 F
第2章 微型计算机概论
n 计算机硬件体系的基本结构
计算机硬件体系结构基本上还是经典的冯·诺依曼结构,由运算器、控制器、存储器、输入设备和输出设备5个基本部分组成。
n 计算机工作原理
- 计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部分组成。
- 数据和指令以二进制代码形式不加区分地存放在存储器重,地址码也以二进制形式;计算机自动区分指令和数据。
- 编号程序事先存入存储器。
n 微型计算机系统
是以微型计算机为核心,再配以相应的外围设备、电源、辅助电路和控制微型计算机工作的软件而构成的完整的计算机系统。
n 微型计算机总线系统
数据总线 DB(双向) 、控制总线 CB(双向)、地址总线 AB(单向);
n 8086CPU结构
包括总线接口部分BIU和执行部分EU
BIU负责CPU与存储器,,输入/输出设备之间的数据传送,包括取指令、存储器读写、和I/O读写等操作。
EU部分负责指令的执行。
n 存储器的物理地址和逻辑地址
物理地址=段地址后加4个0(B)+偏移地址=段地址×10(十六进制)+偏移地址
逻辑段:
1). 可开始于任何地方只要满足最低位为0H即可
2). 非物理划分
3). 两段可以覆盖
1、8086为16位CPU,说明( A )
A. 8086 CPU内有16条数据线 B. 8086 CPU内有16个寄存器
C. 8086 CPU内有16条地址线 D. 8086 CPU内有16条控制线
解析:8086有16根数据线,20根地址线;
2、指令指针寄存器IP的作用是( A )
A. 保存将要执行的下一条指令所在的位置 B. 保存CPU要访问的内存单元地址
C. 保存运算器运算结果内容 D. 保存正在执行的一条指令
3、8086 CPU中,由逻辑地址形成存储器物理地址的方法是( B )
A. 段基址+偏移地址 B. 段基址左移4位+偏移地址
C. 段基址*16H+偏移地址 D. 段基址*10+偏移地址
4、8086系统中,若某存储器单元的物理地址为2ABCDH,且该存储单元所在的段基址为2A12H,则该存储单元的偏移地址应为( 0AADH )。
第3章 8086指令系统与寻址方式
l 寻址方式
l 立即寻址 MOV AX,1090H 将1090H送入AX,AH中为10H, AL中为90H
l 寄存器寻址 MOV BX,AX 将AX的内容送到BX中
l 直接寻址 指令中给出操作数所在存储单元的有效地址,为区别立即数,有效地址用”[]” 括起。
例: MOV BX, [3000H] 将DS段的33000H和33001H单元的内容送BX
(设DS为3000H)
l 寄存器间接寻址 把内存操作数的有效地址存储于寄存器中,指令给出存放地址的寄存器名。为
区别寄存器寻址 ,寄存器名 用”[]” 括起。些寄存器可以为BX、BP、SI和DI。
例: MOV AX , [SI]
物理地址=DS*10H+SI或DI或BX
物理地址=SS*10H+BP
l 寄存器相对寻址 操作数的有效地址分为两部分,一部分存于寄存器中,另一部分以偏移量的方
式直接在指令中给出。
例: MOV AL ,8[BX]
物理地址=DS*10H+ BX+偏移量
l 基址变址寻址 操作数的有效地址分为两部分,一部分存于基址寄存器中(BX/ BP),另一部分
存于变址寄存器中(SI/DI)
例: MOV AL , [BX][DI]
物理地址=DS*10H+ BX+DI
l 相对基址变址寻址 操作数的有效地址分为两部分,一部分存于基址寄存器中(BX/ BP),一部
分存于变址寄存器中(SI/DI),一部分以偏移量
例:MOV AL , 8[BX][DI]
物理地址=DS*10H+ BX+DI+偏移量
l PUSH/POP
指令格式:PUSH 源操作数/POP 目的操作数
v 实现功能:完成对寄存器的值的保存和恢复
v 在执行PUSH指令时,堆栈指示器SP自动减2;然后,将一个字以源操作数传送至栈顶。POP指令是将SP指出的当前堆栈段的栈顶的一个操作数,传送到目的操作数中,然后,SP自动加2,指向新的栈顶。
v PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反
v 压栈指令 PUSH 执行过程:
(SP)←(SP)-2
(SP)-1←操作数高字节
(SP)-2←操作数低字节
?出栈指令POP执行过程:
(SP) 操作数低字节
(SP)+1 操作数高字节
(SP)←(SP)+2
按后进先出的次序进行传送的,因此,保存内容和恢复内容时,要按照对称的次序执行一系列压入指令和弹出指令.例如:
PUSH DS
PUSH ES
POP ES
POP DS
l I/O指令IN OUT
格式:IN AL/AX,端口 OUT 端口,AL/AX
直接寻址:直接给出8位端口地址,可寻址256个端口(0-FFH)
间接寻址:16位端口地址由DX指定,可寻址64K个端口(0-FFFFH)
IN AX, 50H ;将50H、51H两端口的值读入AX,50H端口的内容读入AL,51H端口的内容读AH
IN AX, DX 从DX和DX+1 所指的两个端口中读取一个字,低地址端口中的值读入AL中,高地址端口中的值读入AH中
OUT 44H, AL 将AL的内容输出到地址为44H的端口
1、下列语句中语法有错误的语句是( B )
A. IN AL, DX B. OUT AX, DX C. IN AX, DX D. OUT DX, AL
2、执行PUSH AX指令时将自动完成( B )
A.SP←SP-1,SS:[SP]←AL
SP←SP-1,SS:[SP]←AH
B.SP←SP-1,SS:[SP]←AH
SP←SP-1,SS:[SP]←AL
C.SP←SP+1,SS:[SP]←AL
SP←SP+1,SS:[SP]←AH
D.SP←SP+1,SS:[SP]←AH
SP←SP+1,SS:[SP]←AL
3、MOV AX,[BP] [SI]的源操作数的物理地址是( C )
A. 10H*DS+BP+SI B. 10H*ES+BP+SI C. 10H*SS+BP+SI D. 10H*CS+BP+SI
4、操作数在I/O端口时,当端口地址( >255 )时必须先把端口地址放在DX中,进行间接寻址。
第4章 汇编语言程序设计
n 程序的编辑、汇编及连接过程
汇编语言的程序一般要经过编辑源程序、汇编(MASM或ASM)、连接(LINK)和调试(DEBUG)这些步骤
第5章 8086的总线操作与时序
n 8086/8088工作模式
n 8086/8088典型时序
1、两种工作模式
n 两种组态利用MN/MX*引脚区别
n MN/MX*接高电平为最小模式
n MN/MX*接低电平为最大模式
n 两种组态下的内部操作并没有区别
n 两种组态构成两种不同规模的应用系统
最小组态模式
构成小规模的应用系统 ,8086本身提供所有的系统总线信号。
最大组态模式
构成较大规模的应用系统,例如可以接入数值协处理器8087
8086和总线控制器8288共同形成系统总线信号,在最大工作模式中,总是包含两个以上总线主控设备。
2、典型时序
n 总线周期是指CPU通过总线操作与外部(存储器或I/O端口)进行一次数据交换的过程所需要时间。总线周期如:存储器读周期、存储器写周期,I/O读周期、I/O写周期。总线周期一般有4个时钟周期T1,T2,T3,T4组成。
n 指令周期是指一条指令经取指令、译码、读写操作数到执行完成的过程所需要时间。
n 8088的基本总线周期需要4个时钟周期
n 4个时钟周期编号为T1、T2、T3和T4
n 总线周期中的时钟周期也被称作“T状态”
n 时钟周期的时间长度就是时钟频率的倒数
n 当需要延长总线周期时需要插入等待状态Tw
3、(1)存储器写总线周期
T1状态——输出20位存储器地址A19~A0
IO/M*输出低电平,表示存储器操作;
ALE输出正脉冲,表示复用总线输出地址
T2状态——输出控制信号WR*和数据D7~D0
T3和Tw状态——检测数据传送是否能够完成
T4状态——完成数据传送
(2)I/O写总线周期
T1状态——输出16位I/O地址A15~A0
IO/M*输出高电平,表示I/O操作;
ALE输出正脉冲,表示复用总线输出地址
T2状态——输出控制信号WR*和数据D7~D0
T3和Tw状态——检测数据传送是否能够完成
T4状态——完成数据传送
(3)存储器读总线周期
T1状态——输出20位存储器地址A19~A0
IO/M*输出低电平,表示存储器操作;
ALE输出正脉冲,表示复用总线输出地址
T2状态——输出控制信号RD*
T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送
(4)I/O读总线周期
T1状态——输出16位I/O地址A15~A0
IO/M*输出高电平,表示I/O操作;
ALE输出正脉冲,表示复用总线输出地址
T2状态——输出控制信号RD*
T3和Tw状态——检测数据传送是否能够完成
T4状态——前沿读取数据,完成数据传送
第6章 存储器系统
n 随机存储器RAM(random Access memory)存储器中的信息能读能写,且对存储器中任一单元的读或写操作所需要的时间基本是一样的。断电后,RAM中的信息即消失
n 只读存储器ROM(read only memory)用户在使用时只能读出其中信息,不能修改或写入新的信息,断电后,其信息不会消失。
n 主存储器设计
n 字扩展 地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足
扩展原则: 每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围
n 位扩展 当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满
足要求
位扩展方法:将每片的地址线、控制线并联,数据线分别引出连接至数据总线的不同位上
字位扩展: 若已有存储芯片的容量为L×K,要构成容量为M ×N的存储器,需要的芯片数为:
(M / L) ×(N / K)
n 片选信号的产生:全译码、部分译码、线性译码。
全译码:片选信号由地址线所有不在存储器的地址译码产生。(地址唯一)
部分译码:片选信号不是由地址中所有不在存储器上的地址译码产生。(地址不唯一,一个单元可能有多个地址)
线性译码:以不在存储器上的高位地址线直接作为存储器芯片的片选信号。(地址不唯一)
n 存储容量 是指一块存储芯片上所能存储的二进制位数。假设存储芯片的存储单元数是M, 一个存储单元所存储的信息的位数是N,则其存储容量为M×N。
n 1、如图是某一8088系统的存储器连接图,试确定其中各芯片的地址空间
解: (1)27128是ROM ,没有WR,Y0 =0选中该片;
该片14条地址线,其基本地址00 0000 0000 0000 ~11 1111 1111 1111;
高6位:A19A18 =00; A17 =1; A16A15 A14=000
所以27128地址范围:0010 0000 0000 0000 0000 —— 0010 0011 1111 1111 1111
即20000H—23FFFH
解: (2)6264是SRAM,13条地址线,用2片,基本地址0 0000 0000 0000~1 1111 1111 1111;
1#6264的高7位:A13=0 且Y4=0有效选中此片,
则A16A15 A14=100;A19A18 =0;A17 =1;
1#6264地址范围:0011 0000 0000 0000 0000 — 0011 0001 1111 1111 1111
即30000H—31FFFH
2 #6264的高7位:A13=1 且Y4=0有效选中此片
则A16A15 A14=100;A19A18 =00; A17 =1;
2#6264地址范围:0011 0010 0000 0000 0000 —0011 0011 1111 1111 1111
即32000H—33FFFH
1、256KB的SRAM有8条数据线,有( B )条地址线
A. 8 B. 18 C. 10 D. 24
解析:256KB=2的18次方B,所以需要18条地址线
2、在内存储器组织中用全译码方式,存储单元地址有重复地址值。F (P211)
第7章 基本输入输出接口
n I/O接口电路的典型结构
n CPU与外设之间的数据传输方式
无条件传送方式、查询传送方式、中断方式、DMA方式。
传送方式的比较:
无条件传送:慢速外设需与CPU保持同步
查询传送: 简单实用,效率较低
中断传送:外设主动,可与CPU并行工作,但每次传送需要大量额外时间开销
DMA传送:DMAC控制,外设直接和存储器进行数据传送,适合大量、快速数据传送
n DMA控制器8237A
8237工作方式: 单字节传送方式 数据块传送方式 请求传送方式 级连方式
DMA传送类型 DMA读 · DMA写 · DMA检验
DMA控制器8237A
每个8237A芯片有4个DMA通道,就是有4个DMA控制器;每个DMA通道具有不同的优先权;每个DMA通道可以分别允许和禁止;每个DMA通道有4种工作方式;一次传送的最大长度可达64KB;多个8237A芯片可以级连,扩展通道数
简述CPU与外设之间的数据传输方式有哪几种?
第8章 中断控制接口
n 中断的基本概念 :所谓“中断”是指CPU终止正在执行的程序,专区执行请求CPU为之服务的内、外部事件的服务程序,待服务程序执行完后,又返回被中止的程序继续运行的过程。
常见的中断源有:(1)外部设备的请求(2)由硬件故障引起的(3)实时时钟(4)由软件引起的
中断处理过程:1.中断请求 2中断判优
3中断响应(通常包括:保留断点地址、关闭中断允许、转入中断服务程序)
4.中断处理(1.保护现场 2.执行中断服务 3.恢复现场)
5.中断返回
n 8088 CPU的中断系统
图8086中断源
查询中断的顺序(由高到低)
软件中断 除法错误中断、指令中断INTn、溢出中断INTo
非屏蔽中断NMI
可屏蔽中断INTR
单步中断
n 8088的中断向量表
中断向量表:中断服务程序的入口地址(首地址)的表格
中断服务程序的入口地址=中断类型号*4
逻辑地址含有段地址CS和偏移地址IP(32位)
每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节8088微处理器从物理地址000H开始,依次安排各个中断向量,向量号也从0开始256个中断占用1KB区域,就形成中断向量表
n 8259A的中断工作过程和工作方式
工作方式
1.中断嵌套方式(全嵌套方式、特殊嵌套方式)
2.循环优先方式(优先级自动循环方式、优先权特殊循环方式)
3.中断屏蔽方式(普通中断屏蔽方式、特殊中断屏蔽方式)
4.结束中断处理方式(自动中断结束方式、非自动中断结束方式)
5.程序查询方式
6.中断请求触发方式(边沿触发方式、电平触发方式)
8259A的中断工作过程(?)
8259A的编程包括初始化命令ICW1~ICW4和操作命令字OCW1~OCW3
初始化命令字规则:必须按照ICW1~ICW4顺序写入,ICW1和ICW2是必须送的ICW3和ICW4由工作方式决定
8259A的级联: n片级联可以控制7n-1个中断
1、8086 CPU响应中断请求的时刻是在( B )
A. 执行完正在执行的程序以后 B. 执行完正在执行的指令后
C. 执行完正在执行的机器周期以后 D. 执行完本时钟周期以后
2、8086的中断向量表( B )
A. 用于存放中断类型码 B. 用于存放中断服务程序入口地址
C. 是中断服务程序的入口 D. 是断点
3、若可屏蔽中断类型号为32H,则它的中断向量应存放在( C )开始的4个字节单元中
A. 00032H B.00128H C. 000C8H D.00320H
4、8259A中断屏蔽寄存器为( B )
A. IRR B. IMR C. ISR D.PR
5、INT n 指令中断是( C )
A.由外部设备请求产生 B. 由系统断电引起的
C.通过软件调用的内部中断 D. 可用IF标志位屏蔽的
6、某8086微机系统的RAM存储单元中,从0000H:0060H开始依次存放23H、45 H、67H和89H四个字节,相应的中断类型码为( B )
A. 15H B. 18H C. 60H D.C0H
解析:开始的物理地址为0000H+0060H=60H , 60H=中断类型号*4
7、8086 CPU 可屏蔽中断INTR的中断请求信号为高电平有效。 T
8、中断向量在中断向量表中存放格式为:较低地址单元中存CS,较高地址单元中存放IP。 F
9、若中断向量表从0200H开始的连续4个单元中存放某中断服务程序入口地址,那么相应的中断类型号为(80H)
10、8259A 的4个初始化命令字ICW1~ICW4的写入方法为顺序写入,其中(ICW1\2 )为必须写,(ICW3\4)为选写初始化命令字
11、80x86的中断系统有哪几种类型中断?其优先次序如何?
12、简述80X86CPU可屏蔽中INTR的中断过程?
第9章 定时计数控制接口
n 8253的6种工作方式
方式0计数结束产生中断
方式1可重触发单稳态方式
方式2频率发生器
方式3方波发生器
方式4软件触发的选通信号发生器
方式5硬件触发的选通信号发生器
n 8253的编程
写入控制字
写入计数初值(计算公式 t=1/f*TC ;t定时时间、TC计数初值、f输入时钟频率)
读取计数值
看例题9.1(p265) 9.3(p270) 分析+编程必考(P260控制字格式)
图。8253A控制字格式
n 8255A的工作方式和编程
方式0:基本输入输出方式
适用于无条件传送和查询方式的接口电路
方式1:选通输入输出方式
适用于查询和中断方式的接口电路
方式2:双向选通传送方式
适用于双向传送数据的外设
适用于查询和中断方式的接口电路
图8255A方式选择控制字
图9.138255A端口C置位复位控制字
n 8255A的应用
1、8253/8254的十进制计数方式比二进制计数方式的最大计数范围小。T
解析:选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536
选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000
2、在对8253初始化时,需要向控制寄存器写入方式控制字,向( 计数通道 )写入计数e初值。
3、若8253的某一计数器用于输出方波,该计数器应工作在(方式3)。若该计数器的输入频率为1MHz,输出方波频率为5kHz,则计数初值为( 200 )。
mov al,82h
out 83h,al ;8255的初始化,设置端口A为方式0输入、端口B为方式0输出
next: in al,81h ;读取端口B的数据
not al ;低两位取反,闭合0变为1
and al,03h ;屏蔽掉高6位,变为0 and al,03h
cmp al,01h ;
jz one ;若等值跳转到0显示程序
cmp al,02h 或者
jz two ;若等值跳转到1显示程序
cmp al,03h
jz exit ;若同时按下跳转到中止程序
jmp next ;若未按下键盘则返回到NEXT重新检测
one: mov al,3fh
out 80h,al
jmp next ;0显示程序
two: mov al,06h;或30H
out 80h,al
jmp next ;1显示程序
exit: mov ah,4ch
int 21h ;中止程序
第10章 串行通信接口
n 串行通信与并行通信
串行通信:利用一条传输线将数据一位一位按顺序分时传输。
并行通信:利用多根传输线,将多为数据同时进行传输。
n 异步串行通信协议
图为异步传输的数据帧格式,每帧包括:一个起始位(低电平)、5~8个数据位、1个可选的奇偶校验位、1~2个停止位(高电平)。
传输时低位在前,高位在后。
串行通信中的传输模式
何谓并口?何谓串口?它们各自的特点是什么?
第11章 模数接口
D/A转换的基本原理:Vout=-(D/2^n)×VREF
DAC0832的工作方式:直通方式 单缓冲方式 双缓冲方式
单极性电压输出:Vout=-Iout1×Rfb=-(D/2^8)×VREF
双极性电压输出:Vout2=[(D-2 ^7)/2^7)]×VREF
l ADC0809的转换公式
1、一个10位D/A转换器,若基准电压为10V,该D/A转换器能分辨的最小电压变化是( C )
A. 2.4mV B.4.9mV C.9.8mV D. 10mV
2、 已知一个8位A/D转换电路的量程是0~6.4V,当输入电压为5V时A/D转换值为(199或0C7h)
3、DAC0832工作于单缓冲方式时部分控制线可控。T
[yjy1]
第二篇:微机原理与接口技术 最好的知识点总结
冯.诺依曼型:
5.微机的三总线是什么?
运算器、控制器、存储器、输入设备、输出设备答:它们是地址总线、数据总线、控制总线。基本工作原理:存储器存储程序控制的原理
6.8086CPU启动时对RESET要求?8086/8088CPU1、将事先编好的程序及运算中所需的数据,按一定的方式复位时有何操作?
输入并存储在计算机的内存中;
答:复位信号维高电平有效。8086/8088要求复位信2.将程序的第一条指令存放的地址送入程序计数器PC号至少维持4个时钟周期的高电平才有效。复位信中,并启动运行;
号来到后,CPU便结束当前操作,并对处理器标志3.计算机自动地逐一取出程序的一条条指令,加以分析寄存器,IP,DS,SS,ES及指令队列清零,而将cs设置并执行所规定的功能。
为FFFFH,当复位信号变成地电平时,CPU从FFFF0H开始执行程序
1.微处理器----由运算器、控制器、寄存器阵列组成
7.中断向量是是什么?堆栈指针的作用是是什么?2.微型计算机----以微处理器为基础,配以内存以及输入输什么是堆栈?
出接口电路和相应的辅助电路而构成的裸机
答:中断向量是中断处理子程序的入口地址,每个3.微型计算机系统----由微型计算机配以相应的外围设备及中断类型对应一个中断向量。堆栈指针的作用是指软件而构成的系统示栈顶指针的地址,堆栈指以先进后出方式工作的4.存储器:
一块存储区域,用于保存断点地址、PSW等重要信内部:随机存储器(RAM)(断电消失)
息。
读存储器(ROM)
8..累加器暂时的是什么?ALU能完成什么运算?外部:软盘、硬盘、磁带、闪存盘、光盘等答:累加器的同容是ALU每次运行结果的暂存储器。.5..微型计算机的性能指标:
在CPU中起着存放中间结果的作用。ALU称为算术主频、字长、内存容量、存取周期、运算速度、逻辑部件,它能完成算术运算的加减法及逻辑运算内核数目、高速缓存
的“与”、“或”、“比较”等运算功能。9.8086CPUEU、BIU的功能是什么?
6.总线:地址总线、数据总线、控制总线
答:EU(执行部件)的功能是负责指令的执行,将8086有16位双向数据总线,20位地址总线,指令译码并利用内部的寄存器和ALU对数据进行所可寻址220=1M大小的存储器
需的处理BIU(总线接口部件)的功能是负责与存储器、I/O端口传送数据。
由总线接口部件(BIU)和指令执行部件(EU)组成10.CPU响应可屏蔽中断的条件?
2.18086CPU结构答:CPU承认INTR中断请求,必须满足以下4个执行部件(EU):由通用计算器、运算器和EU控制系统
条件:
等组成,EU从BIU的指令队列获得指令并执行;
1)一条指令执行结束。CPU在一条指令执行的最后总线接口部件(BIU):由段寄存器、指令指针、地址形成
一个时钟周期对请求进行检测,当满足我们要叙述逻辑、总线控制逻辑和指令队列等组成,负责从内的4个条件时,本指令结束,即可响应。
存中取指令和取操作数。
2)CPU处于开中断状态。只有在CPU的IF=1,即2.2寄存器结构
处于开中断时,CPU才有可能响应可屏蔽中断请求。段寄存器:CS、DS、ES、SS,3)没有发生复位(RESET),保持(HOLD)和非通用寄存器:AX、BX、CX、DX,屏蔽中断请求(NMI)。在复位或保持时,CPU不工堆栈指针SP、基址指针BP、指令指针IP,标志寄存器FLAGS作,不可能响应中断请求;而NMI的优先级比INTRCF:最高位有进位为‘1’;PF:低8位偶数个1高,CPU响应NMI而不响应INTR。AF:低4向高4有进位;ZF:全零为1
4)开中断指令(STI)、中断返回指令(IRET)执行SF:结果最高位为1时等于1;OF:产生溢出,OF=1
完,还需要执行一条指令才能响应INTR请求。另外,“对准存放对准存放””:从存储器偶地址开始存放字数据的存放方式
简答:
一些前缀指令,如LOCK、REP等,将它们后面的1.什么叫寻址方式?8086有哪些寻址方式?
指令看作一个总体,直到这种指令执行完,方可响答:寻址操作数有效地址的方式叫寻址方式。8086应INTR请求。
的寻址方式有:立即寻址、寄存器寻址、直接寻址、寄存11.8086CPU的地址加法器的作用是什么?
器间接寻址、基址寻址和变址寻址、基址变址寻址。答:8086可用20位地址寻址1M字节的内存空间,2.何为中断?中断矢量是什么?中断方式的实现一般需要但8086内部所有的寄存器都是16位的,所以需要由经历哪些过程?一个附加的机构来根据16位寄存器提供的信息计算答:所谓中断是指某事件的发生引起CPU暂停当前程序的出20位的物理地址,这个机构就是20位的地址加运行,转入对所发生事件的处理,处理结束又回到原程序法器。
被打断处接着执行这样一个过程。
12.如何选择8253、8255A控制字?中断矢量是中断处理子程序的入口地址,每个中断类型对答:将地址总线中的A1、A0都置1应一个中断向量。
13.8086(88)内部中断源有哪些?
中断方式的实现一般需要经历下述过程:
答:内部(除法除以0、单步、断点、溢出、指令中中断请求—→中断响应—→断点保护—→
断)
中断源识别—→中断服务—→断点恢复—→中断返回14.中断源是什么?
3.CPU与外设之间数据传送的方式有哪些?试说明程序控答:所谓中断源即指引起中断的原因或中断请求的制传送方式。来源。
答:CPU与外设之间数据传送的方式有:程序控制方式、15.类型号为N中断向量存放在逻辑地址为多少?中断方式和DMA方式。
如何存放逻辑地址?答:段地址=N*4+2偏移地址=N*4所以类型程序控制方式又叫查询方式,是指CPU与外设传输数号为N中断向量存放在逻辑地址为段地址:偏移地据之前,先查询外设状态,只有当外设为传输数据作好准址。每个中断类型的逻辑地址为四个字节,高两个备时才进行一次数据传输,否则等待。
4.计算机的硬件系统由哪几个部件组成?简述各部件的功字节存放CS段地址,低两个字节存放IP偏移地址。能?
16.8088/8086CPU响应中断后,TF和IF标志自动答:计算机硬件由运算器、控制器、存储器、输入设备和置为多少?
输出设备组成。
答:IF为1,TF为0
运算器:主要进行算数和逻辑运算
17.8086CPU可以进行寄存器间接寻址的寄存器是控制器:控制从存储器取指令,送指令寄存器,再送哪些?
答:BX、BP、SI、DI
指令译码器,根据指令的功能产生一系列时序信号控制各18.在微型计算机系统中,主要的输入输出方法有哪部件动作。
些?
输入设备:从外部获取信息的装置答:在微型计算机系统中,主要的输入输出方法有4输出设备:将计算机运算结果转换为人们或设备能识种:程序控制方式,中断控制方式,直接存储器存别的形式。
取方式,输入/输出处理机方法。
1
19.中断处理过程应包括哪些步骤?答:中断方式的实现一般需要经历下述过程:中断请求→中断响应→断点保护→中断源识别→中断服务→断点恢复→中断返回
20.CPU何时检测INTA中断请求输入端?
答:CPU在一条指令执行的最后一个时钟周期对请求进行检测
21.IP指令指针寄存器存放的是什么?
答:IP为指令指针寄存器,它用来存放将要执行的下一条指令地址的偏移量,它与段寄存器CS联合形成代码段中指令的物理地址。
22.8086(88)的NMI何时响应中断?
答:每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,进入对应于中断类型号为2的非屏蔽中断处理程序。
23.8086CPU共有多少地址线、数据线?,它的寻址空间为多少字节?
8086CPU地址线宽度为20条,数据线为16位,可寻址范围为1MB
24.中断向量是什么?答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW等重要信息。25.8O86/8088CPU的基本总线周期分为几个时钟周期?
答:8086/8088CPU的基本总线周期分为4个时钟周期。常将4个时周期分别称为4个状态,即T1、T2、T3、T4状态,T1发地址,T2、T3、T4为数据的读/写。
26.CPU响应可屏蔽中断时会自动将TF、IF怎样?答:CPU响应可屏蔽中断时,把标志寄存器的中断允许标志IF和单步标志TF清零。将IF清零是为了能够在中断响应过程中暂时屏蔽外部其他中断,以免还没有完成对当前中断的响应过程而又被另一个中断请求所打断,清除TF是为了避免CPU以单步方式执行中断处理子程序。
27.8086CPU总线接口单元BIU的具体任务是什么?堆栈是什么?
答:BIU的具体任务是负责于存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。
在计算机内,需要一块具有“先进后出”特性的存储区,用于存放子程序调用时程序计数器PC的当前值,以及需要保存的CPU内各寄存器的值(现场),以便子程序或中断服务程序执行结束后能正确返回主程序。这一存储区称为堆栈。
28何为中断?中断矢量是什么?中断方式的实现一般需要经历哪些过程?
答:所谓中断是指某事件的发生引起CPU暂停当前程序的运行,转入对所发生事件的处理,处理结束又回到原程序被打断处接着执行这样一个过程。中断矢量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。
中断方式的实现一般需要经历下述过程:中断请求—→中断响应—→断点保护—→中断源识别—→中断服务—→断点恢复—→中断返回设8253计数/定时接口电路中,其接口地址为40H~43H,将2MHz的信号源接入CLK0,若利用通道0产生2ms的定时中断,请计算计数初值并写出8253初始化程序段(按二进制计数)。1、计数初值=2ms*2MHz=40002、MOVAL,36H/34HOUT43H,AL;方式控制字MOVAX,4000OUT40H,ALMOVAL,AHOUT40H,AL;送计数值
存储器中有一串字符串首址为BUF,字符串长度N小于256,要求分DATASEGMENT;数据段别计算出其中数字‘0’~‘9’,字母‘A’~‘Z’和其它字符的个数,DA1DB'ENTERACHOICE(0-7)'
并分别将它们的个数存放到此字符串的下面三个单元中。
DB0DH,0AH,'$'DATAENDS
.MODELSMALL.386
STACKSEGMENT.STACK100HST1DB100DUP(?).DATASTACKENDS
BUFDB7
DB01H,38H,47H,90H,33H,09H,76HCODESEGMENT;代码段NUMDB3DUP(?)MAINPROCFAR
.CODEASSUMECS:CODE,DS:DATA,SS:STACK.STARTUP
MOVCH,BUF;数组个数→CHSTART:
MOVAX,STACK;送堆栈段地址MOVBX.1
MOVSS,AXMOVDX,0;DH计数字个数,DL计字母个数PUSHDS
LP:MOVAH,BUF[BX]MOVAX,0CMPAH,30H
PUSHAX
JLNEXT;小于’0’转MOVAX,DATACMPAH,39H
MOVDS,AXJGABC;大于’9’转MOVAH,9;Dos9号功能调用,显示字符串INCDH;数字个数加1MOVDX,OFFSETDA1JMPNEXT
INT21HABC:CMPAH,41H
KEY:MOV
AH,1JLNEXT;小于’A’转INT21HCMPAH,5AH
CMPAL,'0'JGNEXT;大于’Z’转JEZEROCMPAL,'1'INCDL;字母个数加1
JEONENEXT:INCBX;数组地址加1CMPAL,'2'DECCH;计数减1JETWOJNZLP
CMPAL,'3'MOVNUM,DH;数字个数送内存单元JETHREEMOVNUM+1,DL;字母个数送内存单元CMPAL,'4'MOVAH,BUFJEFOURSUBAH,DHCMPAL,'5'SUBAH,DL
JEFIVEMOVNUM+2,AH;其它字符个数送内存单元CMPAL,'6'.EXIT0JESIXEND
CMPAL,'7'JESEVENRETZERO:MOV
DL,41HMOVAH,6两个16位无符号二进制数相乘
INT21HDATASEGMENT;数据段
RETD1DW1234HONE:MOV
DL,42HD2DW5678HMOVAH,6P1DD?INT21HDATAENDS
RETTWO:MOV
DL,43HSTACKSEGMENTSTACK‘STACK’;堆栈段
MOVAH,6DW100DUP(?)INT21HSTACKENDSRET
CODESEGMENT
THREE:MOV
DL,44HASSUMECS:CODE,DS:DATA,SS:STACKMOVAH,6MAINPROCFAR
INT21HSTART:MOVAX,STACK;初始化SS
RET
MOVSS,AX
FOUR:MOV
DL,45HPUSHDS;返回DOS用MOVAH,6SUBAX,AXINT21HPUSHAX
RET
MOVAX,DATA;初始化DSFIVE:MOV
DL,46HMOVDS,AX
MOVAH,6L1:MOVAX,D1;D1×D2,积→DXAX
INT21HMULD2
RET
MOVBX,OFFSETP1;积保存到存储单元SIX:MOV
DL,47HMOV[BX],AXMOVAH,6MOV[BX+2],DXINT21HRETRET
MAINENDPSEVEN:MOV
DL,48HCODEENDS
MOVAH,6ENDSTART
INT21H
RETMAINENDPCODEENDS
ENDSTART
大小写转化程序DATASEGMENT
编写8253初始化程序。如下图所示(注意端口地址),要求3个计数通道STRONG1DB分别完成以下功能:
'pleaseinputaletter:'ODH,OAH,'$'
(1)通道0工作于方式3,输出频率为2KHZ的方波;STRONG2
DBODH,OAH,'pleaseinput
(2)通道1产生宽度为480us的单脉冲;
again:',ODH,OAH,'$'
(3)通道2用硬件方式触发,输出负脉冲,时间常数为26。
DATAENDS
(提示:8253的端口地址分别为:0310H、0312H、0314H、0316H)
CODESENMENTMAINPROCFAR
ASSUMEDS:DATA,CS:CODE
START:MOVAX,,DATA
MOVDS,AX
MOVDX,OFFSETSTRINGMOVAH,09HINT21H
again:MOVAH,01H
INT21HCMPAL,41HJBWRONGCMPAL,5AHJANEXT通道0初始化程序ADDAL,2OHMOVDX,316HJMPPR
MOVAL,00110111BWRONG:MOVDX,OFFSETSTRONG2
OUTDX,ALMOVAL,09HMOVDX,310HINT21HMOVAL,00HJMPagain
OUTDX,ALNEXT:CMPAL,61H
MOVAL,05HJBWRONGOUTDX,AL
CMPAL,7AH通道1的初始化程序JAWRONGMOVDX,316H
SUBAL,20HMOVAL,001110011BJMPPR
OUTDX,ALPR:MOVDL,AL
MOVDX,312HMOVAH,02HMOVAL,80HINT21HOUTDX,ALRET
MOVAL,04HMAINENDP
OUTDX,AL
CODEENDS
通道2初始化程序ENDSTART
MOVDX,316H
MOVAL,10011011BOUTDX,ALMOVDX,314HMOVAL,26HOUTDX,AL
2
编写汇编简易程序段,若自BLOCK开始的内存缓冲区中,有100个带符号的数(字为单位),希望找到其中最大的一个值,并将它放到MAX单元中。
MOVCX,99MOVBX,0;0-99个带字符的数MOVMAX,BLOCK[BX]LOOP1:
MOVAX,BLOCK[BX];BLOCK[BX]放入到AX里CMPAX,BLOCK[BX+2];两个数进行比较JGENEXT;跳到NEXTMOVMAX,BLOCK[BX+2];如果是的就放到MAX里NEXT:ADDBX,2;每次加2LOOPLOOP1编写汇编完全程序,从BUF单元开始为一个ASCII码字符串,找出其中的最大数送屏幕显示。
DATASEGMENTBUFDB'STRING',0;定义字符串MAXDB?DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATAMOVAX,DATAMOVDS,AX
MOVBX,0
MOVMAX,BUF[BX];从BUF开始LOOP1:
MOVAX,BUF[BX+1];每次加1CMPAX,0;比较JZDONEJMPAX,MAXJBENEXTMOVMAX,AXNEXT:
INCBXJMPLOOP1DONE:
MOVDX,MAX输出最大数MOVAH,2INT21H
MOVAX,4C00HINT21HCODEENDS若选择0#计数器,工作在方式3,计数初值为2354H,十进制计数方式;或选择1#计数器,工作在方式2,计数初值为18H,二进制计数方式。并设8253端口地址为40-43H。试完成0#和1#计数器初始化编程。
STT:MOVDX,43H;定义通道0工作方式3,十进制计数方式
MOVAL,37HOUTDX,AL
MOVDX,40H;给通道0送计数值MOVAX,2354HOUTDX,ALMOVAL,AHOUTDX,AL
MOVDX,43H;定义通道1工作方式2,二进制计数方式MOVAL,54HOUTDX,AL
MOVDX,41H;给通道1送计数值MOVAL,18HOUTDX,AL
编写汇编完全程序,从BUF单元开始为一个ASCII码字符串,找出其中的最大数送屏幕显示。DATASEGMENTBUFDB'STRING',0;定义字符串MAXDB?DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATAMOVAX,DATA
MOVDS,AXMOVBX,0
MOVMAX,BUF[BX];从BUF开始LOOP1:
MOVAX,BUF[BX+1];每次加1CMPAX,0;比较
JZDONEJMPAX,MAXJBENEXTMOVMAX,AX
NEXT:
INCBX
JMPLOOP1
DONE:
MOVDX,MAX输出最大数MOVAH,2INT21H
MOVAX,4C00HINT21HCODEENDS
若选择0#计数器,工作在方式3,计数初值为2354H,十进制计数方式;或选择1#计数器,工作在方式2,计数初值为18H,二进制计数方式。并设8253端口地址为40-43H。试完成0#和1#计数器初始化编程。
STT:MOVDX,43H;定义通道0工作方式3,十进制计数方式
MOVAL,37HOUTDX,AL
MOVDX,40H;给通道0送计数值MOVAX,2354HOUTDX,ALMOVAL,AHOUTDX,AL
MOVDX,43H;定义通道1工作方式2,二进制计数方式MOVAL,54HOUTDX,AL
MOVDX,41H;给通道1送计数值MOVAL,18HOUTDX,AL