




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
12三月2024第講第章控制轉(zhuǎn)移和程序結(jié)構(gòu)標(biāo)準(zhǔn)流程圖符號
匯編語言程序的基本結(jié)構(gòu)1.順序結(jié)構(gòu)2.分支程序結(jié)構(gòu)循環(huán)程序結(jié)構(gòu)IP(或EIP)線性增加IP(或EIP)受標(biāo)志位的影響而跳變IP(或EIP)因計數(shù)器CX(或ECX)中的值不為零而循環(huán)例.順序結(jié)構(gòu)程序要求:用查表法將一位十六進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的ASCII碼DATA SEGMENTTABLE DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46HHEX DB 4ASCI DB ?DATA ENDSSTACK SEGMENTSTACK DW 20HDUP(0)STACK ENDSCOSEGSEGMENT ASSUME CS:COSEG,DS:DATA,SS:STACKBEING: MOV AX,DATA MOV DS,AX MOV BX,OFFSETTABLE MOV AH,0 MOV AL,HEX ADD BX,AX MOV AL,[BX] MOV ASCI,AL MOV AH,4CH INT 21HCOSEG ENDS END BEINGXLAT≡XLAT;AL←[BX+AL]當(dāng)改變了EIP或CS就改變了程序的執(zhí)行順序即實現(xiàn)了程序的控制轉(zhuǎn)移第5章控制轉(zhuǎn)移和程序結(jié)構(gòu)5.1目標(biāo)地址尋址方式5.1.1轉(zhuǎn)移范圍5.1.2尋址方式5.1.3無條件轉(zhuǎn)移指令5.2分支程序結(jié)構(gòu)5.2.1條件轉(zhuǎn)移指令5.2.2單分支結(jié)構(gòu)5.2.3雙分支結(jié)構(gòu)5.2.4多分支結(jié)構(gòu)5.3循環(huán)程序結(jié)構(gòu) 5.3.1循環(huán)指令5.3.2計數(shù)控制循環(huán)5.3.3條件控制循環(huán)5.4子程序結(jié)構(gòu)5.4.1子程序指令5.4.2子程序設(shè)計5.4.3參數(shù)傳遞5.4.4程序模塊5.1目標(biāo)地址尋址方式5.1.1轉(zhuǎn)移范圍5.1.2尋址方式5.1.3無條件轉(zhuǎn)移指令5.1.1程序轉(zhuǎn)移范圍段內(nèi)轉(zhuǎn)移在當(dāng)前代碼段內(nèi)的轉(zhuǎn)移不改CS,只改EIP近轉(zhuǎn)移(Near)16位段:16位近轉(zhuǎn)移NEAR1632位段:32位近轉(zhuǎn)移NEAR32短轉(zhuǎn)移(Short)轉(zhuǎn)移范圍-128
~127字節(jié)段間轉(zhuǎn)移從當(dāng)前代碼段跳轉(zhuǎn)到另一個代碼段改CS和EIP遠(yuǎn)轉(zhuǎn)移(Far)16位段:32位遠(yuǎn)轉(zhuǎn)移FAR1632位段:48位遠(yuǎn)轉(zhuǎn)移FAR325.1.2目標(biāo)地址尋址方式1.相對尋址方式2.直接尋址方式3.間接尋址方式類似于存儲器數(shù)據(jù)的尋址方式指明目標(biāo)地址的方法1.相對尋址方式指令代碼提供目標(biāo)地址相對于當(dāng)前指令指針EIP的位移量目標(biāo)地址(轉(zhuǎn)移后的EIP)=當(dāng)前EIP+位移量特點都是段內(nèi)轉(zhuǎn)移,最常用、最靈活2.直接尋址方式指令代碼直接提供目標(biāo)地址目標(biāo)地址(轉(zhuǎn)移后的CS和EIP)=指令操作數(shù)3.間接尋址方式指令代碼給出存放目標(biāo)地址的寄存器或存儲單元分類寄存器間接尋址用寄存器保存目標(biāo)地址存儲器間接尋址用存儲單元保存目標(biāo)地址5.1.3無條件轉(zhuǎn)移指令JMP作用無條件改變程序執(zhí)行順序格式段內(nèi)相對尋址或段間直接尋址JMPlabel ;程序轉(zhuǎn)向label標(biāo)號指定的地址寄存器間接尋址JMPreg16/reg32 ;程序轉(zhuǎn)向寄存器指定的地址存儲器間接尋址JMPmem16/mem32;程序轉(zhuǎn)向存儲單元指定的地址JMP指令的4種類型1.段內(nèi)轉(zhuǎn)移(1)相對尋址標(biāo)號指明目標(biāo)地址,指令代碼包含位移量(2)間接尋址通用寄存器或主存單元包含目標(biāo)指令的偏移地址2.段間轉(zhuǎn)移(1)直接尋址標(biāo)號包含目標(biāo)指令的段地址和偏移地址(2)間接尋址16位段:用雙字存儲單元包含目標(biāo)地址32位段:用3字存儲單元包含目標(biāo)地址1.段內(nèi)轉(zhuǎn)移——(1)相對尋址段內(nèi)直接短轉(zhuǎn)移JMPSHORTlable ;IP←IP+8位偏移量(有符號)段內(nèi)直接近轉(zhuǎn)移JMPNEARPTRlable ;IP←IP+16位位移量(有符號)操作碼EB位移量E9位移量(低)位移量(高)操作碼位移量=標(biāo)號偏移地址—當(dāng)前IP值
(JMP指令的下一條指令的IP值)注意標(biāo)號、邏輯段名、子程序名也有地址和類型屬性例.標(biāo)號next: add al,01h邏輯段名datas SEGMENTdatas ENDS子程序名dpchar procdpchar endp例1.段內(nèi)直接短轉(zhuǎn)移 JMPSHORTnext操作碼EB位移量;next的(IP)←當(dāng)前(IP)+D8例2.段內(nèi)直接近轉(zhuǎn)移 JMPNEARPTRNEXT 設(shè)(1)標(biāo)號NEXT的EA=1000H(2)JMP指令的當(dāng)前IP為0009H 求:位移量=? 指令代碼E9F70F(代表JMP1000H)1000H-0009H=0FF7HE9位移量(低)位移量(高)操作碼1.段內(nèi)轉(zhuǎn)移——(2)間接尋址寄存器間接尋址 JMP reg ;IP←reg存儲器間接尋址 JMP mem ;IP←[EA]屬于絕對轉(zhuǎn)移例1. 設(shè)CS=3000H,IP=2400H,BX=3100H JMPBX 指令執(zhí)行后,IP=?例2. 設(shè)DS=2000H,BX=1000H,[21020H]=34H,[21021H]=12H JMPWORDPTR[BX+20H] 指令執(zhí)行后,IP=?3100H1234H[例題5-1]無條件轉(zhuǎn)移程序-1 ;數(shù)據(jù)段00000000 nvar dw?
;代碼段0010
EB
01
jmplabl1001290 nop0013B8FF02 labl1: movax,typelabl10016
E9
0001
jmp
nearptrlabl2001990 nop001AB80020R labl2: movax,offsetlabl3001DFFE0 jmpax001F90 nop0020B8002BR labl3: movax,offsetlabl40023A30000R movnvar,ax0026FF260000R jmpnvar002A90 nop相對短轉(zhuǎn)移相對近轉(zhuǎn)移寄存器間接近轉(zhuǎn)移存儲器間接近轉(zhuǎn)移2.段間轉(zhuǎn)移——(1)直接尋址段間直接轉(zhuǎn)移JMPFARPTRlable ;IP←lable的段內(nèi)偏移地址
;CS←lable所在段的段地址屬于絕對轉(zhuǎn)移操作碼EAIP(低)IP(高)CS(低)CS(高)例1.C1SEGMENT …JMPFARPTRnext_prog …C1ENDSC2SEGMINT …next_prog: … …C2ENDSEA50020020OP碼新(IP)=0250H新(CS)=2000HJMP指令C1段……C2段…………20000Hnext_prog:20250H……操作碼EAIP(低)IP(高)CS(低)CS(高)2.段間轉(zhuǎn)移——(2)間接尋址存儲器間接尋址 JMP mem ;IP←[EA] ;CS←[EA+2]
屬于絕對轉(zhuǎn)移例.MOV SI,0100HJMP DWORDPTR[SI]執(zhí)行這段程序后:(a)把DS:[SI]即DS:0100H和DS:0101H兩單元的字送?;(b)而把DS:0102H和DS:0103H兩單元的字送?;(c)程序轉(zhuǎn)入由新的CS和新的IP決定的目標(biāo)地址。IPCS[例題5-1]無條件轉(zhuǎn)移程序-2 ;數(shù)據(jù)段000200000000 fvar dd? ;代碼段002BB8FF05 labl4: movax,typefarptrlabl5002E
EA----0034R jmp
farptrlabl5003390 nop0034B80047R labl5: movax,offsetlabl60037A30002R movwordptrfvar,ax003ABA----R movdx,seglabl6003D89160004R movwordptrfvar+2,dx0041FF2E0002R jmp
fvar004590 nop0046
labl6:直接遠(yuǎn)轉(zhuǎn)移存儲器間接遠(yuǎn)轉(zhuǎn)移5.2分支程序結(jié)構(gòu)5.2.1條件轉(zhuǎn)移指令5.2.2單分支結(jié)構(gòu)5.2.3雙分支結(jié)構(gòu)5.2.4多分支結(jié)構(gòu)5.2.1條件轉(zhuǎn)移指令Jcc作用根據(jù)上一條指令所設(shè)置的標(biāo)志位,確定程序是否轉(zhuǎn)移格式 Jcc
label
cc:轉(zhuǎn)移條件label:目標(biāo)地址(采用段內(nèi)相對尋址方式)16位80x86:只是-128~+127間的短轉(zhuǎn)移32位IA-32:達(dá)到32位的全偏移量特點:利用但不影響標(biāo)志位1.cc轉(zhuǎn)移條件分類16種、兩類單個標(biāo)志狀態(tài)ZF、SF、PF、OF、CF兩數(shù)大小關(guān)系等于(Equal)無符號數(shù)高(Above)
、低(Below)有符號數(shù)大(Greater)
、小(Less)(1)單個標(biāo)志狀態(tài)JZ/JE
ZF=1 JumpifZero/EqualJNZ/JNE
ZF=0 JumpifNotZero/NotEqualJS
SF=1 JumpifSignJNS
SF=0 JumpifNotSignJP/JPE
PF=1 JumpifParity/ParityEvenJNP/JPO
PF=0 JumpifNotParity/ParityOddJO
OF=1 JumpifOverflowJNO
OF=0 JumpifNotOverflowJC
CF=1 JumpifCarryJNC
CF=0 JumpifNotCarry單個標(biāo)志狀態(tài)作為條件的功能JZ(JE)和JNZ(JNE):ZF是零(相等)還是非零(不等)JS和JNS:SF是負(fù)還是正JO和JNO:OF溢出還是沒有溢出JP(JPE)和JNP(JPO):PF低字節(jié)“1”的個數(shù)是偶數(shù)還是奇數(shù)JC和JNC:CF有進(jìn)位(為1)還是無進(jìn)位(為0)例1.單個條件標(biāo)志作為條件(a)ADD AL,ALJC TOOBIG ;若有進(jìn)位,轉(zhuǎn)移至TOOBIG(b)CMP AL,BLJZ ZERO ;若相等,則轉(zhuǎn)移至ZERO[例題5-2]實現(xiàn)指令CBW功能的程序-18086指令CBW等價于IA-32指令:MOVSX AX,AL功能如果AL最高位為0則:AH=0否則:AH=FFH[例題5-2]實現(xiàn)指令CBW功能的程序-2 moval,bvar ;取出要判斷的數(shù)據(jù)
testal,80h ;測試最高位
jznext1 ;最高位為0(ZF=1),則轉(zhuǎn)移
movah,0ffh ;最高位為1,則順序執(zhí)行
jmpdone ;無條件跳過另一個分支next1: movah,0 ;最高位為0轉(zhuǎn)移到此執(zhí)行done:[例題5-2]實現(xiàn)指令CBW功能的程序-3
moval,bvar ;取出要判斷的數(shù)據(jù)
testal,80h ;測試最高位
jnznext2 ;最高位為1(ZF=0),則轉(zhuǎn)移
movah,0 ;最高位為0,則順序執(zhí)行
jmpdone ;無條件跳過另一個分支next2: movah,0ffh ;最高位為1轉(zhuǎn)移到此執(zhí)行done:[例題5-2]實現(xiàn)指令CBW功能的程序-4
moval,bvar ;取出要判斷的數(shù)據(jù)
cmpal,0 ;與0比較
jnsnext3 ;最高位為0(SF=0),則轉(zhuǎn)移
movah,0ffh ;最高位為1,則順序執(zhí)行
jmpdone ;無條件跳過另一個分支next3: movah,0 ;最高位為0轉(zhuǎn)移到此執(zhí)行done:[例題5-3]實現(xiàn)奇偶校驗程序-1奇偶校驗使數(shù)據(jù)中包括校驗位在內(nèi)的“1”的個數(shù)恒為奇數(shù)奇校驗恒為偶數(shù)(包括0)偶校驗奇偶校驗特點只能檢測出錯,不能糾錯奇偶校驗標(biāo)志:PF[例題5-3]實現(xiàn)奇偶校驗程序-2
movah,1 ;1號功能
int21h ;鍵盤輸入,返回值在AL
andal,7fh ;最高位置“0” ;PF反映“1”個數(shù)的奇偶
jnp
next1 ;個數(shù)為奇數(shù),則轉(zhuǎn)向NEXT1
oral,80h ;最高位置“1”、其他位不變next1: movTdata,al ;保存待發(fā)送的數(shù)據(jù)DOS功能調(diào)用INT21H功能編號AH=01H出口參數(shù)AL=ASCII字符功能說明鍵盤輸入一個字符(回顯)奇校驗[例題5-4]統(tǒng)計“1”位個數(shù)程序-1
movah,1 int21h ;輸入一個字符 xorah,ah ;AH記錄1的個數(shù),故先清0
movecx,8 ;ASCII碼有8位,8次循環(huán)判斷again: shlal,1 ;從高位開始
jncnext ;不為1,無需處理
incah ;為1,個數(shù)加1next: loopagain[例題5-4]統(tǒng)計“1”位個數(shù)程序-2
movah,1 int21h ;輸入一個字符
xorah,ah ;AH記錄1的個數(shù),故先清0again: cmpal,0 ;也可用“TESTAL,0FFH”
jedone shral,1 ;從低位開始
jncnext ;不為1,無須處理
incah ;為1,個數(shù)加1next: jmpagaindone:好在哪里?(2)兩數(shù)大小關(guān)系無符號數(shù)JB/JNAE
CF=1 JumpifBelow/NotAboveorEqualJNB/JAE
CF=0 JumpifNotBelow/AboveorEqualJBE/JNA
CF=1或ZF=1 JumpifBeloworEqual/NotAboveJNBE/JA
CF=0且ZF=0 JumpifNotBeloworEqual/Above有符號數(shù)JL/JNGE
SF≠OF JumpifLess/NotGreaterorEqualJNL/JGE
SF=OF JumpifNotLess/GreaterorEqualJLE/JNG
SF≠OF或ZF=1 JumpifLessorEqual/NotGreaterJNLE/JG
SF=OF且ZF=0 JumpifNotLessorEqual/Greater兩數(shù)大小關(guān)系作為條件的功能無符號數(shù)用高(Above)、低(Below)低于(不高于等于):JB(JNAE)不低于(高于等于):JNB(JAE)低于等于(不高于):JBE(JNA)不低于等于(高于):JNBE(JA)有符號數(shù)用大(Greater)、?。↙ess)小于(不大于等于):JL(JNGE)不小于(大于等于):JNL(JGE)小于等于(不大于):JLE(JNG)不小于等于(大于):JNLE(JG)例1.兩數(shù)大小關(guān)系作為條件 按遞增序排列兩個無符號數(shù),第一個數(shù)偏移地址BX,第二個數(shù)偏移地址DI。 MOV AX,[BX] CMP AX,[DI] JBE DONE ;第一個數(shù)低于或等于第二個 XCHG AX,[DI] ;第一個數(shù)大于第二個,交換 MOV [BX],AX ……DONE: ……例2.比較01H和0FEH兩個數(shù)的大小 M0VAL,01H CMPAL,0FEH設(shè)執(zhí)行后:AL=01H,CF=1,OF=0,SF=0,ZF=0(a)若01H和0FEH為無符號數(shù) 判斷大?。骸案哂凇被颉暗陀凇钡戎噶睿↗A/JNBE) 轉(zhuǎn)移標(biāo)志位:CF、ZF(b)若01H和0FEH為帶符號數(shù) 判斷大?。骸按笥凇被颉靶∮凇钡戎噶钪噶睿↗G/JNLE) 轉(zhuǎn)移標(biāo)志位SF、OF、ZF條件跳轉(zhuǎn)指令的測試和轉(zhuǎn)移條件Above/BelowGreater/Less注意:無符號數(shù)和有符號數(shù)是否相等,均可用JE/JZ或JNE/JNZ5.2.2單分支結(jié)構(gòu)5.2.3雙分支結(jié)構(gòu)5.2.4多分支結(jié)構(gòu)5.2.2單分支結(jié)構(gòu)選好條件轉(zhuǎn)移指令:當(dāng)條件滿足,發(fā)生轉(zhuǎn)移,跳過分支體;條件不滿足,順序執(zhí)行分支體。5.2.3雙分支結(jié)構(gòu)選好條件轉(zhuǎn)移指令:順序執(zhí)行的分支體要有JMP指令跳過另一個分支體[例題5-5]比較兩數(shù)大小程序
movax,wvar1 ;取第一個數(shù)據(jù)
cmp
ax,wvar2 ;與第二個數(shù)據(jù)比較
je
equal ;兩數(shù)相等,轉(zhuǎn)移
jnb
first ;第一個數(shù)據(jù)大,轉(zhuǎn)移
movdx,offsetmsg2 ;第二個數(shù)據(jù)大
jmp
donefirst: movdx,offsetmsg1
jmp
doneequal: movdx,offsetmsg0done: movah,9 ;顯示結(jié)果
int21h無符號數(shù)還是有符號數(shù)?;數(shù)據(jù)段wvar1dw3765hwvar2dw8930hmsg0db‘Equal!$’msg1 db‘First!$’msg2 db‘Second!$’[例題5-6]求絕對值程序 ;數(shù)據(jù)段dvar dd0bd630422h ;有符號數(shù)據(jù)result dd? ;保存絕對值 ;代碼段
moveax,dvar cmpeax,0 ;比較EAX與0
jgenonneg ;條件滿足:AX≥0,轉(zhuǎn)移
negeax ;AX<0,負(fù)數(shù)需求補得正值nonneg: movresult,eax ;分支結(jié)束,保存結(jié)果IF-THEN結(jié)構(gòu)[例題5-7]BCD碼顯示程序
movdl,BCD ;取BCD碼
testdl,0f0h ;如果高位是0,不顯示
jzone shrdl,4 ;BCD碼高位右移為低位
ordl,30h ;轉(zhuǎn)換為ASCII碼
movah,2 ;顯示
int21h movdl,BCD ;取BCD碼
anddl,0fh ;只取二進(jìn)制低4位one:
ordl,30h ;轉(zhuǎn)換低位為ASCII碼
movah,2 ;顯示
int21hadddl,30h[例題5-8]顯示數(shù)據(jù)最高位程序-1 ;數(shù)據(jù)段dvar dd0bd630422h ;有符號數(shù)據(jù) ;代碼段
movebx,dvar shlebx,1 ;EBX最高位移入CF標(biāo)志
jcone ;CF=1,最高位為1,轉(zhuǎn)移
movdl,'0' ;CF=0,最高位為0:DL←'0'
jmptwo ;一定要跳過另一個分支體one:
movdl,'1' ;DL←'1'two:
movah,2 int21h ;顯示IF-THEN-ELSE結(jié)構(gòu)[例題5-8]顯示數(shù)據(jù)最高位程序-2 ;數(shù)據(jù)段dvar dd0bd630422h ;有符號數(shù)據(jù) ;代碼段
movebx,dvar
movdl,'0' ;假設(shè)最高位為0:DL←'0' shlebx,1 ;EBX最高位移入CF標(biāo)志
jnctwo ;CF=0,即最高位為0,轉(zhuǎn)移
movdl,'1' ;CF=1,最高位為1,DL←'1'two:
movah,2 int21h ;顯示IF-THEN結(jié)構(gòu)[例題5-8]顯示數(shù)據(jù)最高位程序-3 ;數(shù)據(jù)段dvar dd0bd630422h ;有符號數(shù)據(jù) ;代碼段
movebx,dvar
movdl,'0'
shlebx,1 ;EBX最高位移入CF標(biāo)志
adcdl,0
;最高位為0,CF=0,DL←'0'='0'+0 ;最高位為1,CF=1,DL←'1'='0'+1
movah,2 ;顯示
int21h順序結(jié)構(gòu)[例題5-9]有符號數(shù)運算溢出程序 ;代碼段 moveax,dvar1 subeax,dvar2 ;求差
joerror ;有溢出,轉(zhuǎn)移
movdvar3,eax ;無溢出,保存差值
leadx,okmsg ;顯示正確
jmpdisperror:
leadx,errmsg ;顯示錯誤disp: movah,9
int21h例1.求補碼數(shù)[X]補的絕對值,并送回原處。;X≥0;X<0可得如下關(guān)系式:;X≥0;X<0典型的IF-THEN-ELSE程序結(jié)構(gòu)DATAS SEGMENTXADR DW3456H ;設(shè)[X]補=3456HDATAS ENDSSTACKS SEGMENT STACKBOTTOW DW 256DUP(?) ;定義堆棧段,預(yù)留256個單元TOP = $-BOTTOWSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,STACKS ;將堆棧段段址送SS MOV SS,AX MOV SP,TOP ;使SP指向棧底地址
MOV AX,DATAS ;將數(shù)段段址送DS MOV DS,AX
DONE: MOV AH,4CH ;返回PC-DOS狀態(tài) INT 21HCODES ENDSEND START可以省略求補碼程序段求補碼程序段 MOVAX,XADR;?。踴]補到AX ANDAX,AX ;設(shè)置標(biāo)志位 JNSDONE;若x≥0,轉(zhuǎn)DONE NEGAX ;若<0,求補得到|x| MOVXADR,AX;將|x|送回原處DATAS SEGMENTXADR DW3456H ;設(shè)[X]補=3456HDATAS ENDSSTACKS SEGMENT STACKBOTTOW DW256DUP(?) ;定義堆棧段,預(yù)留256個單元STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS ;將數(shù)段段址送DS MOV DS,AX MOV AX,XADR ;取[x]補到AX AND AX,AX ;設(shè)置標(biāo)志位 JNS DONE ;若x≥0,轉(zhuǎn)DONE NEG AX ;若<0,求補得到|x| MOV XADR,AX ;將|x|送回原處 DONE: MOV AH,4CH ;返回PC-DOS狀態(tài) INT 21HCODES ENDS END START5.2.4多分支結(jié)構(gòu)分支處理中又有分支,具有多個分支走向。可用單分支和雙分支實現(xiàn)多個分支結(jié)構(gòu)。AH=0fuction0YNAH=1fuction1YNAH=2fuction2YN[例題5-10]利用地址表實現(xiàn)多分支程序-1 ;數(shù)據(jù)段msg db'Inputnumber(1~9):','$'crlf db0dh,0ah,‘$‘ ;回車換行符msg1 db'Chapter1',0dh,0ah,'$' ……msg9 db'Chapter9',0dh,0ah,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國腸易激綜合征伴腹瀉(IBS-D)藥物行業(yè)發(fā)展監(jiān)測及投資方向研究報告
- 2025年智能型連棟溫室行業(yè)深度研究分析報告
- 2025年中國益肝靈片行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 2024-2025學(xué)年高中物理第四章電磁波及其應(yīng)用一電磁波的發(fā)現(xiàn)練習(xí)含解析新人教版選修1-1
- 2024-2025學(xué)年高中歷史第五單元歐洲的宗教改革第1課宗教改革的歷史背景練習(xí)含解析新人教版選修1
- 2024-2030年中國貝殼粉涂料行業(yè)市場深度分析及投資策略研究報告
- 照明燈飾項目可行性分析報告
- 2025年中國調(diào)頻食用油行業(yè)市場調(diào)查研究及未來發(fā)展趨勢報告
- 專用車刀刃磨機(jī)行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2025年中國救生艇行業(yè)發(fā)展監(jiān)測及發(fā)展趨勢預(yù)測報告
- 舞臺燈光設(shè)計與光影藝術(shù)考核試卷
- 第10輯:句子表達(dá)效果(原句vs改句)解題指導(dǎo)-2023年高考語文一輪復(fù)習(xí)修辭手法與句子表達(dá)效果專練
- 2024年輔警招考時事政治考題及答案(100題)
- 2024年中考數(shù)學(xué)《二次函數(shù)的實際應(yīng)用》真題含解析版
- GB 30254-2024高壓三相籠型異步電動機(jī)能效限定值及能效等級
- 非物質(zhì)文化遺產(chǎn)拓印 課件
- 空氣動力學(xué)數(shù)值方法:有限元法(FEM):邊界條件處理與應(yīng)用
- 教科版科學(xué)三年級下冊《 各種各樣的運動 》課件
- 部編版八年級物理(上冊)期末試卷(帶答案)
- NB-T10342-2019水電站調(diào)節(jié)保證設(shè)計導(dǎo)則
- 當(dāng)代世界經(jīng)濟(jì)與政治 第八版 課件 第四章 發(fā)展中國家的經(jīng)濟(jì)與政治
評論
0/150
提交評論