第4章指令系统3_第1页
第4章指令系统3_第2页
第4章指令系统3_第3页
第4章指令系统3_第4页
第4章指令系统3_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PUSHPUSH指令允许将字立即数压入堆栈,如果给出的数不够指令允许将字立即数压入堆栈,如果给出的数不够1616位,它会在自动扩展后压入堆栈。位,它会在自动扩展后压入堆栈。例如:SAR DX,3 ROL BYTE PTRBX,10 2.2. 8028680286新增指令新增指令此类指令专为支持保护虚存管理而设置,见表此类指令专为支持保护虚存管理而设置,见表4-12。2.2. 8028680286新增指令新增指令8028680286增强与增加的指令增强与增加的指令 段基址由某一个段寄存器指定,而有效地址则是通过下列段基址由某一个段寄存器指定,而有效地址则是通过下列4种地址元素计种地址元素计算出来

2、的。算出来的。偏移量:操作码之后的偏移量:操作码之后的8位、位、16位或位或32位的数据。位的数据。 基址:任何通用寄存器都可以作为基址寄存器,其内容即为基址。基址:任何通用寄存器都可以作为基址寄存器,其内容即为基址。变址:除变址:除ESP寄存器之外任何通用寄存器均可作为变址寄存器,其值为寄存器之外任何通用寄存器均可作为变址寄存器,其值为 变址。变址。比例因子:变址寄存器的值可以乘以一个比例因子,比例因子可以取比例因子:变址寄存器的值可以乘以一个比例因子,比例因子可以取 1、2、4或或8。93232位处理器指令系统位处理器指令系统v32位微处理器寄存器结构 通用寄存器在8086基础上扩展了16

3、位,成为32位 其低16位寄存器的用法与名称完全与8086相同 在用做32位寄存器时,其全称在低16位寄存器名称上加一个E 段寄存器仍然是16位的,但是与8086CPU相比增加了两个附加数据段寄存器FS和GS。 指令指针寄存器EIP和处理器状态标志寄存器都是32位的。 补充:(1)直接寻址)直接寻址 DEC WORD PTR 1000HDEC WORD PTR 1000H (2 2)寄存器间接寻址)寄存器间接寻址 MOV EBXMOV EBX,ECX ECX (3 3)基址寻址)基址寻址 MOV EBX+100MOV EBX+100,ECX ECX (4 4)变址寻址)变址寻址 MOV ECX

4、MOV ECX,ESI+100 ESI+100 (5 5)带比例因子的变址寻址)带比例因子的变址寻址 MOV ECXMOV ECX,ESIESI* *4+1004+100 (6 6)基址变址寻址)基址变址寻址 MOV ECXMOV ECX,ESIEBXESIEBX 操作数的有效地址操作数的有效地址EA的计算公式如下:的计算公式如下: EA=基址基址+变址变址*比例因子比例因子+偏移量偏移量 以上以上4个因素的组合形成个因素的组合形成9种存储器寻址方式。种存储器寻址方式。(7)基址加比例因子变址寻址)基址加比例因子变址寻址 MOV ECX,ESI*4EBX (8)带偏移量的基址变址寻址)带偏移量

5、的基址变址寻址 MOV ECX,ESIEBX+100 (9)带偏移量的基址比例因子变址寻址)带偏移量的基址比例因子变址寻址 MOV ECX,ESI*4EBX+100 操作数的有效地址操作数的有效地址EA的计算公式如下:的计算公式如下: EA=基址基址+变址变址*比例因子比例因子+偏移量偏移量 以上以上4个因素的组合形成个因素的组合形成9种寻址方式。种寻址方式。 数据传送指令数据传送指令 1)通用传送指令通用传送指令 MOV指令指令功能扩展功能扩展指令中可以出现指令中可以出现32位寄存器操作数,允许使用位寄存器操作数,允许使用32位位寄存器和存储器操作数寄存器和存储器操作数新增指令新增指令 MO

6、VSX OP目,目,OP源;带符号数扩展指令源;带符号数扩展指令 MOVSZ OP目,目,OP源;无符号数扩展指令源;无符号数扩展指令 MOVSXMOVSX指令将源操作数的内容送到目的操作数中,目的指令将源操作数的内容送到目的操作数中,目的操作数空出的高位用源操作数的符号位来填补;操作数空出的高位用源操作数的符号位来填补;MOVSZMOVSZ指令同样将源操作数的内容送到目的操作数中,但目的指令同样将源操作数的内容送到目的操作数中,但目的操作数空出的高位用零来填补。要求指令中的目的操作操作数空出的高位用零来填补。要求指令中的目的操作数必须为数必须为1616位或位或3232位的通用寄存器,源操作数

7、可以是位的通用寄存器,源操作数可以是8 8位或位或1616位的寄存器或存储器操作数。同时明确要求,源位的寄存器或存储器操作数。同时明确要求,源操作数的长度要小于目的操作数。操作数的长度要小于目的操作数。 新增指令功能新增指令功能 数据传送指令数据传送指令 1)通用传送指令通用传送指令 PUSHPUSH指令指令 功能扩展功能扩展允许立即数入栈,允许使用允许立即数入栈,允许使用3232位操作数(此时由位操作数(此时由ESPESP指向堆栈栈顶,进栈时先将指向堆栈栈顶,进栈时先将ESPESP减减4 4,再将源操,再将源操作数依次压入堆栈)。作数依次压入堆栈)。 新增指令新增指令PUSHA ;将寄存器;

8、将寄存器AX、CX、DX、BX、 ;SP、BP、SI、DI依次压入堆栈依次压入堆栈PSHAD ;将寄存器;将寄存器EAX、ECX、EDX、EBX、ESP、 ; EBP、ESI、EDI依次压入堆栈依次压入堆栈 数据传送指令数据传送指令 1)通用传送指令通用传送指令 POPPOP指令指令 功能扩展功能扩展允许弹出允许弹出3232位操作数(此时由位操作数(此时由ESPESP指向堆栈栈顶,出指向堆栈栈顶,出栈时先将源操作数依次弹出堆栈,再将栈时先将源操作数依次弹出堆栈,再将ESPESP加加4 4)。)。 新增指令新增指令POPA ;从栈顶弹出;从栈顶弹出8个字分别送入寄存器个字分别送入寄存器DI 、S

9、I 、 ;BP 、 SP 、 BX 、DX 、CX 、 AX POPAD ;从栈顶弹出;从栈顶弹出8个字分别送入寄存器个字分别送入寄存器EDI 、ESI 、 ;EBP 、 ESP 、 EBX 、EDX 、ECX 、EAX 数据传送指令数据传送指令 2)地址传送指令地址传送指令 LEA指令指令 允许使用允许使用32位操作数。位操作数。 LDS指令指令 允许从数据段中取出允许从数据段中取出3232位的偏移量送位的偏移量送ESIESI,取,取1616位位 的段基址送的段基址送DSDS。 LES指令指令 允许允许从当前数据段中取从当前数据段中取4848位的地址指针送位的地址指针送ESES和和EDIED

10、I 寄存器。寄存器。 新增指令新增指令LFS ;从当前数据段中取;从当前数据段中取48位的地址指针送位的地址指针送FS和和ESI寄存寄存 ; 器器LGS ;从当前数据段中取;从当前数据段中取48位的地址指针送位的地址指针送GS和和ESI寄存寄存 ; 器器LSS ;从当前数据段中取;从当前数据段中取48位的地址指针送位的地址指针送SS和和ESP寄存寄存 ; 器器 数据传送指令数据传送指令 3)标志传送指令标志传送指令 除了除了80868086指令系统中的标志传送指令指令系统中的标志传送指令LAHFLAHF、SAHFSAHF、PUSHFPUSHF、POPFPOPF之外,之外,8038680386还

11、设置了以下新增指令:还设置了以下新增指令: 新增指令新增指令PUSHFD ;将标志寄存器中的;将标志寄存器中的32位数据压栈位数据压栈 POPFD ;将栈顶的双字弹出到将栈顶的双字弹出到3232位的标志寄存器位的标志寄存器 算术运算指令算术运算指令 1)1)加法指令。加法指令包括加法指令。加法指令包括ADDADD、ADCADC和和INCINC指令,在指令,在 8038680386指令系统中其操作数可以是字节、字或双字。指令系统中其操作数可以是字节、字或双字。2)2)减法指令。加法指令包括减法指令。加法指令包括SUBSUB、SBBSBB、DECDEC、NEGNEG和和CMPCMP 指令,其扩展功

12、能同加法指令。指令,其扩展功能同加法指令。 算术运算指令算术运算指令 3)3)乘法指令乘法指令 MUL指令指令 允许操作数为两个允许操作数为两个32位数,此时被乘数在位数,此时被乘数在EAX中,乘数在指令指定中,乘数在指令指定的的32位寄存器或存储器中,位寄存器或存储器中,64位的乘积存在位的乘积存在EDX:EAX中。中。 IMUL指令指令 功能扩展同功能扩展同MUL指令指令 。新增指令:新增指令: IMUL OP目,目,OP源源 ;OP目目OP源源OPOP目目 IMUL OP目,目,OP源源1,OP源源2 ;OP源源1OP源源2OPOP目目在格式在格式1中除源操作数为中除源操作数为8位立即数

13、外,均要求源和目的位立即数外,均要求源和目的操作数的长度一致;格式操作数的长度一致;格式2要求源操作数要求源操作数1不能是立即数,不能是立即数,源操作数源操作数1和源操作数和源操作数2的长度必须一致(的长度必须一致(8位立即数除位立即数除外)。在外)。在IMUL的两种扩充形式中,由于被乘数、乘数的两种扩充形式中,由于被乘数、乘数和乘积的长度一样,所以很有可能会溢出,此时溢出部和乘积的长度一样,所以很有可能会溢出,此时溢出部分会被丢弃并且将溢出标志分会被丢弃并且将溢出标志OF置置1。功能扩展功能扩展可完成可完成6464位数除以位数除以3232位数的操作,此时被除数在位数的操作,此时被除数在EDX

14、EDX:EAXEAX中,除数在指令指定的中,除数在指令指定的3232位通用寄存器或存储器位通用寄存器或存储器中,除得的商在中,除得的商在EAXEAX中,余数在中,余数在EDXEDX中。中。 新增指令新增指令CWDE ;将;将AX中的字进行高位扩展,成为中的字进行高位扩展,成为EAX中的双字中的双字 CDQ;将;将EAX中的双字进行高位扩展,得到中的双字进行高位扩展,得到EDX和和EAX ;中的;中的64位数位数 算术运算指令算术运算指令 4)4)除法指令除法指令 DIV和和IDIV指令指令符号扩展指令符号扩展指令 除了字节扩展指令除了字节扩展指令CBW和和CWD指令之外还增加了下面两条指令:指

15、令之外还增加了下面两条指令: 逻辑运算指令逻辑运算指令 逻辑运算指令包括与指令逻辑运算指令包括与指令ANDAND、或指令、或指令OROR、异或指令、异或指令XORXOR和测试指令和测试指令TESTTEST,其指令格式和功能与,其指令格式和功能与8086/80888086/8088指令相同,所不同的是指令相同,所不同的是8038680386允许操作数为允许操作数为3232位数。位数。移位指令包括逻辑左移移位指令包括逻辑左移SHLSHL、逻辑右移、逻辑右移SHRSHR、算术左移、算术左移SALSAL、算术右移算术右移SARSAR,不带进位循环左移,不带进位循环左移ROLROL,不带进位循环右,不带

16、进位循环右移移RORROR,带进位循环左移,带进位循环左移RCLRCL和带进位循环右移和带进位循环右移RCRRCR,其指,其指令格式和功能与令格式和功能与8086/80888086/8088指令相同,所不同的是指令相同,所不同的是8038680386允许使用这些指令对允许使用这些指令对3232位数据进行移位,而且若移位次位数据进行移位,而且若移位次数大于数大于1 1时可以在指令中用立即数表示移位次数。时可以在指令中用立即数表示移位次数。 移位指令移位指令 移位指令移位指令新增指令新增指令SHLD OP目,目,OP源源1,OP源源2;双精度左移指令,按;双精度左移指令,按OP源源2给定的次给定的

17、次 ;数对;数对OP目做左移操作,移出的位进入目做左移操作,移出的位进入 ;CF标志,标志,OP目移位之后的空缺由目移位之后的空缺由OP ;源;源1的高位填补,移位之后源操作数的高位填补,移位之后源操作数1 ;的内容不变;的内容不变SHRD OP目,目,OP源源1,OP源源2;双精度右移指令,按;双精度右移指令,按OP源源2给定的次给定的次 ;数对;数对OP目做右移操作,移出的位进入目做右移操作,移出的位进入 ;CF标志,标志,OP目移位之后的空缺由目移位之后的空缺由OP ;源;源1的低位填补,移位之后源操作数的低位填补,移位之后源操作数1 ;的内容不变;的内容不变OPOP源源1 1只能是寄存

18、器,只能是寄存器,OPOP源源2 2可以是可以是8 8位立即数或用来指明移位立即数或用来指明移位次数的位次数的CLCL寄存器;寄存器;OPOP目可以是寄存器或存储器操作数。目可以是寄存器或存储器操作数。 串操作指令串操作指令新增指令新增指令 1) 常规串操作常规串操作 所有字符串操作指令(所有字符串操作指令(MOVS、CMPS、SCAS、LODS、STOS、INS和和OUTS)带后缀)带后缀D后,变成双字操作。后,变成双字操作。 REP MOVSD 双字串传送双字串传送 REPZ/REPNZCMPSD 双字串比较双字串比较 REPZ/REPNZSCASD 双字串搜索双字串搜索 LODSD 取双

19、字取双字 REPSTOSD 存双字存双字串操作指令除了字符串传送指令串操作指令除了字符串传送指令MOVSMOVS、字符串比较指令、字符串比较指令CMPSCMPS、字、字符串搜索指令符串搜索指令SCASSCAS、取字符串指令、取字符串指令LODSLODS和存字符串指令和存字符串指令STOSSTOS这些这些常规串操作指令来完成字或字节串的操作之外,还有一些新增指常规串操作指令来完成字或字节串的操作之外,还有一些新增指令用来完成双字的串操作。令用来完成双字的串操作。 串操作指令串操作指令新增指令新增指令 3) 串输出指令串输出指令REPOUTSB REPOUTSB ;字节串输出,将;字节串输出,将D

20、S:SIDS:SI所指向的字节源串输出到所指向的字节源串输出到DXDX指定的指定的 ;端口;端口REPOUTSW REPOUTSW ;字串输出,将;字串输出,将DS:SIDS:SI所指向的字源串输出到所指向的字源串输出到DXDX指定的端口指定的端口 REPOUTSD REPOUTSD ;双字串输出,将;双字串输出,将DS:ESIDS:ESI所指向的双字源串输出到所指向的双字源串输出到DXDX指定的指定的 ;端口;端口2) 2) 串输入指令串输入指令REPINSB REPINSB ;输入字节串,从;输入字节串,从DXDX指定的端口读字节串到指定的端口读字节串到ES:DIES:DI指向的缓冲区中指

21、向的缓冲区中REPINSW REPINSW ;输入字串,从;输入字串,从DXDX指定的端口读字串到指定的端口读字串到ES:DIES:DI指向的缓冲区中指向的缓冲区中REPINSD REPINSD ;输入双字串,从;输入双字串,从DXDX指定的端口读双字串到指定的端口读双字串到ES:EDIES:EDI指向的缓冲区指向的缓冲区 ;中;中 转移指令转移指令1) 1) 条件转移指令条件转移指令JECXZ OPJECXZ OP;当;当ECXECX的内容为的内容为0 0时转移到由时转移到由OPOP指定的目标地址指定的目标地址2) 2) 子程序调用和返回指令子程序调用和返回指令 功能扩展:在间接调用的时候,

22、若功能扩展:在间接调用的时候,若CALLCALL指令的目标地址为指令的目标地址为3232位寄存器或存位寄存器或存储器,执行时先将储器,执行时先将CSCS压入堆栈,堆栈指针减压入堆栈,堆栈指针减2 2,再将,再将EIPEIP压栈,堆栈指针减压栈,堆栈指针减4 4,同时同时CSCS和和EIPEIP装入新值;用装入新值;用RETRET完成上述间接调用的返回时,首先从栈顶弹出完成上述间接调用的返回时,首先从栈顶弹出4 4个字节装入个字节装入EIPEIP,再弹出两个字节给,再弹出两个字节给CSCS,同时堆栈指针加,同时堆栈指针加6 6。 新增指令新增指令 条件设置指令条件设置指令 格式:格式:SET条件

23、条件 寄存器寄存器/存储器存储器 该指令用于对指定标志位进行测试,并根据测试结果将指定的寄该指令用于对指定标志位进行测试,并根据测试结果将指定的寄存器或存储器置存器或存储器置1或置或置0。条件测试指令的各种形式及其各自完成。条件测试指令的各种形式及其各自完成的功能见表的功能见表4-13。 中断指令中断指令 输入输出指令输入输出指令中断指令包括中断指令包括INT n、INTO和和IRET,这些指令格式和功能与,这些指令格式和功能与8086相相同,除此之外还增加了一条指令:同,除此之外还增加了一条指令:IRETD ;从堆栈中依次弹出相应字节的数据给;从堆栈中依次弹出相应字节的数据给EIP、CS和和

24、 ;EFLAGS寄存器寄存器1) IN指令指令 可以从外设端口读入可以从外设端口读入32位数到位数到EAX。2) OUT指令指令 可以将可以将EAX中的中的32位数通过端口传送到外设。位数通过端口传送到外设。 位操作指令位操作指令1) 位测试和设置指令位测试和设置指令 BT OP目,目,OP源源 ;测试由源操作数指出的目的操作数的二进制;测试由源操作数指出的目的操作数的二进制 ;位,将其送入;位,将其送入CF标志标志BTCOP目,目,OP源源 ;测试由源操作数指出的目的操作数的二进制;测试由源操作数指出的目的操作数的二进制 ;位,将其送入;位,将其送入CF标志,测试后将该位取反标志,测试后将该

25、位取反BTROP目,目,OP源源 ;测试由源操作数指出的目的操作数的二进制;测试由源操作数指出的目的操作数的二进制 ;位,并将其送入;位,并将其送入CF标志,测试后将该位清零标志,测试后将该位清零 BTSOP目,目,OP源源 ;测试由源操作数指出的目的操作数的二进制;测试由源操作数指出的目的操作数的二进制 ;位,并将其送入;位,并将其送入CF标志,测试后将该位置标志,测试后将该位置1目的操作数是目的操作数是16位或位或32位的寄存器或存储器;源操作数可位的寄存器或存储器;源操作数可以是以是8位立即数或与目的操作数位数相同的寄存器,它指出位立即数或与目的操作数位数相同的寄存器,它指出位号,其最大

26、值为位号,其最大值为31。位操作指令位操作指令2) 位扫描指令位扫描指令 指令格式:指令格式:BSF OP目,目,OP源源 BSR OP目,目,OP源源指令功能:二指令均完成对操作数进行扫描的操作,将第一个扫描指令功能:二指令均完成对操作数进行扫描的操作,将第一个扫描到是到是“1”的位的位号送入目的操作数。如果源操作数为的位的位号送入目的操作数。如果源操作数为0,则使,则使ZF=1,此时目的操作数中的结果无定义;否则,此时目的操作数中的结果无定义;否则,ZF=0,此时目的,此时目的操作数的内容即为扫描到的位号。上述指令的不同之处在于操作数的内容即为扫描到的位号。上述指令的不同之处在于BSF指指

27、令从低位向高位扫描,而令从低位向高位扫描,而BSR指令从高位向低位扫描。指令从高位向低位扫描。 目的操作数与源操作数均可为目的操作数与源操作数均可为16位或位或32位的寄存器或存储位的寄存器或存储器,两操作数的位数必须一致。器,两操作数的位数必须一致。 处理器控制指令处理器控制指令 80386的标志操作指令与的标志操作指令与8086/8088完全相同,包括完全相同,包括CLC、STC、CMC、CLD、STD、CLI和和STI指令;指令;CPU控制指令也包括控制指令也包括HLT、WAIT、NOP、LOCK封锁前缀和封锁前缀和ESC指令,只是在指令,只是在80386中可以中可以利用处理器交权指令利

28、用处理器交权指令ESC使数值协处理器使数值协处理器80387可以接收可以接收80386的的指令,还可以利用指令,还可以利用80386的寻址方式执行程序。的寻址方式执行程序。 保护方式指令保护方式指令 这一组保护方式指令是这一组保护方式指令是80386新增加的指令,用于对系统进行设置和新增加的指令,用于对系统进行设置和测试,并且通常只由系统管理员使用,因此只将这些指令的格式和测试,并且通常只由系统管理员使用,因此只将这些指令的格式和功能罗列在表功能罗列在表4-14中。中。 高级语言支持指令高级语言支持指令 1) 检查数组下标界限指令检查数组下标界限指令 BOUND OP目,目,OP源源 2) 建

29、立堆栈框架指令建立堆栈框架指令 ENTER OP目,目,OP源源 3) 释放堆栈框架指令释放堆栈框架指令 LEAVE指令功能:检查目的操作数给出的带符号数是否在源操作数指令功能:检查目的操作数给出的带符号数是否在源操作数给出的数组界限之内,源操作数存放的是数组的起始下标值给出的数组界限之内,源操作数存放的是数组的起始下标值和终止下标值。和终止下标值。指令功能:为高级语言正在执行的过程建立堆栈框架。目的指令功能:为高级语言正在执行的过程建立堆栈框架。目的操作数是框架的大小,表示该过程局部变量占用的字节数,操作数是框架的大小,表示该过程局部变量占用的字节数,源操作数表示过程被嵌套的层数,源操作数表

30、示过程被嵌套的层数,BPBP或或EBPEBP是指向该堆栈框是指向该堆栈框架的指针。架的指针。 指令功能:与指令功能:与ENTERENTER指令相反,指令相反,LEAVELEAVE指令释放当前过程所有指令释放当前过程所有局部变量占用的堆栈空间,堆栈指针恢复为系统堆栈指针局部变量占用的堆栈空间,堆栈指针恢复为系统堆栈指针ESPESP。 80386/80486增强与增加的指令增强与增加的指令 Pentium系列微处理器的新增指令CMPXCHG8B 存储器,存储器,ECX:EBX1 CMPXCHG8B 2 RDMSR用于将用于将ECX指示的实模式描述寄存器的内容写入指示的实模式描述寄存器的内容写入ED

31、X:EAX中。中。 3 WDMSR该指令的功能是将该指令的功能是将EDX:EAX中的值写入中的值写入ECX指示的实模式描述指示的实模式描述寄存器中。寄存器中。 Pentium系列微处理器的新增指令5RDTSC4RSM用于恢复到系统管理方式。用于恢复到系统管理方式。 80286增加的指令增加的指令v(1)栈操作指令PUSHA、POPA v(2)字符串输入指令INS ES:DI,DX( INSB 、INSW)v(3)字符串输出指令OUTS DX,DS:SI (OUTB 、OUTW ) v(4)数组界限检查指令BOUND DEST,SRC v(5)建立堆栈空间指令ENTER DEST,SRC v(6

32、)取消建立的栈空间指令LEAVEv(7)控制保护指令(有16条)v 控制保护指令有16条: LAR ;装入访问权限LSL ;装入段界限 LGDT ;装入全局描述符表SGDT ;存储全局描述符表 LIDT ;装入8字节中断描述符表SIDT ;存储8字节中断描述符表 LIDT ;装入局部描述符表SLDT;存储局部描述符表 LTR ;装入任务寄存器STR ;存储任务寄存器 LMSW ;装入机器状态字SMSW ;存储机器状态字 ARPL ;调整已请求特权级别CLTS ;清除任务转移状态 VERR ;对存储器或寄存器读校验VERW ;对存储器或寄存器写校验80286增加的指令增加的指令80386扩充和增加的指令扩充和增加的指令v 180386扩充

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论