![匯編程序設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/11/4277e8c2-a797-49a4-8547-6c1cf70f13b2/4277e8c2-a797-49a4-8547-6c1cf70f13b21.gif)
![匯編程序設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/11/4277e8c2-a797-49a4-8547-6c1cf70f13b2/4277e8c2-a797-49a4-8547-6c1cf70f13b22.gif)
![匯編程序設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/11/4277e8c2-a797-49a4-8547-6c1cf70f13b2/4277e8c2-a797-49a4-8547-6c1cf70f13b23.gif)
![匯編程序設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/11/4277e8c2-a797-49a4-8547-6c1cf70f13b2/4277e8c2-a797-49a4-8547-6c1cf70f13b24.gif)
![匯編程序設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot3/2021-11/11/4277e8c2-a797-49a4-8547-6c1cf70f13b2/4277e8c2-a797-49a4-8547-6c1cf70f13b25.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章 匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言程序設(shè)計(jì) 所謂程序設(shè)計(jì),就是按照給定的任務(wù)要求,編寫出完整的計(jì)算機(jī)程序。要完成同樣的任務(wù),使用的方法或程序并不是唯一的。因此,程序設(shè)計(jì)的質(zhì)量將直接影響到計(jì)算機(jī)系統(tǒng)的工作效率、運(yùn)行可靠性。 前面我們學(xué)過(guò)了匯編語(yǔ)言形式的指令系統(tǒng),本章重點(diǎn)介紹匯編語(yǔ)言程序結(jié)構(gòu)以及如何利用匯編語(yǔ)言指令進(jìn)行程序設(shè)計(jì)的方法。 4.1 匯編語(yǔ)言程序設(shè)計(jì)概述4.1.1 匯編語(yǔ)言程序設(shè)計(jì)步驟 使用匯編語(yǔ)言設(shè)計(jì)一個(gè)程序大致上可分為以下幾個(gè)步驟。 (1) 分析題意,明確要求。 (2) 確定算法。 (3) 畫程序流程圖,用圖解來(lái)描述和說(shuō)明解題步驟。圖4.1 常用的流程圖符號(hào) (4) 分配內(nèi)存工作單元,
2、確定程序與數(shù)據(jù)區(qū)的存放地址。 (5) 編寫源程序 (6) 程序優(yōu)化。 (7)上機(jī)調(diào)試、修改和最后確定源程序。 4.2.2 偽指令語(yǔ)句 偽指令并不是真正的指令,也不產(chǎn)生相應(yīng)的機(jī)器碼,它們只是在計(jì)算機(jī)將匯編語(yǔ)言轉(zhuǎn)換為機(jī)器碼時(shí),指導(dǎo)匯編過(guò)程,告訴匯編程序如何匯編。下面介紹一些MCS-51匯編程序常用的偽指令。 (1)匯編起始偽指令ORG 格式:標(biāo)號(hào): ORG 16位地址 功能:規(guī)定程序塊或數(shù)據(jù)塊存放的起始地址。如: ORG 8000H START: MOV A ,#30H 該指令規(guī)定第一條指令從地址8000H單元開始存放,即標(biāo)號(hào)START的值為8000H。 (2)匯編結(jié)束偽指令END 格式:標(biāo)號(hào):
3、END 表達(dá)式 功能:結(jié)束匯編。 例如: ORG 2000H START: MOV A ,# 00H END (END START) 表示標(biāo)號(hào)START開始的程序段結(jié)束。 (3)等值指令EQU 格式:字符名稱 EQU 項(xiàng) 例如,TEST EQU R0 MOV A,TEST (4)定義字節(jié)指令DB 格式:標(biāo)號(hào): DB 8位二進(jìn)制數(shù)表 DB命令是從指定的地址單元開始,定義若干個(gè)8位內(nèi)存單元的內(nèi)容。例如, ORG 1000H TAB; DB 23H,73, “6”, “B” TABl: DB 110B 以上偽指令經(jīng)匯編以后,將對(duì)從1000H開始的若干內(nèi)存單元賦值: (1000H)=23H (1001
4、H)=49H (1002H)=36H (1003H)=42H (1004H)=06H 其中36H和42H分別是字符6和B的ASCII碼,其余的十進(jìn)制數(shù)(73)和二進(jìn)制數(shù)(110B)也都換算為十六進(jìn)制數(shù)了。 (5)定義字命令 DW 格式:標(biāo)號(hào): DW 16位二進(jìn)制數(shù)表 例如, ORG 1000H TAB: DW 1234H , 0ABH , 10 匯編后: (1000H)=12H (1001H ) = 34H (1002H ) = 00H ( 1003H ) = ABH (1004H ) =00H (1005H) =0AH DB、DW偽指令都只對(duì)程序存儲(chǔ)器起作用,不能用來(lái)對(duì)數(shù)據(jù)存儲(chǔ)器的內(nèi)容進(jìn)行賦
5、值或進(jìn)行其它初始化的工作。 4.2 順序程序設(shè)計(jì) 順序結(jié)構(gòu)程序是一種最簡(jiǎn)單、最基本的程序(也稱為簡(jiǎn)單程序),它是一種無(wú)分支的直線形程序,按照程序編寫的順序依次執(zhí)行。 【例4-1】 兩個(gè)8位無(wú)符號(hào)數(shù)相加,和仍為8位。 假設(shè)兩個(gè)無(wú)符號(hào)數(shù)X1, X2分別存放于內(nèi)部RAM60H、61H單元中,求其和并將和送入62H單元。 程序如下:ORG0000H CLRC MOVR0 ,# 60H;設(shè)R0為數(shù)據(jù)指針MOVA ,R0;取X11NCR0 ADDCA ,R0;X1+X21NCR0 MOVR0,A;保存結(jié)果END 【例4-2】?jī)蓚€(gè)無(wú)符號(hào)雙字節(jié)數(shù)相加。設(shè)被加數(shù)存放在內(nèi)部存儲(chǔ)器30H(高位字節(jié))、31H(低位字
6、節(jié))單元,加數(shù)存放在內(nèi)部存儲(chǔ)器40H(高位字節(jié))、41H(低位字節(jié))單元,和存入30H(高位字節(jié))、31H(低位字節(jié))單元。 程序如下: ORG0000H CLRC;將C清零 MOVR0 ,#31H;送被加數(shù)首址 MOVR1 ,#41H;送加數(shù)首址 MOVA ,R0;取被加數(shù)低字節(jié) ADDA ,R1;兩個(gè)低字節(jié)相加 MOVR0 ,A;低字節(jié)和存人被加數(shù)低字節(jié) DECR0;修改指針,指向被加數(shù)高字節(jié)DECR1 ;修改指針,指向加數(shù)高字節(jié)MOVA,R0;取被加數(shù)高字節(jié) ADDCA,R1;高字節(jié)相加 MOVR0 , A;存結(jié)果 END 【例4-3】編寫16位二進(jìn)制數(shù)求補(bǔ)程序 二進(jìn)制數(shù)的求補(bǔ)可歸結(jié)為“
7、求反加1”的過(guò)程,求反可用CPL指令實(shí)現(xiàn);加1時(shí)應(yīng)注意,加1只能加在低8位的最低位上。因?yàn)楝F(xiàn)在是16位數(shù),有兩個(gè)字節(jié),因此要考慮進(jìn)位問(wèn)題,即低8位取反加1,高8位取反后應(yīng)加上低8位加1時(shí)可能產(chǎn)生的進(jìn)位,還要注意這里的加1不能用INC指令,因?yàn)镮NC指令不影響CY標(biāo)志。 程序如下: ORG0200H MOVA ,R0;低8位送ACPLA;取反ADDA ,#01H;加lMOVR2 ,A;存結(jié)果MOVA ,R1;高8位送A CPLA;取反ADDCA ,#00H;加進(jìn)位MOVR3 ,A;存結(jié)果(R1R0-R3R2)END 【例4-4】編程將20H單元中的8位無(wú)符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成3位BCD碼,并存放在2
8、2H(百位)和21H(10位,個(gè)位)兩個(gè)單元中。 程序如下: ORG1000H MOVA ,20H;取數(shù)送AMOVB ,# 64H;除數(shù)100送B中DIVAB;商(百位數(shù)BCD碼)在A中,余數(shù)在B中MOV22H ,A;百位數(shù)送22HMOVA , B ;余數(shù)送A做被除數(shù)MOVB , #0AH ;除數(shù)10送B中DIVAB;十位數(shù)BCD碼在A中,個(gè)位數(shù)在B中 SWAPA;十位數(shù)BCD碼移至高4位 ORLA , B;并入個(gè)位數(shù)的BCD碼MOV21H , A;十位、個(gè)位BCD碼存人21H END 查表例4-5一變量放在內(nèi)部RAM 的20H,取值為00H-05H。編寫程序,求該變量的平方值,將結(jié)果放片內(nèi)2
9、1H ORG 1000HSTART:MOV DPTR, #2000H; or MOV DPTR, #TABLE MOV A, 20H MOVC A, A+DPTR MOV 21H, A SJMP $ ORG 2000HTABLE: DB 00, 01, 04, 09, 16, 25 END 圖4.2 分支程序結(jié)構(gòu) 圖4.2(a) 結(jié)構(gòu)使用條件轉(zhuǎn)移指令來(lái)實(shí)現(xiàn)分支,當(dāng)給出的條件成立時(shí),執(zhí)行程序段,否則執(zhí)行程序段。 圖4.2 (b) 結(jié)構(gòu)使用散轉(zhuǎn)指令JMP來(lái)實(shí)現(xiàn)多分支轉(zhuǎn)移,它首先將分支程序按序號(hào)的值來(lái)實(shí)現(xiàn)分支轉(zhuǎn)移。 4.3 分支程序設(shè)計(jì) 【例4-6】設(shè)補(bǔ)碼X放在內(nèi)部RAM30H單元中,函數(shù)Y與X有如
10、下的關(guān)系式: 試編寫程序,根據(jù)X的值求出Y,并放回原單元。 解 取出X后先做取值范圍的判斷,用累加器A狀態(tài)轉(zhuǎn)移指令判斷X是否為0,用位狀態(tài)轉(zhuǎn)移指令判斷X是大于0還是小于0。程序流程圖如圖4.3所示。 程序如下: MOV A,30HJZ ZER0JNB ACC.7,PLUSADD A,#5MOV 30H,APLUS: SJMP $ZERO: MOV 30H,#20HSJMP $END 開始結(jié)束A=0?A0?(30H) A(30H)+5 (30H)20H (30H)圖4.3 例4-5程序框圖 【例4-7】?jī)?nèi)部RAM40H和41H單元中各有一無(wú)符號(hào)數(shù),比較其大小,將大數(shù)存放于內(nèi)部RAM60H單元,小
11、數(shù)存放于內(nèi)部RAM61H單元,如兩數(shù)相等,則分別送往這2個(gè)單元。 解 用比較不等轉(zhuǎn)移指令CJNE比較力兩個(gè)無(wú)符號(hào)書,先確定它們是否相等,若不相等時(shí)再根據(jù)借位標(biāo)志確定這兩個(gè)無(wú)符號(hào)書的大小。程序框圖如圖4.4所示。程序如下: Y開始A (41H)A與(61H)交換結(jié)束(40H) (60H)A (60H)N圖4.4 例4-6程序框圖(40H) A MOVA, 40H MOV61H, 41H CJNEA , 4 1 H , LOOP AJMPAGEQ LOOP: JNCAGEQ;A(41H)則無(wú)借位 XCHA, 61H;A(41H)有借位;A與(61H)交換AGEQ:MOV60H, A SJMP EN
12、D 【例4-8】某溫度控制系統(tǒng),采集的溫度值(Ta)放在累加器A中。此外,在內(nèi)部RAM54H單元存放控制溫度下限(T54),在55H單元存放控制溫度上限(T55)。若Ta T55,程序轉(zhuǎn)向JW(降溫處理程序);若TaT55,轉(zhuǎn)降溫處理程序 CJNEA,54H,LOOP2;TaT54,轉(zhuǎn)向LOOP2 AJMPFH;Ta=54,返回LOOP2:JCSW;若(CY)=1,表明Ta (R1) MOV A, R1 : A (R1) MOV R3, ANEXT: INC R1 DJNZ R2 ,LOOP MOV A, R3 MOV MAX, A 【例4-12】假設(shè)從內(nèi)存RAM的50H單元,連續(xù)存放一串字符
13、,以回車符(其ASCII碼為0DH)作為結(jié)束標(biāo)志,要求測(cè)出該字符串的長(zhǎng)度。測(cè)試方法可采用將該字符串的每一個(gè)字符與回車符依次相比,若不相等,則將統(tǒng)計(jì)字符串長(zhǎng)度的計(jì)數(shù)器加l,繼續(xù)比較;若比較相等,則表示該字符串結(jié)束,這時(shí)計(jì)數(shù)器中的值就是字節(jié)符串的長(zhǎng)度。 程序如下: ORG 8000HCOUNT: MOV R2,# 0FFH MOV R0,# 4FH LOOP: INC R0 ;50H begin INC R2 ;0 begin CJNE R0, #0DH, LOOP SJMP 【例4-13】編制用軟件方法延時(shí)S的程序軟件延時(shí)時(shí)間與執(zhí)行指令的時(shí)間有關(guān)。如果使用6MHz晶振,一個(gè)機(jī)器周期為2s(=12
14、 /6M)。計(jì)算出執(zhí)行每一條指令以及一個(gè)循環(huán)所需要的時(shí)間,根據(jù)要求的延時(shí)時(shí)間確定循環(huán)次數(shù),如果單循環(huán)時(shí)間不夠長(zhǎng),可以采用多重循環(huán)。 程序如下: MOV R5, #05H ;1 機(jī)器周期DELY0: MOV R6, #0C8H ;1DELY1: MOV R7, #0F8H ;1 NOP ;1DELY2: DJNZ R7, DELY2 ;2.x 248=496 DJNZ R6, DELY1 ; DJNZ R5, DELY0 這是一個(gè)三重循環(huán)程序。前條指令的機(jī)器周期數(shù)為,后條指令的機(jī)器周期數(shù)為。執(zhí)行內(nèi)循環(huán)所用的機(jī)器周期數(shù)為2482=496,執(zhí)行中間循環(huán)所用的機(jī)器周期數(shù)(496+4)200=10000
15、0;執(zhí)行外循環(huán)所用的機(jī)器周期數(shù)為(100000+3)5=500015,再加上(執(zhí)行第一條指令)就是執(zhí)行整段程序所用的機(jī)器周期數(shù)。因此這段程序的延時(shí)時(shí)間位(500015+1)2s=1.000032s。 【例4-14】編寫無(wú)符號(hào)數(shù)排序程序。 假設(shè)在片內(nèi)RAM中,起始地址為40H的10個(gè)單元中存放有10個(gè)無(wú)符號(hào)數(shù)。試進(jìn)行升序排序。 解 數(shù)據(jù)排序常用方法是冒泡排序法。這種方法的過(guò)程類似水中氣泡上浮,故稱冒泡法。執(zhí)行時(shí)從前向后進(jìn)行相鄰數(shù)的比較,如數(shù)據(jù)的大小次序與要求的的順序不符就將這兩個(gè)數(shù)互換,否則不互換。對(duì)于升序排序通過(guò)這種相鄰數(shù)的互換,使小數(shù)向前移動(dòng),大數(shù)向后移動(dòng);從前向后進(jìn)行一次冒泡(相鄰數(shù)的互換
16、),就會(huì)把最大的數(shù)換到最后;再進(jìn)行一次冒泡就會(huì)把次大的數(shù)排在倒數(shù)第二的位置。依此類推,完成由小到大的排序。 編程中選用R7做比較次數(shù)計(jì)數(shù)器,初始值為09H,位地址00H作為冒泡過(guò)程中是否有數(shù)據(jù)互換的標(biāo)志位,若(00H) =0,表明無(wú)互換發(fā)生,已排序完畢。 (00H) =1,表明有互換發(fā)生。流程圖如圖4-11所示。 ORG0400H START:MOVR0,#40H;數(shù)據(jù)區(qū)首址送R0 MOVR7,#09H;各次冒泡比較次數(shù)送R7 CLR00H;互換標(biāo)志位清零LOOP:MOVA,R0;取前數(shù)送A中 MOV2BH,A;暫存到2BH單元中 INCR0;修改地址指針 MOV2AH,R0;取后數(shù)暫存到2A
17、H單元中 CLRC;清CY SUBBA,R0;前數(shù)減后數(shù) JCNEXT;前數(shù)小于后數(shù),則轉(zhuǎn)(不互換) MOVR0,2BH;前數(shù)大于后數(shù),兩數(shù)交換 DECR0 MOVR0,2AH INCR0;地址加1,準(zhǔn)備下一次比較 SETB00H;置互換標(biāo)志NEXT:DJNZR7,LOOP;未比較完,進(jìn)行下一次比較 JB00H,START;有交換,表示未排完序,進(jìn)行下一輪冒泡 END ;無(wú)交換,表示已排好序,結(jié)束 開始數(shù)據(jù)區(qū)受地址 R0比較次數(shù) R7置交換標(biāo)志取前一個(gè)操作數(shù)取后一個(gè)操作數(shù)前數(shù) 后數(shù)?前數(shù)和后數(shù)交換置交換標(biāo)志?本輪比較完畢?本輪有交換?結(jié)束YYNYN圖4.10 程序流程圖4.5 子程序設(shè)計(jì) 在匯
18、編語(yǔ)言源程序中使用子程序時(shí),一般要注意兩個(gè)問(wèn)題:1.現(xiàn)場(chǎng)保護(hù)2.參數(shù)傳遞 A. 在主程序中保護(hù)現(xiàn)場(chǎng): PUSH ACC PUSH PSW PUSH B PUSH R0 LCALL 。 POP R0 POP B POP PSW POP ACC RET B、在子程序中保護(hù)SUB1: PUSH PSW PUSH ACC PUSH B MOV PSW, #10H POP B POP ACC POP PSW RET 參數(shù)傳遞1-利用累加器和寄存器 編寫程序?qū)崿F(xiàn)c=a2+b2, a, b, c 存內(nèi)部RAM 30H-32H.START: MOV A, 30H ACALL SQR MOV R1, A MOV
19、 A, 31H ACALL SQR ADD A, R1 MOV 32H, A SJMP $SQR: MOV DPTR, #TAB MOVC A, A+DPTR RETTAB: DB 0, 1, 4, 9, 81參數(shù)傳遞1-利用存儲(chǔ)器傳 遞參數(shù)傳遞1-利用堆棧利用存儲(chǔ)器傳 遞: 在要傳遞的數(shù)據(jù)比較多時(shí),可以將數(shù)據(jù)事先寫入到程序存儲(chǔ)器或在主程序中寫入到數(shù)據(jù)存儲(chǔ)器,進(jìn)一步在子程序中讀出利用堆棧傳 遞: ,可以將數(shù)據(jù)主程序中壓入到堆棧,進(jìn)一步在子程序中彈出。也可以在子程序中壓入,再在返回后彈出。 【例4-16】將內(nèi)部數(shù)據(jù)存儲(chǔ)器某一單元中的一個(gè)字節(jié)的十六進(jìn)制數(shù)轉(zhuǎn)換成兩位ASCII碼,結(jié)果存放在內(nèi)部數(shù)據(jù)存
20、儲(chǔ)器的兩個(gè)連續(xù)單元中。 假設(shè)一個(gè)字節(jié)的十六進(jìn)制數(shù)在內(nèi)部數(shù)據(jù)存儲(chǔ)器40H單元,結(jié)果存于41H、42H單元中,用堆棧進(jìn)行參數(shù)傳遞。 MAIN:MOVSP,#55H MOVR1,#41H;R1為存結(jié)果指針 MOVA,40H;取要轉(zhuǎn)換的數(shù)據(jù) SWAPA;先轉(zhuǎn)換高位字節(jié) PUSHACC;壓棧 ACALLHEASC;調(diào)用低半字節(jié)轉(zhuǎn)換成 ASCII碼程序 POPACC; 要轉(zhuǎn)換的數(shù)據(jù)出棧 MOV R1 , A ;存高半字節(jié)轉(zhuǎn)換結(jié)果 INCR1 PUSH40H ACALLHEASC POPACC MOV R1, A;存低半字節(jié)轉(zhuǎn)換結(jié)果 END HEASC: MOVR0, SP DECR0 DECR0 XCHA
21、, R0;取被轉(zhuǎn)換數(shù)據(jù) ANDA, # 0FH;保留低半字節(jié) ADDA, #2;修改A ,下條到數(shù)據(jù)表差2字節(jié) MOVCA, A+PC;查表 XCHA, R0;結(jié)果送回堆棧 RET TAB:DB 30H,31H,32H,;ACALL 時(shí)時(shí) , SP=SP+2, 分別放入口地址分別放入口地址PC 15-8, PC 7-0, 若若LCALL, SP=SP+3 【例4-17】求兩個(gè)無(wú)符號(hào)數(shù)據(jù)塊中的最大值。數(shù)據(jù)塊的首地址分別為60H和70H,每個(gè)數(shù)據(jù)塊的第一個(gè)字節(jié)都存放數(shù)據(jù)塊的長(zhǎng)度,結(jié)果存人5FH單元。 解 本例可采用分別求出兩個(gè)數(shù)據(jù)塊的最大值,然后比較其大小的方法,求最大值的過(guò)程可采用子程序。 子程序名稱:Q
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)機(jī)械租賃業(yè)務(wù)中的風(fēng)險(xiǎn)傳播考核試卷
- 2025-2030年手持式電動(dòng)熱風(fēng)槍行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年呼吸順暢飲料行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 體育場(chǎng)地施工項(xiàng)目的成本效益分析考核試卷
- 2025-2030年含乳能量飲品系列企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年廚電產(chǎn)品用戶反饋行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 化纖織造企業(yè)的生產(chǎn)計(jì)劃優(yōu)化考核試卷
- 2025-2030年古城墻防御體系行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年古風(fēng)干果點(diǎn)心行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 刀剪制造業(yè)的生產(chǎn)質(zhì)量控制考核試卷
- 國(guó)庫(kù)集中支付培訓(xùn)班資料-國(guó)庫(kù)集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 屋面及防水工程施工(第二版)PPT完整全套教學(xué)課件
- 詩(shī)詞寫作入門課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫(kù)含答案解析
- 2023年高一物理期末考試卷(人教版)
- 2023版押品考試題庫(kù)必考點(diǎn)含答案
- 空氣能熱泵安裝示意圖
- 建筑工程施工質(zhì)量驗(yàn)收規(guī)范檢驗(yàn)批填寫全套表格示范填寫與說(shuō)明
- 2020年中秋國(guó)慶假日文化旅游市場(chǎng)安全生產(chǎn)檢查表
- 辦公家具項(xiàng)目實(shí)施方案、供貨方案
- 七年級(jí)英語(yǔ)下冊(cè)閱讀理解10篇
評(píng)論
0/150
提交評(píng)論