版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微型计算机原理及其应用
——8086/8088的指令系统1第三章:8086/8088的指令系统寻址方式指令系统2第三章:8086/8088的指令系统寻址方式指令系统3第三章:8086/8088的指令系统——寻址方式什么叫指令?指令系统?寻址方式?指令:计算机提供给用户的硬件命令。指令系统(集):指令的集合。操作码:指计算机所要执行的操作,即指出操作类型,是一种助记符。操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。寻址方式:就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。
指令的一般格式4第三章:8086/8088的指令系统——寻址方式什么叫指令?指令系统?寻址方式?例如:ADDCL,BH在计算机内部的表示:00000010110011115第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)6第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)7第三章:8086/8088的指令系统——寻址方式立即寻址方式(ImmediateAddressing)
操作数作为指令的一部分而直接写在指令中,这种操作数称为立即数,这种寻址方式也就称为立即数寻址方式。MOVAX,3412H8第三章:8086/8088的指令系统——寻址方式立即寻址方式(ImmediateAddressing)立即操作数可以是8位或16位,并且是指令的一部分。立即数据总是紧跟在指令操作码之后并和操作码一起存放在代码段中,因而立即数据总是和操作码一起被放入BIU中的指令队列里,在指令执行时不需再存取存储器。MOVAH,80H
ADDAX,1234H
MOVECX,123456H
MOVB1,12H
MOVW1,3456H
ADDD1,32123456H
其中:B1、W1和D1分别是字节、字和双字单元。
以上指令中的第二操作数都是立即数,在汇编语言中,规定:立即数不能作为指令中的第一操作数。该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致。
使用立即寻址的指令主要用来给寄存器赋初值。9第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)10第三章:8086/8088的指令系统——寻址方式寄存器寻址方式(RegisterAddressing)
操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等,指令指定寄存器号。MOVAX,BX11第三章:8086/8088的指令系统——寻址方式寄存器寻址方式(RegisterAddressing)对于16位操作数,寄存器可以是AX,BX,CX,DX,SI,DI,SP或BP;而对8位操作数,寄存器可以是AH,AL,BH,BL,CH,CL,DH或DL。特点:操作数在CPU内,不用通过总线读写,速度快;目的和源操作数均可采用此寻址方式。 MOVAX,BX; MOVCL,DL; MOVESI,EDI; INCCX; ROLAH,1;12第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)13第三章:8086/8088的指令系统——寻址方式直接寻址方式(DirectAddressing)
操作数的有效地址(EffectiveAddress,EA。在IBMPC中把操作数的偏移地址称为有效地址)是指令的一部分,它与操作码一起存放在代码段中,但操作数一般是在数据段中,因而这种寻址方式是以DS的内容为基准。MOV
AL,
DS:[2000H](MOVAL,[2000H])14第三章:8086/8088的指令系统——寻址方式直接寻址方式(DirectAddressing)若DS=4000H,则此指令式将数据段中物理地址为42000H单元的内容传送AL寄存器。例:MOV
AL,[2000H];[DS*10H+2000H]送AL;MOV
AX,[2000H];[DS*10H+2000H]送AL,[DS*10H+2000H+1]送AH;MOV
AL,ES:[2000H];这里ES是段超越前缀,所以源操作数是在ES*10H+2000H的内存单元中。MOV
[3000H],AL;目的操作数采用直接寻址,将AL送[DS*10H+3000H]的内存单元。15第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)16第三章:8086/8088的指令系统——寻址方式寄存器间接寻址方式(RegisterIndirectAddressing)
操作数的有效地址EA存放在基址寄存器(BX或BP)或变址寄存器
(DI或SI)中。
MOV
AX,
[BX]17第三章:8086/8088的指令系统——寻址方式寄存器间接寻址方式(RegisterIndirectAddressing)MOVAL,[BX];[DS*10H+BX]送AL设DS=3000H,BX=2000H,(32000H)=45H,则执行该指令后,AL=45H。MOVAL,[BP];[SS*10H+BP]送AL设DS=2000H,SS=1000H,BP=0100H,(10100H)=3BH,(20100H)=4CH。执行这条指令后,AL=3BH。MOVAX,[BX];
[DS*10H+BX]送AL,[DS*10H+BX+1]送AH18第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)19第三章:8086/8088的指令系统——寻址方式寄存器相对寻址方式(RegisterRelativeAddressing)操作数的有效地址EA是8位或16位的位移量与基址寄存器BX或基址指示器BP或某个变址寄存器(DI或SI)之和。
MOVAl,[BX+5]20第三章:8086/8088的指令系统——寻址方式寄存器相对寻址方式(RegisterRelativeAddressing)MOVAL,5[BX]MOVAL,[BX+5]COUNTEQU5
MOVAL,COUNT[BX]以上三个例子是等价的,它执行的操作是:[DS*10H+BX+5]送AL。这里,5称为位移量(displacement),它可以是8位或16位的二进制数。21第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)22第三章:8086/8088的指令系统——寻址方式基址加变址寻址方式(BasedIndexedAddressing)
有效地址EA是由基址寄存器BX(或基址指示器BP)的内容与变址寄存器(DI或SI)的内容之和。
MOVAX,[BX+SI]23第三章:8086/8088的指令系统——寻址方式8086/8088指令系统中有哪些寻址方式?立即寻址方式(ImmediateAddressing)寄存器寻址方式(RegisterAddressing)直接寻址方式(DirectAddressing)寄存器间接寻址方式(RegisterIndirectAddressing)寄存器相对寻址方式(RegisterRelativeAddressing)基址加变址寻址方式(BasedIndexedAddressing)相对基址加变址寻址方式(RelativeBasedIndexedAddressing)24第三章:8086/8088的指令系统——寻址方式相对基址加变址寻址方式(RelativeBasedIndexedAddressing)操作数EA的有效地址是一个基址寄存器和一个变址寄存器的内容和8位或16位位移量之和。例如:
MOVAX,COUNT[BX][SI]MOVAX,COUNT[BX+SI]MOVAX,[BX+SI+COUNT]以上三者等价若(DS)=3000H,(BX)=2000H,(SI)=1000H,COUNT=0250H,则物理地址=16d*(DS)+(BX)+(SI)+COUNT
=30000+2000+1000+0250=33250H25第三章:8086/8088的指令系统——寻址方式段寄存器使用的基本约定
26第三章:8086/8088的指令系统寻址方式指令系统27第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)28第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)29第三章:8086/8088的指令系统——指令系统数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。30第三章:8086/8088的指令系统——指令系统数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。31第三章:8086/8088的指令系统——指令系统数据传送指令——通用数据传送指令1.MOV(Move)传送格式为:MOVDST,SRC(DST:目的操作数;SRC:源操作数)执行操作:(DST)(SRC)其中:DST可以是通用寄存器、段寄存器、存储器操作数;SRC可以是通用寄存器、段寄存器、存储器操作数、立即数。32第三章:8086/8088的指令系统——指令系统数据传送指令——通用数据传送指令对于MOV指令应注意几个问题:①存储器传送指令中,不允许对IP进行操作,CS不能作为目的操作数;②两个操作数中,除立即寻址之外必须有一个为寄存器寻址方式,即两个存储器操作数之间不允许直接进行信息传送;如我们需要把地址(即段内的地址偏移量)为AREA1的存储单元的内容,传送至同一段内的地址为AREA2的存储单元中去,MOV指令不能直接完成这样的传送,但我们可以CPU内部寄存器为桥梁来完成这样的传送:
MOVAL,AREA1
MOVAREA2,AL③两个段寄存器之间不能直接传送信息,也不允许用立即寻址方式为段寄存器赋初值;如:
MOV
AX,0
MOV
DS,AX④目的操作数,不能用立即寻址方式。
33第三章:8086/8088的指令系统——指令系统数据传送指令——通用数据传送指令2.PUSH(Pushontothestack)进栈指令格式为:PUSHSRC执行操作:(SP)(SP)-2
((SP)+1,(SP))(SRC)功能:将数据压入堆栈注意:源操作数可以是CPU内部的
16位通用寄存器、段寄存器(CS除
外)和内存操作数(所有寻址方式)。
入栈操作对象必须是16位数,不能
是8位数。例如:
MOVAX,0543H
PUSHAX34第三章:8086/8088的指令系统——指令系统数据传送指令——通用数据传送指令3.POP(Popfromthestack)出栈指令格式为:POPDST执行操作:(DST)((SP)+1,(SP))
(SP)(SP)+2功能:将数据弹出堆栈注意:对指令执行的要求同入栈指令。
例如:
POPDX
POP[BX]
POPDS35第三章:8086/8088的指令系统——指令系统数据传送指令——通用数据传送指令4.XCHG(Exchange)交换指令格式为:XCHGOPR1,OPR2执行操作:(OPR1)(OPR2)功能:完成数据交换
注意:交换指令可把一个字节或
一个字的源操作数与目的操作数
相交换。交换能在通用寄存器之间、
通用寄存器与存储器之间进行。
但段寄存器和立即数不能作为一个
操作数。例如:
XCHGAL,CL
XCHGAX,DI
XCHGBX,SI
XCHGAX,BUFFER
XCHGDATA[SI],DHXCHGAX,BX;AX←→BX36第三章:8086/8088的指令系统——指令系统数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。37第三章:8086/8088的指令系统——指令系统数据传送指令——地址传送指令1.LEA(LoadEffectiveAddress)有效地址传送指令格式为:LEAOPRD1,OPRD2功能:把源操作数OPRD2的地址
偏移量传送至目的操作数OPRD1。注意:①源操作数必须是一个内存
操作数②目的操作数必须是一个16
位的通用寄存器。这条指令通常用
来建立串操作指令所须的寄存器指
针。例如:
LEABX,[DI]38第三章:8086/8088的指令系统——指令系统数据传送指令——地址传送指令2.LDS(LoadPointerIntoDS)取地址指针指令格式为:LDSOPRD1,OPRD2功能:完成一个地址指针的传送。
地址指针包括段地址部分和偏移
量部分。指令将段地址送入DS,
偏移量部分送入一个16位的指针寄
存器或变址寄存器。注意:源操作数是一个内存操作
数,目的操作数是一个通用寄存
器/变址寄存器。例如:
LDSBX,TABLE[SI]39第三章:8086/8088的指令系统——指令系统数据传送指令——地址传送指令3.LES(LoadPointerIntoES)取地址指针指令格式为:LESOPRD1,OPRD2功能:这条指令除将地址指针的段地址部分送入ES外,与LDS类似。例如:
LESBX,TABLE[SI]40第三章:8086/8088的指令系统——指令系统数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。41第三章:8086/8088的指令系统——指令系统数据传送指令——标志寄存器传送指令LAHF(LOADAHWITHFLAG)
功能:将标志寄存器中的SF、ZF、AF、PF和CF(即低8位)传送至AH寄存器,空位没有定义。SAHF(STOREAHWITHFLAG)
功能:将寄存器AH的指定位,送至标志寄存器的SF、ZF、AF、PF和CF位(即低8位)。根据AH的内容,影响上述标志位,对OF、DF和IF无影响。PUSHF(PUSHFLAG)
功能:将标志寄存器压入堆栈顶部,同时修改堆栈指针,不影响标志位。POPF(POPFLAG)
功能:堆栈顶部的一个字,传送到标志寄存器,同时修改堆栈指针,影响标志位。42第三章:8086/8088的指令系统——指令系统数据传送指令通用数据传送指令(MOV、PUSH、POP、XCHG)地址传送指令(LEA、LDS、LES)标志寄存器传送指令(LAHF、SAHF、PUSHF、POPF)累加器专用传送指令(IN、OUT、XLAT)数据传送指令负责把数据、地址或立即数传送到寄存器或存储单元中。43第三章:8086/8088的指令系统——指令系统数据传送指令——累加器专用传送指令这组指令只使用AX或AL传送信息IN(Input)输入指令一般格式 INAL,n;BAL←[n]
INAX,n;WAX←[n+1][n]
INAL,DX;BAL←[DX]
INAX,DX;WAX←[DX+1][DX]功能:从I/O端口输入数据至AL或AX。注意:输入指令允许把一个字节或一个字由一个输入端口传送到AL或AX中。若端口地址超过255时,则必须用DX保存端口地址,这样用DX作端口寻址最多可寻找64K个端口。
44第三章:8086/8088的指令系统——指令系统数据传送指令——累加器专用传送指令OUT(Output)输入指令一般格式 OUTn,AL;BAL→[n]
OUTn,AX;WAX→[n+1][n]
OUTDX,AL;BAL→[DX]
OUTDX,AX;WAX→[DX+1][DX]功能:将AL或AX的内容输出至I/O端口。
注意:该指令将AL或AX中的内容传送到一个输出端口。端口寻址方式与IN指令相同。45第三章:8086/8088的指令系统——指令系统数据传送指令——累加器专用传送指令XLAT(Translate)换码(查表)指令一般格式 XLAT;AL=(DS)×16+(BX)+(AL))
功能:完成一个字节的查表转换。
注意:①寄存器AL的内容作为一个256字节的表的下标;
②表的基地址在BX中;
③转换后的结果存放在AL中。46第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)47第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。48第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。49第三章:8086/8088的指令系统——指令系统算术运算指令——加法指令ADD(add)加法指令一般格式ADDDST,SRC;(DST)(SRC)+(DST)
功能:完成两个操作数相加,结果送至目的操作数DST。目的操作数可以是累加器,任一通用寄存器以及存储器操作数。
ADC(addwithcarry)带进位的加法指令一般格式ADCDST,SRC;(DST)(SRC)+(DST)+CF
功能:这条指令与上—条指令类似,只是在两个操作数相加时,要把进位标志CF的现行值加上去,结果送至目的操作数。本指令主要用于多字节操作数相加。
INC(increment)加一指令一般格式INCOPR;(OPR)(OPR)+1
功能:完成对指定的操作数OPR加1,然后返回此操作数。此指令主要用于在循环程序中修改地址指针和循环次数等。50第三章:8086/8088的指令系统——指令系统算术运算指令——加法指令ADD AL,30 ;累加器与立即数相加ADD BX,[3000H] ;通用寄存器与存储单元内容相加ADD DI,CX ;通用寄存器之间ADD DX,DATA[BX+SI] ;通用寄存器与存储单元内容相加ADD BETA[SI],DX ;存储器操作数与寄存器相加
51第三章:8086/8088的指令系统——指令系统算术运算指令——加法指令MOVAX,FIRSTADDAX,SECOND ;进行字运算MOVTHIRD,AXMOVAX,FIRST+2ADCAX,SECOND+2MOVTHIRD+2,AX52第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。53第三章:8086/8088的指令系统——指令系统算术运算指令——减法指令SUB(subtract)减法指令一般格式SUBDST,SRC;(DST)(DST)-(SRC)
功能:完成两个操作数相减,也即从DST中减去SRC,结果放在SRC中。SBB(subtractwithborrow)带借位的减法指令一般格式SBBDST,SRC;(DST)(DST)-(SRC)-CF
功能:这条指令与SUB类似,只是在两个操作数相减时,还要减去借位标志CF的现行值。本指令对标志位AF、CF、OF、PF、SF和ZF都有影响。本指令主要用于多字节操作数相减。
DEC(decrement)减一指令一般格式DECOPR;(OPR)(OPR)-1
功能:完成对指定的操作数OPR减1,然后返回此操作数。54第三章:8086/8088的指令系统——指令系统算术运算指令——减法指令NEG(negate)求补指令一般格式NEGOPR;(OPR)—(OPR)
功能:对操作数取补,即用零减去操作数,再把结果送回操作数。CMP(compare)比较指令一般格式CMPOPR1,OPR2;(OPR1)-(OPR2)
功能:比较指令完成两个操作数相减,使结果反映在标志位上,但并不送回结果(即不带回送的减法)。55第三章:8086/8088的指令系统——指令系统算术运算指令——减法指令SUB CX,BXSUB [BP],CLDEC [SI]DEC CLNEG ALNEG MULRECMPAL,100CMPDX,DICMPCX,COUHT[BP]CMPCOUNT[SI],AX
56第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。57第三章:8086/8088的指令系统——指令系统算术运算指令——乘法指令MUL(unsignedmultiple)无符号数乘法指令一般格式MULSRC
字节操作数(AX)(AL)*SRC
字操作数(DX,AX)(AX)*SRC功能:完成字节与字节相乘、字与字相乘,且默认的操作数放在AL或AX中,而源操作数由指令给出。8位数相乘,结果为16位数,放在AX中;16位数相乘结果为32位数,高16位放在DX,低16位放在AX中。此时,若AH/DX=0,则CF=OF=0,否则CF=OF=1。IMUL(signedmultiple)带符号数乘法指令一般格式IMULSRC功能:这是一条带符号数的乘法指令,同MUL一样可以进行字节与字节、字和字的乘法运算。结果放在AX或DX,AX中。当结果的高半部分不是结果的低半部分的符号扩展时,标志位CF=OF=0,否则CF=OF=1。58第三章:8086/8088的指令系统——指令系统算术运算指令——乘法指令MOV AL,FIRSTMUL SECOND ;结果为AX=FIRST*SECONDMOV AX,THIRDMUL AX ;结果DX:AX=THIRD*THIRDMOV BX,2000HMUL BX59第三章:8086/8088的指令系统——指令系统算术运算指令——乘法指令例:若(AL)=0B4H,(BL)=11H,求执行指令IMULBL和MULBL后的结果。解:(AL)=0B4H=180D(无符号数)=-76D(带符号数),
(BL)=11H=17D(无符号数)=17D(带符号数),
执行IMULBL的结果为
(AX)=0FAF4H=-1292D
CF=OF=1
执行MULBL的结果为
(AX)=0BF4H=3060D
CF=OF=160第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。61第三章:8086/8088的指令系统——指令系统算术运算指令——除法指令DIV(unsigneddivide)无符号数除法指令一般格式DIVSRC
字节操作数(AL)(AX)/SRC的商(AH)(AX)/SRC的余数
字操作数(AX)(DX,AX)/SRC的商(DX)(DX,AX)/SRC的余数IDIV(signeddivide)带符号数除法指令一般格式IDIVSRC功能:该指令执行过程同DIV指令,但IDIV指令认为操作数的最高位为符号位,除法运算的结果商的最高位也为符号位。在除法指令中,在字节运算时被除数在AX中;运算结果商在AL中,余数在AH中。字运算时被除数为DX:AX构成的32位数,运算结果商在AX中,余数在DX中。CBW(convertbytetoword)字节转换为字指令功能:将AL的内容符号扩展到AH。若(AL)最高有效位为0,即若(AL)的D7=0,则(AH)=00;若(AL)最高有效位为1,则(AH)=0FFH。CWD(convertwordtodoubleword)字转换为双字指令功能:将AX的内容符号扩展到DX。若(AX)最高有效位为0,即若(AX)的D15=0,则(DX)=00;若(AX)最高有效位为1,则(DX)=0FFH。62第三章:8086/8088的指令系统——指令系统算术运算指令——除法指令若AX=2000H,DX=0200H,BX=1000H,则DIVBX执行后,AX=2002H,DX=0000。63第三章:8086/8088的指令系统——指令系统算术运算指令加法指令(ADD、ADC、INC)减法指令(SUB、SBB、DEC、NEG、CMP)乘法指令(MUL、IMUL)除法指令(DIV、IDIV、CBW、CWD)十进制调整指令(DAA、DAS、AAA、AAS、AAM、AAD)
8086提供加、减、乘、除四种基本算术操作。这些操作都可用于字节或字的运算,也可以用于带符号数与无符号数的运算。带符号数用补码表示。同时8086也提供了各种校正操作,故可以进行十进制算术运算。64第三章:8086/8088的指令系统——指令系统算术运算指令——十进制调整指令计算机中的算术运算,都是针对二进制数的运算,而人们在日常生活中习惯使用十进制。为此在8086/8088系统中,针对十进制算术运算有一类十进制调整指令。在计算机中人们用BCD码表示十进制数,对BCD码计算机中有两种表示方法:一类为压缩BCD码,即规定每个字节表示两位BCD数;另一类称为非压缩BCD码,即用一个字节表示一位BCD数,在这字节的高四位用0填充。例如,十进制数25D,表示为压缩BCD数时为:25H;表示为非压缩BCD数时为:0205H,用两字节表示。
十进制调整指令指令格式指令说明DAA压缩的BCD码加法调整DAS压缩的BCD码减法调整AAA非压缩的BCD码加法调整AAS非压缩的BCD码减法调整AAM乘法后的BCD码调整AAD除法前的BCD码调整65第三章:8086/8088的指令系统——指令系统算术运算指令——十进制调整指令【例如】ADDAL,BL
DAA若执行前:AL=28H,BL=68H,则执行ADD后:AL=90H,AF=1;再执行DAA指令后,正确的结果为:AL=96H,CF=0,AF=1。【例如】MULBL
AAM若执行前:AL=07,BL=09,则执行MULBL后,AX=003FH,再执行AAM指令后,正确的结果为:AH=06H,AL=03H。
66第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)67第三章:8086/8088的指令系统——指令系统逻辑运算指令逻辑运算指令(ADD、OR、NOT、XOR、TEST)移位指令(SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR)68第三章:8086/8088的指令系统——指令系统逻辑运算指令逻辑运算指令(ADD、OR、NOT、XOR、TEST)移位指令(SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR)69第三章:8086/8088的指令系统——指令系统逻辑运算指令——逻辑运算指令AND(and)逻辑与指令一般格式ANDDST,SRC;(DST)(DST)∧(SRC)OR(or)逻辑或指令一般格式ORDST,SRC;(DST)(DST)∨(SRC)NOT(not)逻辑非指令一般格式NOTOPR;(DST)(DST)XOR(exclusiveor)逻辑异或指令一般格式XORDST,SRC;(DST)(DST)∨(SRC)TEST(test)测试指令一般格式TESTOPR1,OPR2;(OPR1)∧(OPR2)70第三章:8086/8088的指令系统——指令系统逻辑运算指令——逻辑运算指令例如:要求屏蔽0、1位,可用AND指令并设置常数0FCH。
MOV AL,0BFH
AND AL,0FCH例如:要测试操作数的某位是否为0,可用TEST指令,同样把TEST指令的源操作数设置成为一个立即数,其中需要测试的位应设为1。
MOV AL,40H
TEST AL,0AFH71第三章:8086/8088的指令系统——指令系统逻辑运算指令逻辑运算指令(ADD、OR、NOT、XOR、TEST)移位指令(SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR)72第三章:8086/8088的指令系统——指令系统逻辑运算指令——移位指令SHL(shiftlogicalleft)逻辑左移指令一般格式SHLOPR,CNTSAL(shiftarithmeticleft)算术左移指令一般格式SALOPR,CNTSHR(shiftlogicalright)逻辑右移指令一般格式SHROPR,CNTSAR(shiftarithmeticright)算术右移指令一般格式SAROPR,CNTROL(rotateleft)循环左移指令一般格式ROLOPR,CNTROR(rotateright)循环右移指令一般格式ROROPR,CNTRCL(rotateleftthroughcarry)带进位循环左移指令一般格式RCLOPR,CNTRCR(rotaterightthroughcarry)带进位循环右移指令一般格式RCROPR,CNT73第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)74第三章:8086/8088的指令系统——指令系统串操作指令
串操作类指令可以用来实现内存区域的数据串操作。这些数据串可以是字节串,也可以是字串。功能指令格式执行操作串传送MOVSDST,SRCMOVSBMOVSW由操作数说明是字节或字操作;其余同MOVSB或MOVSW[(ES:DI)]←[(DS:SI)];SI=SI±1,DI=DI±1;
[(ES:DI)]←[(DS:SI)];SI=SI±2,DI=DI±2;串比较CMPSDST,SRCCMPSBCMPSW由操作数说明是字节或字操作;其余同CMPSB或CMPSW[(ES:DI)]-[(DS:SI)];SI=SI±1,DI=DI±1;[(ES:DI)]-[(DS:SI)];SI=SI±2,DI=DI±2;串搜索SCASDSTSCASBSCASW由操作数说明是字节或字操作;其余同SCASB或SCASWAL-[(ES:DI)]];DI=DI±1;重复前缀控制前两步AX-[(ES:DI)];DI=DI±2;重复前缀控制前两步存串STOSDSTSTOSBSTOSW由操作数说明是字节或字操作;其余同STOSB或STOSWAL→[(ES:DI)]];DI=DI±1;重复前缀控制前两步AX→[(ES:DI)];DI=DI±2;重复前缀控制前两步取串LODSSRCLODSBLODSW由操作数说明是字节或字操作;其余同LODSB或LODSW[(DS:SI)]]→AL;SI=SI±1;重复前缀控制前两步[(DS:SI)]→AX;SI=SI±2;重复前缀控制前两步75第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)76第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)
77第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)
78第三章:8086/8088的指令系统——指令系统程序控制指令——无条件转移指令无条件转移指令JMP分段内转移和段间转移两种。一般格式:JMPOPR;OPR是转移的目的地址段内转移的3种形式为:短程转移
JMPSHORTOPR;IP=IP+8位位移量
目的地址与JMP指令所处地址的距离应在-128~127范围之内。近程转移
JMPNEARPTROPR;IP=IP+16位位移量
或JMPOPRD;NEAR可省略
目的地址与JMP指令应处于同一地址段范围之内。段内间接转移
JMPWORDPTROPR;IP=[EA](由OPR的寻址方式确定)。
JMPWORDPTR[BX]IP=((DS)*16+(BX))
JMPWORDPTRBXIP=(BX)79第三章:8086/8088的指令系统——指令系统程序控制指令——无条件转移指令段间转移指令的目的地址可以由存储器或寄存器给出。远程转移
JMPFARPTROPR;IP=OPR的段内位移量,CS=OPR所在段地址。
远程转移是段间的转移,目的地址与JMP指令所在地址不在同一段内。执行该指令时要修改CS和IP的内容。段间间接转移
JMPDWORDPTROPRD;IP=[EA],CS=[EA+2]
该指令指定的双字节指针的第一个字单元内容送IP,第二个字单元内容送CS。
JMPDWORDPTR[BX+SI]80第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)
81第三章:8086/8088的指令系统——指令系统程序控制指令——条件转移指令8086有18条不同的条件转移指令。它们根据标志寄存器中各标志位的状态,决定程序是否进行转移。条件转移指令的目的地址必须在现行的代码段(CS)内,并且以当前指针寄存器IP内容为基准,其位移必须在+127~-128的范围之内。
82汇编格式操作标志位转移指令JZ/JE/JNZ/JNEOPR结果为零/结果不为零转移JS/JNSOPR结果为负数/结果为正数转移JP/JPE/JNP/JPOOPR结果奇偶校验为偶/结果奇偶校验为奇转移JO/JNOOPR结果溢出/结果不溢出转移JC/JNCOPR结果有进位(借位)/结果无进位(借位)转移不带符号数比较转移指令JA/JNBEOPR高于或不低于等于转移JAE/JNAOPR高于等于或不低于转移JB/JNAEOPR小于或不大于等于转移JBE/JNAOPR小于等于或不大于转移带符号数比较转移指令JG/JNLEOPR高于或不低于等于转移JGE/JNLOPR高于等于或不低于转移JL/JNGEOPR小于或不大于等于转移JLE/JNGOPR小于等于或不大于转移测试转移指令JCXZOPRCX=0时转移83第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)
84第三章:8086/8088的指令系统——指令系统程序控制指令——循环指令
对于需要重复进行的操作,微机系统可用循环程序结构来进行,8086/8088系统为了简化程序设计,设置了一组循环指令,这组指令主要对CX或标志位ZF进行测试,确定是否循环。
LOOP(LOOP)循环LOOPZ/LOOPE(Loopwhilezero,orequal)当为零或相等时循环LOONZ/LOOPNE(Loopwhilenonzero,ornotequal)当不为零或不相等时循环指令格式执行操作LOOPOPRCX=CX-1;若CX<>0,则循环LOOPNZ/LOOPNEOPRCX=CX-1,若CX<>0且ZF=0,则循环LOOPZ/LOOPEOPRCX=CX-1,若CX<>0且ZF=1,则循环85第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)
86第三章:8086/8088的指令系统——指令系统程序控制指令——子程序指令
CALL指令用来调用一个过程或子程序。由于过程或子程序有段间(即远程FAR)和段内调用(即近程NEAR)之分。所以CALL也有FAR和NEAR之分。因此RET也分段间与段内返回两种。调用指令一般格式为:
段内调用CALLNEARPTROPR;操作SP=SP-2,((SP)+1),(SP))=IP,IP=IP+16位位移量CALL指令首先将当前IP内容压入堆栈。当执行RET指令而返回时,从堆栈中取出一个字放入IP中。段间调用CALLFARPTROPR;操作SP=SP-2,((SP)+1),(SP))=CS;
SP=SP-2,((SP)+1),(SP))=IP;
IP=[EA];CS=[EA+2]87第三章:8086/8088的指令系统——指令系统程序控制指令无条件转移指令(JMP)条件转移指令(JZ/JE、JNZ、JS、JNS、JO、JNO、JP、JNP、JB、JNB)循环指令(LOOP、LOOPZ、LOOPNZ)子程序(CALL、RET)中断(INT、INTO、IRET)88第三章:8086/8088的指令系统——指令系统8086/8088指令系统可分为以下六个功能组数据传送(DataTranster)算术运算(Arithmetic)逻辑运算(Logic)串操作(StringMenipulation)程序控制(ProgramControl)处理器控制(ProcessorControl)89第三章:8086/8088的指令系统——指令系统程序控制指令——处理器控制指令
处理器控制指令用来控制标志,主要有CF、DF和IF三个。处理器控制指令用以控制处理器的工作状态,均不影响标志位
汇编语言格式执行操作标志类指令CLC清进位标志,CF=0STC置进位标志,CF=1CMC进位标志取反CLD清方向标志,DF=0STD置方向标志,DF=1CLI关中断标志,IF=0,不允许中断STI开中断标志,IF=1,允许中断CPU控制类指令HLT使处理器处于停止状态,不执行指令WAIT使处理器处于等待状态,TEST线为低时,退出等待ESC使协处理器从系统指令流中取得指令LOCK封锁总线指令,可放在任一条指令前作为前缀NOP空操作指令,常用于程序的延时和调试90第三章:8086/8088的指令系统——总结8086微处理器指令系统,要求达到“简单应用”层次。各类常用指令的功能。用常用指令编写简单的控制程序。
91安全阀基本知识如果压力容器(设备/管线等)压力超过设计压力…1.尽可能避免超压现象堵塞(BLOCKED)火灾(FIRE)热泄放(THERMALRELIEF)如何避免事故的发生?2.使用安全泄压设施爆破片安全阀如何避免事故的发生?01安全阀的作用就是过压保护!一切有过压可能的设施都需要安全阀的保护!这里的压力可以在200KG以上,也可以在1KG以下!设定压力(setpressure)安全阀起跳压力背压(backpressure)安全阀出口压力超压(overpressure)表示安全阀开启后至全开期间入口积聚的压力.几个压力概念弹簧式先导式重力板式先导+重力板典型应用电站锅炉典型应用长输管线典型应用罐区安全阀的主要类型02不同类型安全阀的优缺点结构简单,可靠性高适用范围广价格经济对介质不过分挑剔弹簧式安全阀的优点预漏--由于阀座密封力随介质压力的升高而降低,所以会有预漏现象--在未达到安全阀设定点前,就有少量介质泄出.100%SEATINGFORCE75502505075100%SETPRESSURE弹簧式安全阀的缺点过大的入口压力降会造成阀门的频跳,缩短阀门使用寿命.ChatterDiscGuideDiscHolderNozzle弹簧式安全阀的缺点弹簧式安全阀的缺点=10090807060500102030405010%OVERPRESSURE%BUILT-UPBACKPRESSURE%RATEDCAPACITY普通产品平衡背压能力差.在普通产品基础上加装波纹管,使其平衡背压的能力有所增强.能够使阀芯内件与高温/腐蚀性介质相隔离.平衡波纹管弹簧式安全阀的优点优异的阀座密封性能,阀座密封力随介质操作压力的升高而升高,可使系统在较高运行压力下高效能地工作.ResilientSeatP1P1P2先导式安全阀的优点平衡背压能力优秀有突开型/调节型两种动作特性可远传取压先导式安全阀的优点对介质比较挑剃,不适用于较脏/较粘稠的介质,此类介质会堵塞引压管及导阀内腔.成本较高.先导式安全阀的缺点重力板式产品的优点目前低压储罐呼吸阀/紧急泄放阀的主力产品.结构简单.价格经济.重力板式产品的缺点不可现场调节设定值.阀座密封性差,并有较严重的预漏.受背压影响大.需要很高的超压以达到全开.不适用于深冷/粘稠工况.几个常用规范ASMEsectionI-动力锅炉(FiredVessel)ASMEsectionVIII-非受火容器(UnfiredVessel)API2000-低压安全阀设计(LowpressurePRV)API520-火灾工况计算与选型(FireSizing)API526-阀门尺寸(ValveDimension)API527-阀座密封(SeatTightness)介质状态(气/液/气液双相).气态介质的分子量&Cp/Cv值.液态介质的比重/黏度.安全阀泄放量要求.设定压力.背压.泄放温度安全阀不以连接尺寸作为选型报价依据!如何提供高质量的询价?弹簧安全阀的结构弹簧安全阀起跳曲线弹簧安全阀结构弹簧安全阀结构导压管活塞密封活塞导向不平衡移动副(活塞)导管导阀弹性阀座P1P1P2先导式安全阀结构先导式安全阀的工作原理频跳安全阀的频跳是一种阀门高频反复开启关闭的现象。安全阀频跳时,一般来说密封面只打开其全启高度的几分只一或十几分之一,然后迅速回座并再次起跳。频跳时,阀瓣和喷嘴的密封面不断高频撞击会造成密封面的严重损伤。如果频跳现象进一步加剧还有可能造成阀体内部其他部分甚至系统的损伤。安全阀工作不正常的因素频跳后果1、导向平面由于反复高频磨擦造成表面划伤或局部材料疲劳实效。2、密封面由于高频碰撞造成损伤。3、由于高频振颤造成弹簧实效。4、由频跳所带来的阀门及管道振颤可能会破坏焊接材料和系统上其他设备。5、由于安全阀在频跳时无法达到需要的排放量,系统压力有可能继续升压并超过最大允许工作压力。安全阀工作不正常的因素A、系统压力在通过阀门与系统之间的连接管时压力下降超过3%。当阀门处于关闭状态时,阀门入口处的压力是相对稳定的。阀门入口压力与系统压力相同。当系统压力达到安全阀的起跳压力时,阀门迅速打开并开始泄压。但是由于阀门与系统之间的连接管设计不当,造成连接管内局部压力下降过快超过3%,是阀门入口处压力迅速下降到回座压力而导致阀门关闭。因此安全阀开启后没有达到完全排放,系统压力仍然很高,所以阀门会再次起跳并重复上述过程,既发生频跳。导致频跳的原因导致接管压降高于3%的原因1、阀门与系统间的连接管内径小于阀门入口管内径。2、存在严重的涡流现象。3、连接管过长而且没有作相应的补偿(使用内径较大的管道)。4、连接管过于复杂(拐弯过多甚至在该管上开口用作它途。在一般情况下安全阀入口处不允许安装其他阀门。)导致频跳的原因B、阀门的调节环位置设置不当。安全阀拥有喷嘴环和导向环。这两个环的位置直接影响安全阀的起跳和回座过程。如果喷嘴环的位置过低或导向环的位置过高,则阀门起跳后介质的作用力无法在阀瓣座和调节环所构成的空间内产生足够的托举力使阀门保持排放状态,从而导致阀门迅速回座。但是系统压力仍然保持较高水平,因此回座后阀门会很快再次起跳。导致频跳的原因C、安全阀的额定排量远远大于所需排量。
由于所选的安全阀的喉径面积远远大于所需,安全阀排放时过大的排量导致压力容器内局部压力下降过快,而系统本身的超压状态没有得到缓解,使安全阀不得不再次起跳频跳的原因阀门拒跳:当系统压力达到安全阀的起跳压力时,阀门不起跳的现象。安全阀工作不正常的因素1、阀门整定压力过高。2、阀门内落入大量杂质从而使阀办座和导套间卡死或摩擦力过大。3、弹簧之间夹入杂物使弹簧无法被正常压缩。4、阀门安装不当,使阀门垂直度超过极限范围(正负两度)从而使阀杆组件在起跳过程中受阻。5、排气管道没有被可靠支撑或由于管道受热膨胀移位从而对阀体产生扭转力,导致阀体内机构发生偏心而卡死。安全阀拒跳的原因阀门不回座或回座比过大:安全阀正常起跳后长时间无法回座,阀门保持排放状态的现象。安全阀工作不正常的因素1、阀门上下调整环的位置设置不当。2、排气管道设计不当造成排气不畅,由于排气管道过小、拐弯过多或被堵塞,使排放的蒸汽无法迅速排出而在排气管和阀体内积累,这时背压会作用在阀门内部机构上并产生抑制阀门
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 15316-2024节能监测技术通则
- 2024年度特色房产租赁居间代理合同6篇
- 2024年二手房买卖暂不办理过户登记合同2篇
- 2024年度打印机租赁与租赁期限调整及租赁费用调整合同模板3篇
- 2024年度创业板上市公司定向增发股票购买协议3篇
- 2024年度地毯产品质保期限合同范本3篇
- 2024年企业内部员工临时借款协议3篇
- 2024年度新型预制构件租赁服务合同3篇
- 2024年度代购企业合规管理合作协议合同3篇
- 2024年二零四年度创业贷款英文借款协议3篇
- 设立法律咨询服务公司可行性研究报告
- 10kV电力电缆试验报告
- -期末复习试题(五)(试题)北师大版四年级上册数学
- 《经纬网的应用》课件
- 山东省淄博市张店区2023-2024学年八年级上学期期中化学试题(解析版)
- 啦啦操智慧树知到课后章节答案2023年下西安体育学院
- 一般生产经营单位安全培训考试题及完整答案(全国通用)
- 2024届广东珠海市香洲区九年级英语第一学期期末检测试题含解析
- 基于费托合成的天然气制合成油工艺技术综述
- 常见抗痛风药物课件整理
- 2023年高考真题-地理(浙江卷)含答案
评论
0/150
提交评论