微机原理4
微机原理第四章课后习题答案

第四章课后作业(6—27)6.试按下列要求分别编制程序段。
(1)把标志寄存器中符号位SF置“1”。
(2)寄存器AL中高、低四位互换。
(3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位),试求这个数的负数。
(4)现有三个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下,实现(A)+(B) C。
(5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1 形成奇数)。
答:(1) LAHFOR AH,80HSAHF(2) MOV CL,4ROL AL,CL(3) MOV CX,0NEG BXJC CHGJMP GOCHG: MOV CX,1GO: NEG AXSUB AX,CX(4) MOV CL,AMOV AL,BMOV X,ALCHECK:INC XDEC CLJNZ CHECK(5) OR CX,0001H7.试给出下列各指令的机器目标代码。
(1)MOV BL,12H [SI](2)MOV 12H [SI],BL(3)SAL DX,1(4)AND 0ABH [BP] [DI],1234H答:(1)100010 1 0 01 011 100 00010010=8A5C12H(2)100010 0 0 01 011 100 00010010=885C12H(3)110100 0 1 11 100 010=0D1E2H(4)100000 0 1 10 100 011 10101011 00000000 00110100 00010010=81A3AB003412H8.执行下列指令:STR1 DW ‘AB’STR2 DB 16DUP(?)CNT EQU $-STR1MOV CX,CNTMOV AX,STR1HLT执行完成之后,寄存器CL的值是多少?寄存器AX的值是多少?答:因为CNT=16+2=18,所以CX=18=0012H,所以CL=12H=0001,0010;AX中装入的是‘AB’的ASCII码值,其中‘A’在高位AH中,‘B’在低位AL 中,所以AX=4142H=0100,0001,0100,0010。
微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H
微机原理习题解答:4

微机原理习题解答:4习题四1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?请问:数据操作数的串行方式存有七种,分别为:立即串行,寄存器串行,轻易串行,寄存器间接串行,寄存器相对基址变址和相对基址变址串行。
其中寄存器串行的指令继续执行速度最快。
2.若ds=6000h,ss=5000h,es=4000h,si=0100h,bx=0300h,bp=0400h,d=1200h,数据段中变量名num的偏移地址为0050h,试指出下列源操作数的寻址方式和物理地址是多少?(1)movax,[64h]请问:串行方式为轻易串行;pa=60064h(2)movax,num请问:串行方式为轻易串行;pa=60005h(3)movax,[si]请问:串行方式为寄存器间接串行;pa=60100h(4)movax,[bx]请问:串行方式为寄存器间接串行;pa=60300h(5)movax,[bp]请问:串行方式为寄存器间接串行;pa=50400h(6)moval,[di]请问:串行方式为寄存器间接串行;pa=61200h(7)moval,[bx+1110h]请问:串行方式为寄存器相对串行;pa=61410h(8)movax,num[bx]请问:串行方式为寄存器相对串行;pa=60305h(9)movax,[bx+si]请问:串行方式为基址变址串行;pa=60400h(10)movax,num[bx][di]请问:串行方式为相对基址变址串行;pa=61505h3.设bx=637dh,si=2a9bh,位移量为c237h,试确定由这些寄存器和下列寻址方式产生的有效地址。
(1)轻易串行请问:有效率地址为ea=c237h(2)用bx的寄存器间接串行请问:有效率地址为ea=637dh(3)用bx的相对寄存器间接串行请问:有效率地址为ea=125b4h (4)基址提变址串行请问:有效率地址为ea=8e18h(5)相对基址变址串行请问:有效率地址为ea=1504fh其中,(3)和(5)中产生位次,必须把最低十一位1舍弃。
微机原理实验4-逐次比较式ADC0809

实验三 逐次比较式A/D 转换器0809的原理及编程一、实验目的1. 熟悉逐次逼近式A/D 转换器芯片的工作原理。
2. 了解A/D 转换芯片0809的接口设计方法。
3. 掌握A/D 转换器0809简单的应用编程。
二、实验任务1. 分析本实验模板的电路原理,它与EPP 接口数据传送的方法,所使用的端口地址。
2. 编写出逐次逼近式A/D 转换器芯片0809的转换与显示的控制程序。
三、实验原理1.电路组成及转换原理ADC0809是带有8位A/D 转换器、8路多路开关,以及与微型计算机兼容的控制逻辑的CMOS 组件。
8位A/D 转换器的转换方法为逐次逼近法。
在A/D 转换器内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关数组的256电阻分压器,以及一个逐次逼近的寄存器。
8路的模拟开关由地址锁存器和译码器控制,可以在8个通道中任意访问一个单边的模拟信号。
其原理图如图3-1所示。
8通道多路模拟开关5432128272625242322地址锁存器和译码器W 1W 2逐次逼近型寄存器SAR控制逻辑开关树组256R 电阻分压器610V x V c7输出缓冲锁存器三态212019188151417916111312模拟量输入A B CA L E地址选择地址锁存允许V cc G N D V R E F (+)V R E F (-)E N A B L E数字量输出转换结束(中断)E O CS TA R TC L O C KD 7D 6D 5D 4D 3D 2D 1D 0IN 7IN 6IN 5IN 4IN 3IN 2IN 1IN 0图3-1 ADC0809内部原理图从图中可以看出,ADC0809由两部分组成,第一部分为八通道多路模拟开关,控制C 、B 、A 和地址锁存允许端子,可使其中一个通道被选中。
第二部分为一个逐次逼近型A/D 转换器,它由比较器、控制逻辑、输出锁存缓冲器、逐次逼近寄存器以及开关数组和256R 梯型解码网络组成,由后两种电路(开关数组和256R 梯型电阻)组成D/A 转换器。
微机原理第4章练习题及答案

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。
A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。
A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。
A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。
A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。
A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。
A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。
A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。
微机原理4[1].4逻辑运算及串操作指令
![微机原理4[1].4逻辑运算及串操作指令](https://img.taocdn.com/s3/m/d0b0e287d4d8d15abe234ebc.png)
三、位操作指令
可对8位或16位的寄存器或存储器单元中 的内容按位进行操作,包括:
例1:将2000H:1200H地址开始的100个字节 传送到6000H:0000H开始的内存单元中。
MOV AX,2000H MOV DS,AX KKK:MOV AL,[SI] 2000H:1200H MOV [DI],AL MOV AX,6000H 如果不用串操作指令 INC SI MOV ES,AX INC DI MOV SI,1200H DEC CX JNZ KKK MOV DI,0 此处不用 6000H:0000H REP,则: MOV CX,100 KKK: MOVSB CLD DEC CX NEXT:REP MOVSB
(4)测试指令TEST 指令格式: TEST dest,src;dest ∧ src 指令功能: 源操作数和目的操作数的内容执行按位 的逻辑与运算,根据结果置SF、PF、ZF, 且CF=OF=0,而AF位无定义。 dest,src内 容不变。
常用于:
在不改变原来操作数的情况下,检测某一位 或某几位是否为1或为0。 编程时,用在条件转移指令前产生条件。
实现对一串字符或数据的操作
可进行串传送、串比较、串扫描、读串或写 串等操作,串长最多可达64KB
字符串指令的寻址方式只用隐含寻址,源串 固定使用SI,目的串固定使用DI。
指令包含:
REP REPE/REPZ REPNE/REPNZ
MOVS、STOS、LODS CMPS、SCAS
微机原理 第四章答案
15、设(DS)=C000H,(C0010H)=0180H, (C0012H)=2000H,执行LDS SI,[10H]后, (SI)=?, (DS)=? (SI)=0180 H,(DS)=2000 H
REP STOSW 程序段的功能:
将起始地址为0404 H开始的80 H(128)个字单元清成0 或将起始地址为0404 H开始的100 H(256)个字节单元清成0
11
第4章 微型计算机原理作业情况
13、 设(BX)=6B30H,(BP)=0200H,(SI)=0046H, (SS)=2F00H,(2F246H)=4154H,试求执行 XCHG BX,[BP+SI]后, (BX)=?,(2F246H)=? (BX)=4154H (2F246H)=6B30H
6
第4章 微型计算机原理作业情况
8、分别执行下列指令,试求AL的内容及各状态标志位的状态。
(1) MOV AL,19H ;
ADD AL,61H ;(AL)=7AH
OF=0 SF=0 ZF=0 AF=0 PF=0 CF=0
(2) MOV AL,19H ;
SUB AL,61
;(AL)=0DCH
OF=0 SF=1 ZF=0 AF=1 PF=0 CF=1
(1) MOV CL,20H[BX][SI] ;(CL)=0F6 H
(2) MOV [BP][DI],CX
;(1E4F6 H)=5678 H
(3) LEA BX,20H[BX][SI] ;(BX)=0056 H
MOV AX,2[BX]
;(AX)=1E40 H
微机原理实验四串操作指令
实验四串操作指令程序实验一、实验目的1. 熟悉五种串操作指令的功能,会编写常用的串操作应用程序。
2. 会使用DEBUG 命令查看串操作运行的结果。
二、实验环境1. 硬件:PC 微机2. 软件:Masm for Windows 汇编集成开发环境三、实验讲义串指连续存放在存储器中的一些数据字节、字或者双字。
串操作允许对程序连续存放的数据块进行操作。
这是唯一一种可以从存储器到存储器的指令。
源串一般存放在数据段,偏移地址由SI 指定;目标串必须在附加段,偏移地址由DI 指定。
在每次进行串操作后,SI 和DI 两个指针会自动修改。
修改的是增量方向还是减量方向由标志位DF 决定,DF=0 为增量操作,DF=1 为减量操作。
CX 中存放的是数据块的长度,可在CX 前加重复前缀标志,对串进行连续操作。
执行串指令之前,一般先进行如下操作:源串首地址(末地址)→ SI目的串首地址(末地址)→ DI串长度→ CX建立方向标志DF1. 重复前缀标志助记符判断条件说明REP CX 0 CX=CX-1,若CX 0 则重复REPE 或REPZ CX 0 且ZF=1 CX=CX-1,若CX 0 且ZF=1 则重复REPNE 或REPNZ CX=0 且ZF=0 EX=CX-1,若CX 0 且ZF=0 则重复2. 方向标志指令方向标志由标志位DF 决定,有CLD 和STD 两种指令。
CLD 将DF 置0,地址为增量操作。
STD 将DF 置1,地址为减量操作。
3. 串传送指令格式: [REP] MOVS DESTS, SRCS[REP] MOVSB/ MOVSW / MOVSD功能:将DS:SI 中的源串数据传送到ES:DI 规定的目的串单元中。
加重复前缀REP 可实现连续存放的数据块的传送。
例1:将源串中前三个字节的数据传送到目的串。
源串在数据段(DATAS)中,存放在SRC 单元中;目的串在附加数据段(EDATAS)中,存放在DEST 单元中。
微机原理第4章 8088总线
第4章 8086/8088的总线与时序4.1 8086/8088的引线及功能8086是16位微处理器;8088是准16位微处理器,它对外的数据线是8位的。
它们的地址线是20位的。
8086/8088均为40条引线、双列直插式封装。
它们的40条引线排列如图4-1所示。
为了能在有限的40条引线范围内进行工作,CPU内部设置了若干个多路开关,使某些引线具有多种功能,这些多功能引线的功能转换分两种情况:一种是分时复用,在总线周期的不同时钟周期内引线的功能不同;另一种是按组态来定义引线的功能.用8088微处理器构成系统时,根据系统所连接的存储器和外设的规模,8088可以有两种不同的组态。
在不同组态时有些引线的名称及功能不同。
最小组态:当用8088微处理器构成一个较小的系统时,所连的存储器容量不大,I/O端口也不多,若把MN/MX 引线接电源(+5V),则8088处于最小组态;最大组态:若构成的系统较大,要求有较强的驱动能力,要通过一个总线控制器来产生各种控制信号。
把引线MN/MX接地,则8088处于最大组态。
所有的微处理器都有以下几类引线用来输出或接收各种信号:●地址线、●数据线、●控制线和状态线、●电源和定时线。
8086/8088的40条引线包括以上4种信号,下面介绍各条引线的功能。
4.1.1的地址和数据线●A D7~AD0:低8位地址/数据线(输入/输出,三态)。
8088数据线是8位的,地址线是20位的,为减少引线的数量于是在8088 内部采用一些多路开关,把低8位地址线和8位数据线分时使用这些引线。
通常当CPU访问存储器或外设时,先要送出所访问单元或外设端口的地址,然后才是读写所需的数据,地址和数据在时间上是可区分的。
只要在外部电路中用一个地址锁存器,把在这些线上先出现的地址锁存下来就可以了。
●A15~A8:地址线(输出,三态)。
这8条地址线是在8088内部锁存的,在访问存储器或外设时输出8位地址。
●A19~A16/S6~S3:地址/状态线(输出,三态)。
微机原理第4章练习题及答案
微机原理第4章练习题及答案第4章80某86指令系统一、自测练习题㈠选择题1.MOVA某,[B某+SI]的源操作数的物理地址是()。
A.(DS)某16+(B某)+(SI)B.(ES)某16+(B某)+(SI)C.(SS)某10H+(B某)+(SI)D.(CS)某10H+(B某)+(SI)2.MOVA某,[BP+Sl]的源操作数的物理地址是()。
A.(DS)某10H+(BP)+(SI)A.(ES)某16+(BP)+(SI)C.(SS)某16+(BP)+(SI)D.(CS)某10H+(BP)+(SI)3.MOVA某,ES:[B某+SI]的源操作数的物理地址是()。
A.(DS)某16+(B某)+SI)B.(ES)某10H+(B某)+(SI)C.(SS)某10H+(B某)+SI)D.(CS)某16+(B某)+(SI)4.JMPWORDPTR[DI]是()。
A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMPFARPTRBlOCK(BLOCK是符号地址)是()。
A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响()标志。
A.OFB.CFC.SFD.ZF7.条件转移指令JNE的测试条件是()。
A.ZF=1B.CF=0C.ZF=0D.CF=18.下列指令中,有语法错误的是()。
A.MOV[SI],[DI]B.INAL,D某C.JMPWORDPTR[B某+8]D.PUSHWORDPTR20[B某+S1]9.假定(SS)=2000H,(SP)=0100H,(A某)=2107H,执行指令PUSHA某后,存放数据21H的物理地址是()。
A.20222HB.20221HC.200FEHD.200FFH10.对于下列程序段:AGAIN:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPAGAIN也可用指令()完成同样的功能。
A.REPMOVSBB.REPLODSBC.REPSTOSBD.REPESCASB11.对于下列程序段:AGAIN:MOVES:[DI],ALINCDILOOPAGAIN可用指令()完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七章中断控制器、DMA控制器和计数器/定时器7.18259A的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?答:1.8259A的初始化命令字是计算机系统启动时,由初始化程序设置的。
初始化命令字一旦设定,一般在系统工作过程中就不再改变。
操作命令字则是由应用程序设定的,它们用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可以多次设置。
2.初始化命令字对应于编程结构的ICW1、ICW2、ICW3、ICW4共4个寄存器。
操作命令字对应于编程结构的OCW1、OCW2、OCW3共3个寄存器。
7.28259A的中断屏蔽寄存器IMR和8086/8088CPU的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?答:1.若IMR的某位为0则该位对应的引腿上的中断请求未加屏蔽,让它通过而进入中断优先级裁决器作裁决。
若IMR的某位为1则屏蔽该位对应的引腿上的中断请求,不让它进入中断优先级裁决器。
而8086/8088CPU的中断允许标志IF为1则允许INTR引腿进入的中断,IF为0则屏蔽INTR引腿进入的中断。
与8259A的IMR位为0为1正好相反。
2.在中断响应过程中,IMR用于对外设向8259A发中断申请的允许/屏蔽,而CPU的IF用于对8259A由INT向CPU的INTR引腿发中断申请的允许/屏蔽。
7.38259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。
而特殊全嵌套方式则能被同级和高级的中断请求所嵌套。
2.全嵌套方式用于单片8259A的场合。
特殊全嵌套方式用于多片8259A系统。
7.48259A的优先级循环方式和优先级特殊循环方式有什么差别?答:在优先级特殊循环方式中,一开始的最低优先级是由编程确定的,从而最高优先级也由此而定。
而优先级自动循环方式初始优先级队列为IR0~IR7。
7.58259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?答:1.在特殊屏蔽方式中用OCW1对屏蔽寄存器中某一位进行置位时,就会同时使ISR中的对应位自动清0。
而普通屏蔽方式对OCW1的操作不影响ISR中各位的状态。
2.特殊屏蔽方式用于中断处理程序中,以开放比本身的优先级较低的中断请求。
7.68259A有几种结束中断处理的方式?各自应用在什么场合?除了中断自动结束方式以外,其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题?答:1.8259A有三种结束中断处理的方式。
2.中断自动结束方式用于只有一片8259A,并且多个中断不会嵌套的情况。
一般的中断结束方式用在全嵌套情况下及多片8259A的级联系统中。
特殊中断结束方式用于循环优先级的8259A中。
3.不发中断结束命令会使8259A认为该中断未结束,从而挡住了低优先级的中断被响应,即中断控制功能不正常。
7.78259A引入中断请求的方式有哪几种?如果对8259A用查询方式引入中断请求,那会有什么特点?中断查询方式用在什么场合?答:1.引入中断请求的方式有:边沿触发方式、电平触发方式、中断查询方式三种。
2.中断查询方式的特点:①设备仍然通过往8259A发中断请求信号要求CPU服务,但8259A不使用INT信号向CPU发中断请求信号。
②CPU内部的中断允许触发器复位,所以禁止了外部对CPU的中断请求。
③CPU要使用软件查询来确认中断源,从而实现对设备的中断服务。
3.中断查询方式一般用在多于64个中断的场合,也可以用在一个中断服务程序中的几个模块分别为几个中断设备服务的情况。
7.88259A的初始化命令字有哪些?它们各自有什么含义?哪几个应写入奇地址?哪几个应写入偶地址?答:1.8259A的初始化命令字有ICW1、ICW2、ICW3、ICW4共四个。
2.ICW1——芯片控制初始化命令字。
ICW2——设置中断类型码的初始化命令字。
ICW3——标志主片/从片的初始化命令字。
ICW4——方式控制初始化命令字。
3.ICW2、ICW3、ICW4必须写入奇地址端口中。
4.ICW1必须写入偶地址端口中。
7.98259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、38H、36H有什么差别?答:1.8259A的ICW2设置了中断类型码的高5位。
低3位中断类型码对应引入中断的引腿号。
2.当设置ICW2为30H和36H时,完全相同。
对应的8个中断类型码为30H~37H。
而设置ICW2为38H时,对应的8个中断类型码为38H~3FH。
7.108259A通过ICW4可以给出哪些重要信息?什么情况下不需要ICW4?什么情况下要设置ICW3?答:1.当SFNM=1则为特殊的全嵌套方式;BUF=1则为缓冲方式;若为缓冲方式(BUF=1)则M/S=1表示本片为主片,M/S=0为从片;AEOI=1则设置为中断自动结束方式。
当μPM=1表示8259A当前所在系统为8086/8088系统,反之μPM=0则为8080/8085系统。
2.当ICW1的D0为IC4=0时,不需要用ICW4。
3.当ICW1的D1为SNGL=0时,需要设置ICW3。
7.11试按照如下要求对8259A设置初始化命令字:系统中有1片8259A,中断请求信号用电平触发方式,下面要用ICW4,中断类型码为60H、61H……67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。
8259A 的端口地址为90H、92H。
答:MOV AL,1BH ;ICW1的命令字为00011011B=1BHOUT 90H,AL ;ICW1送偶地址端口MOV AL,60H ;ICW2的命令字为60HOUT 92H,AL ;ICW2送奇地址端口MOV AL,13H ;ICW4的命令字为00010011B=13HOUT 92H,AL ;ICW4送奇地址端口7.12怎样用8259A的屏蔽命令字来禁止IR3和IR5引腿上的请求?又怎样撤销这一禁止命令?设8259A的端口地址为90H、92H。
答:1. CLIIN AL,92H ;(AL)←(IMR)OR AL,28H ;禁止IR3和IR5引腿上的中断请求OUT 92H,AL ;OCW1送奇地址端口STI2. CLIIN AL,92H ;(AL)←(IMR)AND AL,0D7H ;允许IR3和IR5引腿上的中断请求OUT 92H,AL ;OCW1送奇地址端口STI7.13试用OCW2对8259A设置中断结束命令,并使8259A按优先级自动循环方式工作。
答:MOV AL,0A0H ;OCW2的命令字为10100000B=A0H,满足上述要求OUT PORT0,AL ;OCW2送偶地址端口7.14用流程图来表示特殊全嵌套方式的工作过程。
设主程序运行时先在IR2端有请求,接着IR2端又有请求,而此时前一个IR2还未结束,后来IR3端有请求,再后来IR1端有请求。
答:流程图如下页所示:7.15说明特殊屏蔽方式的使用方法。
为什么要用“或”的方法来设置屏蔽字?答:1.某一中断服务程序先用OCW3命令字(ESMM=1,SMM=1)使8259A 工作在特殊屏蔽方式,再用OCW1对IMR中本中断的对应位进行置位,就可以使系统除了对本级中断外,响应其他任何未被屏蔽的中断请求。
中断处理结束时,用OCW1撤销前面设置的屏蔽位,并用OCW3撤销了特殊屏蔽方式。
8259A又按照原优先级方式工作。
2.用“或”的方法来设置屏蔽字可以不影响其他位的屏蔽状态。
7.1680386系统中,8259A采用了级连方式,试说明在主从式中断系统中8259A的主片和从片的连接关系。
答:从片的INT输出接主片的IR0~IR7的某一输入端;主片的CAS2~CAS0接从片的CAS2~CAS0;主片的INTA和从片的INTA连在一起接CPU的INTA输出端;主片和从片的WR、RD、D7~D0也都连在一起和CPU的WR、RD、DB7~DB0连接;主片和从片的A0连在一起接系统总线的AB1上;主片的SP/EN接数据驱动器的OE端,从片的SP/EN接地;主片和从片的CS各自接在地址译码器的一个输出端上。
7.17试说明在DMA方式时内存往外设传输数据的过程。
答:当一个接口要由内存往其输出数据时,就往DMA控制器发一个DMA 请求;DMA控制器接到请求以后,便往控制总线上发一个总线请求;若CPU允许让出总线便发出一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号并发一个I/O写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O写信号将数据送到接口,并撤除DMA请求信号,于是DMA控制器的地址寄存器的内容加1或减1,计数器的值减1,而且撤除总线请求信号,就完成了对一个数据的DMA输出传输。
7.18对一个DMA控制器的初始化工作包括哪些内容?答:①将数据传输缓冲区的起始地址或者结束地址送到地址寄存器中;②将传输的字节数或字数送到计数器中。
③通过模式寄存器设置工作方式等。
7.19DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种情况下,各控制信号处于什么状态,试作说明。
答:1.在外设向8237A发DMA请求,8237A向CPU发总线请求得到CPU 总线允许时,获得了总线控制权就作为总线主模块工作。
2.当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237A就象I/O接口一样作为总线的从模块工作。
3.主模块工作时的控制信号:DREQx有效,HRQ高,HLDA高,DACKx有效,AEN高,IOR、MEMW或IOW、MEMR有效,16位地址送地址总线。
从模块工作时的控制信号:CS和HRQ为低,A3~A0为某一确定值,IOR或IOW有效。
7.208237A有哪几种工作模式?各自用在什么场合?答:1.8237A有4种工作模式:单字节传输模式、块传输模式、请求传输模式、级联传输模式。
2.单字节传输模式用于单个字节的DMA输入/输出;块传输模式用于连续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式DMA系统中的主片的工作模式。
7.21什么叫DMA控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它的使用场合。
答:1.自动预置功能就是DMA控制器某通道在当前字节计数器的计数值到达0时,当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中自动重新取得新值,从而又可以进入下一个数据传输过程。
2.如IBM PC/XT中,8237A的通道0用于对动态RAM进行刷新,就设置为自动预置功能。