版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM指令系统,1、ARM指令分类,2、基本指令格式,S,指令助记符,可选条件码; 指令执行条件,可选后缀,可根据指令结果更新CPSR条件码,Rd:目标寄存器; Rn:第一操作数寄存器,第2操作数,基本指令格式举例,LDR R0,R1 BEQ DATAEVEN ADDS R2,R1,#1 SUBNES R2,R1,#0 x20,读取R1地址上的内容,执行条件AL(总是),条件执行分支指令,执行条件EQ, 即相等则跳转,加法指令:R2R1+1; 影响CPSR的标志位,条件执行减法: R2 R1-0 x20; 执行条件NE,影响CPSR的标志位,3、ARM 指令集 跳转指,跳转指令用于实现程序的跳
2、转,有两种方法可实现跳转: 使用专门的跳转指令; 直接向程序计数器PC 写入跳转地址值,可以实现在 4GB 的地址空间中任意跳转。 ARM 指令集中的跳转指令可以完成从目前指令向前、或向后的 32MB 的地址空间的跳转。其中,包括以下 4 个指令: B: Branch (分支) ,跳转指令 BL: Branch with Link (分支连接),包含返回的跳转指令,也即是调用子程序 BX: Branch and Exchange Instruction Set (分支交换) ,包括状态切换的跳转指令 BLX: Branch with Link and Exchange Instruction
3、Set (分支连接交换) ,包含返回和状态切换的跳转指令,跳转指令 B,B 指令的格式为 B 条件 目的地址 B 为单纯的跳转指令,程序控制权从目前的地址转移到另地址上。 超过 32MB 范围时,可以使用 LDR 指令修改PC的 值。 BLABEL1 ; 程序将无条件跳转到; LABEL1 处执行 CMPR1, #0; 比较指令 BEQLABEL1;若Z标志位置位,则跳转到 ;LABEL1处执行 BCS LABEL2; C 置位,跳转到LABEL2处 ;并根据结果修改CPSR的内容,跳转指令 BL,BL 指令的格式为 BL 条件 目的地址 BL 除转移程序控制权外,同时也将程序顺序执行的下一个
4、地址值保存在链接寄存器(LR)中,可用于子程序的调用。 子程序距离当前 PC 的范围与指令B是一样:+ 32MB 当子程序执行完毕后,可将链接寄存器(LR)的值写回PC中,实现子程序的返回。 BLSUB1 ; 无条件调用子程序SUB1,同时将顺序执 ;行的下一地址值保存到R14中 . SUB1; 子程序入口点 . MOV PC, LR ; 子程序返回,跳转指令 BX,BX 指令的格式为 BX 条件 目的地址 BX 将寄存器 的数值复制至 PC 中,以达到转移程序控制权; 根据寄存器 的最低位 0 来变更指令集状态,0为1,则变更为THUMB 指令集状态。0 为0,则变更为 ARM 指令集状态。
5、 此指令可将程序控制权转移到 4GB范围内的任意一地址上。 CODE 32; 从此处起程序以 ARM 指令集编译 . BX R0 ; R031:1 为地址 LABEL1,R00为1,跳转到 LABEL1处执行,并切换指令集状态为THUMB指令集. CODE 16 ; 指示从此处起为THUMB 指令集状态 LABEL1;LABEL1程序入口点 .,跳转指令 BLX,BLX 指令的格式为 BLX 条件 目的地址 BLX 指令从ARM 指令集跳转到指令中所指定的目的地址址,并将处理器的工作状态从ARM 状态切换到 THUMB 状态,该指令同时将顺序执行的下一地址值保存到R14中。該指令同時將 PC
6、的目前內容保存到暫存器 R14 中。 CODE32 ; 指示从此处起为ARM指令集状态 BLX R0 ; 调用子程序SUB1,R00为1,切换为THUMB 指令接 CODE 16 ; 指示从此处起为 THUMB 指令集状态 SUB1 ; SUB1 的程序入口点 BX R14,数据处理指令,数据处理指令可分为数据传送指令、算术逻辑运算指令和比较指令。 数据传送指令: 用于寄存器和存储器之间进行数据的双向传输; 算术逻辑运算指令: 完成常用的算术与逻辑运算,该类指令不但将运算结果保存在目的寄存器中,同时更新CPSR中相应的条件标志位; 比較指令: 不保存运算结果,只更新 CPSR 中相应的条件标志
7、位。 数据处理指令包括算术指令(加、减),逻辑指令(AND,OR,NOT,XOR,位清除),比较测试指令,以及复制指令。,MOV 指令,MOV 指令的格式 MOV 条件 S 目的寄存器,源寄存器 MOV 指令可以完成从另一个寄存器、被移位的寄存器或将一个立即数载入到目的寄存器。其中,S 选项决定指令的操作是否影响 CPSR中条件标志位的值,当没有 S 时,指令不更新 CPSR 中条件标志位的值。 程序范例 MOV R1, R0;将寄存器R0 的值传送到寄存器 R1 MOV PC, R14;将寄存器R14 的值传送到 PC,常用于子程序返回 MOV R1, R0, LSL #3;将寄存器R0 的
8、值左移3位后传送 R1,MVN 指令,MVN 指令的格式 MVN 条件 S 目的寄存器,源寄存器 MVN 指令可以完成从另一个寄存器、被移位的寄存器,或将一个立即数载入到目的寄存器。与MOV 指令不同之处是在传送之前,对源寄存器的值进行取反。其中,S 选项决定指令的操作是否影响 CPSR中条件标志位的值,当没有 S 时,指令不更新 CPSR 中条件标志位的值。 程序范例 MVN R0, #0; 将立即数0 取反相值传送到寄存器 R0 中,完成后 R0= 1,CMP 指令,CMP 指令的格式 CMP 条件 操作数1,操作数2 CMP 指令用于把一个寄存器的內容和另一个寄存器的內容,或立即数进行比
9、较。同时更新 CPSR 中条件标志位的值。 该指令进行一次減法运算,但不保存结果,只更改条件标志位。 程序范例 CMP R1, R0;将寄存器R1 的值与寄存器 R0 的值相减,并根据结果设定 CPSR 的标志位 CMP R1, #100;将寄存器 R1 的值与立即数100相减,并根据结果设定 CPSR 的标志位,CMN 指令,CMN 指令的格式 CMN 条件 操作数1,操作数2 CMN指令用于把一个寄存器的內容和另一个寄存器的內容,或立即数进行比较。同时更新 CPSR 中条件标志位的值。 该指令实际完成操作数1与操作数2相加,并根据结果更改CPSR中的条件标志位。更改條件旗標位元。 程序范例
10、 CMN R1, R0;将寄存器R1 的值与寄存器 R0 的值相加,并根据结果设定 CPSR 的标志位 CMN R1, #100;将寄存器 R1 的值与立即数100相加,并根据结果设定 CPSR 的标志位,TST 指令,TST 指令的格式 TST 条件 操作数1,操作数2 TST 指令用于把一个寄存器的內容和另一个寄存器的內容,或立即數进行每一位的 AND 运算,并根据结果修改CPSR中的条件标志位。 操作数1是要测试的数据,而操作数2是一个位屏蔽数,该指令一般用来检测是否设定了特殊位。 程序范例 TST R1, #%1;用于测试在寄存器 R1 中是否设定了最低位元(%表示二进制数) TST
11、R1, #oxffe;将寄存器 R1 的值与立即数 0 xffe 按位AND 运算,并根据结果设定 CPSR中的条件标志位,TEQ 指令,TEQ 指令的格式 TEQ 条件 操作数1,操作数2 TEQ 指令用于把一个寄存器的內容和另一个寄存器的內容,或立即数进行每一位的 XOR 运算,并根据结果更新 CPSR 中条件标志位的值。 该指令通常用于比较操作数1和操作数2是否相等。 程序范例 TEQ R1, R2;寄存器R1 的值与寄存器 R2 的值执行XOR 运算,并根据结果来设定 CPSR 中的条件标志位,ADD 指令,ADD 指令的格式 ADD 条件 S 目的寄存器,操作数1,操作数2 ADD
12、指令用于把两个操作数相加,并将结果值存放到目的寄存器中。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数 程序范例 ADD R0, R1, R2; R0 = R1 + R2 ADD R0, R1, #256; R0 = R1 + 256 ADD R0, R2, R3, LSL#1; R0 = R2 + (R3 1),ADC 指令,ADC 指令的格式 ADC 条件 S 目的寄存器,操作数1,操作数2 ADC指令用于把两个操作数相加,再加上 CPSR 中的 C 条件标志位,并将结果值存放到目的寄存器中。它使用了进位标志,可以执行比32位数还要大的数值加法。 操作数
13、1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数 程序范例: 完成两个128位数的加法 ADDS R0, R4, R8; 加最低端的字 ADCS R1, R5, R9; 加第二个字,包含进位 ADCS R2, R6, R10;加第三个字,包含进位 ADC R3, R7, R11;加第四个字,包含进位,SUB 指令,SUB 指令的格式 SUB 条件 S 目的寄存器,操作数1,操作数2 SUB 指令用于把操作数1減去操作数2,并将结果值存放到目的寄存器中。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例 SUB R0, R1,
14、 R2; R0 = R1 R2 SUB R0, R1, #256; R0 = R1 256 SUB R0, R2, R3, LSL#1; R0 = R2 (R3 1),SBC 指令,SBC 指令的格式 SBC 条件 S 目的寄存器,操作数1,操作数2 SBC指令用于把操作数1減去操作数2 ,再减去 CPSR 中的 C 条件标志位的反码,并结果值存放到目的寄存器中。它使用了进位标志表示借位,可以执行大于32位的减法。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例 SUBS R0, R1, R2; R0 = R1 R2 !C,并根据结果来设定CPSR
15、 中条件标志位的值。,RSB 指令,RSB 指令的格式 RSB 条件 S 目的寄存器,操作数1,操作数2 RSB 指令称为逆向减法指令,用于把操作数2减去操作数1,并将结果值存放到目的寄存器中。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例 RSB R0, R1, R2; R0 = R2 R1 RSB R0, R1, #256; R0 = 256 R1 RSB R0, R2, R3, LSL#1; R0 = (R3 1) R2,RSC 指令,RSC 指令的格式 RSC 条件 S 目的寄存器,操作数1,操作数2 RSC 指令用于把操作数2减去操作数
16、1,再減去 CPSR 中的 C 条件标志位的反码,并将结果值存放到目的寄存器中。它使用了进位标志表示借位,可以执行大于32位的减法。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例: RSC R0, R1, R2; R0 = R2 R1 !C,并根据结果来设定CPSR 中条件标志位的值。,AND 指令,AND 指令的格式 AND 条件 S 目的寄存器,操作数1,操作数2 AND 指令用于在两个操作数上进行逻辑AND运算,并将结果值存放到目的寄存器中。该指令常用于屏蔽操作数1的某些位。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器
17、,或是一个立即数。 程序范例: AND R0, R0, #3; 该指令保持 R0 的第0与1位,其余位清除,ORR 指令,ORR 指令的格式 ORR 条件 S 目的寄存器,操作数1,操作数2 ORR 指令用于在两个操作数上进行逻辑 OR 运算,并将结果值存放到目的寄存器中。该指令常用于设置操作数1的某些位。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数 程序范例: ORR R0, R0, #3; 该指令设置 R 0 的第0与1位,其余位保持不变,EOR指令,EOR 指令的格式 EOR 条件 S 目的寄存器,操作数1,操作数2 EOR 指令用于在两个操作数上进
18、行逻辑XOR 运算,并将结果值存放到目的寄存器中。该指令常用于反转操作数1的某些位。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例: EOR R0, R0, #3; 该指令翻转R0 的第0与1位,其余位保持不变,BIC 指令,BIC 指令的格式 BIC 条件 S 目的寄存器,操作数1,操作数2 BIC 指令用于清除操作数1的某些位,并将结果值存放到目的寄存器中。该指令常用于清除操作数1的某些位。 操作数1应是一个寄存器,操作数2可以是一个寄存器、被移位的寄存器,或是一个立即数。 程序范例: BIC R0, R0, #%1011; 该指令清除 R0
19、 的第0、1与3位元,其余位保持不变,乘法指令与乘加指令,支持的乘法指令与乘加指令共有 6 个,可分为运算结果为 32位与 64 位等两种类型。 MUL:32 位元乘法指令 MLA: 32 位元乘加指令 SMULL 64: 64 位有符号数乘法指令 SMLAL 64: 64 位有符号数乘加指令 UMULL 64: 64 位无符号数乘法指令 UMLAL 64: 64 位无符号乘加指令,注1:与数据处理指令不同的是,指令中所有操作数与目的寄存器必须为通用寄存器,且不能对操作数使用立即数或被移位的寄存器。 注2: 目的寄存器和操作数1必须是不同的寄存器。,MUL 指令,MUL 指令的格式 MUL 条
20、件 S 目的寄存器,操作数1,操作数2 MUL 指令完成将操作数1与操作数2的乘法运算,并将结果值存放到目的寄存器中,并根据结果来更新 CPSR 中的条件标志位。 操作数1与操作数2均为 32 位的有符号数或无符号数。 程序范例: MULR0, R1, R2; R0 = R1 R2 MULS R0, R1, R2; R0 = R1 R2,同时设定 CPSR 中相应条件标志位,MLA 指令,MLA 指令的格式 MLA 条件 S 目的寄存器,操作数1,操作数2 ,操作数3 MLA 指令完成将操作数1与操作数2的乘法运算,再将乘积加上操作数3,并将结果值存放到目的寄存器中,并根据结果来更新 CPSR
21、 中的条件标志位。 操作数1、操作数2、操作数3均为 32 位的有符号数或无符号数。 程序范例: MLA R0, R1, R2, R3; R0 = R1 R2 + R3 MLAS R0, R1, R2, R3; R0 = R1 R2 + R3,同时设定 CPSR 中 相关条件标志位 MUL R1, R2, R3; R1 = R2 R3 MLAEQS R1, R2, R3, R4; R1 = R2 R3 + R4,同时设定 CPSR 中 相关条件标志位,SMULL 指令,SMULL 指令的格式 SMULL 条件 S 低目的寄存器 (RdLo),高目的寄存器 (RdHi),操作数1,操作数2 SM
22、ULL 指令完成将操作数1与操作数2的乘法运算,并把结果的低32位放置到 RdLo 中,结果的高32位元放置到 RdHi 中,同时可以根据运算结果来设定 CPSR 中相应的条件标志位。 操作数1与操作数2均为32位的有符号数。 程序范例: SMULL R0, R1, R2, R3; R0 = (R2 R3) 的低32位 ; R1 = (R2 R3) 的高32位,SMLAL 指令,SMLAL 指令的格式 SMLAL 条件 S 低目的寄存器 (RdLo),高目的寄存器 (RdHi),操作数1,操作数2 SMLAL指令完成将操作数1与操作数2的乘法运算,并把结果的低32位同目的寄存器 RdLo 的值
23、相加后又放置到 RdLo 中,结果果的高32位同目的寄存器 RdHi 的值相加后又放置到 RdHi 中,同时可以根据运算结果来设定 CPSR 中相应的条件标志位。 操作数1与操作数2均为32位的有符号数。 程序范例: SMLAL R0, R1, R2, R3; R0 = (R2 R3) 的低32位 +R0 ; R1 = (R2 R3) 的高32位 +R1,UMULL 指令,UMULL 指令的格式 UMULL 条件 S 低目的寄存器 (RdLo),高目的寄存器 (RdHi),操作数1,操作数2 UMULL指令完成将操作数1与操作数2的乘法运算,并把结果的低32位放置到 RdLo 中,结果的高32
24、位放置到 RdHi 中,同时可以根据运算结果来设定 CPSR 中相应的条件标志位。 操作数1与操作数2均为32位的无符号数。 程序范例: SMULL R0, R1, R2, R3; R0 = (R2 R3) 的低32位 ; R1 = (R2 R3) 的高32位,UMLAL 指令,UMLAL 指令的格式 UMLAL 条件 S 低目的寄存器 (RdLo),高目的寄存器 (RdHi),操作数1,操作数2 UMLAL指令完成将操作数1与操作数2的乘法运算,并把结果的低32位同目的寄存器 RdLo 的值相加后又放置到 RdLo 中,结果果的高32位同目的寄存器 RdHi 的值相加后又放置到 RdHi 中
25、,同时可以根据运算结果来设定 CPSR 中相应的条件标志位。 操作数1与操作数2均为32位的无符号数。 程序范例: UMLAL R0, R1, R2, R3; R0 = (R2 R3) 的低32位 +R0 ; R1 = (R2 R3) 的高32位 +R1,程序状态寄存器 (PSR) 存取指令,程序状态寄存器存取指令: 用于在程序状态寄存器和通用寄存器之间传送数据。 包括两种指令 MRS 存取指令: 程序状态寄存器到通用寄存器的数据传送指令 MSR 存取指令: 通用寄存器到程序状态寄存器的数据传送指令,状态寄存器读指令,在ARM处理器中,只有MRS指令可以对状态寄存器CPSR和SPSR进行读操作
26、。通过读CPSR可以了解当前处理器的工作状态。读SPSR寄存器可以了解到进入异常前的处理器状态。,MRScond Rd,psr,MRS指令格式,指令对应编码,指令执行的条件码,目标寄存器,不能为R15,区别CPSR(为0)和SPSR(为1)寄存器,MRScond Rd,psr,MRS指令格式,应用示例: MRS R1,CPSR; 将CPSR状态寄存器读取,保存到R1中 MRS R2,SPSR; 将SPSR状态寄存器读取,保存到R2中,状态寄存器写指令,在ARM处理器中,只有MSR指令可以对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写
27、操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。,MSRcond psr_fields,#immed_8r,MSR指令格式1,MSRcond psr_fields,Rm,MSR指令格式2,指令执行的条件码,CPSR或SPSR,指定传送的区域,可以为以下字母(必须小写)的一个或者组合: c 控制域屏蔽字节(psr7.0) x 扩展域屏蔽字节(psr15.8) s 状态域屏蔽字节(psr23.16) f 标志域屏蔽字节(psr31.24),保存要传送到状态寄存器指定域数据的源寄存器,要传送到状态寄存器指定域的立即数,(1),(2),(3),(4),在ARM处理器中,只有MSR指令可以
28、对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。,应用示例1: ;子程序:使能IRQ中断 ENABLE_IRQ MRS R0, CPSR BIC R0, R0,#0 x80 MSR CPSR_c,R0 MOV PC,LR,应用示例2: ;子程序:禁能IRQ中断 DISABLE_IRQ MRS R0 CPSR ORR R0, R0,#0 x80 MSR CPSR_c,R0 MOV PC,LR,1.将CPSR寄存器内容读出到R0;,2.修改对应于CPSR中的I控制位;,3.将修
29、改后的值写回 CPSR寄存器的对应控制域;,4.返回上一层函数;,单寄存器加载/存储指令,ARM 处理器支持加载/存储指令,用于寄存器和存储器之间传送数据,加载指令用于将存储器的数据传送到寄存器,存储指令则完成相反的动作。 常用的加载/存储指令 LDR字数据加载指令 STR字数据存储指令 LDRB字节数据加载指令 STRB字节数据存储指令 LDRH半字数据加载指令 STRH半字数据存储指令,LDR 指令,LDR 指令的格式为: LDR 条件 目的寄存器,存储器地址 程序范例 LDR R0, R1 ;将存储器地址为R1 的字数据读到 R0 LDR R0, R1, R2;将存储器地址为R1+R2
30、的字数据读到 R0 LDR R0, R1, #8 ;将存储器地址为R1+8 的字数据读到 R0 LDR R0, R1, R2 !;将存储器地址为R1+R2 的字数据读到 R0,并将新地址R1+R2 写入 R1 LDR R0, R1, #8 !;将存储器地址为R1+8 的字数据读到 R0,并将新地址R1+8 写入 R1 LDR R0, R1, R2 ;将存储器地址为R1 的字数据读到 R0, 并将新地址R1+R2 写入R1 LDR R0, R1, R2, LSL #2 !;将存储器地址为R1+R24 的字数据读到R0,并将新地址R1+R24 写入R1 LDR R0, R1, R2, LSL #2
31、;将存储器地址为R1 的字数据读到R0,并将新地址R1+R24 写入 R1,STR 指令,STR 指令的格式为: STR 条件 源寄存器,存储器地址 程序范例 STR R0, R1, #8 ;将 R0 中的字数据写到到以 R1 +8为地址的存储器中,R1的内容不变 STR R0, R1, #8 !;将R0 中的字数据写到以 R1+8 为地址的存储器中,并将新地址R1+8 写入 R1,举例,LDR R8,R10 LDRNE R1,R5,#960! STR R2,R9,#consta-struc LDR R1,localdata LDR R0,R1 ,R2,LSL #2 LDRB R0,R2,#3
32、 LDR R1,R0,-R2,LSL #2 STR R0, R7,# -8,R8 R10,(有条件地)R1R5+960,然后 R5R5+960,常量表达式,-40954095,加载一个字,该字位于标号Localdata所在位置,先将R1指向的内存单元的数据读入,再将R1 R1+R2x4,将R2+3中的字节数据读入R0,R0高24位置0,将R0-R2x4处的数据读到R1中, R0,R2中的值不变,将R0的数据写入到R7位置,再R7 R7-8,多寄存器存取/加载指令,LDM/STM Rn! ,编号低的寄存器在存储数据或者加载数据时对应于存储器的低地址,举例,LDMIA R1,R0,R2,R5 STMDB R1!,R3-R6,R11,R12 STMED SP!,R0-R7,LR,R0 R1 R2 R1+4 R5 R1+8,R1-4 R3 R1-8 R4 R1-12 R5 R1-16 R6 R1-20 R11 R1-24 R12 R1 R1-24,现场保存:将R0R7,LR入栈 R13 R0 R13-4 R1 。 R13 R13-36,SWP交换指令,在寄存器和存储器之间进行数据交换。使用SWP来实现信号量。 句法: SWP cond B Rd, Rm, Rn 其中:B 可选后缀。若有B,则交换字节;否则,交换32位字。 Rd ARM寄存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年河南省洛阳市初中数学七年级期末下册点睛提升黑金考题附答案
- PCR混采检测专项考核试题及详细答案
- 铜冶炼吹炼工安全操作规程
- 2026年配电箱线路绝缘检测理论与实操模拟试卷及答案
- 2025-2026学年江苏省南通市初中历史七年级期末上册高分黑金试卷详细参考解析
- OUM运营管理岗位实操考核试题(含详细答案)
- 帕金森病吞咽障碍饮水安全照护规范共识
- 线上处方药学审核要点专家共识(2025版)
- 老旧厂区拆除及场地平整施工方案
- 中级刨工理论考试题库及答案
- 秘书专业知识讲座
- 2025年4月自考00795综合英语(二)试题
- 《热学(第二版)》杨体强编-李椿 第8章 液体学习资料
- 初中入团考试题型及答案
- 河北省房屋建筑和市政基础设施工程施工招标文件示范文本(2025版)
- 江苏省苏州市六区联考2024-2025学年八年级上学期期末考试物理试题(含答案)
- 《多模式镇痛篇》课件
- 吉林大学《基础英语1》2023-2024学年第一学期期末试卷
- 【MOOC】颈肩腰腿痛中医防治-暨南大学 中国大学慕课MOOC答案
- 档案柜拆装、搬运及档案搬迁项目投标方案(技术方案)
- 建筑结构荷载规范DBJ-T 15-101-2022
评论
0/150
提交评论