版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1KMU FWJ1 1/60/60 算术运算程序设计算术运算程序设计汇编语言程序的结构汇编语言程序的结构 汇编语言概述汇编语言概述 非数值操作程序设计非数值操作程序设计2KMU FWJ2 2/60/604.1 汇编语言概述一、汇编语言与汇编的概念 机器语言:机器语言:用指令的二进制码编写的程序用指令的二进制码编写的程序 CPUCPU能识别,执行速度快能识别,执行速度快 难记、难读、难写、难查难记、难读、难写、难查 汇编语言:汇编语言:用指令助记符编写的程序用指令助记符编写的程序机器语言机器语言汇编语言汇编语言翻译(汇编)翻译(汇编)源程序源程序目标程序目标程序3KMU FWJ3 3/60/60
2、 汇编语言特点汇编语言特点 程序精练,执行速度快,适合于实时控制程序精练,执行速度快,适合于实时控制 处理接口技术、中断技术很方便处理接口技术、中断技术很方便 需要熟悉硬件,编程有一定难度需要熟悉硬件,编程有一定难度 高级语言高级语言 面向对象和问题,接近自然语言,易学易用面向对象和问题,接近自然语言,易学易用 独立于机器独立于机器 一条语句可对应一段汇编语言程序一条语句可对应一段汇编语言程序既然有了高级语言,为什么还要学习汇编语言?4KMU FWJ4 4/60/60二、汇编语言源程序的格式MCS-51MCS-51的汇编语句采用典型的四分段格式:的汇编语句采用典型的四分段格式:标号段标号段 操
3、作码段操作码段 操作数段操作数段 注释段注释段标号的构成原则是什么?注释段起什么作用? ORG 0030HMAIN: MOV A, #00H; A 0 MOV R2 #0AH; R2 10 MOV R1, #03H; R1 3LOOP: ADD A, R1; A A+R1 DJNZ R2, LOOP ;未完未完, 转转LOOP NOP SJMP $ END5KMU FWJ5 5/60/60标号构成:大写字母开头后跟字母或数字,最多8个字符。限制条件:禁止用保留字做标号,如MOV、ADD、END等。 禁止用寄存器号,如ACC、DPTR等。标号作用:用做符号地址。操作数的表示形式6KMU FWJ6
4、 6/60/60三、伪指令 起始指令:起始指令:ORG 汇编结束:汇编结束:END 指导汇编过程的命令ORG 1000HMOV R0, #50H ; R0 50HMOV R0, 30H ; 50H (30H)SJMP $END7KMU FWJ7 7/60/60定义字节:定义字节:DB 定义若干个定义若干个8位数据位数据例:例: ORG 3000HTABL:DB 30H,31H,2,A汇编后:汇编后:TABL=3000H(3000H)= 30H, (3001H)= 31H,(3002H)= 32H,(3003H)= 41H,8KMU FWJ8 8/60/60定义字:定义字:DW 定义若干个定义若
5、干个16位数据位数据汇编后:汇编后:TAB = 3010H(3010H)= 12H (3011H)= 34H (3012H)= 00H (3013H)= 56H 例:例: ORG 3010HTAB:DW 1234H,56H9KMU FWJ9 9/60/60赋值:赋值:EQU 将一个数或符号赋给变量将一个数或符号赋给变量ORG 1000H AA EQU R1 A10 EQU10H DEL EQU07E6HMOV R0,A10 ; R0 (10H)MOV A, AA ; A R1LCALL DEL ;调用子程序调用子程序END10KMU FWJ1010/60/60位地址赋值:位地址赋值:BIT 将
6、位地址赋给字符将位地址赋给字符ORG 0500H A1BIT 00HSETB C ;CY 1MOV A1, C ;(20H)0 1END11KMU FWJ1111/60/60四、源程序的汇编 第一次汇编:查出机器第一次汇编:查出机器码,并对应地址列表码,并对应地址列表 第二次汇编:计算偏移第二次汇编:计算偏移量量什么叫汇编?有几种汇编的方法?1. 手工汇编手工汇编12KMU FWJ1212/60/60查书后附录,找出每条指令的机器吗,遇到标号或地址查书后附录,找出每条指令的机器吗,遇到标号或地址偏移量就先原样照写,按下表所示,对照地址列出来偏移量就先原样照写,按下表所示,对照地址列出来第一次汇
7、编13KMU FWJ1313/60/60Rel = 目标地址源地址3(对3字节指令)第二次汇编 计算偏移量LOOP = 1008H1003H 3 = 02HNEXT = 1009H 100BH3 = 5, 补码为补码为FBH同理可得:同理可得:$ = FEH, HERE = 12, 补码为补码为F4H14KMU FWJ1414/60/602. 机器汇编机器汇编利用专用软件(称为汇编程序),由计算机完成汇利用专用软件(称为汇编程序),由计算机完成汇编工作。经过两次扫描过程:编工作。经过两次扫描过程:第一次扫描:第一次扫描: 检查语法错误,确定符号名字;建立使用的全检查语法错误,确定符号名字;建立
8、使用的全部符号名字表;每一符号名字后跟一对应值(地址部符号名字表;每一符号名字后跟一对应值(地址或数)。或数)。第二次扫描:第二次扫描: 是在第一次扫描基础上,将符号地址转换成地是在第一次扫描基础上,将符号地址转换成地址(代真);利用操作码表将助记符转换成相应的址(代真);利用操作码表将助记符转换成相应的目标码。目标码。 15KMU FWJ1515/60/604.2 汇编语言程序的结构一、汇编语言程序设计步骤1. 分析题意,明确要求分析题意,明确要求2. 建立数学模型并确定算法建立数学模型并确定算法将控制对象的物理过程归纳为数学模型将控制对象的物理过程归纳为数学模型常见数学模型有:常见数学模型
9、有: 数学表达式数学表达式 数学的推理和判断数学的推理和判断 运行状态的模拟运行状态的模拟例如:例如:测量距离的数学表达式测量距离的数学表达式 工件表面形状的数学表达式工件表面形状的数学表达式16KMU FWJ1616/60/603. 画程序流程图画程序流程图 程序流程图是解题步骤及算法的具体化程序流程图是解题步骤及算法的具体化 直观清晰地体现了程序的设计思路直观清晰地体现了程序的设计思路4. 分配内存单元分配内存单元 确定程序与数据区的存放地址确定程序与数据区的存放地址 熟悉所用单片机指令系统熟悉所用单片机指令系统 所编程序要正确并具有可读性所编程序要正确并具有可读性5. 编写程序编写程序1
10、7KMU FWJ1717/60/606. 程序优化程序优化 缩短程序长度缩短程序长度 加快运行速度加快运行速度 节省存储单元节省存储单元7. 上机调试上机调试 检验源程序的正确性检验源程序的正确性 使用开发系统使用开发系统 利用仿真软件利用仿真软件18KMU FWJ1818/60/60二、顺序程序结构 根据根据ASCII码表,十进制数码表,十进制数09的的ASCII码和码和它的它的BCD码之间仅相差码之间仅相差30H,本题需要把一个字节,本题需要把一个字节的两位的两位BCD数进行拆分,然后分别和数进行拆分,然后分别和30H拼接,即拼接,即得到相应的得到相应的ASCII码。码。 程序按顺序执行,
11、无分支,无转移程序按顺序执行,无分支,无转移例例1: 将压将压缩缩BCD码转码转换成换成ASCII码码19KMU FWJ1919/60/60源 程 序XCHD是什么指令?SWAP是什么指令?ORG 0030HMOV R0, #22HMOV R0 #00HMOV A, 20HXCHD A, R0ORL 22H, #30HSWAP AORL A, #30HDEC R0MOV R0, ASJMP $END20KMU FWJ2020/60/60三、分支程序结构 具有判断和转移功能的程序具有判断和转移功能的程序【例【例4-4】求符号函数】求符号函数Y的值的值 已知在已知在VARVAR单元内有一变量单元内
12、有一变量X X,要求按如下,要求按如下函数关系求函数关系求Y Y值,并将结果送到值,并将结果送到FUNCFUNC单元单元21KMU FWJ2121/60/60源 程 序 JNB ACC.7, POSI 是什么指令? ORG 0030HVAREQU 30HFUNC EQU31H MOV A, VAR ;A XJZ DONE ;若若X=0,则,则DONE JNB ACC.7, POSI ;若若X0,则,则POSI MOV A, #0FFH ;若若X0, A 1 SJMP DONE ;转转DONEPOSI:MOVA, #01H ;A 1DONE: MOVFUNC, A ;存结果存结果SJMP$ EN
13、D22KMU FWJ2222/60/60四、循环程序结构2. 先判断后处理1. 先处理后判断23KMU FWJ2323/60/60例1:已知数块长度L,求累加和已知内部已知内部RAM的的BLOCK单元开始有一无符单元开始有一无符号数据块,块长在号数据块,块长在LEN单元。请编出求数据单元。请编出求数据块中各数累加和、并存入块中各数累加和、并存入SUM单元的程序单元的程序24KMU FWJ2424/60/60解法一:解法一:先处理后判断先处理后判断 ORG 0030HLENEQU 20HSUM EQU21HBLOCK EQU22H CLR A ; A 0MOV R2, LEN ; R2 L MO
14、V R1, #BLOCK ; R1 BLOCKNEXT: ADD A, R1 ; A A+(R1) INC R1 ; R1 R1+1DJNZR2, NEXT ;R2-10转转NEXTMOVSUM, A ;存结果存结果SJMP$ END25KMU FWJ2525/60/60解法二:解法二:先判断后处理先判断后处理程序中INC R2指令有什么用途? ORG 0030HLENEQU 20HSUM EQU21HBLOCK EQU22H CLR A ; A 0MOV R2, LEN ; R2 L MOV R1, #BLOCK ; R1 BLOCKINCR2SJMPCHEKNEXT: ADD A, R1
15、; A A+(R1) INC R1 ; R1 R1+1CHEK: DJNZR2, NEXT ;R2-10转转NEXTMOVSUM, A ;存结果存结果SJMP$ END26KMU FWJ2626/60/60例2:查找最大值算法:算法:逐个比较,大数送指定单元逐个比较,大数送指定单元27KMU FWJ2727/60/60查找最大值源程序JC NEXT是什么指令?1 ORG 0030HLENEQU 20HMAX EQU21HBLOCK EQU22H MOV MAX, #00H ; A 0MOV R0, #BLOCK ; R2 LLOOP: MOV A, R0 ; A 数据数据CJNEA, MAX,
16、 NEXT1NEXT1:JC NEXT ; A (MAX)则转则转 MOV MAX, A ; MAX 大数大数NEXT: INCR0 ;R2-10转转NEXTDJNZLEN, LOOP ;存结果存结果SJMP$ END28KMU FWJ2828/60/60五、主程序调用子程序结构绝对调用:绝对调用:ACALL addr11长调用:长调用: LCALL addr16子程序返回:子程序返回:RET29KMU FWJ2929/60/60例:将一批压缩BCD码转换成ASCII码 编写程序,把以编写程序,把以R0为为首地址的压缩首地址的压缩BCD码码转换为转换为ASCII码,存码,存于以于以R1为首地址
17、的片为首地址的片内内RAM中,已知中,已知BCD数的数的字节数在字节数在R2中中 片内RAM31HR0123R132H33HBCD码与ASCII码之间是什么关系呢? 30KMU FWJ3030/60/60 BCD码码 ASCII码码030H131H232H333H434H535H636H737H838H939H(A)+30H ASCII 将其编成子程将其编成子程序,如下所示序,如下所示 31KMU FWJ3131/60/60ORG 0000H START: MOV A,R0ACALL GT;调用转换子程序;调用转换子程序MOV R1, A;存转换结果;存转换结果INC R1MOV A,R0 ;
18、再取原;再取原BCD码字节码字节SWAP A;高;高4位交换到低位交换到低4位位ACALL GT;调用转换子程序;调用转换子程序MOV R1, AINC R0INC R1DJNZ R2, START;未完继续;未完继续 HRER: SJMP HERE GT: ANL A,#0FH ;屏蔽高;屏蔽高4位位ADD A,#30H ;求相应的;求相应的ASCII码码RETEND 然后再编写主程序,调用下然后再编写主程序,调用下面子程序实现本题要求面子程序实现本题要求 本例的参数传递方式为传递数据 32KMU FWJ3232/60/60下次课前请预习下次课前请预习4.3-4.4节,并思考下列问题节,并思
19、考下列问题 欲将外部欲将外部RAM起始地址为起始地址为DATA的数据块的数据块(设数据块长度为(设数据块长度为20)传送到内部)传送到内部RAM起起始地址为始地址为30H的存储区,应如何编程?的存储区,应如何编程? 已知以外部已知以外部RAM2000H为起始地址的存储为起始地址的存储区有区有20个有符号数,要求把正数和正零取个有符号数,要求把正数和正零取出来存放到内部出来存放到内部RAM以以20H为起始地址的为起始地址的存储区(负数和负零不作处理)存储区(负数和负零不作处理) ,如何编,如何编程?程?33KMU FWJ3333/60/60练 习 题 一 已知被除数和除数都是已知被除数和除数都是
20、8位无符号数,欲将位无符号数,欲将这两数相除,并把商和余数放到指定单元,这两数相除,并把商和余数放到指定单元,试说明编程思路试说明编程思路 已知已知X和和Y都是都是8位无符号数,要完成如下计位无符号数,要完成如下计算算 Z=3X+2Y,并将结果并将结果Z(设设Z255)送到送到指定单元,试说明编程思路指定单元,试说明编程思路34KMU FWJ3434/60/604.3 算术运算程序设计运算程序加法程序加法程序减法程序减法程序乘法程序乘法程序除法程序除法程序35KMU FWJ3535/60/60一、加法程序例1:3字节加法程序 被加数加数和36KMU FWJ3636/60/60多字节无符号数相加
21、的算法间接寻址,循环相加 R0被加数(和)RAMR1加数37KMU FWJ3737/60/603字节加法源程序程序中为什么要用CLR C这条指令? ORG1000HMOVR0, #BLOCK1 ;R0 BLOCK1MOVR1, #BLOCK2 ;R1 BLOCK2MOVR3, #03H;字节数送;字节数送R3CLRC;清进位;清进位LOOP: MOVA,R0;取被加数;取被加数ADDC A,R1;加上加数;加上加数MOVR0,A;存和;存和INCR0;修改修改被加数被加数指针指针INCR1;修改修改加数加数指针指针DJNZR3,LOOP ;R310转转LOOPSJMP$END38KMU FWJ
22、3838/60/60例2:8位有符号数加法运算例:设在例:设在BLOCKBLOCK和和BLOCK+1BLOCK+1单元中有两个补码形单元中有两个补码形式的有符号数。请编出求两数之和,并把它放式的有符号数。请编出求两数之和,并把它放在在SUMSUM和和SUM+1SUM+1单元(低单元(低8 8位在位在SUMSUM单元)的程序单元)的程序 算法:两个算法:两个8位二进制有符号数相加,位二进制有符号数相加,其和可能会超过其和可能会超过8位数,故需要用位数,故需要用16位位表示,因此要先将这两个加数扩展成表示,因此要先将这两个加数扩展成16位二进制补码,然后再相加位二进制补码,然后再相加39KMU F
23、WJ3939/60/60将8位二进制有符号数扩展成16位的方法 对正数,高对正数,高8位补位补0 对负数,高对负数,高8位补位补1 被加数加数BLOCKR2BLOCK+1R3SUMSUM+1和40KMU FWJ4040/60/608位有符号数加法运算源程序被加数加数BLOCKR2BLOCK+1R3SUMSUM+1和 ORG1000HMOV R0,#BLOCK ;R0 BLOCK1 MOV R1,#SUM ;R1指向和单元指向和单元 MOV R2,#00H ;高位先令其为零;高位先令其为零 MOV R3,#00H MOV A,R0 ;取一个加数;取一个加数 JNB ACC.7,POS1 ;若为正
24、数,则转;若为正数,则转POS1 MOV R2,#0FFH ;若为负,;若为负,R2 全全“1”41KMU FWJ4141/60/60POS1: INC R0 ;R0指向下一个加数指向下一个加数 MOV B,R0 ;取第二加数到;取第二加数到B JNB B.7,POS2 ;若;若为为正数,则转正数,则转POS2 MOV R3,#0FFH ;若;若为为负,负,R3 全全“1”POS2: ADD A,B ;低;低8位相加位相加 MOV R1, A ;存低;存低8位和位和 INC R1 ;指向;指向SUM+1 MOV A,R2 ADDC A,R3 ;完成高;完成高8位求和位求和 MOV R1, A
25、;存高;存高8位和位和RETEND42KMU FWJ4242/60/60二、减法程序在在BLOCK1和和BLOCK2为起始地址的片内为起始地址的片内RAM中分别中分别有有5字节无符号被减数和减数。要求将它们相减,并把字节无符号被减数和减数。要求将它们相减,并把差值放入差值放入BLOCK1为起始地址的片内为起始地址的片内RAM中中多字节无符号数减法多字节无符号数减法程序的算法:程序的算法:间接寻址,循环相减间接寻址,循环相减43KMU FWJ4343/60/605字节无符号数减法子程序 ORG 1000H MOV R0,#BLOCK1 ;被减数始址送;被减数始址送R0 MOV R1,#BLOCK
26、2 ;减数始址送;减数始址送R1 MOV R2,#05H ;字长送;字长送R2 CLR C ;Cy清零清零LOOP:MOV A,R0 ;被减数送;被减数送A SUBB A,R1 ;相减;相减 MOV R0,A ;存差;存差 INC R0 ;修改被减数指针;修改被减数指针 INC R1 ;修改减数地址指针;修改减数地址指针 DJNZ R2,LOOP ;若未完,则;若未完,则LOOP RET END44KMU FWJ4444/60/60三、乘除法程序例:设例:设R0R0和和R1R1中有两个补码形式的有符号数,中有两个补码形式的有符号数,要求编写求两数之积并把积送入要求编写求两数之积并把积送入R3R
27、2R3R2的程序的程序 MCS-51乘法指令是对两个无符号数求积的。乘法指令是对两个无符号数求积的。若要对两个有符号数求积,可采用对符号位单若要对两个有符号数求积,可采用对符号位单独处理的办法,步骤如下:独处理的办法,步骤如下: (1) 单独处理积的符号位单独处理积的符号位 (2) 将被乘数和乘数的绝对值相乘得积的绝对值将被乘数和乘数的绝对值相乘得积的绝对值 (3) 求乘积的补码:求乘积的补码: 若积为正,则补码就是原码;若积为正,则补码就是原码; 若积为负,则对乘积的绝对值求补若积为负,则对乘积的绝对值求补 45KMU FWJ4545/60/608位有符号数乘法程序框图46KMU FWJ46
28、46/60/608位有符号数乘法源程序 SBIT BIT 20H.0 SBIT1 BIT 20H.1 SBIT2 BIT 20H.2 MOV A,R0 ;被乘数送;被乘数送A RLC A ;被乘数符号送;被乘数符号送Cy MOV SBIT1,C ;送入;送入SBIT1 MOV A,R1 ;乘数送;乘数送A RLC A ;乘数符号送;乘数符号送Cy MOV SBIT2,C ;送入;送入SBIT2 ANL C,/SBIT1 ;SBIT2 /SBIT1送送Cy MOV SBIT,C ;送入;送入SBIT MOV C,SBIT1 ;SBIT1送送Cy ANL C,/SBIT2 ;SBIT1 /SBIT
29、2送送Cy ORL C,SBIT ;积的符号位送;积的符号位送Cy MOV SBIT,C ;送入;送入SBIT MOV A,R0 ;处理被乘数;处理被乘数 JNB SBIT1,NCH1 ;若它为正,则转;若它为正,则转NCH1 CPL A ;若它为负,则求补得绝对值;若它为负,则求补得绝对值 INC A47KMU FWJ4747/60/608位有符号数乘法源程序(续)NCH1:MOV B,A ;被乘数绝对值送;被乘数绝对值送B MOV A,R1 ;处理乘数;处理乘数 JNB SBIT2,NCH2 ;若它为正,则转;若它为正,则转NCH2 CPL A ;若它为负,则求补得绝对值;若它为负,则求补
30、得绝对值 ADD A,#01HNCH2:MUL AB ;求积的绝对值;求积的绝对值 JNB SBIT,NCH3 ;若它为正,则转;若它为正,则转NCH3 CPL A ;若它为负,则低字节求补;若它为负,则低字节求补 ADD A,#01HNCH3:MOV R2,A ;积的低字节存入;积的低字节存入R2 MOV A,B ;积的高字节送;积的高字节送A JNB SBIT,NCH4 ;若它为正,则转;若它为正,则转NCH4 CPL A ;若它为负,则高字节求补;若它为负,则高字节求补 ADDC A,#00HNCH4:MOV R3,A ;积的高字节存入;积的高字节存入R3 SJMP $ END跟00H相
31、加有什么意义?48KMU FWJ4848/60/604.4 非数值操作程序设计非数值操作程序码制转换程序码制转换程序查表程序查表程序检索程序检索程序49KMU FWJ4949/60/60一、码制转换程序例:单字节二进制数 BCD码50KMU FWJ5050/60/60单字节二进制数 BCD码算法 单字节无符号数最大可能是单字节无符号数最大可能是255,其中所包含的,其中所包含的100(64H)的个数即为的个数即为BCD码的百位数;扣去百码的百位数;扣去百位数后的余数中所包含的位数后的余数中所包含的10(0AH)的个数即为的个数即为BCD码的十位数;扣去十位数后的余数即为码的十位数;扣去十位数后
32、的余数即为BCD码的个位数码的个位数 转换后的结果放在(转换后的结果放在(30H)()(31H)中,如下)中,如下所示:所示: 百百30H个个31H十十51KMU FWJ5151/60/60单字节二进制数 BCD码源程序 ORG 1000H FIRST EQU 30HSECOND EQU 31H MOVA, 20H; A 被除数被除数MOVB, #64H; B 100DIVAB; A/B=ABMOVFIRST, A;FIRST 百位百位MOVA,B; A 余数余数MOVB, #0AH; B 10DIVAB; A/B=ABSWAP AORLA, BMOVSECOND, ASJMP$END52KM
33、U FWJ5252/60/60二、查表程序设计 用用DPTR作基址作基址 MOVC A, A+DPTR 用用PC作基址作基址 MOVC A, A+PC例:例: 用查表法编用查表法编程将十六进制数程将十六进制数转换成转换成ASCII码码53KMU FWJ5353/60/60 ORG 0000H MOV A,R0 ;读数据;读数据 ANL A,#0FH;屏蔽高;屏蔽高4位位 MOV DPTR,#TAB;置表格首地址;置表格首地址 MOVC A,A+DPTR;查表;查表 MOV R0,A ;回存;回存 SJMP $TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,
34、38H,39H DB 41H,42H,43H,44H,45H,46H END 解法一:用解法一:用DPTR作基址作基址 MOVC A, A+DPTR54KMU FWJ5454/60/60 ORG 0000H MOV A,R0;读数据;读数据 ANL A,#0FH;屏蔽高;屏蔽高4位位 ADD A,#03H ;加修正量;加修正量 MOVC A,A+PC ;查表;查表 MOV R0,A;回存;回存 SJMP $ TAB: DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H,46H END 解法二:用解法二:用PC作基址作基址 MOVC A, A+PC用PC作基址查表为什么要加修正?55KMU FWJ5555/60/60例:在片内例:在片内RAM的的20H开始的连续开始的连续10个数据中查找关个数据中查找关键字键字KEY,最后在,最后在31H中给出关键字在数据块中的序中给出关键字在数据块中的序号。当找遍整个数据块而无关键字时,序号为号。当找遍整个数据块而无关键
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猪仔采购合同(标准版)
- 2026年航空礼品采购合同
- 2025年新型供热技术推广项目可行性研究报告
- 2025年网上药品销售合规平台项目可行性研究报告
- 美容采购合同范本
- 产品分析协议书
- 美国保险合同范本
- 球员终止合同协议
- 能源行业用友顾问面试问题解析与答案
- 仪表维修岗的技能培训与考核制度
- 骨盆骨折患者麻醉管理要点
- 2025贵阳人文科技学院教师招聘考试试题
- 高职院校产教融合共同体建设国内外研究动态及启示
- T/CWAN 0068-2023铜铝复合板
- 儿童寓言故事-乌鸦喝水
- 弱电系统维护中的安全和文明措施
- 紧急状态下护理人力资源调配
- 安全生产文明施工评价报告
- 眼科滴眼药水课件
- 2024-2025学年青海省西宁市七年级(上)期末英语试卷(含答案)
- 2025中级消防设施操作员作业考试题及答案(1000题)
评论
0/150
提交评论