微机原理与接口技术_第1页
微机原理与接口技术_第2页
微机原理与接口技术_第3页
微机原理与接口技术_第4页
微机原理与接口技术_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、Department of Mechanical and Electrical Engineering 4.1 汇编语言程序格式汇编语言程序格式v4.1 汇编语言的程序格式v4.2伪指令v4.3 汇编语言程序上机过程v4.4程序设计基本方法Department of Mechanical and Electrical Engineering 4.1 汇编语言的程序格式汇编语言的程序格式v4.1.1 汇编语言程序的结构v4.1.2 汇编语言语句类型及格式v4.1.3 汇编语言的数据与表达式返返 回回Department of Mechanical and Electrical Engineeri

2、ng 1源程序的一般格式源程序的一般格式vSTACK SEGMENT vSTACK ENDS vDATA SEGMENT vDATA ENDSvCODE SEGMENTv ASSUME CS:CODE, DS: DATA, SS:STACKvSTART: vCODE ENDSv END START例4-1 编写一个两字相加的程序。DSEG SEGMENT ;定义数据段DATA1 DW 1234H ;定义被加数DATA2 DW 5678H ;定义加数DSEG ENDS ;数据段结束ESEG SEGMENT ;定义附加段SUM DW 2 DUP(?) ;定义存放结果区ESEG ENDS ;附加段结

3、束CSEG SEGMENT ;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址 ASSUME CS:CSEG,DS:DSEG,ES:ESEGSTART: MOV AX,DSEG ;START为程序开始执行的启动标号 MOV DS,AX ;初始化DS MOV AX,ESEG MOV ES,AX ;初始化ES LEA SI,SUM ;存放结果的偏移地址送SI MOV AX,DATA1 ;取被加数 ADD AX,DATA2 ;两数相加 MOV ES:SI,AX ;和送附加段的SUM单元中 HLTCSEG ENDS ;代码段结束 END START ;源程序结束Department o

4、f Mechanical and Electrical Engineering v例4-1 编写一个两字相加的程序。DSEG SEGMENT ;定义数据段DATA1 DW 1234H ;定义被加数DATA2 DW 5678H ;定义加数DSEG ENDS ;数据段结束ESEG SEGMENT ;定义附加段SUM DW 2 DUP(?) ;定义存放结果区ESEG ENDS ;附加段结束CSEG SEGMENT ;定义代码段;下面的语句说明程序中定义的各段分别用哪个段寄存器寻址 ASSUME CS:CSEG,DS:DSEG,ES:ESEGSTART: MOV AX,DSEG ;START为程序开始

5、执行的启动标号 MOV DS,AX ;初始化DS MOV AX,ESEG MOV ES,AX ;初始化ES LEA SI,SUM ;存放结果的偏移地址送SI MOV AX,DATA1 ;取被加数 ADD AX,DATA2 ;两数相加 MOV ES:SI,AX ;和送附加段的SUM单元中 HLTCSEG ENDS ;代码段结束 END START ;源程序结束Department of Mechanical and Electrical Engineering 2源程序的结构特点源程序的结构特点v (1)汇编语言程序通常由若干段组成,段由伪指令SEGMENT与ENDS定义,各段顺序任意,段的数目

6、按需要确定,原则上不受限制。v (2)段由若干语句组成,语句以指令为主体而构成。一条语句写在一行上,书写时语句的各部分应尽量对齐v (3)汇编语言程序中至少要有一个启动标号,作为程序开始执行时目标代码的入口地址。启动标号常用START、BEGIN、MAIN等命名。v (4)为增加程序的可读性,可在汇编语言语句“;”后加上注释。返返 回回Department of Mechanical and Electrical Engineering 4.1.2汇编语言语句类型及格式汇编语言语句类型及格式 1汇编语言语句的类型(1)指令语句是可执行语句,在汇编中要产生对应的目标代码,CPU根据这些代码才能执

7、行相应的操作。(2)伪指令语句是不可执行语句,在汇编中不产生目标代码,用于指示汇编程序如何汇编源程序,利用它定义和说明常量和变量的属性及存储器单元的分配等。(3)宏指令语句是以一个宏名定义的一段指令序列,在汇编中凡是出现宏指令语句的地方,都会有相应的指令语句序列的目标代码插入。 2语句的格式 返返 回回Department of Mechanical and Electrical Engineering 4.1.3 汇编语言的数据与表达式汇编语言的数据与表达式 1常量数值常量、字符串常量、符号常量 2变量 例4-2用数据定义伪指令DB、DW、DD定义变量 DATA SEGMENT DA1 DB

8、 12H ;定义一个字节数据 DA2 DD 0FEDCBA90H ;定义一个双字数据 DA3 DW 5678H ;定义一个字数据 DATA ENDS 3标号 4表达式和运算符 算术运算符、逻辑运算符、关系运算符、 数值返回运算符、(5)修改属性运算符Department of Mechanical and Electrical Engineering 例题例题v 例4-3 逻辑运算符的应用MOV AL,NOT 10101010B ;(AL)01010101BMOV AL,11110000B AND 10111101B ;(AL)10110000BMOV AL,10100000B OR 0000

9、0101B ;(AL)10100101Bv 例4-4 关系运算符的应用MOV AX,5 EQ 101B ;(AX)0FFFFHMOV BH,10H GT 16 ;(BH)0v例4-5 数值返回运算符的应用K1 DB 30H,31H,32HK2 DW 4041H,4043HK3 DW 20H DUP(0)K4 DD 50515253HMOV AL,TYPE K1 ;等效于MOV AL,1MOV AH,TYPE K2 ;等效于MOV AH,2MOV AL, LENGTH K3 ;(AL)20H,返回DUP前面的数值MOV CL, LENGTH K4 ;(CL)01HMOV BL, SIZE K3

10、;(BL)40HMOV DL, SIZE K4 ;(DL)04HDepartment of Mechanical and Electrical Engineering 例题例题v 例4-6 段属性运算符的应用MOV AX,ES:BX ;用附加段ES取代默认的数据段DSMOV BL,DS:BP ;用数据段DS取代默认的堆栈段SSv 例4-7 PTR运算符的应用N1 DB 3,6,9MOV AX,WORD PTR N1 ;临时指定N1为字类型,(AX)0603Hv 例4-8 THIS运算符的应用ABC EQU THIS BYTE ;从本语句开始变量ABC的类型属性指定为字节, 不管它原来的类型是什

11、么v 例4-9 HIGH和LOW运算符的应用NUM EQU 2456HMOV AL,HIGH NUM ;等效于 MOV AL,34HMOV BL,LOW NUM ;等效于 MOV BL,56H返返 回回Department of Mechanical and Electrical Engineering 4.2伪指令伪指令v 4.2.1 符号定义伪指令v 4.2.2 数据定义伪指令v 4.2.3 段定义伪指令v 4.2.4 段寻址伪指令v 4.2.5 过程定义伪指令v 4.2.6 模块定义与连接伪指令v 4.2.7 宏命令伪指令v 4.2.8 其它伪指令Department of Mechan

12、ical and Electrical Engineering 4.2.1 符号定义伪指令符号定义伪指令 1等值语句 例4-10 等值语句 CR EQU 0DH ;常量 TEN EQU 0AH ;常量 AA EQU ASCII_TABLE ;变量 VAR EQU TEN*2+1024 ;数值表达式 ADR EQU ES:BP+DI+5 ;地址表达式 GOTO EQU JMP ;指令助记符 2等号语句 例4-11 等号语句 NUM=488 ;定义NUM等于488 NUM=NUM+1 ;定义NUM等于489返返 回回Department of Mechanical and Electrical E

13、ngineering 4.2.2 数据定义伪指令数据定义伪指令v 例4-12DATA DB 11H,33H ;定义包含两个元素的字节变量DATANUM DW 100*5+88;定义一个字类型变量NUM,其初值为表达式的值SUM DQ 0011223344556677 ;将4个字存入变量SUM。v 例4-13STR1 DB COMPUTER ;定义一个字符串,字符串的首地址为STR1STR2 DW AA,BC,DE ;给两个字符组成的字符串分配两个字节存储单元DATA DW ?,?,? ;为DATA预留6个存储单元v 例4-14 DATA1 DB 20 DUP(?) ;为变量DATA1分配20个

14、字节的空间,初值为任意值 DATA2 DW ? ;为变量DATA2分配2个字节的空间,初值为任意值 DATA3 DB 20 DUP(30H) ;为变量DATA3分配20个字节的空间,初值均为30H返返 回回Department of Mechanical and Electrical Engineering 4.2.3 段定义伪指令段定义伪指令v格式:段名 SEGMENT 定位类型 组合类型 类别名 段名 ENDSv1段名一个段开始和结尾的段名必须一致,否则会出现语法错误v2定位类型(1)BYTE(2)WORD(3)PARA(4)PAGEv3组合类型(1)NONE(2)PUBLIC(3)COM

15、MON(4)STACK(5)MEMORY(6)AT表达式v4. 类别名返返 回回Department of Mechanical and Electrical Engineering 4.2.4 段寻址伪指令段寻址伪指令v 格式: ASSUME 段寄存器名:段名,段寄存器名:段名,v例4-15 求从NUM开始的12个无符号字节数的和,结果放在SUM字单元中。DATA SEGMENT NUM DB 95H,83H,36H,2DH DB 33H,22H,1AH,34HDB 62H,45H,75H,49HSUM DW ?DATA ENDSSTACK SEGMENT DB 100 DUP(?)STAC

16、K ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK lBEGIN:MOV AX,DATAl MOV DS,AXl MOV ES,AXl MOV AX,STACKl MOV SS,AXl LEA SI,NUM lMOV CX,12 lXOR AX,AXlNEXT: ADD ALSI lADC AH,0 lINC SIl LOOP NEXT l MOV SUM,AX l HLT lCODE ENDS END BEGIN 返返 回回Department of Mechanical and Electrical Engineering

17、4.2.5 过程定义伪指令过程定义伪指令v格式:v过程名 PROC NEAR/FARv v RETv v RETv 过程名 ENDPl例4-16 编写一个延时50ms的子程序lDELAY PROC ;定义一个近过程l PUSH BX ;保护BX原来的内容l PUSH CX ;保护CX原来的内容l MOV BL,5 ;外循环次数lNEXT: MOV CX,2801 l ;内循环次数(实现延时10ms)lW10MS:LOOP W10MS ;(CX)0则循环l DEC BL ;修改外循环计数值l JNZ NEXT ;(BX)0则进行外循环lPOP CX ;恢复CX原来的内容lPOP BX ;恢复BX

18、原来的内容l RET ;过程返回lDELAY ENDP ;过程结束返返 回回Department of Mechanical and Electrical Engineering 4.2.6 模块定义与连接伪指令模块定义与连接伪指令1模块定义伪指令 格式:NAME 标识符 END 启动标号2模块连接伪指令 (1)全局符号伪指令 (2)引用伪指令Department of Mechanical and Electrical Engineering 例题例题v例4-17 编程利用乘法模块计算X*Y。NAME MAINCALL ;主模块 EXTRN WMUL:FARSTACK SEGMENT PAR

19、A STACK STACK DB 100 DUP(?)STACK ENDSDATA SEGMENT PARA DATAX DW 3355HY DW 8866HDATA ENDSCODE SEGMENT PARA CODEMAIN PROC FAR ASSUME CS:CODE,DS:DATA,SS:STACK PUSH DS MOV AX,0 PUSH AX MOV AX,DATAl MOV DS,AXl MOV AX,Xl MOV BX,Yl CALL WMUL ;调用外部过程WMULl RETlMAIN ENDPlCODE ENDSl END MAIN ;主模块结束lNAME SUBMUL

20、 ;子模块lCDESG SEGMENT PARA CODElWMUL PROC FAR ;定义远过程WMULl ASSUME CS:CDESGl PUBLIC WMUL ;定义WMUL为全局过程名l CALL MULAB ;嵌套调用l RET ;过程返回lWMUL ENDP ;过程结束lMULAB PROC ;定义一个近过程MULABl MUL BXl RETlMULAB ENDP ;过程结束lCDESG ENDS ;代码段结束l END ;子模块结束返返 回回Department of Mechanical and Electrical Engineering 4.2.7 宏命令伪指令宏命令

21、伪指令v1宏定义例4-18 用宏指令定义两个字节数相加,结果存入RESULT单元的操作。ADDM MACRO OPR1,OPR2,RESULT MOV AL,OPR1 ADD AL,OPR2 MOV RESULT,AL ENDMv2宏调用例4-19 将例4-18中的宏定义进行宏调用、宏展开操作如下:ADDM 88,36,SUM ADDM BR,TAB,SUMl宏展开: l l+ MOV AL,88l+ ADD AL,36l+ MOV SUM,ALl l+ MOV AL,BRl+ ADD AL,TABl+ MOV SUM,ALl l4宏的取消返返 回回Department of Mechanic

22、al and Electrical Engineering 4.2.8 其它伪指令其它伪指令 1定位伪指令例4-20 伪指令ORG和当前位置计数器值符号$的应用DATA SEGMENT ORG 30HDB1 DB 12H,34H ORG $ +20H STRING DB STRING DATA ENDS 2方式选择伪指令 3简化的段定义伪指令 ;标记简化段,各段顺序由系统安排,用于主模块前面;指明内存使用模式,指示数据与代码允许使用的长度 ;定义数据段,隐含段名为DATA ;定义堆栈段,隐含段名为STACK,并形成SS及SP初值 ;定义代码段,隐含段名为CODE ;汇编结束返返 回回Depar

23、tment of Mechanical and Electrical Engineering 4.3 汇编语言程序上机过程汇编语言程序上机过程v4.3.1 建立汇编语言的工作环境v4.3.2 上机操作过程v4.3.3 DEBUG的使用方法返返 回回Department of Mechanical and Electrical Engineering 4.3.1 建立汇编语言的工作环境建立汇编语言的工作环境v 编辑程序,文件名 EDIT.COMv 汇编程序,文件名 MASM.EXE v 连接程序,文件名 LINK.EXE v 调试程序,文件名 DEBUG.EXE v LIB.EXE,库管理程序

24、v CREF.EXE,符号索引文件处理程序 v EXE2BIN.EXE,将EXE转换为COM的文件格式转换程序返返 回回Department of Mechanical and Electrical Engineering 4.3.2 上机操作过程上机操作过程v 1编辑 1.对编辑完成的源程序在存盘时扩展名必须加写.ASM 2.一定要严格遵守汇编语言书写格式及段结构的格式来编写程序v 2汇编 汇编过程就是将汇编语言源程序转换成机器能够识别的目标代码程序,即OBJ的二进制文件。还可生成扩展名为.LST的列表文件,扩展名为.CRF的符号索引文件。v 3连接 所谓连接是用连接程序LINK.EXE把若

25、干个经汇编后产生的.OBJ文件及指定的库文件连接起来,产生可执行的.EXE文件。v 4调试返返 回回Department of Mechanical and Electrical Engineering 4.3.3 DEBUG的使用方法的使用方法v 1DEBUG的运行v 2DEBUG的主要命令 D,显示内存单元内容; U,反汇编命令; R,显示与修改寄存器内容; E,修改内存单元内容; A,汇编命令; T、P,单步执行指令; G,连续执行指令; N,指定装入文件名或写入文件名; L,装入N指定的文件; W,将指定内容写入N指定的文件; Q,退出DEBUG程序,返回操作系统状态。返返 回回Dep

26、artment of Mechanical and Electrical Engineering 4.4程序设计基本方法程序设计基本方法v4.4.1 程序设计概述v4.4.2 顺序结构程序设计v4.4.3 分支结构程序设计v4.4.4 循环结构程序设计v4.4.5 子程序设计v4.4.6 程序设计举例返返 回回Department of Mechanical and Electrical Engineering 4.4.1 程序设计概述程序设计概述v 1程序设计的步骤 (1)分析问题 (2)建立数学模型 (3)确定算法。 (4)绘制流程图 (5)分配内存空间 (6)编制程序与静态检查。 (7)

27、上机调试 (8)试运行和分析结果 (9)整理资料投入运行v 2返回DOS的方法 MOV AH,4CH ;功能号送AH INT 21H ;返回DOSv 3程序的基本结构 顺序结构,分支结构,循环结构 返返 回回Department of Mechanical and Electrical Engineering 4.4.2 顺序结构程序设计顺序结构程序设计v 例4-21 编写程序,计算(W-(X*Y+Z-100)/W,其中W、X、Y、Z均为16位带符号数,计算结果的商存入AX,余数存入DX。DATA SEGMENTW DW 268X DW 73Y DW 48Z DW 85DATA ENDSSTA

28、CK SEGMENT DW 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,X ;计算X*Y IMUL Y MOV CX,AX ;用CX存储结果低位MOV BX,DX ;用BX存储结果高位 MOV AX,Z ;计算X*Y+Zl CWDl ADD CX,AXl ADC BX,DXl SUB CX,100l SBB BX,0l MOV AX,Wl CWD l SUB AX,CXl SBB DX,BXl IDIV Wl MOV AH,4CHl INT

29、21Hl CODE ENDSl END STARTDepartment of Mechanical and Electrical Engineering 例题例题v例4-22 把非压缩十进制数DAT1转换为压缩十进制数。 DOSSEG MODEL SMALL STACK 64H DATA DAT1 DW 0908H ;非压缩十进制数0908H CODE BEGIN: MOV AX,DATA MOV DS,AX MOV AX,DAT1 ;AX0908H MOV CL,4 ;CL 4 SAL AH,CL ;09字节左移4位,AH=90H ROL AX,CL ;9008H字循环左移4位,AX=008

30、9H ROL AL,CL ;89字节循环左移4位,AL=98H MOV BYTE PTR DAT1,AL ;DAT198H,压缩十进制数98H MOV AH,4CH ;返回DOS INT 21H END BEGIN 返返 回回Department of Mechanical and Electrical Engineering 4.4.3 分支结构程序设计分支结构程序设计图图4-1 两路分支结构图两路分支结构图T程序段1条件F程序段2图图4-2 多路分支结构图多路分支结构图程序段1多路条件程序段2程序段nDepartment of Mechanical and Electrical Engin

31、eering 1两路分支程序设计两路分支程序设计v 例4-23 用比较指令和条件转移指令实现两路分支的程序段。 MOV AX,M ;假定M和N为有符号数 MOV BX,N CMP AX,BX ;比较 M和N的大小,影响标志位,准备条件 JG NEXT ;MN时转移,注意若M、N为无符号数时用JA指令 ;分支程序2 JMP DONE NEXT: ;分支程序1 DONE:RETDepartment of Mechanical and Electrical Engineering 例题例题v 例 4-24 已知X是单字节带符号数,请设计计算下列表达式的程序。 Y= 程序如下:DATA SEGMENT

32、 X DB ? Y DB ?DATA ENDSCODE SEGMENT ;代码段START:PROC FARASSUME CS:CODE,DS:DATA PUSH DS ;保存返回地址 MOV AX,0 X+20 (X0)|X| (X0)lPUSH AXl MOV AX,DATA ;初始化DSl MOV DS,AXl MOV AL,X ;取数Xl CMP AL,0 ;准备条件l JNS PLUS ;X0则转移l NEG AL ;X0则求补l JMP DONElPLUS: ADD AL,20 ;X0时,X+20lDONE: MOV Y,AL ;计算结果送Yl RET ;返回lSTART ENDP

33、lCODE ENDSl END START ;汇编结束Department of Mechanical and Electrical Engineering 2多路分支程序设计多路分支程序设计SUB1-LSUB1-HSUB2-LSUB2-HSUB3-LSUB3-H图图4-3 地址跳转表地址跳转表表首地址JMPSUB1JMPSUB2图图4-4 指令跳转表指令跳转表表首地址Department of Mechanical and Electrical Engineering 例题例题v 例4-25 假设某企业有10类人员,对每类人员的工资各有不同的处理方法和计算程序。对于一类人员应执行程序段CLA

34、SS1,二类人员应执行程序段CLASS2,十类人员应执行程序段CLASS10。Table Class1低位字节 Class1高位字节 Class10高位字节 Class2高位字节 Class10低位字节 Class2低位字节Table+2Table+18(a)地址跳转表)地址跳转表 CLASS10 CLASS2 CLASS1 得到相应的分支程序段 求表地址 取分类号 建立地址跳转表设置程序初始条件开始 结束(b)Department of Mechanical and Electrical Engineering 程序程序vDATA SEGMENT vTABLE DW CLASS1,CLASS

35、2,CLASS3,CLASS4,CLASS5v DW CLASS6,CLASS7,CLASS8,CLASS9,CLASS10vNUM DB ?vDATA ENDS vSTACK SEGMENT STACKv DW 100 DUP(?)vSTACK ENDSvCODE SEGMENT vMAIN PROC FARv ASSUME CS :CODE,DS:DATA,SS:STACKvSTART:PUSH DSv SUB AX,AXv PUSH AXv MOV AX,DATAlMOV DS,AXlMOV AL,NUMlMOV AH,0 lSHL AXlSUB AX,2lLEA BX,TABLElAD

36、D BX,AX lJMP BXlCLASS1:l lCLASS2:l lCLASS10:l lRETlMAIN ENDPlCODE ENDS l END START返返 回回Department of Mechanical and Electrical Engineering 4.4.4 循环结构程序设计循环结构程序设计循环体图图4-7 先判断后执行循环结构先判断后执行循环结构循环初始化NY循环控制部分循环初始化循环体N循环控制部分Y图图4-6 先执行后判断循环结构先执行后判断循环结构Department of Mechanical and Electrical Engineering 例题例

37、题v 例4-26 把从BUF单元开始的80个16位无符号数按从大到小的顺序排列。l DSEG SEGMENTl BUF DW 80 DUP(?) l DSEG ENDSl CSEG SEGMENTl ASSUME CS:CSEG,DS:DSEGl START:MOV AX,DSEGl MOV DS,AXl LEA DI,MEMl MOV BL,79l LOOP1:MOV SI,DIl MOV CL,BLlLOOP2:MOV AX,SIl ADD SI,2l CMP AX,SIl JNC NEXTl MOV DX,SIl MOV SI-2,DXl MOV SI,AXl NEXT: DEC CLl

38、 JNZ LOOP2 lDEC BL l JNZ LOOP1lMOV AH,4CHl INT 21Hl CSEG ENDSl END START返返 回回Department of Mechanical and Electrical Engineering 4.4.5 子程序设计子程序设计v 例4-27 通过寄存器传递参数,将数据块BUF1中的内容传递到数据块BUF2中DATA SEGMENT BUF1 DB 11,22,33,99 CUNT EQU $-BUF1 BUF2 DB CUNT DUP(?) DATA ENDS STACK SEGMENT TOS DW 128H DUP(?) ST

39、ACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV AX,STACKl MOV SS,AXl MOV SP,OFFSETl l LEA SI,BUF1l LEA DI,BUF2l MOV CX,CUNTl CALL SUB1l lSUB1 PROClDON: MOV AL,SIl MOV DI,ALl INC SIl INC DIl LOOP DON l RETlSUB1 ENDPl MOV AH,4CHl INT 21HlCODE ENDSl END STARTDepartment of Mechanical and Electrical Engineering 例题例题v 例4-28 当I/O状态端口0378H的Bit1(D1位)为0时,表示外设忙;为1则表示外设可以接收数据。试编程根据外设的状态将当前数据段中从BUFFER开始的连续100个字节的内容从I/O数据端口03F8输出到外设SDATA PROC FAR PUSH AX PUSH DX PUSH SI PUSH CX LEA SI,BUFFER M

温馨提示

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

评论

0/150

提交评论