汇编实验报告_第1页
汇编实验报告_第2页
汇编实验报告_第3页
汇编实验报告_第4页
汇编实验报告_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

XXXX大学实验报告课程名称汇编语言程序设计成绩实验学时评语: 指导教师: 年 月 日班 级: 学 号: 姓 名: 地 点: 时 间: 实验一 汇编语言编程实验一、实验目的(1) 掌握汇编语言的编程方法(2) 掌握DOS功能调用的使用方法(3) 掌握汇编语言程序的调试运行过程二、实验内容1.将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。2.在屏幕上显示自己的学号姓名信息。3.循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。4.实验中使用的DOS功能调用: INT 21HAH 值功 能调 用 参 数结 果1键盘输入并回显AL=输出字符2显示单个字符(带Ctrl+Break检查)DL=输出字符光标在字符后面6显示单个字符(无Ctrl+Break检查)DL=输出字符光标在字符后面8从键盘上读一个字符AL=字符的ASCII码9显示字符串DS:DX=串地址,$为结束字符光标跟在串后面4CH返回DOS系统AL=返回码例如,实现键盘输入并回显的完整代码:MOVAH01HINT21H三、实验结果1.将指定数据区的字符串数据”Let us go !”以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示:2.在屏幕上显示自己的学号姓名信息3. 循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。四、实验原理DATASEGMENTMESDBNUMBER: 03099018 ,0AH,0DH,NAME: Feng Xiaokang,0AH,0DH,$CENTDB Let us go !,$ENTEDB0AH,0DH,$INFODB Origin: ,$ASCIDB ASCII : ,$MSG1DBIf you want to quit please press.q/Q.,0AH,0DH,$MSG2DB0AH,0DH,Char: $RSDB ASCII: $SD DB DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATA;存储数据MOVDS,AXMOVDX,OFFSET MES;显示数据MOVAH,09HINT 21HMOVDX,OFFSET MSG1MOVAH,09HINT 21HMOV DX, OFFSET CENTMOV SI, DXT:MOV AL,SI CMP AL,$ JZ C1 ANDAL,0F0H;取高4位MOVCL,4SHRAL,CLCMPAL,0AH;是否是A以上的数JBAADDAL,07HA:ADDAL,30HMOVDL,AL;show character MOVAH,02HINT21H;MOV AL,DS:SIMOVAL, SIANDAL,0FH;取低4位CMPAL,0AHJBBADD AL,07HB:ADDAL,30HMOVDL,AL MOVAH,02HINT21HINC SILOOP TC1:MOV DX,OFFSET MSG2MOV AH,09HINT21HMOV AH,01h INT 21h CMP AL,q JE exit CMPAL,Q JE exit MOV SD,AL MOVDX,OFFSET RS;show messageMOVAH,09HINT 21H MOV SI,OFFSET SD MOV AL,SI ANDAL,0F0H;取高4位MOVCL,4SHRAL,CLCMPAL,0AH;是否是A以上的数JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;show character MOVAH,02HINT21HMOV AL,DS:SIANDAL,0FH;取低4位CMPAL,0AHJBC3ADD AL,07HC3:ADDAL,30HMOVDL,AL MOVAH,02HINT21HLOOP C1C:MOVDX,OFFSET MSG1MOVAH,09HINT 21HLOP:MOVAH,08H INT21H CMPAL,Q JE exit CMP AL,q JE exit JMPLOP EXIT:MOVAX,4C00H;go back to dos INT21HCODEENDSendSTART五、实验流程图六、实验总结这是我学习汇编以来,第一次用汇编写程序,费了我不只一个实验课时,纠结了不只一天。同样是助记码,真的不懂如何组织的。郁闷之下,用C写出来发泄一下,才猜想应该跟C的思考方式完全不同。后来开始研究代码,真的不愧是底层啊,详细到一个字节高低位的安排,如此地考验硬件知识。实验二 数码转换实验一、实验目的1.掌握不同进制数及编码相互转换的程序设计方法。2.掌握运算类指令编程及调试方法。3.掌握循环程序的设计方法。二、实验设备PC机一台。三、实验内容及说明1.重复从键盘输入不超过5位的十进制数,按回车键结束输入;2. 将该十进制数转换成十六进制数;结果以16进制数的形式显示在屏幕上;3. 如果输入非数字字符,则报告出错信息,重新输入;4. 直到输入“Q”或q时程序运行结束。四、实验结果1.输入33062.结果0CEA3.输入一个较大的数655374.显示456A65. 输入非法值五、实验原理图源代码:DATA SEGMENTNUMBERDBNo.: 03099018 ,0AH,0DH,NAME: Fengxiaokang,0AH,0DH,$ERRORDB 0AH,0DH,ERROR! PLEASE TRY AGAIN!,0AH,0DH,$INPDB 0AH,0DH,Please input a number,you can exit by inputing q or Q,0AH,0DH,$XP DB 0AH,0DH,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAstart:MOV AX,DATAMOVDS,AXMOV DX,OFFSET NUMBER MOV AH,09HINT 21HMOVBX,0HMOVDX,OFFSET INPMOVAH,09HINT21Hinput: MOV AH,01HINT 21HCMP AL,0DH ;数字输入完毕 JEchangeCMP AL,Q;退出JE EXITCMP AL,qJE EXITCMP AL,030h;非数字jlerrorscmpAL,039hjgerrorsSUBAL,30H;运算push AXmovAX,BXmovDX,0000AHmulDXmovBX,AXpopAXaddBL,ALCMP BX,00HJZ ZEROjmpinputerrors:MOVDX,OFFSET ERRORMOVAH,09HINT21HMOVBX,0Hjmp inputZERO: MOV CL,4 JMP LOOPSchange: CMP BX,00H JZ ERRORSMOV CL,4loops:MOV DX,BXAND DX,0F000HSHRDX,12CMPDX,0AH;是否是A以上的数JLC2ADDDX,07HC2:ADDDX,30H;show chArActer MOVAH,02HINT21HSHLBX,4LOOP loopsMOV DX,OFFSET XPMOV AH,09HINT 21HJMP INPUTEXIT:MOVAX,4C00HINT21HCODEENDSENDSTART原理十进制数可以表示为:Dn*10n+Dn-1*10n-1+D0*100=S Di*10i其中Di代表十进制数1、2、3、9、0。上式可以转换为:S Di*10i=(Dn*10n+Dn-1)*10+ Dn-2)*10+ D1)*10+ D0由上式可归纳出十进制数转换为二进制数的方法:从二进制数的最高位Dn开始做乘10加次位的操作。依此类推,则可求出二进制数结果。数码转换对应关系十六进制BCD码二进制机器码ASCII码七段码共阳共阴00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA10141H08H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H七、实验总结(体会)当汇编与算法结合在一起的时候,意味着难度又上升了一个层次。这是一个常见的进制转换程序,除了要处理数制问题,题目中不超过5位的要求也要注意,因为会存在溢出问题。三、源代码:MY_STACKSEGMENTPARA STACK DB100 DUP(?)MY_STACKENDSMY_DATA SEGMENTPARA DATAIO_9054base_address DB 4 DUP(0);PCI卡9054芯片I/O基地址暂存空间IO_base_address DB 4 DUP(0);PCI卡I/O基地址暂存空间pcicardnotfindDB 0DH,0AH,pci card not find or address/interrupt error !,0DH,0AH,$GOODDB 0DH,0AH,The Program is Executing !,0DH,0AH,$ P8254_T0 DW0000H P8254_T1 DW0001HP8254_T2 DW0002HP8254_MODE DW0003H P8255_A DW0020H P8255_B DW0021HP8255_C DW0022HP8255_MODE DW0023HMY_DATA ENDsMY_CODE SEGMENT PARA CODEMY_PROCPROCFARASSUME CS:MY_CODE,DS:MY_DATA,SS:MY_STACKMAIN:.386;386模式编译MOVAX,MY_DATAMOVDS,AXMOVES,AXMOVAX,MY_STACKMOVSS,AXCALLFINDPCI;自动查找PCI卡资源及IO口基址MOVCX,word ptr IO_base_address;MOVCX,0E800H;直接加入(E800:本机PCI卡IO口基址) ADDP8254_T0,CX;PCI卡IO基址+偏移 ADDP8254_T1,CX ADDP8254_T2,CX ADDP8254_MODE,CX ADDP8255_A,CX;PCI卡IO基址+偏移 ADDP8255_B,CX ADDP8255_C,CX ADDP8255_MODE,CX MOVDX,P8254_MODE;写入方式控制字MOVAL,37H;计数器0,先读写低位,后读写高位,OUTDX,AL;方式3,BCD码计数MOV AH, 4CHINT 21HA1:MOVDX,P8254_T0MOVAL,32H;初值低8位OUTDX,ALMOVAL,00H;初值高8位OUTDX,ALMY_PROCENDp;*;/*按任意键退出*/;*;*;/* 找卡子程序 */;*;FUNCTION CODEIO_port_addreEQU 0CF8H;32位配置地址端口IO_port_dataEQU0CFCH;32位配置数据端口IO_PLX_IDEQU200810B5H;PCI卡设备及厂商IDBADR0=10H;基地址寄存器0BADR1=14H;基地址寄存器1BADR2=18H;基地址寄存器2BADR3=1CH;基地址寄存器3FINDPCI PROCNEAR;查找PCI卡资源并显示PUSHADPUSHFDMOVEBX,080000000HFINDPCI_next:ADDEBX,100HCMP EBX,081000000HJNZ findpci_continueMOV DX,offset pcicardnotfind;显示未找到PCI卡提示信息MOV AH,09HINT 21HMOV AH,4CHINT 21H;退出findpci_continue:MOV DX,IO_port_addreMOV EAX,EBXOUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口CMP EAX,IO_PLX_IDJNZ findpci_next;检查是否发现PCI卡MOV DX,IO_port_addreMOV EAX,EBX ADD EAX,BADR1OUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口MOV dword ptr IO_9054base_address,EAXAND EAX,1JZ findPCI_next;检查是否为i/o基址信息 MOV EAX,dword ptr IO_9054base_addressAND EAX,0fffffffeh MOV dword ptr IO_9054base_address,EAX;去除i/o指示位并保存MOV DX,IO_port_addreMOV EAX,EBXADD EAX,BADR2OUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口MOV dword ptr IO_base_address,EAXAND EAX,1JZ findPCI_next;检查是否为i/o基址信息MOV EAX,dword ptr IO_base_addressAND EAX,0fffffffehMOV dword ptr IO_base_address,EAX;去除i/o指示位并保存MOV DX,offset good;显示开始执行程序信息MOV AH,09HINT 21HPOPfdPOPadRETfindPCIENDPMY_CODE ENDSEND MAIN实验四 可编程并行接口8255实验一、实验内容(1) 流水灯实验:利用8255的A口、B口循环点亮发光二极管。二、实验说明1.8255A的内部结构1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。2.8255A的工作方式方式0基本输入输出方式;方式1选通输入输出方式;方式2双向选通输入输出方式。图6-3-1 8255方式1的状态字 图6-3-2 8255 方式2的状态字图6-3-1 8255方式1的状态字 图6-3-2 8255 方式2的状态字3.8255A的状态字4.8255A的控制字表6-3-3 8255A方式控制字1D6D5D4D3D2D1D0特征位A组方式00=方式0 01=方式11X=方式2A口0=输出1=输入C口高4位0=输出1=输入B组方式0=方式01=方式1B口0=输出1=输入C口低4位0=输出1=输入表6-3-4 按位置位/复位控制字0D6D5D4D3D2D1D0特征位不用位选择000=C口0位111=C口7位0=复位1=置位三、实验原理图图6-3-5 可编程并行接口8255电路四、实验步骤1、流水灯实验(1) 实验连线 该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。 该模块的数据(AD0AD7)、地址线(A0A7)分别连到ISA总线接口模块的数据(LD0LD7)、地址线(LA0LA7)。 8255模块选通线CE连到ISA总线接口模块的0000H。 8255的PA0PA7连到发光二极管的L0L7;8255的PB0PB7连到发光二极管的L8L15。(2) 运行程序,观察发光二极管。图6-3-6 流水灯实验实验四 可编程定时器/计数器8254实验一实验目的1.掌握8254定时/计数器的编程方法。2.学习8254的几种工作方式。3.了解计数器的硬件连接及时序关系。二实验内容1.将32Hz的晶振频率作为8254 的时钟输入,利用定时器 8254 产生 1Hz 的方波,用发光二极管显示输出结果(发光二极管闪烁)。三、实验原理1.8254工作原理8254是一种可编程的定时器/计数器芯片,它具有3个独立的16位计数器通道,每个计数器都可以按照二进制或二-十进制计数,每个计数器都有6种工作方式,计数频率可高达24MHz,芯片所有的输入输出都与TTL兼容。计数器都有6种工作方式:方式0计数过程结束时中断;方式1可编程的单拍脉冲;方式2频率发生器;方式3方波发生器;方式4软件触发;方式5硬件触发。6种工作方式主要有5点不同:一是启动计数器的触发方式和时刻不同;二是计数过程中门控信号GATE对计数操作的影响不同;三是OUT输出的波形不同;四是在计数过程中重新写入计数初值对计数过程的影响不同;五是计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程的不同。8254管脚图:图3-3-1 可编程定时器/计数器8254管脚图2.8254工作方式和编程根据片选信号CS及地址线A1、A0,8254具有四个端口地址。当A1A0=00时,选中的为0通道计数器;A1A0=01时,选中的为1通道计数器;A1A0为10时,选中的为2通道计数器;A1A0=11时,选中控制字寄存器。8253通道及操作地址分配如下表所示:CSRDWRA1A0操作00100读计数器000101读计数器100110读计数器200111无操作(禁止读)01000计数常数写入计数器001001计数常数写入计数器101010计数常数写入计数器201011写入方式控制字1XXXX禁止(三态)011XX不操作通过对控制字符寄存器写入控制字可设定8254的某一个通道的六种工作方式,其格式如下:D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCDSC1、SC0用来选择计数器通道:SC1SC0选择通道00选中0通道计数器01选中1通道计数器10选中2通道计数器11非法RL1、RL0用来选择读计数值及向计数器送入数据的方式:RL1RL0读/输入选择00计数器锁存01只读/输入低字节10只读/输入高字节11先读/输入低字节,后读/输入高字节M2、M1、M0用来选择工作方式:M2M1M0工作方式000方式0001方式1X10方式2X11方式3100方式4101方式5BCD用来选择二进制计数及十进制计数。当此位为0时,为16位二进制计数器;当此位为1时,为4位二-十进制计数器。方式0为计数结束申请中断的方式。当方式控制字写入后,输出为低电平。在写入计数值后,计数器开始计数。计数器减到0后,输出变为高电平,此高电平信号一直维持到写入新的控制字,或写入新的计数值为止。此时可利用计数到0时,输出由低电平变为高电平的信号申请中断。如果在计数过程中写入新的计数值,则在写入第一个字节时中止计数,写入第二个字节时启动新的计数。方式1为单脉冲发生方式。输出的负脉冲宽度由计数值决定。在设定工作方式和写入计数值之后,输出为高电平。门控信号的上升沿使输出变为低电平,并开始计数。当计数结束时,输出为高电平,当门控信号为高电平时,计数器从最初计数值启动。由于计数器写入控制字后输出为高电平,当写入计数值后才开始并输出脉冲,因此也可通过写入计数值来实现软件同步。方式3为方波发生方式。类似于方式2,当计数值为偶数时,前N/2为高电平,后N/2为低电平。当计数值为奇数时,则(N+1)/2为高电平,(N-1)/2为低电平。方式4为软件触发脉冲方式。在写入控制字后,输出为高电平,写入计数值后开始计数。计数结束产生一个负脉冲,宽度为一个时钟周期。计数期间若写入新的计数值,不影响当前周期,但影响下一个计数周期。在计数期间如门控信号变为低电平,计数停止。方式5为硬件触发选通方式。写入控制字和计数值后,输出保持高电平,在门控信号的上升沿开始计数,计数结束产生一个时钟周期的负脉冲。在计数过程中可重新启动,在门控信号的上升沿重新计数。38254编程方法对8254的编程分两部分:(1) 向控制字寄存器写入方式控制字。(2) 向规定的通道写入计数值。在写入计数值时,应向设定的通道写入。而且必须按控制字所规定的一个或两个字节的计数长度写入。由于在8254内部每个计数器均有自己的方式控制字寄存器,因此在写入控制字及计数值时不一定按0通道、1通道、2通道的次序,而可按编程时的方便来决定。在将8254作为计数器时,可以在计数过程中将计数值读出来。读数时可按控制字规定的方式向该通道/读出一个字节或两个字节的计数值。为保证读数的正确性,可通过门控信号使其停止计数,或控制外部脉冲源禁止输入。控制的另一个办法是向控制字寄存器写入一锁存计数值的命令,使当前的计数值锁存下来。然后用读通计数值的方法将其读出。锁存计数操作的格式如下:SC1SC000xxxxSC1、SC0用来指定被锁存的计数器,分别为00、01、10。四、源代码MY_STACKSEGMENTPARA STACK DB100 DUP(?)MY_STACKENDSMY_DATA SEGMENTPARA DATAIO_9054base_address DB 4 DUP(0);PCI卡9054芯片I/O基地址暂存空间IO_base_address DB 4 DUP(0);PCI卡I/O基地址暂存空间pcicardnotfindDB 0DH,0AH,pci card not find or address/interrupt error !,0DH,0AH,$GOODDB 0DH,0AH,The Program is Executing !,0DH,0AH,$ P8254_T0 DW0000H P8254_T1 DW0001HP8254_T2 DW0002HP8254_MODE DW0003H P8255_A DW0020H P8255_B DW0021HP8255_C DW0022HP8255_MODE DW0023HMY_DATA ENDsMY_CODE SEGMENT PARA CODEMY_PROCPROCFARASSUME CS:MY_CODE,DS:MY_DATA,SS:MY_STACKMAIN:.386;386模式编译MOVAX,MY_DATAMOVDS,AXMOVES,AXMOVAX,MY_STACKMOVSS,AXCALLFINDPCI;自动查找PCI卡资源及IO口基址MOVCX,word ptr IO_base_address;MOVCX,0E800H;直接加入(E800:本机PCI卡IO口基址) ADDP8254_T0,CX;PCI卡IO基址+偏移 ADDP8254_T1,CX ADDP8254_T2,CX ADDP8254_MODE,CX ADDP8255_A,CX;PCI卡IO基址+偏移 ADDP8255_B,CX ADDP8255_C,CX ADDP8255_MODE,CX MOVDX,P8254_MODE;写入方式控制字MOVAL,37H;计数器0,先读写低位,后读写高位,OUTDX,AL;方式3,BCD码计数MOV AH, 4CHINT 21H A1:MOVDX,P8254_T0MOVAL,32H;初值低8位OUTDX,ALMOVAL,00H;初值高8位OUTDX,ALMY_PROCENDp;*;/*按任意键退出*/;*; ;*;/* 找卡子程序 */;*;FUNCTION CODEIO_port_addreEQU 0CF8H;32位配置地址端口IO_port_dataEQU0CFCH;32位配置数据端口IO_PLX_IDEQU200810B5H;PCI卡设备及厂商IDBADR0=10H;基地址寄存器0BADR1=14H;基地址寄存器1BADR2=18H;基地址寄存器2BADR3=1CH;基地址寄存器3FINDPCI PROCNEAR;查找PCI卡资源并显示PUSHADPUSHFDMOVEBX,080000000HFINDPCI_next:ADDEBX,100HCMP EBX,081000000HJNZ findpci_continueMOV DX,offset pcicardnotfind;显示未找到PCI卡提示信息MOV AH,09HINT 21HMOV AH,4CHINT 21H;退出findpci_continue:MOV DX,IO_port_addreMOV EAX,EBXOUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口CMP EAX,IO_PLX_IDJNZ findpci_next;检查是否发现PCI卡MOV DX,IO_port_addreMOV EAX,EBX ADD EAX,BADR1OUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口MOV dword ptr IO_9054base_address,EAXAND EAX,1JZ findPCI_next;检查是否为i/o基址信息 MOV EAX,dword ptr IO_9054base_addressAND EAX,0fffffffeh MOV dword ptr IO_9054base_address,EAX;去除i/o指示位并保存MOV DX,IO_port_addreMOV EAX,EBXADD EAX,BADR2OUT DX,EAX;写地址口MOV DX,IO_port_dataIN EAX,DX;读数据口MOV dword ptr IO_base_address,EAXAND EAX,1JZ findPCI_next;检查是否为i/o基址信息MOV EAX,dword ptr IO_base_addressAND EAX,0fffffffehMOV dword ptr IO_base_address,EAX;去除i/o指示位并保存MOV DX,offset good;显示开始执行程序信息MOV AH,09HINT 21HPOPfdPOPadRETfindPCIENDPMY_CODE ENDSEND MAIN五、实验步骤(1) 按照实验内容设计实验连线图,正确连接线路。(2) 编写实验程序,调试运行程序。(3) 观察发光二极管闪烁情况,修改程序使8254输出不同频率的方波信号。实验五 键盘显示实验一实验目的1.熟悉并掌握系统中扩展键盘显示接口的方法。2.掌握键盘显示的工作原理和编程的方法。二实验内容1.由键盘输入相应的数据在LED显示。在初始状态,没键按下时,最高位闪烁显示P,按一个键在LED上显示该键值(4个数码管同

温馨提示

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

评论

0/150

提交评论