中断系统及中断控制器.ppt

上传人:小飞机 文档编号:6534099 上传时间:2023-11-10 格式:PPT 页数:61 大小:544.50KB
返回 下载 相关 举报
中断系统及中断控制器.ppt_第1页
第1页 / 共61页
中断系统及中断控制器.ppt_第2页
第2页 / 共61页
中断系统及中断控制器.ppt_第3页
第3页 / 共61页
中断系统及中断控制器.ppt_第4页
第4页 / 共61页
中断系统及中断控制器.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《中断系统及中断控制器.ppt》由会员分享,可在线阅读,更多相关《中断系统及中断控制器.ppt(61页珍藏版)》请在三一办公上搜索。

1、第十章 中断系统及中断控制器,10.1 中断的基本概念10.2 可编程中断控制器8259A 10.3 8259A应用举例,第一节 中断的基本概念,1.中断的概念:1956年,美国,IBM公司IBM 7049机上首先使用了中断处理技术,并开始使用“中断”(interrupt)这一术语。中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最初的中断全部是对外部设备而言的,称为外部中断或硬件中断。随着计算机技术的发展,中断的范围也随之扩大,出现了内部软件中断的概念,它是为解决机器内部运行时出现的异常以及为编程方便而提出的。,不论哪种中断都遵循同样的中断处理过程,中断:处理器暂停执行当前

2、程序,转而处理随机发生的事件,处理完毕后再返回到断点处继续执行原来程序的过程。,2.中断类型号及中断向量表,所谓中断向量,实际上就是中断服务程序的入口地址,每个中断类型对应一个中断向量。,中断类型号通过一个地址指针表与中断服务程序的入口地址相联,在实模式下,该表称为中断向量表。,中断向量表包含256个中断向量。每个中断向量包含两个字(4个字节),高地址字为中断服务程序所在代码段的段基址,低地址字为代码段中中断服务程序第一条指令的偏移量。,实模式下,中断向量表存放在内存最低端的1K单元之中,物理地址00000H003FFH,中断类型码和中断向量所在位置之间的对应关系,类型255,类型32,类型0

3、,类型4,类型3,类型2,类型1,0000:0000H0000:0003H,0000:0010H0000:0013H,0000:000CH0000:000FH,0000:0008H0000:000BH,0000:0004H0000:0007H,供用户定义的中断(224个),专用中断(5个),保留中断(27个),0000:03FCH0000:03FFH,中断类型号*4=该类型入口地址的地址,例题,类型号为20H的中断所对应的中断向量存放在0000:0080H开始的4个单元钟,如图示,则它所对应的中断服务程序的入口地址为4030:2010H。一个系统中对应中断类型号17H的中断服务程序存放在234

4、5:7890H开始的内存区域中,则17H对应的中断向量存放于何处?,17H*4=5CH,10.2 可编程中断控制器8259A,8259A是一种可编程中断控制器,有如下功能:一片Intel 8259A可管理8个中断请求,并把当前优先级最高的中断请求送到CPU的INTR端。当CPU响应中断时,为CPU提供中断类型码。8个外部中断的优先级排列方式,可以通过对8259A编程进行指定。也可以通过编程屏蔽某些中断请求,或者通过编程改变中断类型码。允许9片8259A级联,构成64级中断系统,VCCA0IR7IR6IR5IR4IR3IR2IR1IR0INTCAS2,8259A,2827262524232221

5、201918171615,1234567891011121314,D7D6D5D4D3D2D1D0CAS0CAS1GND,10.2.1 8259A的引脚及工作原理,D7D0:数据总线,双向,三态。用于与CPU之间传送命令、状态、中断类型码。RD:读信号,输入。用来通知8259A把某个内部寄存器的值送数据线D7D0。WR:写信号,输入。用来通知8259A把数据线D7D0上的值写入内部某个寄存器。CS:片选信号,输入。通过地址译码逻辑电路与地址总线相连。A0:地址线,输入。用来指出当前8259A的哪个端口被访问,选择内部寄存器的端口地址。在标准AT机中,使用两片8259A构成主从式中断系统,主82

6、59A的端口地址:20H,21H从8259A的端口地址:A0H,A1H,INT:中断请求,输出。把IR7IR0上的最高优先级请求传送到CPU的INTR引脚,向CPU发中断请求。INTA:中断响应,接收CPU的中断应答信号。CPU发出的中断响应信号为两个负脉冲。第一个负脉冲作为中断应答信号,第二个负脉冲到来时,8259A从数据线D7D0上发出中断类型码。IR7IR0:外设中断请求输入。在含有多片8259A的复杂系统中,主片的IR7IR0分别与从片的INT端相连,用来接收来自从片的中断请求。CAS2CAS0:级联线,用来指出具体的从片。SP/EN:从设备编程/缓冲器允许 1)采用缓冲方式时,作为输

7、出,用做控制缓冲器接收和发送的信号。2)采用非缓冲方式时,作为输入,用做决定8259A的主从设备标志。为1时,指明8259A为主设备。为0时,指明8259A为从设备。,10.2.2 8259A的内部结构,1、数据总线缓冲器,8位双向三态缓冲器,通常与数据总线的低8位相连,是8259A与CPU间数据传送的接口,CPU向8259A发送的数据、命令、控制字及8259A向CPU输入的数据、状态信息都要经过数据总线缓冲器。,2、读写控制电路,接收CPU送来的读写命令、片选信号以及端口选择信号A0,以实现CPU对8259A的读写操作。当CPU执行OUT指令时,信号有效并与A0配合,使8259A接收CPU由

8、数据总线送来的初始化命令(ICW)和操作命令(OCW);当CPU执行IN指令时,信号有效并与A0配合,将8259A的内部状态经数据总线传送给CPU。信号对8259A的读写操作控制如下表所示。,3、级联缓冲器/比较器,该模块主要用于多片8259A级联和数据缓冲方式,4、中断请求寄存器IRR,有锁存功能的8位寄存器,用来存放外部输入的中断请求信号IR7IR0。每一位对应一个外部中断请求信号IRi,当某个IR端有中断请求,IRR中的相应位置“1”,其内容可用操作命令字OCW3读出。当中断请求被响应时,IRR的相应位就复位,5、中断屏蔽寄存器IMR,8位寄存器,与8259A处理的8级中断源IR7IR0

9、相对应,当用软件将IMR中的某一位置“0”,表示对应的中断IRi被允许,即允许IRR寄存器中相应位的中断请求进入中断优先级判别器。反之,将IMR的某一位IMR置“l”,表示对应的中断IRi被屏蔽。因此,通过IMR寄存器可以对各个中断源进行屏蔽或开放。屏蔽功能由操作命令字OCW1实现。,6、中断服务寄存器ISR,8位寄存器,与8级中断IR7IR0相对应,用来记录正在处理中的中断请求的优先级,当任何一级中断被响应后(当时它的优先级最高),在第一个中断响应负脉冲到来时,ISR中的相应位置“l”,7、优先级判别器PR,也叫优先级分析器 对IRR寄存器送来的中断申请信号(只有IRR中置1且IMR中对应位

10、置0的位才能进入PR)进行优先级判别,选出优先级最高的中断申请;当出现多重中断时,PR将新出现的中断请求和正在被服务的中断优先级进行比较,确定新的优先级是否高于正在处理的中断级,当1个中断请求被判定为具有最高的优先级时,PR通过控制电路向CPU发出中断请求信号INT,并在8259A获得第一个中断响应信号时使ISR寄存器中相应位置1。,8、控制电路,该模块是8259A的内部控制器,控制8259A芯片的内部工作过程。实际上整个8259A芯片是在控制电路的控制下构成一个有机的整体并完成中断优先级管理功能。,根据IRR存器中的置位情况和中断屏蔽寄存器IMR的设置情况,通过优先级判别器PR进行优先级判别

11、,并根据判别结果向8259A内部各部件发出控制信号,并向CPU发出中断申请信号INT和接收CPU的中断响应信号,使中断服务寄存器ISR的相应位置“1”(第一个时),使IRR寄存器中相应位清“0”(第一个时)。当第二个中断响应信号到来时,控制8259A向数据总线送出中断类型号,以便CPU形成中断服务程序的入口地址。如果中断结束方式为“自动结束”,则在第二个负脉冲结束时使ISR寄存器中的相应位清“0”。,10.2.3 8259A的工作方式,1、设置优先级方式2、屏蔽中断源的方式 3、结束中断处理的方式 4、连接系统总线的方式5、引入中断请求的方式,10.2.3 8259A的工作方式,1、设置优先级

12、方式,中断请求按优先级07进行处理,0级中断的优先级最高 当一个中断被响应时,中断类型码被放到数据总线上,当前中断服务寄存器ISR中的对应位ISn被置1,然后进入中断服务程序。一般情况下(除了自动结束中断方式),在CPU发出中断结束命令(EOI)前,此对应位一直保持“1”。如果又来了新的中断,中断优先级裁决器总是将新收到的中断请求和当前中断服务寄存器中的IS位进行比较,判断新收到的中断请求的优先级是否比当前正在处理的中断优先级高,如果是,则实行中断嵌套。8259A最常用的工作方式,如果对8259A进行初始化以后没有设置其他优先级方式,那么,8259A就按一般完全嵌套方式工作。,1)一般完全嵌套

13、方式,10.2.3 8259A的工作方式,1、设置优先级方式,该方式和全嵌套方式基本相同 只有一点不同,同级能中断同级的中断请求特殊全嵌套方式一般用在8259A级连的系统中,2)特殊完全嵌套方式,10.2.3 8259A的工作方式,1、设置优先级方式,一般用在系统中多个中断源优先级相等的场合。在这种方式下,优先级队列是变化的,一个设备受到中断服务以后,它的优先级自动将为最低在优先级自动循环方式中,初始优先级队列规定为IR0、IR1、IR2IR6、IR7,例:如果来IR4中断请求,则处理IR4。处理完IR4后,IR5位最高优先级,依次为IR6、IR7、IR0、IR1、IR2、IR3、IR4。系统

14、中是否采用自动循环优先级,由8259A的操作命令字OCW2决定,3)优先级自动循环方式,10.2.3 8259A的工作方式,1、设置优先级方式,优先级特殊循环方式和优先级自动循环方式相比,只有一点不同:开始的最低优先级是由编程确定的,从而最高优先级也由此而定。比如,确定IR5为最低优先级,那么,IR6就是最高优先级。而在优先级自动循环方式中,一开始的最高优先级一定是IR0。,4)优先级特殊循环方式,10.2.3 8259A的工作方式,2、屏蔽中断源的方式,普通屏蔽方式中,8259A的每个中断请求输入端都可以通过对应屏蔽位的设置被屏蔽,从而使这个中断请求不能从8259A送到CPU。屏蔽寄存器:它

15、的每一位对应了一个中断请求输入,程序设计时,可以通过设置操作命令字OCW1使屏蔽寄存器中任一位或几位置1。当某一位为1时,对应的某一级中断就受到屏蔽。需要撤销对某些中断的屏蔽或需要撤销对所有中断的屏蔽,可以通过OCW1重新设置来实现,1)普通屏蔽方式,10.2.3 8259A的工作方式,2、屏蔽中断源的方式,设置了特殊屏蔽方式之后,再用OCW1对屏蔽寄存器中某一位进行设置时,就会同时使当前中断服务寄存器中的对应位自动清0,这样,就不只屏蔽了当前正在处理的这级中断,而且真正开放了其他级别较低的中断。在有些场合,希望一个中断服务程序能动态的改变系统的优先级结构。例如,在执行中断处理程序某一部分时,

16、希望禁止较低级的中断请求,但是,在执行中断处理程序另一部分时,又能够开放本身的优先级较低的中断请求。,2)特殊屏蔽方式,10.2.3 8259A的工作方式,2、屏蔽中断源的方式,特殊屏蔽方式总是在中断处理程序中使用的。使用了这种方式后,尽管系统当前仍然在处理一个较高级的中断,但是,从外界看来,由于8259A的屏蔽寄存器中,对应与此中断的数位被设置为1,并且当前中断服务器中的对应位被清0,所以,好像不在处理任何中断,从而,这时即使有最低级的中断请求,也会得到响应。,2)特殊屏蔽方式,10.2.3 8259A的工作方式,3、结束中断处理的方式,中断处理的结束:,一个中断请求得到响应时,8259A都

17、会在当前中断服务寄存器中设置相应位ISn,这样,为此后中断裁决器的工作提供了依据。当中断处理程序结束时,必须使ISn位清0,否则,8259A的中断控制功能就会不正常。这个使ISn位清0的动作就是中断结束处理。,10.2.3 8259A的工作方式,3、结束中断处理的方式,1)中断自动结束方式,系统一进入中断过程,8259A就自动将当前中断服务寄存器中的对应位ISn清除 用在系统中只有一片8259A,并且多个中断不会嵌套的情况 设置方法:对8259A初始化时,使初始化命令字ICW4的AEOI位为1就行了。,10.2.3 8259A的工作方式,3、结束中断处理的方式,2)一般的中断结束方式,CPU用

18、输出指令往8259A发出一般中断结束命令时,8259A就会把当前中断服务寄存器中的最高的IS位复位(相当于结束了当前正在处理的中断)用在完全嵌套情况下中断结束命令:写 OCW2的EOI=1,SL=0,R=0即可,10.2.3 8259A的工作方式,3、结束中断处理的方式,3)特殊的中断结束方式,在非完全嵌套方式下,因为中断优先级不确定,用当前中断服务寄存器时无法确定哪一级中断位最后响应和处理的,也就是说,无法确定当前正在处理的是哪级中断,这时,就要采用特殊的中断结束方式。在程序中发一条特殊中断结束命令,命令指出了要清除当前中断服务寄存器中的哪个ISn位。特殊中断结束命令:往8259A偶地址端口

19、输出操作命令字OCW2来实现,10.2.3 8259A的工作方式,4、连接系统总线的方式,1)缓冲方式,在多片8259A级联的大系统中,8259A通过总线驱动器和数据总线相连,这就是缓冲方式。,2)非缓冲方式,将8259A直接与数据总线相连,用在只有单片或是片数不多的情况下。两种方式通过8259A的初始化命令字ICW4设置,10.2.3 8259A的工作方式,5、引入中断请求的方式,1)边沿触发方式,中断请求输入端出现的上升沿作为中断请求信号,2)电平触发方式,中断请求输入端出现的高电平作为中断请求信号。,通过初始化命令字ICW1设置,10.2.3 8259A的工作方式,5、引入中断请求的方式

20、,3)中断查询方式,设备仍然通过往8259A发中断请求信号要求CPU服务,但8259A不是用INT信号向CPU发中断请求信号 CPU 关中断,即中断允许触发器复位 CPU使用软件查询来确认中断源,实现对设备的中断服务,10.2.4 8259A的初始化命令字和操作命令字,8259A的工作状态和操作方式,由CPU的命令而定。命令有两种 每片8259A有2个片内地址A0=0和A0=1,所有的命令都是通过这两个端口来实现的。,1.8259A的初始化命令字,ICW1ICW4在初始化程序中设定,且在整个工作过程中保持不变。ICW1ICW4必须按顺序设定。ICW1写入8259A偶地址中(A0=0,在AT机中

21、为20H/A0H)ICW2ICW4写入8259A奇地址中(A0=1,在AT机中为21H/A1H)。,1).ICW1设置工作方式,对A0=0的端口写入一个D4=1的数据,表示初始化编程开始。D7-D5:8086/8088系统中不用,一般设为0D4:总是设置为1,表示现在设置的是初始化命令字ICW1 D3:LTIM 中断信号的触发方式 0:边沿1:高电平D2:未用D1:SGNL 是否单片方式0:多片级联1:单片D0:IC4 是否有ICW40:无 1:有,在8086/8088系统中,ICW4是必须使用的,2).ICW2 设置中断类型码,用来设置中断类型码,一旦设定,则IR0-IR7的中断类型号都确定

22、在写ICW1之后,对A0=1的端口第一次写入的数据是ICW2。D7D3可设置,D2D0由引脚IRi 确定。在8086/8088系统中,设置D7D3为00001,D2D0(由8259A根据IR0IR7自动填充为000111)。在PC/XT中ICW2为00001000B,则 中断号:类型号 中断号:类型号IR0:08H 时钟中断 IR4:0CH COM1IR1:09H 键盘中断 IR5:0DH 硬盘 IR2:0AH 保留 IR6:0EH 软盘IR3:0BH COM2IR7:0FH LPT1,3).ICW3 设置级联,系统中有级联(ICW1.SNGL=0),在ICW2之后写ICW3。对于主片:置1的

23、位表示对应的引脚IR有从片级联。对于从片:用D2D0表示和主片的对应引脚级联,4).ICW4 方式控制初始化,ICW1.IC4=1时,有ICW4。D7D5:总是为0,用来作为ICW4的标识码。D4:SFNM 中断的嵌套方式0:一般嵌套1:特殊的全嵌套在一般嵌套方式下,优先级IR0IR7从高到低。D3(BUF):如为1,则为缓冲方式。D2(M/S):缓冲方式下表示本片为主片还是从片。即BUF=1时,1 主片,0 从片。D1:AEOI 自动结束中断方式0:不自动清除ISR 1:CPU响应中断后,自动清除D0:PM 微处理器类型1:8086/8088 0:8080/8085/Z80,初始化编程一般在

24、系统启动时进行,初始化以后系统才可以接收中断请求信号,5).8259A芯片的初始化流程,.,例:某机中8259A的端口 地址是20H、21H,初始化序列如下:MOV AL,13H;设置ICW1 OUT 20H,AL MOV AL,8;设置ICW2为8H OUT 21H,ALMOV AL,1;ICW4设置为1H OUT 21H,AL;,ICW1:单片、上升沿触发、使用ICW4,ICW2:中断类型码是08H0FH,ICW4:非AEOI方式,2.8259A的操作命令字OCW,系统初始化完成以后,可以在应用程序中进行操作命令字编程。OCW1 设置和清除中断屏蔽寄存器MX=1表示屏蔽中断源IRX,例如:

25、读OCW1(IMR中断屏蔽字),IN AL,21H;则AL内容为IMRAND AL,0FDH;将键盘IR1对应的中断屏蔽;字D1位清0,即开放键盘中断OUT 21H,AL:IN AL,21H;屏蔽键盘中断OR AL,2OUT 21H,AL,OCW2 设置优先级循环方式和中断结束方式对A0=0端口写入D4D3=00的数据,表示是OCW2R:表示是否循环;1:优先级循环SL:表示L2L0是否有效;L2、L1、L0:具体要清除当前中断服务寄存器中的哪一位;指出循环开始时哪个中断的优先级最低。EOI:中断结束命令位。为1,使当前中断服务器中的IS复位。EOI命令就是通过OCW2中的第5位即EOI位设置

26、的。当EOI=1时,OCW2用来作为中断结束命令,同时使系统按照某一种方式继续工作。当EOI=0时,OCW2一般用来作为指定优先级循环方式的命令字。EX:MOV AL,20H OUT 20H,AL;发中断结束命令,OCW3 的功能有三个方面:(1)设置和撤销特殊屏蔽方式(2)设置中断查询方式(3)设置对8259A内部寄存器的读出。对A0=0端口写入D4D3=01的数据,表示是OCW3,ESMM称为特殊的屏蔽模式允许位,SMM为特殊屏蔽模式位当OCW3中的ESMM=SMM=1时,只要CPU内部的IF为1,系统就可以响应任何非屏蔽中断请求,这时,好像优先级规则完全不起作用一样。而当再发送一个使ES

27、MM=1,SMM=0的OCW3之后,系统又恢复原来的优先级方式。P位称为查询方式位,当P=1时,使8259A设置为中断查询方式 当P=0时,若RR位为1,构成对8259A内部寄存器的读出命令,来读取寄存器IRR和ISR的内容,例如:设置OCW3为00001011则对下一条输入指令读的是ISR的内容。MOV AL,0BH OUT 20H,AL IN AL,20H,读取方法:先用输出指令往8259A的偶地址端口发读出命令,接着用输入指令从8259A的偶地址端口读取寄存器IRR或ISR的内容。如果RR=1,RIS=0,那么,就构成了对IRR寄存器的读出命令,所以,下一条输入指令读得的是IRR寄存器的

28、值。如果RR=1,RIS=1,那么,就构成了对ISR寄存器的读出命令,所以,下一条输入指令读得的是ISR寄存器的值。,第三节 8259A应用举例,PC/AT中,8259A的使用情况为:2片8259A级联,提供15级向量中断。从片的INT接主片的IR2。端口地址:主片20H、21H,从片A0H、A1H。主片和从片均采用边沿触发。采用全嵌套优先级排列方式采用非缓冲方式,主片SP/EN接+5V,从片SP/EN接地。主片的类型码为08H0FH,从片的类型码为70H77H。,PC/AT中,8259A连线图,ICW1A EQU 20H;主片端口地址ICW2A EQU ICW1A+1ICW3A EQU IC

29、W2AICW4A EQU ICW2AICW1B EQU 0A0H;从片端口地址ICW2B EQU ICW1B+1ICW3B EQU ICW2BICW4B EQU ICW2B,PC/AT机主、从8259A的初始化程序,;-主片8259A-MOV AL,11H;ICW1,边沿触发,多片,ICW4OUT ICW1A,ALNOP;I/O端口延时MOV AL,08H;ICW2,中断类型码OUT ICW2A,ALNOPMOV AL,04H;ICW3,IR2接从片OUT ICW3A,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自;动 结束OUT ICW4A,ALNOP,;-从片8259A-M

30、OV AL,11H;ICW1,边沿触发,多片,需ICW4OUT ICW1B,ALNOPMOV AL,70H;ICW2,中断类型码OUT ICW2B,ALNOPMOV AL,02H;ICW3,INT接主片的IR2OUT ICW3B,ALNOPMOV AL,01H;ICW4,非缓冲,全嵌套,非自动结束OUT ICW4B,ALNOP,中断向量表的操作,读写中断向量表不能使用MOV指令,而应调用相应的DOS功能取中断向量预置AH=35H,AL=中断类型号执行INT 21H把类型号为AL的中断向量取出到ES:BX中设置中断向量预置AH=25H,AL=中断类型号,DS:DX=中断向量执行INT 21H把D

31、S:DX指向的中断向量放置到中断向量表中类型号为AL的中断向量处,MOV AL,9;把中断9的中断向量取出,保存MOV AH,35H;取中断向量,调用时AL含十六进制中断号,INT 21H;对指定的中断9,返回时,ES:BX为中断服务入口地址。MOV SAVEIP9,BXMOV SAVECS9,ES,MOV DX,OFFSET KBINT;设置新中断9的中断向量 PUSH DS MOV AX,SEG KBINT MOV DS,AX;设置中断向量,调用前AL内容为被设中断类型号,;DS:DX入口地址,将置该中断向量为DS:DX指定的4个字节 MOV AL,9 MOV AH,25H INT 21H

32、;,STI;开中断 CLI;关中断,作业:p177 4 5 8,4.试按下列要求对8259A进行初始化:系统CPU为8086,系统中有一片8259A,中断申请信号采用电平触发,中断类型号为60H,61H,67H,采用特殊嵌套,非缓冲方式,中断自动结束方式,8259A的端口地址为83H,84H。,MOV AL,1BH;设置ICW1 00011011 OUT 84H,AL MOV AL,60H;设置ICW2为60H,确定中断类型码 OUT 83H,AL MOV AL,13H;ICW4设置为1H 00010011特殊嵌套 OUT 83H,AL;,ICW1:单片、电平触发、使用ICW4,5.怎样用屏蔽

33、命令字来禁止IR2,IR4的请求?又怎样撤消这一禁止命令?设8259A的端口地址为83H、84H。,;禁止 IN AL,83H OR AL,14H;00010100 OUT 83H,AL;撤销禁止 IN AL,83H AND AL,0EBH;11101011 OUT 83H,AL,8.列写出在下列情况下应向8259A提供的操作命令字:(1)读中断请求寄存器IRR;(2)读中断屏蔽寄存器IMR;(3)读中断服务寄存器ISR。,(1)读中断请求寄存器IRR;OCW3:00001010OUT 偶地址端口,0AHIN AL,偶地址端口(2)读中断屏蔽寄存器IMR;直接读奇地址端口(3)读中断服务寄存器ISR。OCW3:00001011OUT X0H,0BH,第十章 思考题,1.某微机系统采用三片8259A级连使用,一片为主,两片为从,从片分别接入主片的IR2和IR4,试画出该系统的硬件连接图。2.某微机系统只有一片8259A,其端口地址为02C0H、02C1H,试编写初始化程序,要求1)中断请求输入采用电平触发,2)IR0的中断类型码是16,3)采用缓冲器方式,4)采用普通的EOI命令,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号