![匯編語言程序設(shè)計(jì)(第3版)微課版 課件 第6章 偽指令與源程序格式_第1頁](http://file4.renrendoc.com/view3/M01/08/02/wKhkFmYqRVuABVDaAAEEoeZ39M8819.jpg)
![匯編語言程序設(shè)計(jì)(第3版)微課版 課件 第6章 偽指令與源程序格式_第2頁](http://file4.renrendoc.com/view3/M01/08/02/wKhkFmYqRVuABVDaAAEEoeZ39M88192.jpg)
![匯編語言程序設(shè)計(jì)(第3版)微課版 課件 第6章 偽指令與源程序格式_第3頁](http://file4.renrendoc.com/view3/M01/08/02/wKhkFmYqRVuABVDaAAEEoeZ39M88193.jpg)
![匯編語言程序設(shè)計(jì)(第3版)微課版 課件 第6章 偽指令與源程序格式_第4頁](http://file4.renrendoc.com/view3/M01/08/02/wKhkFmYqRVuABVDaAAEEoeZ39M88194.jpg)
![匯編語言程序設(shè)計(jì)(第3版)微課版 課件 第6章 偽指令與源程序格式_第5頁](http://file4.renrendoc.com/view3/M01/08/02/wKhkFmYqRVuABVDaAAEEoeZ39M88195.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章偽指令與源程序格式匯編語言程序的語句:指令、偽指令、宏指令。偽指令(偽操作):主要用來定義數(shù)據(jù)變量和程序結(jié)構(gòu)。
6.1偽指令指令是在程序運(yùn)行期間由計(jì)算機(jī)的CPU來執(zhí)行的。偽指令是在匯編程序?qū)υ闯绦蜻M(jìn)行匯編期間由匯編程序處理的操作。1.段定義偽指令段定義偽指令格式:segment_nameSEGMENT……segment_nameENDSASSUME偽指令格式:ASSUMEregister_name:segment_name,register_name:segment_nameassume偽指令只是指定把某個(gè)段分配給哪個(gè)段寄存器,并不能把段地址裝入段寄存器中,所以在代碼段中,還必須把段地址裝入相應(yīng)的段寄存器中,通常用兩條MOV指令完成這一操作,但是代碼段不需要這樣做,它在程序初始化的時(shí)候完成。6.1.3程序開始和結(jié)束偽指令表示源程序結(jié)束的偽指令格式:END[標(biāo)號(hào)]標(biāo)號(hào)指示程序開始執(zhí)行的起始地址。若有多個(gè)程序模塊,則只需指明主程序開始時(shí)的標(biāo)號(hào),其它子程序模塊則只用END而不能指定標(biāo)號(hào)。6.1.4數(shù)據(jù)定義與存儲(chǔ)器單元分配偽指令指令語句的一般格式:[標(biāo)號(hào):]操作碼操作數(shù)[;注釋]START:MOVAX,DATA和指令語句格式類似,這一類偽指令的格式:[變量名]偽指令N個(gè)操作數(shù)[;注釋]STRINGDB‘HELLOWORLD$’標(biāo)號(hào)與變量區(qū)別變量定義一般在非代碼段,是數(shù)據(jù)在內(nèi)存中存放的符號(hào)地址,是在程序運(yùn)行期間可隨時(shí)被修改數(shù)值的數(shù)據(jù)對(duì)象,是內(nèi)存的一個(gè)數(shù)據(jù)區(qū)的名字。由標(biāo)識(shí)符構(gòu)成,其后不帶冒號(hào)。標(biāo)號(hào)定義一般出現(xiàn)在代碼段中,表示指令在內(nèi)存中存放的符號(hào)地址。它對(duì)應(yīng)的值在匯編時(shí)自動(dòng)計(jì)算。是由標(biāo)識(shí)符及后一個(gè)冒號(hào)構(gòu)成。定義數(shù)據(jù)類型的偽指令:DB:用來定義字節(jié),其后的每個(gè)操作數(shù)都占用1個(gè)字節(jié)。DW:用來定義字,其后的每個(gè)操作數(shù)都占用1個(gè)字。DD:用來定義雙字,其后的每個(gè)操作數(shù)都占用2個(gè)字。DF:用來定義六個(gè)字節(jié)的字,其后的每個(gè)操作數(shù)都占用48位。DQ:用來定義4個(gè)字,其后的每個(gè)操作數(shù)都占用4個(gè)字。DT:用來定義10個(gè)字節(jié),其后的每個(gè)操作數(shù)都占用10個(gè)字節(jié)。程序中默認(rèn)的數(shù)據(jù)為十進(jìn)制數(shù)。當(dāng)數(shù)據(jù)第一位不是數(shù)字時(shí),應(yīng)在前面加0。負(fù)數(shù)均為補(bǔ)碼形式存放。
字符串用‘’括起來?!??’表示只分配存儲(chǔ)單元,不存入數(shù)值。DUP
復(fù)制偽指令格式:countDUP(operand,…,operand)操作:將括號(hào)中的操作數(shù)重復(fù)count次,count可以是一個(gè)表達(dá)式,其值應(yīng)該是一個(gè)正數(shù)。DUP操作可嵌套。
例6.3操作數(shù)為常數(shù)、數(shù)據(jù)表達(dá)式。 D_BYTEDB10,10H D_WORDDW14,100H,-5,0ABCDH D_DWORDDD4×8例6.4操作數(shù)為字符串。問號(hào)‘?’僅預(yù)留空間。 MESSAGEDB‘HELLO?’,?;問號(hào)?通常被系統(tǒng)置0 DB‘AB’,? DW‘AB’;注意這里‘AB’作為串常量按字類型存放 MESSAGE
例6.5用操作符復(fù)制操作數(shù)。 ARRAYDB2DUP(1,3,2DUP(4,5))例6.6根據(jù)需要自己定義的各類數(shù)據(jù),含義由自己決定。 X1DB14,3;十進(jìn)制小數(shù)3.14 Y2DW1234H,5678H;32位數(shù)據(jù)十六進(jìn)制數(shù)56781234H Y3DW22,9;32位數(shù)據(jù)十六進(jìn)制數(shù)00090016H6.1.5類型屬性操作符WORDPTR;字類型
BYTEPTR;字節(jié)類型
類型屬性操作符僅是指定變量的“訪問類型”,并不改變變量本身的類型。例6.7在指令中用類型屬性操作符指定對(duì)內(nèi)存變量的訪問類型,以匹配兩個(gè)操作數(shù)。 OPER1DB3,4 OPER2DW5678H,9 ┇ MOVAX,OPER1;操作數(shù)類型不匹配 MOVBL,OPER2;操作數(shù)類型不匹配 MOV[DI],0;操作數(shù)類型不明確這三條指令可改為: MOVAX,WORDPTROPER1;從OPER1處取一個(gè)字使AX=0403H MOVBL,BYTEPTROPER2;從OPER2處取一個(gè)字節(jié)使BL=78H MOVBYTEPTR[DI],0;常數(shù)0送到內(nèi)存字節(jié)單元6.1.6THIS操作符和LABEL偽操作一個(gè)變量可以定義成不同的訪問類型,THIS操作符或LABEL偽操作都可以實(shí)現(xiàn)。格式:THIStype格式:nameLABELtype操作:指定一個(gè)類型為type的操作數(shù),使該操作數(shù)的地址與下一個(gè)存儲(chǔ)單元地址相同。例6.8把變量定義成不同訪問類型,以便指令中可靈活選用。指令執(zhí)行結(jié)果如圖6-6所示。 BUF=THISWORD DATDB8,9 OPR_BLABELBYTE OPR_WDW4DUP(2) ┇ MOVAX,1234H MOVOPR_B,AL MOVOPR_W+2,AX MOVDAT+1,AL MOVBUF,AX 表達(dá)式BUF=THISWORD使BUF和DAT指向同一個(gè)內(nèi)存單元。 LABE偽操作使得OPR_B和OPR_W指向同一個(gè)內(nèi)存單元。6.1.7表達(dá)式賦值偽指令“EQU”和“=”可以用賦值偽操作給表達(dá)式賦予一個(gè)常量或名字。格式如下:Expression_nameEQUExpressionExpression_name=Expression表達(dá)式中的變量或標(biāo)號(hào),必須先定義后引用。EQU偽操作中的表達(dá)式名是不允許重復(fù)定義的,而“=”偽操作則允許重復(fù)定義。6.1.8匯編地址計(jì)數(shù)器$與定位偽指令1.地址計(jì)數(shù)器$地址計(jì)數(shù)器是一個(gè)16位的變量,用$表示開始匯編或在每一段開始時(shí),將地址計(jì)數(shù)器初始化為零。當(dāng)在指令中用到$時(shí),它只代表此指令的首地址,而與$本身無關(guān)。當(dāng)$用在偽操作的參數(shù)字段時(shí),它所表示的是地址計(jì)數(shù)器的當(dāng)前值。例:jmp$+6;表示轉(zhuǎn)向地址是Jmp指令的首地址加上6。例:arraydw1,2,$+4,3,4,$+4,array分配的偏移地址為0074。
[0074]01,00,02,00,7C,00,03,00,04,00,82,000078+4007E+4注:ARRAY數(shù)組中的兩個(gè)$+4得到的結(jié)果是不同的,這是由于$的值在不斷變化。例6.9考察$的作用,假定$初值=0。 ARRAYDW3,$+7,7 COU=$ NEWDWCOU2.ORG偽操作ORG偽操作用來設(shè)置當(dāng)前地址計(jì)數(shù)器的值。格式:ORGconstantexpression操作:如常數(shù)表達(dá)式的值為n,則該操作指示下一個(gè)字節(jié)的存放地址為n。例6.10考察ORG偽操作,數(shù)據(jù)在內(nèi)存中的存放如圖6-8所示。 ORG0 DB3 ORG4 BUFFDB6 ORG$+6 VALDB93.EVEN偽操作EVEN偽操作使下一個(gè)變量或指令開始于偶數(shù)地址。4.ALIGN偽操作ALIGN偽操作使下一個(gè)變量的地址從4的倍數(shù)開始。6.1.9基數(shù)控制偽指令
匯編程序默認(rèn)的數(shù)為十進(jìn)制數(shù),程序中使用其它基數(shù)表示的常數(shù)要標(biāo)記。.RADIX偽操作可以把默認(rèn)的基數(shù)改變?yōu)?~16范圍內(nèi)的任何基數(shù)。格式:.RADIXexpression
;表達(dá)式表示基數(shù)值(用十進(jìn)制數(shù)表示)。注意:在用.RADIX把基數(shù)定為十六進(jìn)制后,十進(jìn)制數(shù)后面都應(yīng)該跟字母D。6.1.10過程定義偽指令過程相當(dāng)于高級(jí)語言程序中的子程序,是能完成特定功能的獨(dú)立的代碼模塊。過程是進(jìn)行模塊化程序設(shè)計(jì)的基礎(chǔ)。80x86中調(diào)用過程指令是CALL,從過程返回的指令是RET。過程定義包含兩條偽指令:PROC和ENDP。PROC表示過程的開始,ENDP表示過程的結(jié)束。過程定義語句的格式:過程名PROC[屬性] ;過程開始 ;過程體
過程名ENDP ;過程結(jié)束功能:定義一個(gè)過程(子程序)。過程名是標(biāo)識(shí)符,起到標(biāo)號(hào)的作用,是子程序入口的符號(hào)地址。過程的屬性可以是FAR或NEAR類型。NEAR為近,是段內(nèi)調(diào)用。FAR類型為遠(yuǎn),是跨段調(diào)用,缺省時(shí)為NEAR。
例6.11 datasegment;定義數(shù)據(jù)段data stringdb‘hello,world!$’ dataends codesegment;定義代碼段code assumecs:code,ds:data mainprocfar
;定義過程main movax,data movds,ax movdx,offsetstring movah,9 int21h movah,4ch int21h mainendp codeends endmain;匯編結(jié)束,程序起始點(diǎn)main
第十二周匯編語言程序設(shè)計(jì)2023-11-136.2語句格式語句格式:[name]operationoperand[;comment]
名字操作操作數(shù)注釋可選,不是必須各項(xiàng)之間必須用空格隔開。名字項(xiàng)是一個(gè)符號(hào),可以是指令的標(biāo)號(hào),也可以是變量名。操作項(xiàng)是一個(gè)操作碼的助記符,可以是指令、偽指令或宏指令名。操作數(shù)項(xiàng)由一個(gè)或多個(gè)表達(dá)式組成。注釋項(xiàng)用來說明程序或語句的功能。6.2.1名字項(xiàng)和操作項(xiàng)1.名字項(xiàng)由字母、數(shù)字和專用字符(?,.,@,_,$)組成。以字母和特殊字符開頭(@、$、.、_、?)。名字中如果用到·,則必須是第一個(gè)字符。不能與保留字相同。
名字項(xiàng)可以是標(biāo)號(hào)或變量,用來表示符號(hào)地址,有三種屬性:段屬性:定義該符號(hào)地址的段起始地址,此值必須在一個(gè)段寄存器中。偏移屬性:從段起始地址到定義該地址符號(hào)的位置之間的字節(jié)數(shù)。類型屬性:對(duì)于標(biāo)號(hào)指明是段內(nèi)還是段外引用;對(duì)于變量指明該變量所占字節(jié)數(shù)。標(biāo)號(hào)或變量不能重復(fù)定義。2.操作項(xiàng)指令:匯編程序?qū)⑵浞g為機(jī)器語言指令。偽指令:匯編程序根據(jù)其要求進(jìn)行處理。宏指令:根據(jù)宏定義展開。6.2.2表達(dá)式和操作符算術(shù)操作符邏輯與移位操作符關(guān)系操作符數(shù)值回送操作符1.算術(shù)操作符算術(shù)運(yùn)算符主要有+、-、*、/、MOD。MOD也稱為取模,它得到除法之后的余數(shù)。減法運(yùn)算可用于段內(nèi)兩個(gè)操作數(shù)地址(以變量名表示)的運(yùn)算,其結(jié)果是一個(gè)常數(shù),表示這兩個(gè)變量之間相距的字節(jié)數(shù)。例6.12算術(shù)操作符的使用,設(shè)有如下定義: ORG0 VAL=4 DA1DW6,2,9,3 DA2DW15,17,24 COU=$-DA2VAL是常數(shù),無需確定它的位置就可以使用。DA1和DA2是變量的符號(hào)地址,它們?cè)趦?nèi)存中有確定的位置,我們只能根據(jù)它們的地址才能訪問。 MOVAX,DA1*4;錯(cuò),地址乘或除,沒有意義 MOVAX,DA1*DA2;錯(cuò),地址乘或除,沒有意義 MOVAX,DA1+DA2;錯(cuò),地址相加,沒有意義 MOVAX,BX+VAL;錯(cuò),BX+VAL須用指令實(shí)現(xiàn) MOVAX,[BX+VAL];地址表達(dá)式,匯編成MOVAX,[BX+4] MOVAX,DA1+VAL;地址表達(dá)式,匯編成MOVAX,[4] MOVAX,[DA1+VAL];地址表達(dá)式,匯編成MOVAX,[4] MOVAX,VAL*4/2;數(shù)字表達(dá)式,匯編成MOVAX,8 MOVAX,[VAL*4/2];數(shù)字表達(dá)式,匯編成MOVAX,8 MOVCX,(DA2-DA1)/2;得到DA1區(qū)數(shù)據(jù)個(gè)數(shù),匯編成MOVCX,4 MOVBX,COU;得到DA2區(qū)的字節(jié)數(shù),匯編成MOVBX,62.邏輯與移位操作符邏輯操作符:AND,OR,NOT,XOR。移位操作符:SHL和SHR。格式:expression操作符number邏輯與移位操作符都是按位進(jìn)行的。邏輯與移位操作符都只能用于數(shù)字表達(dá)式中。例6.13邏輯操作符的使用 ARYDW8 VAL=4 MOVAX,BXAND0FFH;錯(cuò),BXANDVAL須用指令實(shí)現(xiàn) MOVAX,ARYAND0FFH;錯(cuò),ARYANDVAL須用指令實(shí)現(xiàn) MOVAX,VALAND0F0H;匯編成MOVAX,0 ANDAX,VALOR0F0H;匯編成ANDAX,0F4H例6.14移位操作符的使用 ARYDW8 VAL=4 MOVAX,BXSHL2;錯(cuò),BX左移須用指令實(shí)現(xiàn) MOVAX,ARYSHL2;錯(cuò),ARY左移須用指令實(shí)現(xiàn) MOVAX,VALSHL2;匯編成MOVAX,10H MOVAX,8SHL2;匯編成MOVAX,20H MOVAX,VALSHL15;匯編成MOVAX,00H3.關(guān)系操作符關(guān)系操作符用來對(duì)兩個(gè)操作數(shù)的大小關(guān)系作出判斷。EQ(相等)
NE(不相等)
LT(小于)
LE(小于等于)
GT(大于)
GE(大于等于)關(guān)系操作符的兩個(gè)操作數(shù)必須都是數(shù)字,或是同一段內(nèi)的兩個(gè)存儲(chǔ)器地址。計(jì)算結(jié)果為邏輯值,結(jié)果為真表示為0FFFFH,結(jié)果為假表示為0。例6.15關(guān)系操作符的使用 VAL=4 MOVAX,BXGT2;錯(cuò),BX是否大于2須用指令實(shí)現(xiàn)判斷 MOVAX,VALGE2;匯編成MOVAX,0FFFFH MOVAX,8LEVAL;匯編成MOVAX,04.數(shù)值回送操作符TYPELENGTHSIZEOFFSETSEG
(1)TYPE格式:TYPEexpression表達(dá)式為變量,則匯編程序回送該變量的以字節(jié)數(shù)表示的類型。
DB回送1DW回送2DD回送4DF回送6DQ回送8DT回送10表達(dá)式為標(biāo)號(hào),則匯編程序回送代表該標(biāo)號(hào)類型的數(shù)值。
NEAR回送-1FAR回送-2表達(dá)式為常數(shù)則回送0。
(2)LENGTH格式:LENGTHvariable
若變量用DUP定義,則返回總變量數(shù),否則為1。嵌套的DUP不計(jì)。所以,對(duì)于使用嵌套的DUP復(fù)制的數(shù)據(jù)不能據(jù)此得到正確的總變量數(shù)。(3)SIZE
格式:SIZEvariable
若變量用DUP定義,則返回總字節(jié)數(shù),否則為單個(gè)變量的字節(jié)數(shù)。嵌套的DUP不計(jì),所以,對(duì)于使用嵌套的DUP復(fù)制的數(shù)據(jù)不能據(jù)此得到正確的總字節(jié)數(shù)。(4)OFFSET格式:OFFSETvariable或label操作:回送變量或標(biāo)號(hào)的偏移地址。(5)SEG格式:SEGvariable或label操作:回送變量或標(biāo)號(hào)的段地址。
例6.16數(shù)值回送操作符的使用 設(shè)有如下定義: ORG0 VAL=4 ARRDW4DUP(3) BUFDW4DUP(4DUP(3)) DATDW15,17,24 STRDB‘ABCDEF’ 匯編程序?qū)ο旅娴闹噶顓R編結(jié)果為: MOVAX,TYPEARR;匯編成MOVAX,2 MOVAX,LENGTHARR;匯編成MOVAX,4 MOVAX,LENGTHBUF;匯編成MOVAX,4 MOVAX,LENGTHDAT;匯編成MOVAX,1 MOVAX,SIZEARR;匯編成MOVAX,8 MOVAX,SIZEBUF;匯編成MOVAX,8(不是32) MOVAX,SIZEDAT;匯編成MOVAX,2 MOVAL,SIZESTR;匯編成MOVAX,1 MOVAX,OFFSETARR;不完整的機(jī)器指令 MOVBX,SEGARR;不完整的機(jī)器指令運(yùn)算符的優(yōu)先級(jí)當(dāng)一個(gè)表達(dá)式中同時(shí)有幾個(gè)運(yùn)算符時(shí),按運(yùn)算符優(yōu)先級(jí)順序執(zhí)行。匯編源程序時(shí),匯編程序按照下列規(guī)則計(jì)算表達(dá)式的值:(1)先執(zhí)行優(yōu)先級(jí)高的運(yùn)算(2)優(yōu)先級(jí)相同的操作,從左至右順序進(jìn)行(3)可以用圓括號(hào)改變運(yùn)算的順序6.3EXE文件與COM文件匯編語言源程序有兩類:擴(kuò)展名為.EXE的可執(zhí)行文件(簡(jiǎn)稱EXE文件)擴(kuò)展名為.COM的可執(zhí)行文件(緊湊格式,簡(jiǎn)稱COM文件)這兩種文件具有不同的優(yōu)先級(jí),其源程序結(jié)構(gòu)也有較大差異。
6.3.1程序段前綴PSP系統(tǒng)在為用戶文件分配內(nèi)存空間時(shí),會(huì)多分配256個(gè)BYTE(100H)內(nèi)存空間給該文件,而這256BYTE是放在程序的機(jī)器碼前面,所以這個(gè)區(qū)域稱為程序段前綴(PSPProgramSystemPrefix),此區(qū)域內(nèi)所記錄的內(nèi)容為用戶跟系統(tǒng)溝通的一些相關(guān)信息。程序在執(zhí)行前調(diào)入內(nèi)存時(shí),由DOS確定裝入的起始地址,并在此處首先建立一個(gè)程序段前綴PSP,接著裝入程序。PSP為256個(gè)字節(jié),地址PSP:0處存放的是INT20H(程序返回的中斷調(diào)用)。EXE文件除了程序本身,還有文件頭。EXE文件裝入內(nèi)存后,有關(guān)寄存器的值如下:DS=ES=PSP段地址CS:IP=程序執(zhí)行的起始地址SS:SP=堆棧段的棧底地址如果把程序?qū)懗蛇^程,可以用RET指令結(jié)束程序。注意:程序中不能用INT20H指令代替此處的ret指令,否則雖退出程序但卻引起死機(jī)。例6.17用RET指令結(jié)束程序 datasegment;定義數(shù)據(jù)段datastringdb‘hello,world!$’ dataends codesegment assumecs:code,ds:data mainprocfar pushds;ds進(jìn)棧 movax,0;0進(jìn)棧 pushax movax,data movds,ax movdx,offsetstring movah,9 int21h
ret;返回
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年文化主題繪畫本行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025-2030年數(shù)據(jù)庫云服務(wù)行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2021-2026年中國甘肅省鄉(xiāng)村旅游市場(chǎng)競(jìng)爭(zhēng)格局及投資戰(zhàn)略規(guī)劃報(bào)告
- 反滲透設(shè)備項(xiàng)目風(fēng)險(xiǎn)評(píng)估報(bào)告
- 中國鋼材加工配送中心行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及投資戰(zhàn)略研究報(bào)告
- 北京某公司自建配送系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025年度樁基工程施工安全監(jiān)理合同
- 二零二五船舶環(huán)保設(shè)備采購與服務(wù)合同
- 2025年度智能玻璃鋼化糞池研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五年度鋅錠國際貿(mào)易法律咨詢與代理合同
- 工作交接表表格模板
- 《三國演義》中的佛教文化:以黃承兒為例
- 論犯罪與刑罰
- 材料預(yù)定協(xié)議
- 《學(xué)習(xí)的本質(zhì)》讀書會(huì)活動(dòng)
- 高氨血癥護(hù)理課件
- 物流營銷(第四版) 課件 胡延華 第3、4章 物流目標(biāo)客戶選擇、物流服務(wù)項(xiàng)目開發(fā)
- 《石油化工電氣自動(dòng)化系統(tǒng)設(shè)計(jì)規(guī)范》
- Q-GGW-BF-0117-2023天然氣管道無人站技術(shù)規(guī)范
- (完整版)潔凈室工程師培訓(xùn)教材
- 新教科版三年級(jí)下冊(cè)科學(xué) 第二單元重點(diǎn)題型練習(xí)課件
評(píng)論
0/150
提交評(píng)論