




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機原理與應(yīng)用第4講匯編語言李海北京理工大學(xué)信息與電子學(xué)院匯編程序編輯程序匯編程序program.asmprogram.obj連接程序program.exe匯編程序的主要功能: 檢查源程序,給出出錯信息 產(chǎn)生目標(biāo)文件(.obj)和列表文件(.lst) 展開宏指令源程序 偽指令沒有對應(yīng)的碼的指令,最終不被CPU所執(zhí)行。偽指令是由編譯器來執(zhí)行的指令,編譯器根據(jù)偽指令來進行相關(guān)的編譯工作。 匯編指令有對應(yīng)的碼的指令,可以被編譯為指令,最終為CPU所執(zhí)行。程序經(jīng)編譯連接后變?yōu)榇a匯編語言程序結(jié)構(gòu)完整段定義:標(biāo)準(zhǔn)的匯編語言書寫形式,也是傳統(tǒng)的書寫形式,適用于所有版本的匯編語言,可使程序設(shè)計者對匯編程序?qū)?/p>
2、行全面;既適用于將要生成的EXE文件對應(yīng)的源程序的格式, 也適用于將要生成的COM文件對應(yīng)的源程序的格式。簡化段定義:是一種快捷的段定義方式。完整段定義格式; filename.asm.STACK SEGMENT.STACK ENDS DATA SEGMENT.DATA ENDSCODE SEGMENT;用EQU定義的等價語句區(qū)(可有可無);若有外部模塊,用EXTRN定義外部說明;定義堆棧段STACK;分配堆棧段的大小;堆棧段結(jié)束;定義數(shù)據(jù)段DATA;定義數(shù)據(jù);數(shù)據(jù)段結(jié)束;定義代碼段ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA;確定CS/
3、DS/SS指向的邏輯段MOV DS,AX.MOV AX,4C00H INT 21HCODE ENDS.END START;裝填數(shù)據(jù)段寄存器;程序代碼;結(jié)束程序,返回DOS功能調(diào)用;代碼段結(jié)束;子程序代碼;匯編結(jié)束,程序起始點為START完整段定義格式任何一個源程序有至少一個邏輯代碼段和一條作為源程序文件結(jié)束的偽指令END;邏輯數(shù)據(jù)段根據(jù)程序本身功能的要求可有可無,也可以有多個;邏輯堆棧段可有可無,也可有多個,如果沒有,連接時將產(chǎn)生一個警告性的錯誤,這對于沒有堆棧操作的用戶程序來說并不是錯誤,但如果用戶程序用到堆棧的話,則最好設(shè)置的邏輯堆棧段。完整段定義偽指令(1)SEGMENT/ENDS 定義
4、邏輯段偽指令格式: SEGMENT ENDS功能:類型組合類型尋址方式類別 為任何一個邏輯段命名,指出以該段名命名的邏輯段的起止。 段名是由用戶給出的,每一對SEGMENT/ENDS前的段名必須保持一致,通常都寫成CODE、DATA、STACK等。如果用 戶不寫段名,則匯編時將自動為其加上一個段名:?SEG。 通常情況下,一個段的長度不能超過64K,在80386及其以后系統(tǒng)的保護方式下,段基地址是32位,段的最大長度可達4G。完整段定義偽指令(2)ASSUME 定義尋址關(guān)系偽指令格式:ASSUME :,功能: 出現(xiàn)在代碼段中可執(zhí)行的匯編指令之前,用以說明相應(yīng)的 邏輯段應(yīng)通過相應(yīng)的段寄存器尋址。
5、 邏輯段名由用戶給出,編譯器不知道各個段名是什么段, 所以用ASSUME偽指令來通知編譯器需要尋址的段將會用什 么段寄存器(CS、DS、SS、ES)來尋址,如ASSUME CS:CODE,DS:DATA,SS:STACK完整段定義偽指令注意:ASSUME不是對段寄存器的裝填,段寄存器必須通過段名來裝填。段名經(jīng)過匯編、連接和操作系統(tǒng)裝入后就是一 個具體的段地址常數(shù),即段名是一個立即數(shù),應(yīng)借助通用 寄存器AX來實現(xiàn)段寄存器的裝填。在ASSUME語句中,還可以用關(guān)鍵字NOTHING來說明某個段寄存器不與任何段相對應(yīng)。在代碼段的其它位置,還可以用另一個ASSUME語句來 改變前面ASSUME語句所說明
6、的對應(yīng)關(guān)系,這樣,代碼 段中的指令就用最近的ASSUME語句所建立的對應(yīng)關(guān)系來確定指令中的有關(guān)信息。完整段定義偽指令(3)END 結(jié)束偽指令END 標(biāo)號|過程名格式:功能:表示源程序到此為止,匯編程序?qū)υ撜Z句之后的任何內(nèi)容都不作處理。 通常情況,偽指令END是源程序的最后一條語句。 END后面可附帶一個在程序中已定義的標(biāo)號,指明程序的 啟動位置。 如果源程序是一個附帶一個標(biāo)號。的程序或主模塊,END后面一定要 如果源程序僅是一個普通模塊,那么其END后面就一定不能附帶標(biāo)號。匯編指令的書寫形式標(biāo)號:操作碼 目標(biāo)操作數(shù), 源操作數(shù);注釋其中 中的內(nèi)容為可選項。標(biāo)號必須是用字母打頭的字母或數(shù)字組成的
7、字符串, 標(biāo)號供轉(zhuǎn)移指令作為轉(zhuǎn)移的目標(biāo)。指令末尾由 ;起直至ENTER前為注釋部分。每一條匯編指令的末尾必須輸入換行鍵ENTER表示本指令的結(jié)束,下一指令的開始。完整段定義舉例用DOS 9號功能在顯示器上輸出字符串Hello World.outstr.asmDATA SEGMENTHW DB Hello world,13,10,$DATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET HW MOV AH,9INT 21HMOV AX,4C00H INT 21HCODE ENDSEND
8、 START;定義數(shù)據(jù)段DATA;定義數(shù)據(jù);數(shù)據(jù)段結(jié)束;定義代碼段;確定CS/DS指向的邏輯段;裝填DS寄存器;DX指向串首;DOS 9號功能調(diào)用;顯示指定字符串;結(jié)束程序返回DOS功能調(diào)用;代碼段結(jié)束;匯編結(jié)束,程序起始點為START顯示字符串使用DOS 9號功能,該功能要求DS:DX指向字符串首。簡化段定義格式TITLE COMMENT *這是簡化段定義框架實例,說明如何用簡化段定義編寫匯編程序*.MSMALL;定義程序的模式.STACK nH;定義堆棧段,其中n為以字節(jié)為的棧長;需要寫具體值,如10個字的堆棧,n應(yīng)該寫為14H;定義數(shù)據(jù)段;定義數(shù)據(jù);定義代碼段.DATA.CODESTAR
9、T: MOV AX,DATAMOV DS,AX.MOV AX,4C00HINT 21H.END START;裝填數(shù)據(jù)段寄存器;程序代碼;程序結(jié)束點,返回DOS;子程序代碼;匯編結(jié)束,程序起始點為標(biāo)號START處簡化段定義舉例:用DOS 9號功能在顯示器上輸出字符串Hello World。Outstr2.asmTITLE EX5-1COMMENT* 這是一個簡化段定義程序?qū)嵗?.MSMALL;定義器類型.STACK 100H.DATAHW DB Hello World,13,10,$.CODESTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET HWMOV AH,9I
10、NT 21H;定義堆棧段;定義數(shù)據(jù)段;定義代碼段;裝填數(shù)據(jù)段寄存器;DX指向串首;DOS 9號功能調(diào)用;顯示指定字符串MOV AH,4CH INT 21HEND START;結(jié)束程序返回DOS功能調(diào)用;匯編結(jié)束程序返回應(yīng)該在程序的末尾添加返回的程序段。movintax,4c00H21Hv 這兩條指令所實現(xiàn)的功能就是程序返回。段結(jié)束、程序結(jié)束、程序返回對比HelloWorld程序Windows版本.386P.m extern extern extern publicmovhandle, eaxflat_ExitProcess4:near_GetStdHandle4:near_WriteConso
11、leA20:near_go; WriteConsole(handle, &msg0, 13, &written, 0)push push push push push call0offset written13offset msg handle_WriteConsoleA20.databytemsgHello, World, 10handle dword written dword?; ExitProcess(0)push0.stackcall_ExitProcess4.code_go:; handle = GetStdHandle(-11) push-11end _gocall_GetStd
12、Handle4匯編的標(biāo)記、表達式和偽指令匯編的標(biāo)記、表達式和偽指令 標(biāo)記 偽指令 表達式源程序的每條語句可表示為:名字操作操作數(shù);注釋標(biāo)號變量指令偽指令宏指令寄存器標(biāo)號變量常數(shù)表達式說明程序或語句的功能標(biāo)號/變量:段值、偏移量、類型三種屬性表達式:數(shù)字表達式地址表達式標(biāo)記一個完整的匯編語言的語句由標(biāo)識符、保留字、分界符、常數(shù)和注釋組成,所有這些稱為標(biāo)記。1.標(biāo)識符變量、標(biāo)號不保留字使用保留字作為標(biāo)識符。2.指令、偽指令、宏指令、寄存器名分界符一個程序或一條指令中兩部分的分隔符。如,常數(shù)01000000B,0FFH,23,abcd3.4.5.注釋用分號;開頭在用十六進制書寫時,第一個字符是非數(shù)字
13、09時,前面一定要補一個0標(biāo)號標(biāo)號用來說明指令在程序中的位置。標(biāo)號可以作為轉(zhuǎn)移指令(條件轉(zhuǎn)移、JMP、CALL)的 操作數(shù)。標(biāo)號有三種屬性。段(SEGMENT)位移量(OFFSET)距離(DISTANCE):NEAR、FAR、SHORT標(biāo)號的定義(1) 標(biāo)號的缺省定義L1:MOV AX, BX標(biāo)號L1距離屬性為NEAR。(2) 用EQU偽指令定義標(biāo)號L2EQU THIS NEARAND AX,0FFHEQU THIS FARL3ORAL,30H使用EQU偽指令既可定義NEAR標(biāo)號,也可定義FAR標(biāo)號。但NEAR屬性的標(biāo)號一般使用缺省定義。(3)用LABEL偽指令定義標(biāo)號L4LABEL NEAR
14、 MOV AX,DXLABEL FARL5AND AL,30H標(biāo)號的定義(4)同一位置定義兩個距離屬性不同的標(biāo)號L6LABEL FARL7: XOR AX,0F0FH 其他段的JMP指令轉(zhuǎn)移到此處時,用L6作為JMP指令的目標(biāo) 地址; 本段的JMP指令或條件轉(zhuǎn)移指令用L7作為轉(zhuǎn)移指令的目標(biāo)地址。 在EQU偽指令中用THIS操作符同樣可以給L7處定義另一標(biāo)號, 此標(biāo)號距離屬性被指明為FAR。上面的偽指令和指令等價于:L6L7:EQU THIS FAR XOR AX,0F0FH偽指令(偽操作)偽指令是匯編程序?qū)υ闯绦蜻M行匯編時處理的操作,完成處理器選擇、模式定義、數(shù)據(jù)定義、器分配、指示程序開始結(jié)束
15、等功能。 數(shù)據(jù)定義及器分配偽指令 表達式賦值偽指令 地址計數(shù)器與對準(zhǔn)偽指令 LABEL偽指令 處理器選擇偽指令 段定義偽指令 程序開始和結(jié)束偽指令數(shù)據(jù)定義及器分配偽指令 | 變量類型說明變量類型說明:DBDWDDDFDQDT | 表達式為常數(shù)A DB 100;A為一個字節(jié),初值為100表達式為字符串,用單引號括起來D DB ABCD;D值為41H、D+1值為42H,D+2值為43H,D+3值為44H表達式為?保留G DW ?空間;G為一個字,值不定表達式為DUP子句,格式 n DUP ( 操作數(shù))I DB 3 DUP (1,2 DUP(0);9個數(shù)順序為:1,0,0,1,0,0,1,0,0表達
16、式為已定義的變量L DW K M DD K;L中存放K在段中的位移;M的低字存放K在段中的位移,高字存放K所在的段基地址ARRAYDB DBDWHELLO ABABARRAY PAR1PAR2 ADDR_TABLEDWDW DW100,200300,400PAR1,PAR2VARDBDB100DUP(?)2DUP(0,2DUP(1,2),3)48H45H4CH4CH4FH41H42H42H41HOPER1OPER2DBDW MOV MOV?,?,?OPER1;字節(jié)指令;字指令OPER1,OPER2,00OPER2OPER1OPER2DB DWMOVMOV1, 21234H, 5678HAX,
17、OPER1+1AL, OPER2類型不匹配AX, WORD PTRMOVOPER1+1(AX)=3402H(AL)=34HAL, BYTE PTRMOVOPER201H02H34H12H78H56H練習(xí) 已知一數(shù)據(jù)段中的數(shù)據(jù)為:exc0DATA A BUF CB D MDATASEGMENTDWMDB AB,0DH,0AHEQU 500H DW 0FFAAH DD BUFDB 2DUP(1) ,2DUP(2,B)ENDS 請畫出該數(shù)據(jù)段數(shù)據(jù)的形式。標(biāo)號偏移量數(shù)據(jù)A00CH100HBUF241H342H40DH50AHB60AAH70FFHD8029000AHDATA低0BHDATA高M0CH0
18、10DH010EH020FH42H10H0211H42H表達式賦值偽指令EQU表達式名B表達式EQU EQUEQUBP+8 9ALPHA+18ALPHABETA重復(fù)定義)“ = ” 偽操作 (EMPEMP=7=EMP+1地址計數(shù)器與對準(zhǔn)偽指令地址計數(shù)器$保存當(dāng)前正在匯編的指令的地址ORG偽指令EVEN使下一地址從偶地址開始地址計數(shù)器與對準(zhǔn)偽指令地址計數(shù)器 $ :保存當(dāng)前正在匯編的指令的地址; 跳過 8 個字節(jié)的區(qū)ORGJNE$+8$+6; 轉(zhuǎn)向地址是 JNE 的首址 + 6ARRAY 00740078$ 用在偽指令的參數(shù)字段:表示地址計數(shù)器的當(dāng)前值007EARRAYDW1,2,$+4,3,4,
19、$+401H00H02H00H7CH00H03H00H04H00H82H00H地址計數(shù)器與對準(zhǔn)偽指令地址計數(shù)器 $EQU與$配合使用,得到變量分配的字節(jié)數(shù)例如:MSG COUNT MOVDBEQUCL,This$-MSGCOUNTisfirststring.;(CL)=MSG的串長21地址計數(shù)器與對準(zhǔn)偽指令ORG 偽指令:SEG1SEGMENTORG VAR1 ORG VAR2 ORG VAR3ENDS10DW 20 DW$+8DW1234H5678H1357HSEG1BUFFERLABEL BYTEBUFFERDB8 DUP(?)ORG$+8ORG100HSTART:地址計數(shù)器與對準(zhǔn)偽指令;
20、使下一地址從偶地址開始EVENADBEVENmorningBDW2DUP(?)ALIGNboundaryALIGNALIGN42;EVENLABEL偽指令格式: LABEL 功能:為下一個說明:單元起名并定義它的類型。對于變量,類型可以是BYTE/WORD/DWORD等; 對于標(biāo)號,其類型可以是NEAR/FAR。REDEWLABEL WORDDEBYTE DB25H,32H,56H,42HMOV BL,DEBYTE ;對DEBYTE 按字節(jié),(BL)=25H;,(CX)=3225HMOV CX, REDEW;對REDEW按字處理器選擇偽指令.8086.286.286P.386.386P.486
21、.486P.586.586P選擇選擇808680286指令系統(tǒng)指令系統(tǒng)默認(rèn)選擇保護模式下的80286指令系統(tǒng)選擇80386指令系統(tǒng)選擇保護模式下的80386指令系統(tǒng)選擇80486指令系統(tǒng)選擇保護模式下的80486指令系統(tǒng)選擇Pentium指令系統(tǒng)選擇保護模式下的Pentium指令系統(tǒng)段定義偽指令完整的段定義偽操作datasegment; 定義數(shù)據(jù)段dataendsextra segment; 定義附加段extra endscodesegment; 定義代碼段assume cs:code, ds:data, es:extrastart:movax, datamovds, ax; 段地址 段寄存器
22、codeendsendstart帶堆棧段的匯編源程序:datasegment ends segment dwtos ends segment proc assumedatastack100labeldup (?)wordstack code mainfarcs:code, ds:data,ss:stackstart:mov mov mov push sub push mov mov ret endp ends endax,ss,sp, ds ax, ax ax,ds,stack ax offsettosaxdata axmaincodestart堆棧段的情況:stacksegmentdwtos
23、 ends100labeldup (?)wordstackmov mov movax,ss,sp,stack ax offsettos100字push sub pushds ax, axaxtos 00C8H sp完整段定義的格式:SEGMENTENDS段名類型 組合類型 使用類型 類別 ; 語句序列段名(1)類型 align_typePARABYTEWORDDWORDPAGE(2)組合類型 combine_typePRIVATEPUBLICCOMMONSTACKAT exp(3)使用類型 use_typeUSE16USE32(4)類別class例:; proadd1.asmextrndata
24、proadd segment ary count sumends: farcommondwdwdw1,2,3,4,5,6,7,8,9,1010?datacode1mainsegment proc assume push sub push mov movcall ret endp endsendfarcs:code1, dsds:datastart:ax, ax ax,ds,faraxdataaxptr proaddmaincode1start; proadd2.asmpublicdataproadd segment ary count sumendscommondw dwdw1,2,3,4,5
25、,6,7,8,9,1010?datacode2proaddsegment proc assume movmov endp ends endfar cs:code2,ds:data ax, datads, axproaddcode2程序開始和結(jié)束偽指令TITLENAMEtextmodule_nameEND label 表達式表達式由操作數(shù)和運算符組成,在匯編時,由一個表達式得到一個值。 操作數(shù) 運算符p算術(shù)運算符ppp邏輯和移位運算符關(guān)系運算符分析運算符p屬性運算符操作數(shù)一個操作數(shù)在內(nèi)容上可能代表一個數(shù)據(jù),也可能代表一個單元的地址。數(shù)據(jù):常數(shù)、標(biāo)號單元地址:常用標(biāo)識符(也叫標(biāo)號)表示。程序中的地
26、址標(biāo)號常用作轉(zhuǎn)移指令的轉(zhuǎn)移地址或調(diào)用指令的調(diào)用地址。運算符 算術(shù)運算符+、-、*、/、MOD 邏輯和移位運算符AND、OR、NOT、XOR、SHL、SHR 關(guān)系運算符EQ、NE、LT、GT、LE、GE 分析運算符OFFSET、SEG、TYPE、SIZE、LENGTH 屬性運算符PTR、段操作符、SHORT、THIS、HIGH、LOW、HIGHWORD、LOWWORD算術(shù)運算符 +(加)、(減)、*(乘)、/(除)、MOD(取模) 算術(shù)運算符可用在數(shù)值表達式或地址表達式中。MOVDX,BLOCK+(6-1)*2ARRAYARYENDDW DWMOV1,2,3,4,5,6,7?CX,(ARYEND
27、-ARRAY)/2; 符號地址常數(shù)有意義ADDAX,BLOCK+2 時意義不明確; *; MOVAX,BX+1邏輯和移位運算符 AND(邏輯與)、OR(邏輯或)、XOR(邏輯異或)和NOT左移位(SHL)和右移位(SHR)。 邏輯運算的結(jié)果是數(shù)值,只能用在數(shù)值表達式中。 這些操作符與邏輯指令助記符的表示方法和操作相同,但它們的執(zhí)行時間不同,前者在匯編過程中執(zhí)行,后者在程序執(zhí)行 時執(zhí)行。邏輯和移位運算符MOVAX,1SHL3;將表達式1SHL3的結(jié)果8送入AXADDCX,256 SHR22的結(jié)果64加到CX;將表達式256SHRPORTANDEQUDL,0FHPORTAND0FEHAND;匯編后
28、,該指令為DL,0EHOPR1OPR2EQUEQU AND257AX,OPR1ANDOPR2;ANDAX,1關(guān)系運算符EQ (相等)、 NE (不等)、 LT (小于)、 GT (大于)、LE(小于或等于)、 GE (大于或等于)。計算結(jié)果為邏輯值:真假0FFFFH0000HMOV FID, (OFFSET Y -OFFSETX)LE128若128 (真)若128 (假)匯編結(jié)果: MOV匯編結(jié)果: MOVFID, -1FID, 0X:Y:分析運算符OFFSET/SEG變量/標(biāo)號功能:回送變量或標(biāo)號的偏址/段址TYPEDB1變量DD 4/標(biāo)號DQ 8/常數(shù)常數(shù)0DW2DFDT10NEAR-1F
29、AR-26LENGTH變量功能:回送由定義的變量的單元數(shù),其它情況回送1DUPSIZE變量功能:LENGTH*TYPEARRAYTABLEDWDB100DUP(?)ABCDADDADD MOV MOV MOVMOVSISI CX CX CXCX,TYPETYPE LENGTH LENGTH SIZESIZEARRAYTABLE ARRAY TABLE ARRAYTABLE;ADDADD MOV MOV MOVMOVSI,SI,CX,CX,CX,CX,2110012001ass.asm.M.DATASMALL;定義器類型;定義數(shù)據(jù)段VAR ARY COUNTDW DW EQU50 DUP (A)4,5,6$ - OFFSET ARY ;COUNT=6.CODESTART: MOV AX,DATAMOV MOV MOV ADD MOV MOV MOV MOVDS,AX AX,SEG VAR DS,AXSI, TYPE ARY CX, LENGTH VAR CX, SIZE VAR CX, LENGTH ARY CX, SIZE ARY;AX=VAR的段基址;(SI)=(SI
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理咨詢師職業(yè)考試試題及答案
- 2025年藥學(xué)專業(yè)執(zhí)業(yè)資格考試試題及答案
- 2025年中小學(xué)教師職業(yè)道德考試試卷及答案
- 2025年網(wǎng)絡(luò)設(shè)計與開發(fā)實踐考試試題及答案
- 2025年藝術(shù)設(shè)計基礎(chǔ)知識綜合考試卷及答案
- 江蘇省徐州市經(jīng)濟技術(shù)開發(fā)區(qū)2025屆小升初全真數(shù)學(xué)模擬預(yù)測卷含解析
- 內(nèi)蒙古科技大學(xué)《材料工程基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省德陽市重點名校2024-2025學(xué)年初三第二學(xué)期二??荚嚿镌囶}含解析
- 外貿(mào)職業(yè)學(xué)院思政課件
- 消費者行為分析私域流量池合作協(xié)議
- 建投國電準(zhǔn)格爾旗能源有限公司招聘考試真題2024
- 農(nóng)行反洗錢與制裁合規(guī)知識競賽考試題庫大全-上下
- 2025年上半年陜西西安閻良區(qū)事業(yè)單位招聘高層次及緊缺特殊專業(yè)人才9人重點基礎(chǔ)提升(共500題)附帶答案詳解
- 《高壓輸電線路巡檢維護合同》
- 2025年中考數(shù)學(xué)幾何模型綜合訓(xùn)練專題16全等三角形模型之婆羅摩笈多模型解讀與提分精練(教師版)
- 2025年浙江溫州市公用事業(yè)發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
- 業(yè)主大會申請書
- (部編版)語文五年級上冊“小古文”閱讀理解訓(xùn)練82篇附參考答案
- 《應(yīng)收款項減值專題》課件
- 農(nóng)藝師常規(guī)知識培訓(xùn)課件
- 2025-2030年中國管理咨詢行業(yè)十三五發(fā)展戰(zhàn)略規(guī)劃及投資前景預(yù)測報告
評論
0/150
提交評論