版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM体系结构与编程第三章·ARM指令集介绍Contents本章学习目录ARM指令集体系的核心分类与编程实践路径01跳转与数据处理指令02乘法、算术与状态寄存器指令03Load/Store与批量内存访问04信号量、异常与协处理器指令05指令应用实例与Thumb指令集CHAPTER01跳转与数据处理指令从程序流向控制到核心算术逻辑运算的指令基石BranchInstructions跳转指令:B/BL/BXARM跳转指令通过B/BL/BX三条指令覆盖普通跳转、子程序调用与状态切换三大场景,其PC-relative寻址机制决定了±32MB的跳转范围,是构建程序控制流的基石。01B无条件跳转,24位有符号偏移量左移2位后与PC相加,跳转范围±32MB02BL跳转前将返回地址(PC+4)保存到LR(R14),配合MOVPC,LR实现子程序返回03BX通过寄存器值跳转,最低位Rm[0]决定目标状态:为0进入ARM,为1切换到Thumb04B{cond}条件跳转,在B前添加条件码(如BEQ/BNE),基于CPSR标志位实现分支ARM处理器开发板·跳转指令的硬件执行环境DATAPROCESSINGINSTRUCTIONS数据处理指令概览与编码格式数据处理指令是ARM指令集的核心,占指令编码空间超三分之一,通过4位操作码区分16种运算,配合灵活的operand2机制实现算术、逻辑、移位、比较四大类操作。编码格式特征bit[27:26]=00标识数据处理类,bit[24:21]的4位opcode区分AND/EOR/SUB/RSB/ADD等16种操作,指令格式统一规范bit[27:26]=00四类操作划分算术运算(ADD/SUB/ADC/SBC/RSB/RSC)、逻辑运算(AND/ORR/EOR/BIC)、比较测试(CMP/CMN/TST/TEQ)、数据传送(MOV/MVN)4大类·16种Operand2灵活寻址8位立即数循环右移偶数位(如0xFF右移4位得0xF000000F),或寄存器配合LSL/LSR/ASR/ROR移位,寻址方式灵活高效8-bitImmediateS后缀与标志位S后缀控制是否更新CPSR条件标志位,例如ADDS会在加法完成后根据结果设置N/Z/C/V四个标志,支持条件执行N/Z/C/VChapter3·Operand2&BarrelShifter第二操作数与桶形移位器ARM通过桶形移位器实现"运算+移位"单周期复合操作,使数据处理指令能在不增加额外指令的前提下完成复杂计算,是RISC架构高效设计的典范。01五种移位方式LSL逻辑左移、LSR逻辑右移、ASR算术右移(保留符号位)、ROR循环右移、RRX带进位循环右移。每种方式对应不同的数据填充策略,满足有符号/无符号、边界处理等多样化需求。LSL·LSR·ASR·ROR·RRX02寄存器移位可搭配立即数(R2,LSL#3)或另一寄存器(R2,LSLR3)。后者移位量取自寄存器低8位,提供运行时动态移位能力,适用于数组索引计算、位域提取等场景。Immediate·Register03立即数Operand2由8位imm8循环右移rotate_imm×2位得到,可表示0xFF00、0x000FF000等特定常数。但0x1234等任意值无法直接编码,需借助LDR伪指令从字面量池加载。imm8·rotate_imm04RRX进位传递将CPSR的C标志位移入操作数最高位,操作数最低位移入C标志。这一特性常用于多精度算术运算中的进位传递,实现64位或更宽整数的加减法运算。CPSR·CarryFlagConditionalExecution条件码执行机制ARM指令集的条件执行机制允许几乎每条指令根据CPSR标志位决定是否执行,有效减少分支跳转开销,显著提升代码密度与执行效率。0116种条件码覆盖完整判断场景:EQ/NE(等于/不等于)、GT/GE/LT/LE(有符号比较)、HI/HS/LO/LS(无符号比较)、AL(总是执行)16条件码02条件码基于CPSR四个标志位判断:N(负)、Z(零)、C(进位)、V(溢出),例如GT条件对应Z=0且N=VNZCV标志位03典型优化:求两数最大值用CMP+MOVGT+MOVLE三条顺序指令替代分支跳转结构,消除分支预测开销3条指令替代跳转04IT(If-Then)块在Thumb-2中延续条件执行思想,可让后续1-4条指令按条件执行,兼容ARM条件执行优势1–4指令/IT块ARMINSTRUCTIONSET逻辑运算与比较测试指令逻辑运算指令(AND/ORR/EOR/BIC)是嵌入式位操作的核心工具,而比较测试指令(CMP/CMN/TST/TEQ)仅更新标志位不写回结果,为条件分支提供精确判断依据。01BIC位清零BICRd,Rn,operand2实现RnANDNOToperand2运算,常用于屏蔽特定位。典型用法如BICR0,R0,#0xFF清除R0低8位,或配合掩码实现字段提取与隔离操作。RnANDNOTop202EOR按位异或典型应用包括EORR0,R0,R0快速清零寄存器,以及加密算法中的位翻转操作。也常用于无临时变量的两数交换和校验和计算场景。XOR/BitFlip03CMP/CMN比较CMP执行Rn−operand2减法运算、CMN执行加法运算,两者均只更新CPSR标志位(N/Z/C/V)而不保存运算结果。广泛用于循环计数、边界检测和数值范围判断。CPSRFlagsOnly04TST/TEQ测试TST按位与检测特定位状态,如TSTR0,#0x01检测最低位;TEQ按位异或判断两值是否相等。常用于中断标志查询和配置寄存器状态轮询。BitTest/EqualCHAPTER02乘法、算术与状态寄存器指令从基本乘加到64位乘积与处理器状态管理的进阶指令ARMINSTRUCTIONSET·ARITHMETIC乘法指令:MUL/MLA/64位乘法ARM乘法指令族通过MUL/MLA处理32位乘加运算,通过SMULL/UMULL/SMLAL/UMLAL处理64位大数乘法,覆盖从整数运算到大数加密的完整场景。0132位乘加运算:MULRd,Rm,Rs计算32位乘积并截断保存,MLARd,Rm,Rs,Rn在乘积基础上加Rn,两者目的寄存器Rd不得与Rm相同。0264位乘法:SMULL/UMULLRdLo,RdHi,Rm,Rs执行有符号/无符号64位乘法,结果高32位存RdHi、低32位存RdLo。03多精度大数累加:SMLAL/UMLAL在64位乘积基础上累加RdHi:RdLo原值,适合RSA加密算法中的模幂计算等场景。04执行性能演进:早期ARM核需1-3周期完成乘法,ARMv6后多数核实现单周期乘法以提升DSP性能。ARMCortex-M系列开发板实拍ARMINSTRUCTIONSET·CHAPTER03杂类算术指令:CLZ与DSP扩展CLZ指令通过前导零计数为对数计算、优先级编码和浮点规范化提供硬件加速,DSP扩展指令族(SMULxy/SMLAxy/QADD)则通过16位半字并行运算提升信号处理效率。01·CLZCLZRd,Rm计算Rm从bit31起连续零的个数(0x00000000返回32、0x80000000返回0),单周期完成,加速优先级编码与浮点规范化单周期02·SATURATEQADD/QSUB/QDADD/QDSUB实现饱和算术运算,结果超出32位有符号范围时自动钳位至±2³¹-1,避免DSP运算溢出失真±2³¹-103·SMULxySMULxyRd,Rm,Rs对Rm和Rs的指定半字(x/y为T或B)做16位有符号乘法得32位结果,等效于两条16位乘法并行执行16×16→3204·SMLAxySMLAxyRd,Rm,Rs,Rn在半字乘法基础上累加Rn,若累加结果溢出则设置CPSR的Q标志位(Saturationflag),便于软件检测QFlagCHAPTER3·ARMINSTRUCTIONSET状态寄存器访问指令:MRS/MSRMRS/MSR是ARM唯一能直接读写CPSR/SPSR的指令对,通过域掩码机制实现状态位的精确修改,是操作系统上下文切换、中断处理和模式切换的底层基础设施。MRS读取状态寄存器MRSRd,CPSR/SPSR将当前/备份程序状态寄存器的32位值读入通用寄存器Rd,用于保存处理器状态以便后续恢复。MRSRd,CPSRMSR写入状态寄存器MSRCPSR_cxsf,Rn将Rn值写入CPSR指定域,域掩码_c(控制域8-0)/_x(扩展域)/_s(状态域)/_f(标志域)可任意组合。MSRCPSR_cxsf,Rn典型应用场景中断入口用MSRCPSR_c,#0xD3切换至SVC模式并屏蔽IRQ;任务切换用MRS保存+CPSR恢复实现上下文完整保存。SVC·IRQ·上下文切换特权级隔离保障用户模式下只能修改CPSR的标志域(_f),试图修改控制域会触发异常,这是ARM特权级隔离的硬件保障。用户模式限_f域CHAPTER03·INSTRUCTIONSETMRS/MSR典型应用场景通过精确的域掩码控制与标准返回范式,MRS/MSR在中断屏蔽、模式切换、异常返回等底层场景中形成固定的编程模式,是ARM系统级编程的必备技能。关中断标准范式MRSR0,CPSR→ORRR0,R0,#0x80→MSRCPSR_c,R0仅修改控制域_c的IRQ屏蔽位而不影响其他状态标志IRQMask处理器模式切换通过修改CPSR低5位模式字段实现模式切换0x10User0x12IRQ0x13SVC0x1FSystem切换前需确保堆栈已初始化ModeBits异常返回推荐MOVSPC,R14/SUBSPC,R14,#4带S后缀指令使硬件自动把SPSR复制回CPSR,比手动MSR更高效且不易出错S-SuffixSPSR访问规则读SPSR必须在对应异常模式下进行,User/System模式无SPSR写入SPSR常用于异常入口保存返回状态,为嵌套异常提供支持NestedCHAPTER03Load/Store与批量内存访问RISC架构Load/Store范式下的单字、字节与多寄存器数据搬运CHAPTER03·LOAD/STORE单字访问指令:LDR/STRLDR/STR通过零偏移、前变址、后变址三种寻址方式灵活访问内存,配合字节/半字/有符号扩展变体覆盖8/16/32位全数据宽度,是ARM数据搬运的基础。01零偏移与前变址:LDRR0,[R1]以R1为地址加载32位字;LDRR0,[R1,#4]!先R1=R1+4再加载,'!'确保基址更新写回。02后变址遍历数组:LDRR0,[R1],#4先以R1原值加载再R1=R1+4,天然适合遍历数组——每次加载后指针自动前进,无需额外ADD指令。03字节/半字变体:LDRB/STRB处理8位字节,LDRH/STRH处理16位半字;LDRSB/LDRSH做有符号扩展,将8/16位数据符号扩展至32位。04伪指令加载常数:LDRRd,=expr为汇编器伪指令,对无法用MOV/MVN编码的32位常数,汇编器自动生成literalpool并用PC相对LDR加载。DDR内存条芯片颗粒·LDR/STR指令的物理访问对象ARM·CHAPTER03·INSTRUCTIONSET杂类Load/Store指令LDRD/STRD双字访问、SWP原子交换与LDC/STC协处理器传输三类指令扩展了ARM的内存访问能力,分别服务于64位数据搬运、多核同步与协处理器配置场景。01LDRD/STRD双字加载与存储一条指令加载连续两个32位字到Rd和Rd+1(要求Rd为偶数),STRD对应存储,适合浮点双精度与64位整数操作。64-bit02SWP原子交换指令原子交换Rm与[Rn]内存内容(读-写不可分割),早期用于自旋锁实现,ARMv6后推荐改用LDREX/STREX排他访问对。LDREX/STREX03LDC/STC协处理器Load/Store在主存与协处理器寄存器间搬运数据,格式含立即偏移和选项字段,CP15配置大量依赖此类指令。CP1504CDP/MCR/MRC协处理器数据与传送CDP触发协处理器内部运算,MCR/MRC在ARM通用寄存器与协处理器寄存器间传送32位数据。32-bitARMInstructionSet·Chapter3批量Load/Store:LDM/STMLDM/STM通过一次指令操作多达16个寄存器,配合四种地址递增/递减模式实现标准堆栈与数据块搬运,是函数进出、上下文切换和数据复制的高效基础设施。01批量加载与基址自更新6REGLDMRn!,{R0-R3,R12,LR}一次加载6个寄存器并自动更新基址,比6条单独LDR快得多,常用于函数返回时批量恢复寄存器。02四种地址递增/递减模式IA·IB·DA·DBIA(递增后访问)、IB(递增前访问)、DA(递减后访问)、DB(递减前访问)四种模式覆盖全部堆栈与数据块场景,其中IA最常用且为默认模式。03堆栈别名映射体系FD·FA·ED·EASTMFD/LDMFD=满递减(FD,ARM标准堆栈)、STMFA/LDMFA=满递增、STMEA/LDMEA=空递减、STMED/LDMED=空递增,四种别名对应四种堆栈策略。04异常返回一条龙操作SPSR→CPSRLDMRn!,{...,PC}^中的^后缀在异常返回时同时把SPSR复制回CPSR,是中断与异常处理返回的一条龙操作。Chapter03·ARMInstructionSetLDM/STM在函数调用与数据搬运中的应用LDM/STM与ARM调用约定(ATPCS)深度绑定,函数序言/结语的标准化写法让代码简洁高效;批量搬运模式则是实现高速memcpy的底层基础。01标准序言与结语函数入口标准序言:STMFDSP!,{R4-R11,LR}保存被调用者保存寄存器和返回地址;出口LDMFDSP!,{R4-R11,PC}一键恢复并返回。STMFD/LDMFD02ATPCS调用约定R0-R3传参、R0返回结果、R4-R11被调用者保存,栈必须8字节对齐(ARMv7+强制),否则可能触发对齐异常。8-ByteAlignment03批量搬运优化高效memcpy实现用LDMIA/STMIA按64字节(16寄存器)块批量复制,剩余部分用LDM/STM小批量或LDR/STR逐字补齐。64-ByteBlock04Thumb语法别名PUSH{reg_list}和POP{reg_list}是STMFDSP!和LDMFDSP!的Thumb语法别名,Cortex-M系列广泛使用,代码更直观。Cortex-MSeriesCHAPTER04信号量、异常与协处理器指令面向多核同步、异常触发与系统控制协处理器的底层指令体系ATOMICOPERATIONS信号量操作指令:LDREX/STREXLDREX/STREX排他访问对通过"监控-校验"机制实现无锁原子操作,替代早期SWP指令的总线锁定方案,成为ARM多核同步与自旋锁实现的标准范式。多核处理器芯片·信号量同步的物理载体LDREX—加载并监控LDREXRt,[Rn]加载目标地址内容到寄存器,并在本地ExclusiveMonitor中标记该物理地址为"被监控"状态,后续写操作据此判断数据是否被其他核心干扰。STREX—校验并写入STREXRt,Rd,[Rn]尝试写入数据,若ExclusiveMonitor未被其他总线主设备清除则成功(Rt=0),否则失败(Rt=1)且不执行写入,保证操作原子性。原子加1范式LDREX→ADD→STREX→CMP→BNEretry,循环执行直到STREX返回成功标志,实现无锁递增操作。多粒度排他访问LDREXB/H/D与STREXB/H/D提供8位、16位、64位粒度的排他访问,细粒度操作减少不必要的冲突重试。CHAPTER03·ARMINSTRUCTIONSET异常中断产生指令SVC/BKPT/UDF等异常产生指令让软件主动触发处理器异常,分别服务于系统调用、调试断点和执行陷阱三大场景,是用户态与内核态交互的桥梁。SVC#imm24触发SupervisorCall异常进入SVC模式,imm24作为系统调用号传递,Linux/RTOS通过此机制实现系统调用分发。SupervisorCallBKPT#imm16触发PrefetchAbort异常并进入Abort模式,imm16供调试器识别断点编号,JTAG/GDB调试流程的核心指令。PrefetchAbortUDF#imm16触发UndefinedInstruction异常,常用于编译器插入的"不可达"陷阱和嵌入式系统中的非法路径检测。UndefinedInstr.SMC#imm4触发SecureMonitorCall,处理器进入Monitor模式,是ARMTrustZone安全世界切换的入口指令。SecureMonitorCOPROCESSORINTERFACEARM协处理器指令与CP15应用MCR/MRC/LDC/STC/CDP五条协处理器指令构建ARM与协处理器的标准接口,CP15系统控制协处理器通过这些指令管理MMU、Cache、向量表等核心系统资源。MCR写入CP15寄存器MCRp15,0,Rd,cn,cm,opc—将Rd写入CP15寄存器,如MCRp15,0,R0,c1,c0,0修改系统控制寄存器以开启MMU(M位)或Cache(C位)M→MMUMRC读取CP15状态MRCp15,0,Rd,cn,cm,opc—从CP15读取状态,如MRCp15,0,R0,c0,c0,0读取MainIDRegister识别处理器型号与版本MainIDREGISTERSCP15关键寄存器c1=系统控制(MMU/Cache开关)、c2=页表基址TTBR、c7=Cache维护、c8=TLB无效化、c12=向量表基址VBARc1–c12LDC/STC/CDP批量传输与内部运算LDC/STCp15,cn,[Rn]用于CP15批量数据传输(如页表项批量加载),CDPp15触发CP15内部运算(如Cache整体无效化)TLBFlushExceptionHandlingFlow异常中断处理的完整指令流程异常处理从硬件自动保存上下文开始,到软件修正返回地址、保护现场、执行服务、恢复现场,全程综合运用数据处理、LDM/STM与MRS/MSR等多类指令,是ARM指令集协同工作的典型案例。硬件自动动作CPSR→SPSR、PC+offset→LR、CPSR模式位更新、跳转至向量表(IRQ=0x18/FIQ=0x1C/SVC=0x08等)IRQ·FIQ·SVCIRQ入口标准序言SUBLR,LR,#4修正返回地址(IRQ的LR指向被中断指令+8而非+4);STMFDSP!,{R0-R3,R12,LR}保存现场SUBLR·STMFD中断服务与嵌套执行期间可嵌套使用MRSR0,CPSR→MSRCPSR_c,#0xD3临时切换至SVC模式调用内核函数,完成后用MSR恢复MRS·MSR返回与恢复用LDMFDSP!,{R0-R3,R12,PC}^一次性恢复所有寄存器并返回,'^'触发SPSR→CPSR的硬件复制,恢复中断前状态LDMFD·SPSR→CPSRCHAPTER05指令应用实例与Thumb指令集从基础功能代码段到16位高代码密度Thumb指令族的实践应用ApplicationExamples算术逻辑运算指令的应用实例多精度算术(ADC/SBC链)、位字段提取(AND+移位)与字节序转换(EOR+ORR+移位)是算术逻辑指令的三大典型应用,广泛见于驱动、协议栈和加密算法的底层实现。嵌入式开发工作场景实拍0164位加法范式ADDSR0,R2,R4加低32位并产生进位→ADCR1,R3,R5带进位加高32位,可级联实现128/256位大数加法02位字段提取ANDR1,R0,#0xFF00→MOVR1,R1,LSR#8从R0的bit[15:8]提取字节到R1最低位,用于解析位域协议和寄存器字段03字节序转换EOR+BIC+MOV+LSR+EOR五步指令序列翻转32位字,实现小端到大端的字节序转换04位计数循环SUBSR1,R1,R1,LSR#1ADCR0,R0,#0,每次右移一位并把移出的位累加到R0CHAPTER3·ARMINSTRUCTIONSET跳转指令的应用实例函数调用的嵌套保护、位置无关代码(PIC)的PC相对寻址、跳转表的间接分支,是跳转指令在真实工程中的三大高阶应用,直接决定了代码的可重入性、可重定位性和执行效率。嵌套函数调用保护入口STMFDSP!,{LR}保存返回地址,出口LDMFDSP!,{LR}恢复,避免被下一层BL覆盖;Cortex-M自动压栈更高效。STMFD位置无关代码PICADRR0,label翻译为ADDR0,PC,#offset,代码可加载到任意地址运行,是动态链接库与bootloader的必备技巧。PC+offset跳转表实现switch各case入口地址存为连续字表,LDRPC,[Rbase,Rindex,LSL#2]间接跳转,O(1)复杂度,远优于CMP链。O(1)BXLR混合编程返回LR最低位决定返回状态,BLX可自动切换Thumb/ARM并在返回时恢复原状态,混合编程尤为关键。BXLRApplicationScenariosLoad/Store指令的应用实例从字符串操作、结构体字段访问到MMIO硬件控制,Load/Store指令覆盖了几乎所有内存相关的数据搬运场景,是嵌入式开发与系统编程的通用数据通道。01字符串strcpy实现LDRB/STRB配合后变址自动推进指针,CMP+BNE循环到\0终止,逐字节搬运完成拷贝。Post-indexedLoop02结构体字段访问C结构体成员通过基址+编译期偏移访问,如person.age翻译为LDRR1,[R0,#4],编译器自动计算对齐偏移。Base+Offset03MMIO硬件控制GPIO寄存器映射至固定地址,STR写端口输出、LDR读引脚电平,是裸机驱动的基础操作。0x5600000404内存屏障保障ARM弱内存序下编译器与CPU可能重排指令,需DMB/DSB/ISB屏障或volatile保证MMIO顺序。DMB/DSB/ISBARMINSTRUCTIONSET·APPLICATIONS批量访问与信号量指令应用实例LDM/STM在堆栈优化与高速memcpy中提供数量级性能提升,LDREX/STREX则是Linuxatomic_t与spinlock的底层支撑,共同构成ARM高性能与高并发编程的基础设施。01Cortex-M堆栈操作—PUSH{R4-R7,LR}和POP{R4-R7,PC}是STMFD/LDMFD的Thumb别名,硬件自动处理8字节对齐与异常帧压栈8B对齐02Linuxatomic_t实现—原子加用LDREXR1,[R0]→ADDR1,#1→STREXR2,R1,[R0]→TEQR2,#0→BNEretry循环直到成功LDREX→STREX03glibcmemcpy优化—LDMIAR1!,{R2-R9}一次加载32字节→STMIAR0!,{R2-R9}一次存储,配合PLD预取下一块10×加速04自旋锁实现—LDREXR1,[lock]→CMPR1,#0→WFENE(等事件)→STREXR2,R3,[lock],配合SEV唤醒等待核WFENE+SEVINSTRUCTIONSETThumb指令集介绍Thumb以16位紧凑编码实现ARM约75%的功能,代码体积缩小30-35%,显著降低Flash占用与BOM成本01Thumb-1(ARMv4T):16位固定编码,13条指令类别覆盖基本算术、逻辑、跳转与Load-Store操作,寄存器仅能访问R0-R7(低寄存器)以节省编码位02Thumb-2(ARMv6T2起):16/32位混合编码,新增BL、BLX、CBZ、TBB、TBH等32位指令,支持全部16个通用寄存器与CPSR访问,性能接近ARM03ARM↔Thumb状态切换:通过BXRm实现,Rm[0]=1进入Thumb、Rm[0]=0进入ARM;BLX可一步完成函数调用与状态切换04平台支持差异:Cortex-M系列仅支持Thumb-2指令集,不支持ARM状态;Cortex-A系列同时支持ARM与Thumb-2,可按热点与冷代码差异化选择STM32开发板—基于Cortex-M的Thumb指令集典型硬件平台Chapter03·InstructionSetARM与Thumb指令集对比ARM以32位完整编码提供全功能,Thumb-1以16位紧凑编码牺牲部分能力换取代码密度,Thumb-2通过混合编码实现性能与密度的最佳平衡,成为Cortex-M全系标准。ARMvsThumb-1vsThumb-2关键特性对比特性ARMThumb-1Thumb-2指令长度32位固定16位固定16/32位混合寄存器访问R0-R15全部仅R0-R7(低寄存器)R0-R15全部条件执行几乎每条指令仅B指令IT块(1-4条)跳转范围(B)±32MB±2KB±16MB代码密度基准缩小30-35%缩小约26%典型应用核ARM7/9/11,Cortex-AARM7TDMI,ARM9TDMICortex-M全系,Cortex-AThumb-2在保留Thumb代码密度优势的同时几乎补齐了功能短板,成为现代ARM嵌入式平台的主流指令集SYSTEMI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Hadoop集群监控与Hive高可用向磊
- 2026苏教二上解决问题教案
- 倡导全民健康生活
- 基站安全生产管理
- 肾活检的并发症及处理
- 感恩教育主题班会课件【图文并茂】
- Linux网络服务器应用教程
- 企业盲盒营销中稀有款对二级市场溢价的影响研究报告
- 《数控机床 故障诊断与维护》-教学单元5 伺服系统故障诊断及维护
- 企业海外项目融资专业培训考核大纲
- 鸿蒙应用开发认证考试题库及答案
- 2025年国企营销管理竞聘笔试题库(含答案)
- T CPCIF 0239-2023 石油和化工企业开车前安全审查导则
- 一次性使用止血套环产品技术要求北京中诺恒康生物
- 华为项目考核制度
- 河北河北省事业单位2025年面向新疆巴州兵团二师生源高校毕业生招聘15人笔试历年参考题库附带答案详解
- 啤酒厂安全生产管理课件
- 苏州市新能源产业高质量发展三年行动计划(2025-2026年)
- 单板五级理论题目及答案
- 江苏中吴环保产业发展有限公司招聘笔试题库2025
- 小学二年段期末考试试卷(2篇)
评论
0/150
提交评论