版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4 4章章 汇编语言程序设计汇编语言程序设计4.1 伪指令伪指令4.2 汇编语言的上机过程汇编语言的上机过程4.3 系统功能调用系统功能调用4.4 汇编语言程序设计汇编语言程序设计4.5 汇编语言和汇编语言和C/C+混合编程混合编程4.1 伪指令汇编源程序:汇编源程序: 按严格的语法规则用汇编语言编写的程序,称为按严格的语法规则用汇编语言编写的程序,称为汇编语言源程序,简称为汇编源程序或源程序。汇编语言源程序,简称为汇编源程序或源程序。汇编程序:汇编程序: 为计算机配置的负责把汇编源程序翻译成目标为计算机配置的负责把汇编源程序翻译成目标 程序的一种系统软件。程序的一种系统软件。汇编(过程)
2、:汇编(过程): 将汇编源程序翻译成一一对应的机器码目标将汇编源程序翻译成一一对应的机器码目标程序的过程称为汇编过程或简称汇编。程序的过程称为汇编过程或简称汇编。4.1.1 4.1.1 表达式表达式表达式:表达式: 是由常量、变量及运算符组成的有意义的式子。是由常量、变量及运算符组成的有意义的式子。常数:常数: 没有任何属性的纯数值。在程序运行中不发生变化。没有任何属性的纯数值。在程序运行中不发生变化。如:如:10010011B、0A5H、”ZHIFUCHUAN”、5.213E-4变变 量:量:表示存储单元,单元中的数在程序运行期间随时表示存储单元,单元中的数在程序运行期间随时 可以修改。可以
3、修改。变量名:变量名:存放数据单元的符号地址存放数据单元的符号地址标标 号:号:表示存储单元,单元中存放的是机器指令代码表示存储单元,单元中存放的是机器指令代码段属性(段属性(SEG):): 变量或标号对应存储单元所在段的段值变量或标号对应存储单元所在段的段值偏移量属性(偏移量属性(OFFSET):): 变量或标号对应存储单元的起始地址的段内偏移变量或标号对应存储单元的起始地址的段内偏移类型属性(类型属性(TYPE):): 变量类型主要是字节(变量类型主要是字节(BYTE)、字()、字(WORD)、)、双字(双字(DWORD) 标号类型主要是近(标号类型主要是近(NEAR)和远()和远(FAR
4、)存储单元存储单元算术运算符算术运算符 +、-、*、/、MOD(除法取余)、(除法取余)、SHL(左移)、(左移)、 SHR(右移)(右移)例:例: MOV AX,100*4+5 ;AX=405 逻辑运算符:逻辑运算符:AND、OR、NOT、XOR例:例: 24H OR 0FH=2FH按位运算按位运算 关系运算:关系运算: EQ、NE、LT、LE、GT、GE例:例:MOV AX,1234H GT 1024H关系运算结果总是关系运算结果总是一个数值。若关系不一个数值。若关系不成立,则结果为成立,则结果为0,若,若关系成立,则结果关系成立,则结果为为0FFFFHMOV AX,0FFFFH1 1算术
5、运算符、逻辑运算符和关系运算符算术运算符、逻辑运算符和关系运算符 (1) SEG(计算段基址)(计算段基址) 例例2:把:把VARW的偏移地址送的偏移地址送BX MOV BX,OFFSET VARW例例3:假设:假设VARW变量是字变量,把变量是字变量,把VARW的类型值送的类型值送AL MOV AL, TYPE VARW ;AL =2例例1:把:把VARW所在段的段值送所在段的段值送AX MOV AX,SEG VARW变量名变量名(3)TYPE(计算符号类型值)(计算符号类型值)(2)OFFSET(计算偏移地址)(计算偏移地址)(1)定义符号名为新类型)定义符号名为新类型PTR格式:格式:
6、PTR 功能:用于指定或临时改变变量或标号的类型功能:用于指定或临时改变变量或标号的类型例:例:MOV WORD PTR SI,1 ;指明字类型;指明字类型(2)指定新类型)指定新类型THIS格式:格式:THIS 功能:为某个符号名建立新类型功能:为某个符号名建立新类型例:例:LABC EQU THIS BYTE MOV LABC,AL4.1.2 4.1.2 伪指令伪指令 字节定义语句字节定义语句DB格式:格式:变量名变量名 DB 功能:初值表中的每一项占一个功能:初值表中的每一项占一个字节字节, 它们从变量名(符号地址)开始按它们从变量名(符号地址)开始按字节字节连续存放连续存放。例:例:C
7、OUNT DB 100 DB 0DH,0AH, VARW DB ?,?,6,?,?,?,?低低0A2406 0D64COUNTVARW高高可以使用重复操作符可以使用重复操作符DUP如:如:BUFFER DB 8 DUP(0)符号地址符号地址DUP可以嵌套如:可以嵌套如:ARRAY DB 100 DUP(0,2 DUP(1,2),),3) 字字定义语句定义语句DW格式:格式:变量名变量名 DW 功能:初值表中的每一项占一个功能:初值表中的每一项占一个字单元字单元, 它们从变量名(符号地址)开始按它们从变量名(符号地址)开始按字字连续存放。连续存放。例:例:FLAG DW 2FCDH,24H DW
8、 ?2400 2FCDFLAG低低高高汇编后对应的存储区域分配情况汇编后对应的存储区域分配情况 四字节定义语句四字节定义语句DD格式:格式:名字名字 DD 功能:初值表中的每一项占四个字节数,它们功能:初值表中的每一项占四个字节数,它们 从符号地址开始按四字节从小地址连续存放。从符号地址开始按四字节从小地址连续存放。格式:格式:名字名字 DQ 功能:初值表中的每一项占八个字节数,它们功能:初值表中的每一项占八个字节数,它们 从符号地址开始按八字节从小地址连续存放。从符号地址开始按八字节从小地址连续存放。 八字节定义语句八字节定义语句DQ 10字节定义指令字节定义指令DT 2 2符号常量定义伪指
9、令符号常量定义伪指令EQUEQU、 格式:格式: EQU 功能:将表达式的值赋给符号常量功能:将表达式的值赋给符号常量 等价语句等价语句EQU表达式可以是常表达式可以是常数、数值表达式、数、数值表达式、字符串、存储器字符串、存储器符号等符号等例:例:COUNT EQU 100 ;符号;符号COUNT代表常数代表常数100 BUFF EQU 4*COUNT ;BUFF代表代表400 HELLO EQU “How are you! ” ;HELLO代表代表How are you VARW EQU THIS WORD ;变量;变量VARW的类型是字的类型是字 注意:等价语句的符号常量名不能被重新赋值
10、注意:等价语句的符号常量名不能被重新赋值 等号语句等号语句=格式:格式: = 功能:将表达式的数值赋给符号常量功能:将表达式的数值赋给符号常量数值表达式数值表达式例:例:ABCD = 100 YY = 20+300/4 ABCD = 2*ABCD+1可以重新赋值可以重新赋值3. 3. 段定义伪指令段定义伪指令segmentsegment和和endsends段定义的一般格式:段定义的一般格式: SEGMENT 定位方式定位方式连接方式连接方式类型名类型名 ENDS段开始语句段开始语句段结束语句段结束语句例:一个简单的数据段例:一个简单的数据段 DSEG SEGMENT BUFFER DB 8 D
11、UP(0) DSEG ENDS开始的段名与结开始的段名与结束的段名必须相束的段名必须相同,段的长度不同,段的长度不能超过能超过64KB,SEGMENT后面后面的参数是可选的的参数是可选的注意: 定位方式(定位类型)定位方式(定位类型)定位类型指出了对当前段起始地址的要求,有定位类型指出了对当前段起始地址的要求,有4个选项个选项PAGE 指定起始地址的低指定起始地址的低8位是位是0,即其值能被,即其值能被256整除(称页边界)整除(称页边界)PARA 指定起始地址的低指定起始地址的低4为是为是0,即其值能被,即其值能被16整除(整除(称段边界称段边界)WORD指定起始地址的最低位是指定起始地址的
12、最低位是0,即其值能被,即其值能被2整除(称为字边界)整除(称为字边界)BYTE 指定起始地址是任意值指定起始地址是任意值缺省定位缺省定位定位类型是用来确定程序段与程序段之间的衔接,如定位类型是用来确定程序段与程序段之间的衔接,如BYTE 使得当前段紧接前一段,而使得当前段紧接前一段,而PAGE可能导致最大的段间隔可能导致最大的段间隔 连接方式(组合类型)连接方式(组合类型)连接方式告诉连接程序本段可按某种方式连接连接方式告诉连接程序本段可按某种方式连接PUBLIC告诉连接程序本段与其它同名同类别告诉连接程序本段与其它同名同类别 的段连接起来,公用一个起始点。的段连接起来,公用一个起始点。ST
13、ACK 表示是堆栈段,连接方式同上。表示是堆栈段,连接方式同上。NONE 表示本段不与任何段连接。表示本段不与任何段连接。COMMON表示本段与同名同类别的段共用同一段地址,表示本段与同名同类别的段共用同一段地址, 即同名同类段相重叠。即同名同类段相重叠。MEMORY本段连接时定位在所有段之上,即高地址处。本段连接时定位在所有段之上,即高地址处。AT 表达式表达式表示本段定位在表达式值指定的段地址处。表示本段定位在表达式值指定的段地址处。隐含连接方式隐含连接方式一个源程序至少有一个堆栈段一个源程序至少有一个堆栈段 类别名类别名 类别名是由程序员指定的字符串,没有给出类别时,类别名是由程序员指定
14、的字符串,没有给出类别时,这个段的类别就为空。这个段的类别就为空。例:某个源程序例:某个源程序SSEG SEGMENT PARA STACK DB 1024 DUP(?)(?)SSEG ENDS;DSEG SEGMENT PARA COMMONMESS DB HELLO,0DH,0AH,DSEG ENDS;CSEG SEGMENT PARA PUBLICCSEG ENDS END START4. 设定段寄存器伪指令ASSUME格式:格式:ASSUME 段寄存器:段定义名段寄存器:段定义名1,段寄存器:段定义名,段寄存器:段定义名2,功能:告诉汇编程序在汇编时,段寄存器的符号基址功能:告诉汇编程
15、序在汇编时,段寄存器的符号基址例:例:DSEG1 SEGMENT VARW DW 12 DSEG1 ENDS ; DSEG2 SEGMENT XXX DW 0 YYY DW 0 DSEG2 ENDS ;CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG1,ES:DSEG2 MOV AX,DSEG1 MOV DS,AX MOV AX,DSEG2 MOV ES,AX CSEG ENDS 5. ORG5. ORG伪指令伪指令格式:格式:ORG 功能:把以下语句定义的内存数据或程序,从表达式功能:把以下语句定义的内存数据或程序,从表达式 指定的起点开始连续存放。指定的起点开始连续存
16、放。格式:格式:END 表达式表达式功能:告诉汇编程序源文件结束,并给出执行程功能:告诉汇编程序源文件结束,并给出执行程 序的入口地址序的入口地址程序的启动地址程序的启动地址格式:格式: PROC 过程类型过程类型 RET ENDP段间为段间为FAR段内为段内为NEAR4.1.3 汇编语言程序的基本框架完整段定义的框架如下:完整段定义的框架如下:STACK SEGMENT STACK ;定义堆栈段定义堆栈段STACK ENDSDATASEGMENT;定义数据段定义数据段DATAENDSCODE SEGMENT;定义代码段定义代码段 ASSUME CS:CODE,DS:DATA,SS:STACK
17、START: MOV AX,DATA MOV DS,AX;数据段段地址送数据段段地址送DS中中MOV AH,4CH ;程序结束返回程序结束返回DOSINT 21HCODE ENDS;代码段结束代码段结束END START4.2 汇编语言的上机过程编辑程序编辑程序源程序文件源程序文件.asm宏汇编程序宏汇编程序MASM语法错误?语法错误?连接程序连接程序LINK可执行文件可执行文件.exe/map调试程序调试程序DEBUG有错吗?有错吗?目标程序文件目标程序文件.obj/lis无无无无有有有有汇编语言程序的开发过程汇编语言程序的开发过程4.3 系统功能调用调用方法:调用方法: 准备入口参数准备入
18、口参数 功能调用号送功能调用号送AH寄存器寄存器 软中断指令软中断指令 INT 21H 功能:从键盘读一字符,并将该字符回显在显示器上功能:从键盘读一字符,并将该字符回显在显示器上入口参数:无入口参数:无出口参数:出口参数:AL=读到字符的读到字符的ASCII码码说明:如果读到的字符是说明:如果读到的字符是Ctrl+c或或Ctrl+Break则结束程序则结束程序例:例: MOV AH,1 INT 21H 2. 从键盘接收一串字符(0AH号功能)功功 能:从键盘读一字符串。能:从键盘读一字符串。入口参数:入口参数:DS:DX=缓冲区首址,缓冲区的第缓冲区首址,缓冲区的第一个字节放缓冲区最大容量数
19、一个字节放缓冲区最大容量数出口参数:接收到的字符串在缓冲出口参数:接收到的字符串在缓冲 区中第三个字节开始区中第三个字节开始说说 明:明: 缓冲区第二个字节存放实际读入缓冲区第二个字节存放实际读入 的字符数。的字符数。 字符串以回车结束字符串以回车结束 如果输入字符串超过了缓冲的区容如果输入字符串超过了缓冲的区容 量,量, 超出的部分丢失,同时响铃超出的部分丢失,同时响铃 如果在输入时按如果在输入时按Ctrl+C或或Ctrl+Break, 则结束程序则结束程序 例:例: BUF DB 20 DB ? DB 20 DUP(?)(?) MOV DX,OFFSET BUF MOV AH,0AH IN
20、T 21H 3. 显示一个字符(02H号功能)功能:寄存器功能:寄存器DL中的字符从屏幕上显示输出中的字符从屏幕上显示输出入口参数:入口参数:DL=要输出字符的要输出字符的ASCII码码出口参数:无出口参数:无例:例: MOV DL,A MOV AH,2 INT 21H 4. 显示一串字符(09H号功能)功功 能:将指定缓冲区中的字符串从屏幕上显示输出能:将指定缓冲区中的字符串从屏幕上显示输出入口参数:入口参数:DS:DX=要输出字符的首址,字符串以字符要输出字符的首址,字符串以字符 为结束标志为结束标志出口参数:无出口参数:无 BUF DB good bye MOV DX,OFFSET BU
21、F MOV AH,09H INT 21H 例:例:5. 5. 返回操作系统(返回操作系统(4CH4CH号功能)号功能)功功 能:结束当前正在执行的程序,并返回操作系统能:结束当前正在执行的程序,并返回操作系统入口参数:无入口参数:无出口参数:无出口参数:无回到回到DOS提示符下提示符下C:例:例: MOV AH,4CH INT 21H 4.4 4.4 汇编语言程序设计汇编语言程序设计8086系列汇编语言源程序是建立在段结构基础上的系列汇编语言源程序是建立在段结构基础上的(1)使用段定义伪指令来构成一个由若干指令)使用段定义伪指令来构成一个由若干指令 和数据组成的程序。和数据组成的程序。(2)一
22、个程序究有几个段,完全根据实际情况)一个程序究有几个段,完全根据实际情况 来确定,通常是按照程序中的用途来划分来确定,通常是按照程序中的用途来划分 段的,如存放数据的段,作为堆栈的段,段的,如存放数据的段,作为堆栈的段, 存放程序的段,存放子程序的段等存放程序的段,存放子程序的段等4.4.1 4.4.1 顺序程序设计顺序程序设计没有分支、没有分支、没有循环没有循环的直线运行程,的直线运行程,即顺序结构。即顺序结构。 DATASEGMENT ADW 1234HBDW 5678HCDW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX
23、,DATAMOV DS,AXMOV AX,AADD AX,BMOV C,AXMOV AH,4CHINT 21HCODE ENDSEND START最简单的程序最简单的程序4.4.2 分支程序设计条件满足?条件满足?语句系列语句系列YN条件满足?条件满足?语句系列语句系列1语句系列语句系列2YN两种分支结构示意图两种分支结构示意图例:编一个程序。从外设例:编一个程序。从外设71H取一个数取一个数M,判断其值是否在,判断其值是否在10和和 20之间,即之间,即10M20。如果。如果M20,则送,则送0FFH给外设给外设73H; 如果如果M10,则送,则送00H给外设给外设73H;如果;如果10M2
24、0, 则送则送88H给外设给外设73H。 分析分析根据题意需要两次判断根据题意需要两次判断M的大小,根据判的大小,根据判断结果把断结果把00H或或0FFH或或88H输出到输出到73H端口。端口。 画流程图画流程图开始开始输入输入71H外外设值设值ALAL10?AL20?BL=88HBL=0FFHBL=00H输出输出BL到到外设外设73H暂停暂停LP1LP2LP3YYIN AL,71H;71H端口数端口数ALCLCCMP AL,10JB LP1 ;小于;小于10转转LP1CMP AL,20JAE LP2 ;大于或等于;大于或等于20转转LP2MOV BL,88HJMP LP3MOV BL,00H
25、JMP LP3MOV BL,0FFHMOV AL,BLOUT 73H,AL ;将;将BL的内容输的内容输HLT 出到端口出到端口73HLP3:LP1:LP2:4.4.3 4.4.3 循环程序设计循环程序设计开始判断循环体结束处理结束初始化循环控制循环控制条件循环控制条件循环体循环体YDO WHILE结构结构循环初始状态循环初始状态N循环控制条件循环控制条件循环体循环体YDO UNTIL 结构结构循环初始状态循环初始状态例:例:求两个多字节数之求两个多字节数之和。这两个数和。这两个数在在10050H开开始的单元中,始的单元中,连续存放,连续存放,低位在小地低位在小地址一端,结果址一端,结果放在两
26、个数放在两个数之后。设这之后。设这两个多字节两个多字节数均为八个数均为八个字节长。字节长。MOV AX,1000HMOV DS,AXMOV S1,50H MOV DI,58H MOV BX,60HMOV CX,4CLCMOV AX,SIADC AX,DIMOV BX,AXPUSHFADD SI,2ADD DI,2ADD BX,2POPFLOOP AAHLTAA:开始开始CX=0?取一个字取一个字AX修改指针,修改指针,SISI+2DIDI+2,CXCX-1暂停暂停初始化初始化求和求和AX=AX+DI+CFN4.4.4 4.4.4 子程序设计子程序设计子程序:也叫过程,相对主程序而言,是一个子的
27、程序段,子程序:也叫过程,相对主程序而言,是一个子的程序段, 它能被主程序调用,也能被其它子程序调用它能被主程序调用,也能被其它子程序调用一般把有公用性、重复性或有相对独立性一般把有公用性、重复性或有相对独立性的程序设计成子程序的程序设计成子程序 参数传递参数传递必须设计好子程序中用到了哪些寄存器或必须设计好子程序中用到了哪些寄存器或 存储单元。哪些是需要调用程序提供的,存储单元。哪些是需要调用程序提供的, 哪些是结果提供给调用程序的。哪些是结果提供给调用程序的。子程序设计与应用应注意的问题子程序设计与应用应注意的问题寄存器传递参数寄存器传递参数 存储单元传递参数存储单元传递参数 堆栈传递参数
28、堆栈传递参数 参数传递参数传递 子程序说明子程序说明一个子程序,可以被其它程序调用,必须一个子程序,可以被其它程序调用,必须 提供一些说明。如:提供一些说明。如:程序名、程序的功能、占用的寄存器或程序名、程序的功能、占用的寄存器或存储单元、入口及出口参数、嵌套了哪存储单元、入口及出口参数、嵌套了哪些子程序。些子程序。 两个两个6字节数相加。将一个字节相加的程序段设计为子字节数相加。将一个字节相加的程序段设计为子程序。主程序分程序。主程序分6次调用该子程序,但每次调用的参数不同。次调用该子程序,但每次调用的参数不同。 例:例:DATASEGMENT ADD1DB FEH,86H,7CH,35H,
29、68H,77H ADD2DB 45H,BCH,7DH,6AH,87H,90H SUM DB 6 DUP(0) COUNTDB 6DATAENDSCODE SEGMENTASSUMECS:CODE,DS:DATAMADD: MOV AX,DATA MOV DS,AX MOV SI,OFFSET ADD1 MOV DI,OFFSET ADD2 MOV BX,OFFSET SUM MOV CX,COUNT ;循环初值为循环初值为6 CLCAGAIN: CALL SUBADD ;调用子程序调用子程序 LOOP AGAIN ;循环调用循环调用6次次 MOV AH,4CH INT 21H;子程序入口参数子
30、程序入口参数:SI,DI,BX 出口参数出口参数:SI,DI,BXSUBADD PROC ;完成一个字节相加完成一个字节相加 PUSH AX ;保护保护AX的值的值 MOV AL,SI ;SI是一个源操作数指针是一个源操作数指针 ADC AL,DI ;DI是另一个源操作数指针是另一个源操作数指针 MOV BX,AL ;BX是结果操作数指针是结果操作数指针 INC SI INC DI INC BX POP AX;恢复恢复AX的值的值 RETSUBADD ENDPCODE ENDS END MADD4.5 汇编语言和C/C语言混合编程混合语言编程:采用两种或两种以上的编程语混合语言编程:采用两种或
31、两种以上的编程语言组合编程,彼此相互调用,进行参数传递,言组合编程,彼此相互调用,进行参数传递,共享数据结构及数据信息,是一种有效的程序共享数据结构及数据信息,是一种有效的程序设计方法。设计方法。 汇编语言和汇编语言和C/C语言混合编程的方法有两种:语言混合编程的方法有两种:(1)在)在C/C源程序中直接插入汇编源代码,这源程序中直接插入汇编源代码,这种方法称为嵌入式汇编。种方法称为嵌入式汇编。(2)在)在C/C源程序中调用外部的汇编语言过程源程序中调用外部的汇编语言过程 4.5.1 嵌入式汇编 在需要的地方写上汇编指令,并在嵌入的在需要的地方写上汇编指令,并在嵌入的汇编指令前加上关键字汇编指
32、令前加上关键字asm或或_ _asm即可。即可。格式格式1:asm 格式格式2:_ _asm 格式格式3:_ _asm汇编指令汇编指令 注:格式注:格式1适用于在适用于在C程序中嵌入汇编指令,程序中嵌入汇编指令, 格式格式2和格式和格式3则适用于在则适用于在Visual C+程序中嵌程序中嵌 入汇编指令。入汇编指令。#includevoid main( ) int array10; int i ; for(i=0;i=8;i+) arrayi=i ; _asm mov array9*type int,90 /*数值数值90传送给数组元素传送给数组元素 array9*/ for(i=0;i=9;
33、i+) printf(%5d,arrayi); printf(n);嵌入式汇编举例运行结果:运行结果:0 1 2 3 4 5 6 7 8 904.5.2 C/C+程序调用汇编程序(1)1汇编程序的编写汇编程序的编写(1)汇编过程的进入)汇编过程的进入 汇编过程的进入一般以两条指令开始,即:汇编过程的进入一般以两条指令开始,即: push bp mov bp sp(2)局部数据分配(可选择)局部数据分配(可选择)加上一条指令加上一条指令sub sp, space其中其中space是以是以字节字节计算的局部数据区的总大小计算的局部数据区的总大小 (3)用堆栈传递参数及对参数的访问)用堆栈传递参数及对参数的访问通过参数与通过参数与bp的位移量来确定的位移量来确定设参数为设参数为x,它与,它与bp的位移量可以这样来计算:的位移量可以这样来计算:2返回地址字节数参数返回地址字节数参数x与与bp间的参数所占的总字节数间的参数所占的总字节数(4)结果和值的返回)结果和值的返回返回值的数据类型是返回值的数据类型是简单型简单型,而且长度,而且长度不超过不超过4字节字节返回值返回值超过超过4个字节个字节 NEAR AX FAR DX:AX (DX装段地址,装段地址,AX装偏移地址)。装偏移地址)。数据大小返回值数据大小返回值所放寄存器所放寄存器1字节字节AL2字节字节AX4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南昌大学超声领域试题及答案详情
- 《数字影音后期制作案例教程(PremierePro2024+AfterEffects2024)》高职全套教学课件
- 医学影像典型试题及答案展示
- 口腔医学常见简单试题与答案
- 2025-2026学年昭通市大关县数学四年级第二学期期末教学质量检测试题含答案解析
- 别董大测试题及答案解析
- 导数习题中档题(附答案)
- 2025-2026学年广东省深圳市福田区耀华实验学校数学四下期中质量检测试题含答案解析
- 2025-2026学年山西省吕梁市兴县数学四年级下学期期末学业质量监测试题含答案解析
- 信息员思想动态报告2026(3篇)
- 巨幼细胞性贫血诊疗指南(2025年版)
- 2026湖南长沙雅礼中学高三高考模拟测试数学试题(含答案解析)
- 2026年曲妥珠单抗行业分析报告及未来发展趋势报告
- 2026年信息处理和存储支持服务行业分析报告及未来发展趋势报告
- 2026年土建质量员考试题库(含答案)
- 2026年幼儿园营养膳食工作计划
- 合规考核评价工作方案
- 2025年10月广东中山市坦洲投资开发有限公司招聘拟聘人员笔试参考题库附带答案详解
- 项目廉政建设手册
- 食堂色标管理培训
- EPC现场管理培训课件
评论
0/150
提交评论