




已阅读5页,还剩128页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章微处理器指令系统 微处理器的内部结构8086 8088的寻址方式8086 8088指令系统 第2章微处理器指令系统 微处理器的内部结构8086 8088的寻址方式8086 8088指令系统 微处理器的基本结构 算术逻辑单元ALUArithmeticLogicUnit寄存器组通用寄存器 地址寄存器 标志寄存器指令处理单元 8086 8088的功能结构 总线接口单元BIU 对外 BusInterfaceUnit负责CPU对存储器 指令 数据 和外设进行访问执行单元EU 不对外 ExecutionUnit负责指令的译码 执行和数据的运算 AHAL BHBL CHCL DHDL SP BP DI SI 通用寄存器 运算寄存器 ALU 标志 执行部分控制电路 1234 CS DS SS ES IP 内部寄存器 总线控制逻辑电路 20位 8位 4个字节 指令队列缓冲器 外总线 执行单元 EU 总线接口单元 BIU 8088CPU结构图 图2 2 数据寄存器 地址寄存器 地址译码 指令预取 8086 8088的寄存器结构 通用寄存器AX BX CX DX SI DI BP SP指令指针IP标志寄存器FLAGS段寄存器CS SS DS ES参见 图2 3 P19 16位通用寄存器 AX 累加器 Accumulator BX 基址寄存器 Baseaddress CX 计数器 Counter DX 数据寄存器 Dataregister SI 源变址寄存器 SourceIndex DI 目的变址寄存器 DestinationIndex SP 堆栈指针寄存器 StackPointer BP 基址指针寄存器 BasePointer 8位通用寄存器 4个16位通用寄存器 AX BX CX DX 可各分成高8位和低8位两个独立的8位寄存器 它们分别是 AX AH ALBX BH BLCX CH CLDX DH DL 指令指针IP 指令指针IP InstructionPointer 指示下一条指令的地址 IP是一个专用寄存器 用户不能直接访问 透明寄存器 标志寄存器FLAGS 分为两类状态标志 用于反映指令的执行结果 自动 控制标志 用于控制指令的执行形式 人工 各种标志存放于一个16位的标志寄存器FLAGS中 奇偶标志PF ParityFlag 当运算结果的低8位中1的个数为偶数时 则PF置1 反之置0 零标志ZF ZeroFlag 运算结果为0时 ZF置1 否则ZF置0 符号标志SF SignFlag 运算结果的最高位为1时 SF置1 否则SF置0 进位标志CF CarryFlag 做无符号数加减运算时 若最高位有进位或借位 则CF 1 反之CF 0 辅助进位标志AF AuxitiaryCarryFlag 做加减运算时 若D3有向D4的进位或借位 则AF置1 反之置0 溢出标志OF OverflowFlag 有符号数的加减运算超过了所能表示的范围时 OF 1 否则OF 0 CF和OF的对比 有符号数的加减运算超过了所能表示的范围时 OF 1 否则OF 0 做无符号数加减运算时 若最高位有进位或借位 则CF 1 反之CF 0 陷阱标志TF TrapFlag TF 1 CPU单步执行指令 TF 0 CPU正常工作 用于程序的调试 中断允许标志IF InterruptenableFlag 确定外部中断是否可以被CPU响应 或者说当前工作能否被打扰 IF 1允许中断IF 0禁止中断 方向标志DF DirectionFlag 用于串操作指令中控制地址的变化方向 DF 0则每次串操作后存储器地址自动增加 DF 1则每次串操作后存储器地址自动减少 进借位标志 奇偶标志 半进借位标志 零标志 符号标志 单步中断 中断允许 方向标志 溢出标志 1 有进 借位0 无进 借位 1 低8位有偶数个10 低8位有奇数个1 1 低4位向高4位有进 借位0 低4位向高4位无进 借位 1 结果为00 结果不为0 1 有溢出0 无溢出 22 位 bit 二进制位 为0或1字节 Byte 8个二进制位字 Word 2字节 16位 双字 DWord 4字节 32位 千字节 KB 210个字节兆字节 MB 220个字节 8086 8088的存储器结构 存储器以字节为单位存储信息每个存储单元存储一个字节的数据 8086 8088的存储器结构 每个存储单元都有一个地址 编号 8086 8088有20根地址线 最大可寻址的存储器单元数为220 1MB 其物理地址范围为00000H FFFFFH 例如 00002H 34H 参考 图2 5P22 8086 8088的存储器结构 低地址 LSB MSB 小端方式 字或双字信息在存储器中占据相邻的2个或4个存储单元 多字节数据占据的地址空间用低地址来表示 低字节对低地址 高字节对高地址 高高低低 例如 00002H 1234H意指 00002H 34H 00003H 12H 存储器的分段管理 8086 8088将1MB存储器空间分成若干个逻辑段来管理 每个段最大限制为64KB 采用逻辑地址 段地址 偏移地址 的形式来表达段中每个存储器单元的20位物理地址 段地址和偏移地址都是16位二进制数 段地址 段地址说明该逻辑段在内存中的起始位置 即该段中的第一个内存单元的物理地址 段地址必须是模16地址 即 0H的形式 故可采用16位二进制数据表示 保存在段寄存器 CS DS ES SS 中 偏移地址 偏移地址说明该段中某个内存单元距离该段起始位置的段内偏移量 由于每个段的长度不超过64KB 故偏移地址也可采用16位二进制数据表示 B8210H 4567HBC777H 逻辑地址和物理地址 物理地址 段地址 10H 偏移地址例 逻辑地址为B821H 4567H 则其对应的物理地址为BC777H 存储器单元的地址 物理地址 逻辑地址 段 偏移 存储器单元的地址 逻辑地址1460 100 1380 F00物理地址14700H14700H 一个物理地址可以有多个逻辑地址 代码段 CodeSegment 代码段主要用来存放指令代码 也可存放数据 代码段寄存器CS存放代码段的段地址 指令指针寄存器IP指示下条指令的偏移地址 数据段 DataSegment 数据段存放程序所使用的数据 数据段寄存器DS存放数据段的段地址 通过各种存储器寻址方式得到存储器中操作数的偏移地址 附加段 ExtraSegment 附加段是附加的数据段 也用于数据的保存 附加段寄存器ES存放附加段的段地址 通过各种存储器寻址方式得到存储器中操作数的偏移地址 堆栈段 StackSegment 堆栈段用于堆栈 Stack 用来暂时存放数据 保存程序断点 和向子程序传递参数等 堆栈段寄存器SS存放堆栈段的段地址 堆栈指针寄存器SP指示堆栈栈顶的偏移地址 第2章微处理器指令系统 微处理器的内部结构8086 8088的寻址方式8086 8088指令系统 指令的格式 指令由操作码和操作数两部分组成 LABEL MOVAH 0B9H 赋值WVARDB4AH 56H 定义字节变量操作码 说明要执行何种操作 操作数 各种操作的对象 标识符 最长31个字母 不能以数字开头 8086 8088的寻址方式 寻找操作数的方式 或操作数的存放方式 叫做操作数的寻址方式 立即数操作数 Immediate 寄存器操作数 Register 存储器操作数 Memory 立即数寻址方式 MOVAX 1234H 操作数1234H为立即数操作数 使用的是立即数寻址方式 指令执行后AX 1234H AH 12H AL 34H 例 MOVAL 05H指令执行后 AL 05H 例 MOVAX 3064H指令执行后 AX 3064H 立即寻址方式 低地址 高地址 低地址 高地址 寄存器寻址方式 MOVAX BX 操作数AX BX均为寄存器操作数 使用的是寄存器寻址方式 指令执行后AX中的值与BX中的值相同 而BX中的值不变 例 MOVAX BX指令执行后 AX 3064H BX 保持不变 指令执行前 指令执行后 寄存器寻址方式 存储器寻址方式 存储器操作数存放于存储器单元中 指令中给出的是操作数所在的存储器单元的逻辑地址 偏移地址 BX BP SI DI i8 i16 表2 2 有效地址 有以下5种具体方式 1 直接寻址方式 2 寄存器间接寻址 3 寄存器相对寻址 4 基址变址寻址 不要求 5 相对基址变址寻址 不要求 1 直接寻址方式 指令中直接给出操作数的偏移地址 段地址默认在DS中 可用段超越前缀来改变 设DS ES 1492H 16920H 12H 16921H 34HMOVAH 2000H AH 12HMOVAX ES 2000H AX 3412H参考 图2 8 MOVAX 1050H 假设DS 4500H 执行后 AX 2762H 2 寄存器间接寻址方式 操作数的偏移地址存放于寄存器BX BP SI DI中 1 使用寄存器BP寻址时 默认的段寄存器为SS 2 使用其他寄存器寻址 默认的段寄存器为DS 3 均可以使用段超越前缀改变 设DS 1492H ES 1492H BX 2000H 16920H 12HMOVAL BX AL 12HMOVDH ES BX DH 12H 3 寄存器相对寻址方式 操作数的偏移地址是寄存器 BX BP SI DI 的内容与有符号的8位或16位位移量之和 设DS ES 1492H SI 2000H 16926H 12HMOVAL SI 06H AL 12HMOVDH ES SI 06H DH 12H 用变量名来提供地址 实际编程时 通常是通过定义变量 使用变量名来指代该变量所在内存单元的偏移地址 WVARDW3412H 设WVAR的偏移地址为2000HMOVAX 2000H AX 3412HMOVAX WVAR AX 3412H MOVAX WVAR AX 3412H 中括号可省略 例 下面分别采用的是那种寻址方式 MOVAX DX MOVAX 3541H MOVAX SI MOVAX BP 5678H 例 下面几种寻址方式是否正确 MOVAX DX MOVAX 1200 寄存器寻址 寄存器间接寻址 立即数寻址 寄存器相对寻址 X MOVAX 1200H MOVAX BX MOVAX 1200H MOVAX BX MOVAX BX 1100H 课后习题2 8 AX 1200H 立即数寻址 DS 2000HBX 0100HSI 0002H AX 0100H 寄存器寻址 AX 4C2AH 存储器直接寻址 AX 3412H 寄存器间接寻址 AX 4C2AH 寄存器相对寻址 只看前五个小题 第2章微处理器指令系统 微处理器的内部结构8086 8088的寻址方式8086 8088指令系统 8086 8088指令系统 数据传送类指令算术运算类指令按位操作类指令控制转移类指令处理器控制指令 操作数的表示符号的约定 i8 8位立即数 i16 16位立即数imm 代表i8或i16r8 8位寄存器 r16 16位寄存器reg 代表r8或r16seg 段寄存器CS DS ES SS m8 8位存储器操作数m16 16位存储器操作数mem 代表m8或m16dest 目的操作数src 源操作数 MOV传送指令 MOVreg mem imm 立即数送寄存器或主存MOVreg mem seg reg 寄存器送 段 寄存器 寄存器送主存MOVreg seg mem 主存送 段 寄存器MOVreg mem seg 段寄存器送寄存器 段寄存器送主存 MOV指令注意事项 1 目的操作数不能是立即数 MOV2000 AX 错误指令两个操作数不能都是存储器操作数 假设WV1 WV2是两个字变量MOVWV1 WV2 错误指令两个操作数不能都是段寄存器 MOVDS ES 错误指令立即数不能直接传送至段寄存器 MOVDS 2000H 错误指令 MOV指令注意事项 2 不能手工修改CS寄存器 MOVCS AX 错误指令指令指针IP不能作为操作数 MOVAX IP 错误指令目的操作数与源操作数必须类型一致 MOVAX BH 错误指令无寄存器 则需说明主存操作数的类型MOV 2000H 23H 错误指令 MOVBYTEPTR 2000H 23H 正确 将字变量WV2的内容传送至字变量WV1将ES的内容传送至DS将段寄存器DS赋初值2000H MOV指令练习 MOVAX WV2MOVWV1 AX MOVAX ESMOVDS AX MOVAX 2000HMOVDS AX XCHG交换指令 exchange XCHGreg reg mem XCHGreg mem reg 源操作数与目的操作数内容互换MOVAX 1234H AH 12H AL 34HXCHGAH AL AH 34H AL 12H不能在内存单元之间交换数据 段寄存器不能作为操作数 XCHG指令练习 将字变量A B的内容互换ADW1234HBDW5678H 方法1 MOVAX BXCHGAX AMOVB AX 方法2 MOVAX AMOVBX BMOVA BXMOVB AX 堆栈 内存中开辟的用于暂时存放数据的一个特殊区域 按先进后出或后进先出的原则管理 堆栈段的段地址存放于段寄存器SS中 偏移地址存放于寄存器SP中 堆栈操作指令 PUSHr16 m16 seg SP SP 2 SS SP r16 m16 segPOPr16 m16 seg r16 m16 seg SS SP SP SP 2 堆栈操作指令示例 MOVAX 1234HMOVBX 5678HPUSHAXPUSHBXPOPCXPOPDX 入栈操作示意 出栈操作示意 PUSHAX PUSHBX POPCX POPDX 堆栈操作注意事项 堆栈操作均为16位 字 操作 不能将立即数压入堆栈 进栈和出栈的操作伴随着堆栈指针SP的调整 SS SP永远指向堆栈段的栈顶 堆栈只有一个出口 堆栈指令练习 利用堆栈将两个字变量A B的内容互换ADW1234HBDW5678H PUSHAPUSHBPOPAPOPB LEA指令 LoadEffectiveAddress LEAr16 mem r16 mem的偏移地址例如 LEABX SI 06H 若SI 1000H 则BX 1006H LEA指令示例 WVARDW1234H 设其偏移地址为0001H请说明下列语句的执行结果 MOVBX WVAR LEASI WVAR MOVDX SI BX 1234H SI 0001H DX 1234H 加减法指令 ADDdest src dest dest srcSUBdest src dest dest src ADD加法指令 Addition ADDreg imm reg memADDmem imm reg目的操作数不能为立即数 两操作数不能同时为存储器操作数 两操作数类型要一致 按定义影响6个状态标志位 SUB减法指令 Subtraction SUBreg imm reg memSUBmem imm reg目的操作数不能为立即数 两操作数不能同时为存储器操作数 两操作数类型要一致 按定义影响6个状态标志位 加减法指令示例 MOVAH 96H ADDAH 78H ADDAH 78H 1 AH 0EH 00001110B CF 1 PF 0 AF 0 ZF 0 SF 0 OF 0 2 AH 86H 10000110B CF 0 PF 0 AF 1 ZF 0 SF 1 OF 1 带进 借位加减法指令 ADCdest src dest dest src CFSBBdest src dest dest src CF ADC指令 AddwithCarry ADCreg imm reg memADCmem imm reg目的操作数不能为立即数 两操作数不能同时为存储器操作数 两操作数类型要一致 按定义影响6个状态标志位 SBB指令 SubtractwithBorrow SBBreg imm reg memSBBmem imm reg目的操作数不能为立即数 两操作数不能同时为存储器操作数 两操作数类型要一致 按定义影响6个状态标志位 ADC指令和SBB指令的应用 ADC指令用于与ADD指令结合实现多精度数的加法 先将两个操作数的低16位相加 用ADD指令 再加高位部分 并将进位加到高位 用ADC指令 SBB指令用于与SUB指令结合实现多精度数的减法 先将两个操作数的低16位相减 用SUB指令 再减高位部分 并减去借位 用SBB指令 带进 借位加减法指令示例 XDD12345678HYDD9ABCDEF0H MOVAX WORDPTRX ADDAX WORDPTRY MOVDX WORDPTRX 2 ADCDX WORDPTRY 2 AX 5678H AX 3568H CF 1 DX 1234H CF 1 DX ACF1H CF 0 CMP比较指令 Compare CMPdest src dest src按定义影响6个状态标志位 CMP指令通过减法运算影响状态标志位 常用于比较两个操作数的大小关系 CMP指令执行前后两操作数内容均不变 INC增量指令 Increment INCreg mem reg mem reg mem 1常用于计数器和地址指针的调整 不影响CF标志 但影响其它状态标志位 DEC减量指令 Decrement DECreg mem reg mem reg mem 1常用于计数器和地址指针的调整 不影响CF标志 但影响其它状态标志位 NEG指令 Negate NEGreg mem reg mem 0 reg mem按定义影响6个状态标志位 注意事项 理解 不要死记 通常情况下 OF 0 只有当操作数为 128或 32768时 操作数不变 OF 1 通常情况下 CF 1 除非操作数为0 MUL无符号乘法指令 Multiplication MULr8 m8 AX AL r8 m8隐含操作数AX ALMULr16 m16 DX AX AX r16 m16隐含操作数DX AX IMUL有符号乘法指令 IntegerMultiply IMULr8 m8 AX AL r8 m8隐含操作数AX ALIMULr16 m16 DX AX AX r16 m16隐含操作数DX AX DIV无符号除法指令 Division DIVr8 m8 AL AX src的商 AH AX src的余DIVr16 m16 AX DX AX src的商 DX DX AX src的余 IDIV有符号除法指令 IntegerDivision IDIVr8 m8 AL AX src的商 AH AX src的余IDIVr16 m16 AX DX AX src的商 DX DX AX src的余 符号扩展指令CBW CWD CBW ConvertBytetoWord AL符号扩展成AX若AL的最高有效位是0 则AH 00H 若AL的最高有效位是1 则AH FFH CWD ConvertWordtoDWord AX符号扩展成DX AX若AX的最高有效位是0 则DX 0000H 若AX的最高有效位是1 则DX FFFFH 符号扩展指令CBW CWD 例 MOVAL 64H CBW ADDAX 0FF00H CWD AL 64H AX 0064H AX FF64H DX AX FFFFFF64H 符号扩展指令不改变数值大小 乘除法指令练习 计算 X Y 125 Z 设X Y Z均为16位有符号的字变量 计算后将商存入X 余数存入Y MOVAX XIMULYADDAX 125ADCDX 0IDIVZMOVX AXMOVY DX注意 乘除法指令均不能使用立即数操作数 逻辑运算指令 ANDdest src dest dest 与 srcORdest src dest dest 或 srcXORdest src dest dest 异或 srcTESTdest src dest 与 srcNOTreg mem reg mem reg mem的 非 逻辑运算指令注意事项 目的操作数不能为立即数 两操作数不能同时为存储器操作数 两操作数类型要一致 双操作数逻辑运算指令均置OF CF 0按定义影响SF ZF和PF 对AF无定义NOT指令不影响状态标志位 逻辑 与 运算特点 和0相 与 结果为0 和1相 与 结果不变 用于给某一位 清零 逻辑 或 运算特点 和0相 或 结果不变 和1相 或 结果为1 用于给某一位 置1 逻辑 异或 运算特点 和1 异或 结果取反 和0 异或 结果不变 用于给某一位 取反 例2 13 MOVAL 75H ANDAL 32H ORAL 71H XORAL OF1H NOTAL AL 75H AL 30H CF OF 0 SF 0 ZF 0 PF 1 AL 71H CF OF 0 SF 0 ZF 0 PF 1 AL 80H CF OF 0 SF 1 ZF 0 PF 0 AL 7FH CF OF 0 SF 1 ZF 0 PF 0 逻辑运算指令练习 1 使AL最高位为 1 其他位不变 ORAL 80H 使AX清0 同时清CF为0 ANDAX 0或XORAX AX 使AL中的D7 D4位不变 D3 D0位取反 XORAL 0FH 逻辑运算指令练习 2 将AL存放的0 9中的一个数变成对应的ASCII码 ORAL 30H 将AL中的ASCII码小写字母变成对应的大写字母 ANDAL DFH 将AL中的ASCII码大写字母变成对应的小写字母 ORAL 20H SHL逻辑左移位 ShiftLogicLeft SHLreg mem 1 CL reg mem左移1 CL位例1 MOVAL 10111110BSHLAL 1 AL 01111100B CF 1例2 MOVAL 10111110BMOVCL 3SHLAL CL AL 11110000B CF 1 SHR逻辑右移位 ShiftLogicRight SHRreg mem 1 CL reg mem右移1 CL位例1 MOVAL 10111110BSHRAL 1 AL 01011111B CF 0例2 MOVAL 10111110BMOVCL 3SHRAL CL AL 00010111B CF 1 SAR算术右移位 ShiftArithmeticRight SARreg mem 1 CL reg mem右移1 CL例1 MOVAL 10111110BSARAL 1 AL 11011111B CF 0例2 MOVAL 10111110BMOVCL 3SARAL CL AL 11110111B CF 1 SAL算术左移位 ShiftArithmeticLeft SALreg mem 1 CL reg mem左移1 CL位MOVAL 10111110BSALAL 1 AL 01111100B CF 1与逻辑左移SHL是同一条指令可以认为是同一条指令的两种写法 ROL循环左移位 RotateLeft ROLreg mem 1 CL 循环左移1 CL位MOVAL 10111110BROLAL 1 AL 01111101B CF 1自身循环 不添加任何新的数字 ROR循环右移位 RotateRight RORreg mem 1 CL 循环右移1 CL位MOVAL 10111110BRORAL 1 AL 01011111B CF 0自身循环 不添加任何新的数字 RCL指令 RotatethroughCFLeft RCLreg mem 1 CL 带进位循环左移MOVAL 10111110B 假设CF 0RCLAL 1 AL 01111100B CF 1增加CF作为其一位 8位变9位 16位变17位 RCR指令 RotatethroughCFRight RCRreg mem 1 CL 带进位循环右移MOVAL 10111110B 假设CF 1RCRAL 1 AL 11011111B CF 0增加CF作为其一位 8位变9位 16位变17位 移位指令对标志位的影响 CF 最后一次移出的数 当移位次数大于1时 可以看成多次移动一位 每次都将移出的数放入CF中 则CF中最终存放的是最后一次移出的数 用移位指令将AL中的无符号数乘10 结果存入AX中 例2 16 XORAH AH SHLAX 1 MOVBX AX SHLAX 1 SHLAX 1 ADDAX BX SHL逻辑左移一位相当于无符号数乘以2SHR逻辑右移一位相当于无符号数除以2 用移位指令实现乘法 AH清0 与MOV指令不同 AX AL 2 BX AL 2 AX AL 4 AX AL 8 AX AL 10 控制转移类指令 程序代码在代码段中 由CS IP确定地址 程序顺序执行 微处理器自动增量IP 段内转移在当前代码段范围内的程序转移 不需更改CS 只要改变IP 段间转移从当前代码段转移到另一代码段 需要更改CS和IP JMP无条件转移指令 Jump JMPLABEL例如NEXT MOVAX BX JMPNEXT NEXT是用户自定义的标识符 按规则任意定义 其作用是用来指代某条指令的地址 其后一定有冒号 条件转移指令Jcc 根据指定的条件来确定程序是否发生转移JccLABEL 条件满足 发生转移 否则 顺序执行下一条指令LABEL表示目标地址转移条件包括两类 单个标志状态作为条件两数大小关系作为条件 转移条件cc 单个标志状态 转移条件cc 比较大小关系 无符号数 有符号数 例 将有符号数转换为绝对值 CMPAL 0JGENEXT 为正数 转移到NEXTNEGAL 为负数 转换为绝对值NEXT 例 实现CBW指令功能的程序 MOVAL BVAR 取出要判断的数据TESTAL 80H 测试最高位JZNEXT 最高位为0 转移到NEXTMOVAH 0FFH 最高位为1 设置AH FFHJMPDONE 无条件跳过另一个分支NEXT MOVAH 0 最高位为0转移到此DONE 例 取三个无符号字变量的最小值到AX MOVAX V1 假定V1最小CMPAX V2 与V2比较JBENEXT V1 V2 转移到NEXTMOVAX V2 V2 V1NEXT CMPAX V3JBEDONE AX V1或V2 最小MOVAX V3 V3最小DONE 循环指令LOOP LOOPLABEL CX CX 1 若CX 0 转移LOOP指令是针对CX计数器的计数循环指令等效为下列两条指令DECCXJNZLABEL循环指令不影响标志 循环指令练习 已知字节数组ARRAY包含四个元素 将其各元素之和存入变量SUM中 不考虑进位和溢出 ARRAYDB12H 34H 56H 78HSUMDB MOVCX 4 计数初值XORAL AL 求和初值为0MOVBX 0 数组指针为0AGAIN ADDAL ARRAY BX 求和INCBXLOOPAGAINDONE MOVSUM AL 保存结果 计数循环示意 子程序与主程序 子程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 焊接检验考试题及答案
- 韩语等级考试题及答案
- 广东地理考试题及答案
- 工业吊车考试题及答案
- 高中作文考试题及答案
- 肺水肿考试题及答案
- 法律在线考试题及答案
- 儿歌写作考试题及答案
- 产品推广方案策划及执行表
- 电机放电考试题及答案
- 专业人才培养方案论证报告(2篇)
- 安全保密管理方案(2篇)
- 【组织沟通障碍及其对策探究-以A企业为例12000字(论文)】
- 殡葬礼仪服务投标方案(技术方案)
- 血液灌流治疗癌症的原理与前景
- 2024年四川能投宜宾市叙州电力限公司招聘高频考题难、易错点模拟试题(共500题)附带答案详解
- -广告制作报价单-明细
- 屁屁辅助脚本
- 【顺丰集团财务共享中心运作问题与优化建议探析15000字(论文)】
- 肺功能科普知识宣传
- 中医科室发展规划方案
评论
0/150
提交评论