版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章 匯編語言程序設(shè)計(jì)(二)匯編程序設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)表示( 變量、指針)設(shè)計(jì)程序結(jié)構(gòu):程序流控制(條件、分支、循環(huán))程序設(shè)計(jì)方法舉例 DOS/BIOS調(diào)用 (簡單了解)操作數(shù):標(biāo)號/變量數(shù)值表達(dá)式/地址表達(dá)式運(yùn)算符(算數(shù)、邏輯、關(guān)系、分析、合成)格式偽指令1DATA SEGMENT AT 8A00Hdata1 DB 03H,02H,01H,00Hdata2 DB 08HARRAY1 DW 3,4str DB HELLO$合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)data1data2ARRAY1str2DATA SEGMENT AT 8A00Hdata1 DB 03H,02H,01H,00Hdata2 DB 08HAR
2、RAY1 DW 3,4str DB HELLO$合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)data1data2ARRAY1strMOV AH,data1 ;AH=03H, 等于MOV AH, 0000HMOV AX,data1 ;AX=0203HMOV AH,data1+1 ;AH=02H 地址表達(dá)式。MOV AL,data1+2*2 ;AH=08H 標(biāo)號或變量加/減某個整型 ;常量時仍表示標(biāo)號或變量。3DATA SEGMENT AT 8A00Hdata1 DB 03H,02H,01H,00Hdata2 DB 08HARRAY1 DW 3,4str DB HELLO$合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)data1data2ARRAY1st
3、rINC data2 ;data2所代表的內(nèi)存單元里的值加1。MOV AL,data2-data1 ;AL=04H。同一段內(nèi)的兩個標(biāo)號或變量 ;相減,得到的是數(shù)值。MOV AL, OFFSET data1+2*2 ;OFFSET優(yōu)先級高于+號 ;等于MOV AL, 44DATA SEGMENT AT 8A00Hdata1 DB 03H,02H,01H,00Hdata2 DB 08HARRAY1 DW 3,4str DB HELLO$合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)data1data2ARRAY1str用變量的偏移地址(字)或全地址(雙字)來初始化存儲器XX DW str;值為str的偏移地址YY DD str
4、;值為str的全地址段基地址(高字)和偏移地址(低字)5DATA SEGMENT AT 8A00Hdata1 DB 03H,02H,01H,00Hdata2 DB 08HARRAY1 DW 3,4str DB HELLO$合成運(yùn)算符PTRdata1data2ARRAY1strLEA SI, data1MOV WORD PTR SI,4;0004H存入data1的第一個字。 MOV BX,OFFSET data1JMP DWORD PTR BX;跳轉(zhuǎn)到CS:IP=0001H:0004H。;段間間接轉(zhuǎn)移。04H00H6DP1 DD PRC1,PRC2DATA ENDSCODE SEGMENT;設(shè)C
5、S為8B00H PRC1 PROC FAR;8B00:1000:PRC1 ENDPPRC2 PROC FAR;8B00:2C20:PRC2 ENDP00H10H00H8BH20H2CH00H8BHDP18A00:000FH(PRC1)8B00:1000H合理設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)用標(biāo)號的偏移地址或全地址來初始化存儲器7第三章 匯編語言程序設(shè)計(jì)(二)匯編程序設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)表示( 變量、指針)設(shè)計(jì)程序結(jié)構(gòu):程序流控制(條件、分支、循環(huán))程序設(shè)計(jì)方法舉例 DOS/BIOS調(diào)用 (簡單了解)操作數(shù):標(biāo)號/變量數(shù)值表達(dá)式/地址表達(dá)式運(yùn)算符(算數(shù)、邏輯、關(guān)系、分析、合成)格式偽指令8環(huán)境與代碼運(yùn)行0000:03F
6、FFFFF:0堆棧段數(shù)據(jù)段代碼段CS:IPDSSS:SP系統(tǒng)起始運(yùn)行程序中斷向量區(qū)(系統(tǒng)專用)棧頂最多4個活動段分段結(jié)構(gòu)ES9 匯編語言源程序格式(例) STACK1 SEGMENT PARA STACK STACK DB 512 dup(?) ;定義堆棧段STACK1 512字節(jié)STACK1 ENDS DATA SEGMENT ;定義數(shù)據(jù)段DATAMESSAGE DB This A Sample Program,LFCR$ DB 0DH,0AH,$ACHAR DW ?DATA ENDS ;數(shù)據(jù)段DATA結(jié)束CODE SEGMENT ;定義代碼段CODE ASSUME CS:CODE,DS:D
7、ATA; 說明匯編程序活動段范圍段名段說明保留字10匯編語言例程 (續(xù)1 )MAIN PROC FAR ;MS-DOS 模板語句START:PUSH DS XOR AX,AX PUSH AX ;保存返回指針 DS:0START1:MOV AX,DATA MOV DS,AX CALL PRINT_A_CHAR RET;返回OSMAIN ENDPPRINT_A_CHAR PROC RETPRINT_A_CHAR ENDPCODE ENDS END START;匯編結(jié)束子程序, near11匯編語言例程 (續(xù)1 )如何返回DOS?方法1:MAIN PROC FARSTART:PUSH DS;開始XO
8、R AX,AXPUSH AX方法2:;結(jié)尾MOV AH,4CH ;主過程沒有申明為FAR時返回DOS法 INT 21H12匯編語言程序設(shè)計(jì)方法回顧 設(shè)計(jì)步驟:分析、建模、算法畫流程圖判斷框 條件?終止框過程/執(zhí)行框起始/準(zhǔn)備框 流程圖各框的表示法開發(fā)步驟:分配存儲空間單元、編程、調(diào)試(DEBUG版)-發(fā)行(Release)版 設(shè)計(jì)方法:自頂向下,逐步細(xì)化具體小任務(wù); 模塊化程序設(shè)計(jì):相對獨(dú)立、功能單一、I/O關(guān)系明確、便于排障。13匯編語言程序設(shè)計(jì)指令回顧置位 OR AL, 00001000B; 復(fù)位 AND AL,01110111B; 判位0/1:TEST AL, 00001000B; JZ
9、(0)/JNZ(1) 多位判零CMP AL,0 JZAND AL,AL; OR AX,AX; TEST AL,AL ; JZ程序流控制 標(biāo)志單元計(jì)數(shù)器循環(huán)14回顧:條件判斷與程序跳轉(zhuǎn)控制比較指令(CMP)、測試指令(TEST) 等對標(biāo)志寄存器中某些位有所改變,判斷之從而控制程序跳轉(zhuǎn)CMP AX, 0JCNEXT1 TEST AL, 01H JNZNEXT2NEXT2:小于不等15匯編語言程序設(shè)計(jì)結(jié)構(gòu)(一)質(zhì)量評估 內(nèi)存容量(效率)、速度、源代碼(復(fù)雜性)、可維護(hù)性、可靠性基本結(jié)構(gòu) (單任務(wù)):順序、分支、循環(huán)語句1語句2語句3語句nMOV AX,100MOV BX,200MOV CX,8000
10、ADD BX, CXCMP BX,1000JZ NEXT怎樣寫出高質(zhì)量的程序?16匯編語言程序設(shè)計(jì)分支結(jié)構(gòu)基本結(jié)構(gòu) (單任務(wù)):順序、分支、循環(huán)程序段1程序段2條件?NY CMP AL,100 JZ NEXT1 MOV CX, 2000 JMP N100NEXT1: MOV CX, 3000N100: MOV COUNT, CXif(條件) else 17匯編語言程序設(shè)計(jì)多分支結(jié)構(gòu)基本結(jié)構(gòu) (單任務(wù)):順序、分支、循環(huán).程序段1程序段n程序段2程序段n-1多路條件測試條件:數(shù)據(jù)比較結(jié)果散轉(zhuǎn):程序入口表程序流變化switch (cv) case v1: case v2: break;18匯編語言
11、程序設(shè)計(jì)循環(huán)結(jié)構(gòu)基本結(jié)構(gòu) (單任務(wù)):順序、分支、循環(huán)N程序段1結(jié)束循環(huán)?Y計(jì)數(shù)循環(huán)條件循環(huán)while (.) do . MOV CX,0; CHECK:CMP CX,100; JNC FINISH;CX=100則跳轉(zhuǎn) INC CX, JMP CHECK;FINISH: 19匯編語言程序設(shè)計(jì)循環(huán)結(jié)構(gòu)基本結(jié)構(gòu) (單任務(wù)):順序、分支、循環(huán)循環(huán)體結(jié)束?Ndo . while(. )MOV CX,0; CHECK:. INC CX; CMP CX,100, JC CHECK;CX100則跳轉(zhuǎn)FINISH:20循環(huán)結(jié)構(gòu)嵌套 DELAY1: MOV DX,50000;延時xx msDELAY2: NOP
12、 NOP DEC DX JNZ DELAY2 DEC CX JNZ DELAY1 RET MOV CX,1000 DELAY: PUSH CX PUSH DX MOV CX,1000POP DXPOP CXLOOP DELAY;CX自動減1RET多重循環(huán):延時程序例21程序設(shè)計(jì)舉例:(1)分支跳轉(zhuǎn)結(jié)構(gòu): 根據(jù)X0 給Y賦值-1,0,1MOV AL, XMOV AH, 1CMP AL, 0JG EXIT;如果AL0則跳轉(zhuǎn)JZ ZEROMOV AH, -1;0JMP EXITZERO: MOV AH, AL;=0EXIT:MOV Y,AH;統(tǒng)一出口22(2)分支:比較測試結(jié)構(gòu)(最大值w) .cod
13、e MOV BX, OFFSET CMPDAT MOV CX, COUNT MOV AX, BX INC BX INC BXCHECK0: CMP AX, BX JNC CHECK1 MOV AX, BX;總是把較大數(shù)存入AXCHECK1:INC BX INC BX LOOP CHECK0EXIT: .dataCMPDAT DW 1,2,3,7,6,5COUNT EQU ($-CMPDAT)/2;個數(shù)23(3)分支表-散轉(zhuǎn)例題:設(shè)有8種產(chǎn)品的產(chǎn)品編號分別為0,1,2,7,各產(chǎn)品的加工子程序名分別為PRO0,PRO1,PRO7。編寫由已知編號INDEX序號轉(zhuǎn)至相應(yīng)加工子程序處理的程序。要點(diǎn):利用
14、查表跳轉(zhuǎn)簡化多分支結(jié)構(gòu)的設(shè)計(jì)。24 方法1:利用表內(nèi)地址分支,表的內(nèi)容是各分支程序入口的偏移地址。 .DATA BASE DW PRO0, PRO1, PRO2, PRO3, PRO4, PRO5, PRO6, PRO7INDEX DB ?.CODESTART:MOV AX,DATAMOV DS,AXPRO0:;處理子程序JMP EXITPRO1:JMP EXITPRO7:JMP EXIT25MOV BL,INDEX;需要跳轉(zhuǎn)的分支程序編號MOV BH,0SHL BX,1;BX值乘以2JMP BASEBX;跳轉(zhuǎn)至相應(yīng)分支程序 ;基址尋址 EXIT:MOV AX,4C00HINT 21HSTAR
15、T ENDPCODE ENDSEND START26方法2:利用表內(nèi)指令分支,表的內(nèi)容是轉(zhuǎn)向各子程序的指令。 MOVAL,INDEX ;取編號MOVAH,0MOVBL,AL ;編號值乘以3ADDAL,ALADDAL,BLMOVBX,OFFSET BASE;取命令表的基址ADDBX,AXJMPBX ;跳轉(zhuǎn)到命令表的相應(yīng)位置BASE:JMPPRO0 ;BASE是命令表(代碼段中),;JMP是3字節(jié)指令JMPPRO7PRO0:;子程序JMPEXIT27例:計(jì)算?。∟=8 WORD; N=12 DWORD)RESULT DW ?MOV AX, N MOV CX, AXDEC CX;循環(huán)執(zhí)行N-1次LP
16、: MUL CX;默認(rèn)乘數(shù)AX,積AXLOOP LPMOV RESULT,AX(4)循環(huán)結(jié)構(gòu)28例: 從數(shù)組MYDATA開始的10個內(nèi)存單元(字節(jié)型)中,找值等于0的單元個數(shù),存入變量COUNT中。 MOV BX, OFFSET MYDATA-1MOV CX,10;循環(huán)次數(shù)MOV COUNT, 0AGAIN:INC BXCMPBX, 0LOOPNZ AGAINJCXZOK;此時有兩種可能性CX=0 或 ZF=1INC COUNTJMP AGAINOK:指令測試條件LOOP 目標(biāo)標(biāo)號CX CX-1CX!=0LOOPE/LOOPZ 目標(biāo)標(biāo)號CX CX-1ZF=1且CX!=0LOOPNE/LOOPN
17、Z 目標(biāo)標(biāo)號CX CX-1ZF=0且CX!=0JCXZ 目標(biāo)標(biāo)號 CX=0(5)循環(huán)結(jié)構(gòu)29匯編語言程序設(shè)計(jì)過程調(diào)用過程(子程序)反復(fù)使用程序段,簡化設(shè)計(jì)、減少程序空間開銷、易讀、易維護(hù)調(diào)試。問題 子程序現(xiàn)場保護(hù)/現(xiàn)場恢復(fù);主程序(調(diào)用者)完成 PUSH AX PUSH BX CALL SUBRT POP BX POP AX .子程序完成 SUBRT PROCSUNRT: PUSH AX PUSH BX . POP BX POP AX RET 30段內(nèi)直接/間接調(diào)用spsp-2CALL near_proc當(dāng)前IP壓入堆棧,段內(nèi)跳轉(zhuǎn)reg16/mem16RETspsp+2;近過程返回段間直接/間
18、接調(diào)用 spsp-4CALL far_proc當(dāng)前CS(先):IP(后)壓棧,段間跳轉(zhuǎn)mem32RETspsp+4;遠(yuǎn)過程返回匯編語言程序設(shè)計(jì)過程調(diào)用31過程(子程序,函數(shù), 方法)參數(shù)傳遞方法寄存器傳遞;內(nèi)存單元(全局)傳遞;速度快,但結(jié)構(gòu)差,難維護(hù)MOV SI, OFFSET SBuf_head MOV DI, OFFSET Dbuf_head MOV CX,COUNT CALL BLKCHEK堆棧傳遞-POP取/BP?。ㄗ映绦虿捎肦ET n)(多任務(wù))中斷(嵌套):任務(wù)通信、協(xié)調(diào) BLKCHEK PROC FAR;入?yún)I、DI、CX,;出參SUMBLKCHEK ENDP匯編語言程序設(shè)計(jì)
19、過程調(diào)用32例:求數(shù)組ARRAY中所有元素之和(假定不溢出)并存于SUM中。.DATAARRAYDB d1,d2,d3,dnCOUNTDB $-ARRAYSUMDB ?.CODELEA SI, ARRAYMOV CX, COUNTCALL SUM1;入?yún)镾I、CX,出參為AXMOV SUM, AXIP堆棧段新棧頂下一條指令的偏移地址call前call后 程序設(shè)計(jì)舉例(6):過程/子程序調(diào)用與參數(shù)傳遞33SUM1 PROC NEARCMPCX, 0JZEXIT;個數(shù)為0MOV AX, 0AGAIN: ADD AL, SIADC AH, 0INC SILOOP AGAINEXIT:RETSUM1
20、ENDP(續(xù))IP堆棧段新棧頂RET后RET前當(dāng)前IP值;入?yún)镾I、CX,出參為AX34 例: 把內(nèi)存中某一區(qū)域的數(shù)據(jù)塊傳送到另一區(qū)域中。如果源數(shù)據(jù)區(qū)與目標(biāo)數(shù)據(jù)區(qū)的一部分地址發(fā)生重疊,應(yīng)考慮從何處開始傳統(tǒng)以及傳送方向。指令:MOVS 目標(biāo),源(DS:SI ES:DI,并根據(jù)DF標(biāo)志自動修改SI和DI)DS:SI=源串首址 ES:DI=目標(biāo)首址 CX=串長MOVSB ;字節(jié)串傳送MOVSW ;字串傳送DF=0 增方向DF=1 減方向 程序設(shè)計(jì)舉例(7):分塊傳送35 須從高地址開始傳,遞減須從低地址開始傳,遞增 程序設(shè)計(jì)舉例(7):分塊傳送36(續(xù))DATASEGMENTSTRGDB256 D
21、UP(1,2,3)STG1EQU STRG+7 ;源串STG2EQU STRG+27 ;目標(biāo)串STRSEEQU 50;串長DATAENDSSSTACKSEGMENTSTACKDB256DUP(?)SSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATAMAIN:.MOVAX,DATAMOVDS,AX假設(shè)都在數(shù)據(jù)段中37MOVES,AXMOVCX,STRSE;MOV SI,OFFSET STG1; 源串首址MOV DI,OFFSET STG2;目標(biāo)首址CLD ;增量方式PUSH SI ADD SI,STRSE-1 ;SI=源串末址 CMP SI,DI
22、POP SI JL OK;不重疊 STD;重疊,按減量 ADD SI,STRSE-1 ;指向串末 ADD DI,STRSE-1OK:REP MOVSB ;按增量CODE ENDSEND MAINSTG1STG2STRSESTG1+STRSE(續(xù))38第三章 匯編語言程序設(shè)計(jì)(二)匯編程序設(shè)計(jì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)表示( 變量、指針)設(shè)計(jì)程序結(jié)構(gòu):程序流控制(條件、分支、循環(huán))程序設(shè)計(jì)方法舉例 DOS/BIOS調(diào)用 (簡單了解)學(xué)會使用操作數(shù):標(biāo)號/變量數(shù)值表達(dá)式/地址表達(dá)式運(yùn)算符(算數(shù)、邏輯、關(guān)系、分析、合成)格式偽指令39用戶程序控制PC機(jī)硬件的方式直接IOBIOS:固化在ROM中的一組外設(shè)驅(qū)動與管理
23、軟件DOS:在BIOS基礎(chǔ)上開發(fā)了一組IO處理程序高級語言DOS和BIOS調(diào)用(Disk OS-Basic I&O system)兩組系統(tǒng)服務(wù)程序,用戶可以通過兩者提供的功能程序,來編制直接管理和控制計(jì)算機(jī)硬件設(shè)備的底層軟件,完成基本IO(顯示器、鍵盤、硬盤等)、內(nèi)存和文件管理,以及中斷向量、時鐘設(shè)置等功能。BIOS/MS-DOS功能調(diào)用40BIOS/MS-DOS功能調(diào)用硬件控制直接IO:移植性差,必須很了解外設(shè)BIOS:運(yùn)行效率高,留駐在ROM中,獨(dú)立于OSDOS:基于MS-DOS,無須太多了解硬件,移植性好。高級語言:功能少,執(zhí)行效率慢。移植性:直接IOBIOSDOS 高級語言關(guān)鍵:DOS
24、與設(shè)備無關(guān)-BIOS與設(shè)備相關(guān)應(yīng)用: 軟中斷指令 INT n,實(shí)現(xiàn)系統(tǒng)功能調(diào)用概念和使用41BIOS/DOS 功能調(diào)用86PC:4種中斷:NMI、INTR、內(nèi)部中斷、軟中斷軟中斷指令 INT n:INT 10HBIOSINT 21HDOS系統(tǒng)功能調(diào)用步驟:確定功能號AH置入?yún)?zhí)行INT 21H 分析出參0-3FFH 中斷向量表,0255中斷號對應(yīng)中斷例程入口n=5H1FH 調(diào)用BIOS中的服務(wù)程序 P391附錄5n=20H3FH調(diào)用DOS中的服務(wù)程序 P387附錄4n=40HFFH自由中斷區(qū)42 BIOS/DOS (P174-204)功能調(diào)用21H號中斷的常用功能號:01/02H 單字符輸入/
25、輸出(帶回顯)09/0AH 字符串輸出/輸入特點(diǎn): (1)不用 CALL;(2)BIOS-ROM固化;(3)用戶程序不必與服務(wù)程序代碼相連,令用戶代碼簡潔、可讀性好,調(diào)試、使用方便;例:顯示字符(DOS僅字符方式) MOV AH, 2 ; AH的值功能號MOV DL,AINT 21H; n=21H中斷類型號43 DOS系統(tǒng)功能調(diào)用讀鍵盤(阻塞)MOV AH,1INT 21H CMP AL,Y ;出參 返回到DOSMOV AH, 4CHINT 21H 將一個以$結(jié)尾的字符串輸出到屏幕;入?yún)ⅲ毫頓S:DX指向該字符串MOV AH, 9INT 21H 44 Hello World 與系統(tǒng)調(diào)用DATA
26、SEGMENTszHelloDBHello,World!,0dh,0ah,$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOVDS,AXMOV AH,9MOVDX,OFFSET szHelloINT 21HMOV AH,4CHINT 21HCODEENDSEND START45 補(bǔ)充知識1.DOS為層次型模塊化結(jié)構(gòu)的操作系統(tǒng),它由一個引導(dǎo)程序Boot和三個功能模塊(輸入輸出管理模塊、文件管理模塊、命令處理程序)以及外部命令集(.COM/EXE/.SYS)組成 2.發(fā)展(1.06.22+,4.0后為多任務(wù))/IBM PCDOS3.局限性(8086工作在實(shí)模式下尋址采用16位段和偏移量,最大分段64KB,最大尋址空
溫馨提示
- 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年度智能化打樁機(jī)械租賃服務(wù)規(guī)范協(xié)議4篇
- 2025年度特色菜品研發(fā)廚房廚師長聘用合同4篇
- 2024物流運(yùn)輸合同參考模板
- 2024版?zhèn)鶛?quán)轉(zhuǎn)股權(quán)協(xié)議書
- 中國豬的飼養(yǎng)市場前景及投資研究報告
- 2025年度二手房交易擔(dān)保合同模板4篇
- 2025年度個人股權(quán)投資基金設(shè)立與運(yùn)營協(xié)議4篇
- 2025年洗車店租賃及售后服務(wù)保障合同3篇
- 2025年度高端制造行業(yè)個人技術(shù)工人派遣合同2篇
- 2025年度個人房產(chǎn)買賣合同稅收籌劃協(xié)議3篇
- 肺動脈高壓的護(hù)理查房課件
- 2025屆北京巿通州區(qū)英語高三上期末綜合測試試題含解析
- 公婆贈予兒媳婦的房產(chǎn)協(xié)議書(2篇)
- 煤炭行業(yè)智能化煤炭篩分與洗選方案
- 2024年機(jī)修鉗工(初級)考試題庫附答案
- Unit 5 同步練習(xí)人教版2024七年級英語上冊
- 矽塵對神經(jīng)系統(tǒng)的影響研究
- 分潤模式合同模板
- 海南省汽車租賃合同
- 2024年長春醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫必考題
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設(shè)計(jì)規(guī)范
評論
0/150
提交評論