版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第4章匯編語言程序設(shè)計
4.1
匯編語言源程序 4.2
偽指令 4.3
DOS功能調(diào)用 4.4
匯編語言程序設(shè)計基礎(chǔ)
思考題、作業(yè)題4.1 匯編語言源程序
匯編語言源程序 4.1.1
匯編語言源程序的結(jié)構(gòu) 4.1.2匯編語言語句類型及格式 4.1.3數(shù)據(jù)項及表達(dá)式
返回匯編語言源程序與匯編程序匯編語言源程序匯編程序用助記符編寫匯編程序匯編語言源程序機器語言目標(biāo)程序源程序的編譯程序接下頁匯編語言程序設(shè)計與上機過程輸入?yún)R編語言源程序(EDIT)匯編(MASM)鏈接(LINK)調(diào)試(TD)源文件.ASM目標(biāo)文件.OBJ可執(zhí)行文件.EXE最終程序返回
(1)編輯程序是用來輸入?yún)R編語言源程序的工具,包括記事本,EDLIN.EXE等;(2)匯編語言是以文本格式保存的;(3)匯編程序的源程序必須以.ASM作為擴展名;(4)輸入和編輯源程序時必須遵循匯編語言的語法規(guī)定.
編輯程序返回
(1)匯編程序用來把源程序翻譯成機器碼,包括ASM.EXE,MASM.EXE;(2)匯編程序在翻譯源程序,產(chǎn)生一個目標(biāo)代碼文件,與源程序文件名相同,擴展名為.OBJ.
匯編程序返回
通過匯編產(chǎn)生的OBJ文件是二進(jìn)制目標(biāo)文件,但用的是浮動地址,不能直接運行,必須用連接程序LINK.EXE連接和定位.連接程序返回
DEBUG.exe是DOS提供的一個調(diào)試匯編語言程序的程序,每個版本的DOS都帶有該程序。
DEBUG程序采用的是命令行方式使用不方便,但實用性強.是學(xué)習(xí)匯編語言程序、計算機硬件等課程的有效工具.DEBUG程序的具體作用:1.查看/修改寄存器,內(nèi)存單元的內(nèi)容;2.學(xué)習(xí)尋址方式和指令系統(tǒng);3.了解計算機取指令,執(zhí)行指令的工作過程;4.調(diào)試有問題的匯編語言程序。其他調(diào)試程序:TurboDebugger(TD.exe)調(diào)試程序返回調(diào)試程序下頁調(diào)試程序返回匯編語言程序設(shè)計的上機過程返回4.1.1匯編語言源程序的結(jié)構(gòu)數(shù)據(jù)段名SEGMENT…數(shù)據(jù)段名ENDS附加段名SEGMENT…附加段名ENDS堆棧段名SEGMENT…堆棧段名ENDS代碼段名SEGMENT…代碼段名ENDS
END返回4.1.2匯編語言語句類型及格式指令性語句指示性語句CPU執(zhí)行的語句,能夠生成目標(biāo)代碼CPU不執(zhí)行,而由匯編程序執(zhí)行的語句,不生成目標(biāo)代碼返回匯編語言語句格式指令性語句:[標(biāo)號:][前綴]助記符[操作數(shù)],[操作數(shù)][;注釋]指令的符號地址標(biāo)號后要有冒號操作碼注釋前加分號例:START:MOV AX,X返回匯編語言語句格式[名字]偽指令助記符操作數(shù)[,操作數(shù),…][;注釋]變量的符號地址其后不加冒號指示性語句中至少有一個操作數(shù)指示性語句:例:X DW 100返回標(biāo)號、名字標(biāo)號后有冒號,在指令性語句前;名字后不加冒號,在指示性語句前。英文字母、數(shù)字及專用字符組成,最大長度不能超過31個,且不能由數(shù)字打頭,不能用保留字(如寄存器名,指令助記符,偽指令)。 返回操作碼指令碼偽指令助記符指示匯編程序要完成的操作。作用:定義變量分配存儲單元指示程序開始和結(jié)束等命令CPU要完成的操作返回注釋用分號作為注釋的開始;用于說明程序或語句的功能,以便于閱讀和理解返回操作數(shù)寄存器存儲器單元常量變量或標(biāo)號表達(dá)式返回1.常量
常量是在程序執(zhí)行過程中不變的量。 包括數(shù)字常量和字符串常量兩種。(1)數(shù)字常量【例3-1】 3D,10101001B,0F800H(2)字符串常量【例3-2】 ‘AB’→41H、42H4.1.3數(shù)據(jù)項及表達(dá)式接下頁2.標(biāo)號
標(biāo)號只在代碼段使用。是其后緊跟指令所在存儲單元的符號首地址。 一般情況下只有跳轉(zhuǎn)、循環(huán)、過程調(diào)用、中斷等指令引用標(biāo)號。 標(biāo)號具有3種屬性:段、偏移量、類型(near,far)?!纠?-3】 start:movax,234.1.3數(shù)據(jù)項及表達(dá)式接下頁
3.變量
變量是程序運行期間可以隨時修改的數(shù)據(jù)對象,用來存放計算時的初值、中間結(jié)果或最終結(jié)果。先定義后使用。
變量名對應(yīng)某個數(shù)據(jù)或數(shù)據(jù)區(qū)的首地址。 變量有3種屬性:段、偏移量、類型(byte,word
等)。【例3-4】numdb11H,22H,33H …moval,nummovbl,num+24.1.3數(shù)據(jù)項及表達(dá)式接下頁4.表達(dá)式
表達(dá)式是由運算符連接起來的式子。表達(dá)式的求值任務(wù)是由匯編程序完成的。(1)算術(shù)運算符:+、-、*、/、mod【例3-5】 moval,8+5(2)邏輯運算符:and、or、xor、not【例3-6】 moval,0adhand0cch ;邏輯運算符按位運算4.1.3數(shù)據(jù)項及表達(dá)式接下頁(3)關(guān)系運算符:eq、ne、lt、gt、le、ge【例3-7】 movax,4eq3 ;關(guān)系真,值為FFFFH。關(guān)系假,值為0(4)取值運算符和屬性運算符: offset、seg、type、length、size、ptr
OFFSET:得到一個標(biāo)號或變量的偏移地址?!纠?-8】 movsi,offsetdata1
SEG:得到一個標(biāo)號或變量的段地址?!纠?-9】 movax,segdata4.1.3數(shù)據(jù)項及表達(dá)式接下頁
TYPE: 如果是變量,則匯編程序?qū)⒒厮驮撟兞康念愋椭?(DB為1,DW為2,DD為4); 如果是標(biāo)號,則匯編程序?qū)⒒厮驮摌?biāo)號的類型值(NEAE為-1,F(xiàn)AR為-2)。
LENGTH: 只對變量有效。 對于變量中使用DUP的情況,匯編程序?qū)⒒厮头峙浣o該變量的單元數(shù)。而對于其它情況則回送1。4.1.3數(shù)據(jù)項及表達(dá)式接下頁
SIZE: 只對變量有效。 匯編程序回送分配給該變量的字節(jié)數(shù)。 此值是LENGTH值和TYPE值的乘積。
PTR: 指定位于其后的存儲器操作數(shù)的類型?!纠?-10】 moval,byteptr[si] ;源操作數(shù)為字節(jié)類型4.1.3數(shù)據(jù)項及表達(dá)式返回
偽指令是告訴匯編程序生成目標(biāo)代碼的指示性指令語句.
符號定義偽指令內(nèi)存數(shù)據(jù)定義偽指令段定義偽指令段寄存器說明偽指令定位偽指令子程序偽指令一個完整源程序結(jié)構(gòu)例4.2
偽指令返回(1)EQU偽指令
偽指令格式:<符號名>EQU<表達(dá)式>
指令功能:給符號名賦值.名字可以由程序員取定,表達(dá)式應(yīng)該是可以計算得出一個具體值.例:PORTEQU88H;定義符號PORT代表88HDATAEQUPORT+2;定義符號DATA代表PORT+2注意:①用EQU定義的符號,不能重新再定義;②如果在表達(dá)式中用了其他符號,必須事先定義;符號定義偽指令接下頁(2)=(賦值)偽指令
格式:<符號名>=<表達(dá)式>
指令功能:與EQU類似,唯一的區(qū)別是“=”可以隨時對符號名賦新值,而不必使用PURGE偽指令.例:PORT=88H;定義符號PORT代表88HDATA=PORT+2;定義符號DATA代表PORT+2
PORT=08H;定義符號PORT代表08H符號定義偽指令接下頁(3)PURGE解除符號定義偽指令
格式:PURGE符號1,符號2,…功能:撤消用EQU賦值的符號名,以便于賦予新值.例:PURGEPORT,DATA ;撤消用EQU對PORT,DATA的賦值符號定義偽指令返回
①格式:[變量]命令參數(shù)1,參數(shù)2,…功能:數(shù)據(jù)定義語句用來分配存儲單元.數(shù)據(jù)定義語句的命令有:
DB
定義字節(jié)數(shù)據(jù)
DW
定義字?jǐn)?shù)據(jù)
DD
定義雙字?jǐn)?shù)據(jù)
DQ
定義8字節(jié)數(shù)據(jù)
DT
定義10字節(jié)數(shù)據(jù)
內(nèi)存數(shù)據(jù)定義偽指令接下頁
②復(fù)制操作
格式:<復(fù)制次數(shù)>DUP數(shù)據(jù)1,數(shù)據(jù)2,…內(nèi)存數(shù)據(jù)定義偽指令接下頁例:VAR1DB12H,‘AB’VAR2DW1234H
DD12345678H
DB
?,11HY1DB2DUP(0,1)Y2DW2DUP(?,1)
內(nèi)存數(shù)據(jù)定義偽指令返回VAR112HY100H41H‘A’01H42H‘B’00HVAR234H1234H01H12HY2--78H12345678H--56H01H34H0012H----預(yù)留存儲單元
--11H01H00H
定義匯編語言源程序中的邏輯段。格式: 段名SEGMENT[定位類型][組合類型][‘類別’] ……
段名ENDS
[]內(nèi)的可選項主要用于多個程序模塊的連接。
段定義偽指令返回
告訴匯編程序用SEGMENT定義過的段的段地址將要放到哪個段寄存器中。但真正把段地址裝入段寄存器的操作需由程序員自己完成(代碼段除外)。
格式: ASSUME段寄存器名:段名[,段寄存器:段名[,…]]段寄存器說明偽指令返回1)ORG
表達(dá)式 表示該語句后的指令或數(shù)據(jù)將以表達(dá)式的值作起始存放單元的偏移量。2)$(當(dāng)前位置計數(shù)器) 記錄匯編時所匯編的當(dāng)前字節(jié)的偏移量。3)END[標(biāo)號] 說明源程序結(jié)束,并說明程序執(zhí)行起始位置。定位偽指令返回
將具有某種功能的程序塊定義為一個過程(即子程序)。
格式: 過程名
PROC[NEAR/FAR] …… RET
過程名
ENDP子程序偽指令返回一個完整源程序結(jié)構(gòu)例DSEGSEGMENTDATA1DB1,2,DATA2DW1234HDSEGENDSESEGSEGMENTDB20DUP(?)ESEGENDSSSEGSEGMENTSTACK‘STACK’DB200DUP(?)SSEGENDS接下頁一個完整源程序結(jié)構(gòu)例CSEGSEGMENTASSUMECS:CSEG,DS:DSEG,ES:ESEG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAX,ESEGMOVES,AXMOVAX,SSEGMOVSS,AX┇CSEGENDSENDSTART源程序代碼返回一.什么是DOS系統(tǒng)功能調(diào)用二.DOS系統(tǒng)功能調(diào)用的方法三.DOS系統(tǒng)功能調(diào)用示例
DOS功能調(diào)用綜合示例4.3
DOS功能調(diào)用返回功能調(diào)用
微型機的系統(tǒng)軟件提供了許多可供用戶調(diào)用的功能子程序,用戶可在自己的程序中直接調(diào)用這些功能,無需再自行編寫。功能調(diào)用的種類
1、DOS功能調(diào)用:高級調(diào)用,不依賴于具體的硬件系統(tǒng)。
2、BIOS功能調(diào)用:低級調(diào)用,用戶程序必須在與IBMPC/XT兼容的計算機上運行。一.什么是DOS系統(tǒng)功能調(diào)用返回
應(yīng)用程序
PC硬件
BIOS
DOS高級語言硬件μCS的層次模型
DOS系統(tǒng)功能調(diào)用簡表(附錄C)DOS系統(tǒng)功能調(diào)用的使用方法
step1:AH←功能號
step2:在其他寄存器中放入該功能所需的入口參數(shù)
step3:執(zhí)行INT21H指令
step4:分析出口參數(shù)
二.DOS系統(tǒng)功能調(diào)用的方法返回功能號功能入口參數(shù)出口參數(shù)一、單字符輸入調(diào)用方法:
MOVAH,01INT21H輸入的字符在AL中下頁單字符輸入例GET_KEY:
MOV AH,1
INT 21H
CMP AL,’Y’ JZ YES CMP AL,’N’ JZ NO JNZ GET_KEY
YES:┇ NO: ┇交互式應(yīng)答程序下頁二、字符串輸入注意問題:調(diào)用格式字符輸入緩沖區(qū)的定義下頁1.調(diào)用格式
功能號OAH字符串在內(nèi)存中的存放地址INT21HAHDS:DX下頁2.定義字符緩沖區(qū)用戶自定義緩沖區(qū)格式:0DHN1N2整個緩沖區(qū)最大可鍵入字符數(shù)實際鍵入字符數(shù)存放鍵入的字符存放字符個數(shù):≤65533下頁輸入字符串程序段DAT1DB20,?,20DUP(?)┇
LEADX,DAT1MOVAH,0AHINT21H在數(shù)據(jù)段中定義下頁輸入緩沖區(qū)14H?20個字節(jié)定義后的輸入緩沖區(qū)初始狀態(tài):下頁三、單字符顯示輸出功能號O2H待輸出字符INT21HAHDL下頁單字符顯示輸出例MOV AH,02MOV DL,41HINT 21H
執(zhí)行結(jié)果:屏幕顯示A下頁四、字符串輸出顯示
功能號O9H待輸出字符串的偏移地址INT21HAHDS:DX下頁字符串輸出顯示被顯示的字符串必須以‘$’結(jié)束,且所顯示的內(nèi)容不應(yīng)出現(xiàn)非可見的ASCII碼下頁字符串輸出顯示例DATA SEGMENTMESS1DB‘InputString:’0DH,0AH,’$’DATAENDSCODESEGMENT ┇MOV AH,09MOV DX,OFFSETMESS1INT 21H┇返回例:從鍵盤讀入一串字符,并在屏幕上顯示出來。解:(1)從鍵盤讀入一串字符。(功能號:0AH)緩沖區(qū)的首地址由DS:DX指定。緩沖區(qū)結(jié)構(gòu):DOS功能調(diào)用綜合示例接下頁緩沖區(qū)長度n實際讀入的字符個數(shù)m預(yù)留n個字節(jié)保存實際鍵入的字符n+2個字節(jié)DS:DX
(2)在屏幕上顯示字符串。(功能號:09H)字符串首地址由DS:DX指定。被顯示的字符串必須以“$”字符結(jié)束。
要顯示的n個字符‘$’DS:DXDATA SEGMENT BUFFER DB 50,0,50DUP(?);最多可鍵入50個字符 DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,SEGDATA MOV DS,AX;將緩沖區(qū)段地址送DS
……;程序功能部分CODE ENDS
ENDSTARTDOS功能調(diào)用綜合示例返回
MOV DX,OFFSETBUFFER;將緩沖區(qū)起始偏移地址送DX MOV AH,0AH;字符串輸入功能
INT 21H
MOV BX,OFFSETBUFFER
MOV CL,[BX+1];實際輸入字符個數(shù)送CL XOR CH,CH MOV SI,CX;實際輸入字符個數(shù)送SI MOV BYTEPTR[BX+SI+2],’$’;插入串結(jié)束符
MOV DX, OFFSETBUFFER INC DX INC DX;顯示字符串起始地址送DX
MOV AH, 09H ;字符串顯示功能
INT 21H DOS功能調(diào)用綜合示例返回1順序結(jié)構(gòu)2分支結(jié)構(gòu)3循環(huán)結(jié)構(gòu)4子程序4.4 匯編語言程序設(shè)計基礎(chǔ)返回例:編程實現(xiàn)X+Y→Z,源程序
DATA1SEGMENT ;數(shù)據(jù)段
XDB? YDB? ZDB?
DATA1ENDS
CODE1SEGMENT ;代碼段
ASSUMECS:CODE1,DS:DATA1
START:MOVAX,DATA1;數(shù)據(jù)段段地址→AXMOVDS,AX ;AX→DS
1順序結(jié)構(gòu)接下頁
順序結(jié)構(gòu)程序是指在程序中不包含任何轉(zhuǎn)移類指令.執(zhí)行時按指令的先后次序從第一條開始逐條執(zhí)行,直至程序結(jié)束.
MOVAL,X;內(nèi)存單元X的數(shù)據(jù)→AL ADDAL,Y;內(nèi)存單元Y的數(shù)據(jù)+AL→AL,
;即X+Y→AL MOVZ,AL;AL→內(nèi)存單元Z,即求和結(jié)果;;送回Z
MOVAH,4CH ;送功能號 INT21H;系統(tǒng)功能調(diào)用,返回操作系統(tǒng)
CODE1ENDS
END
START1順序結(jié)構(gòu)返回
利用轉(zhuǎn)移指令,控制計算機執(zhí)行某段程序或不執(zhí)行某段程序,就是分支程序。2分支結(jié)構(gòu)接下頁判定條件YN條件1?P1YN條件2?P2YN條件m?PmYNPm+1兩路分支多路分支
例:計算符號函數(shù)SGN(X)的值。
1 當(dāng)X>0 Y=0 當(dāng)X=0 -1 當(dāng)X<02分支結(jié)構(gòu)接下頁解:①編寫流程圖YAX<0?結(jié)束
X的值A(chǔ)XY=-1初始化段地址DSX的指針SIAX>0?Y=0Y=1NNY
DATASEGMENT X DW ? Y DW ?
DATAENDS
CODESEGMENT ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA MOV DS,AX ;DS指向DATA段
……;功能部分
RES:MOV AH,4CH;返回DOS INT 21H
CODEENDS
ENDSTART
程序清單返回
MOV AX,X CMP AX,0 ;X與0比較
JL NEXT1 ;若X<0,則轉(zhuǎn)NEXT1處理
CMP AX,0 JG NEXT2;若X>0,則轉(zhuǎn)NEXT2處理
MOV Y,0 ;X=0,則Y=0 JMP RES ;轉(zhuǎn)處理結(jié)束處 NEXT1: MOV Y,-1 ;X<0,則Y=-1 JMP RES ;轉(zhuǎn)處理結(jié)束處 NEXT2: MOV Y,1 ;X>0,則Y=1 程序清單返回
控制計算機反復(fù)執(zhí)行一段指令序列的程序結(jié)構(gòu)就是循環(huán)程序.3循環(huán)結(jié)構(gòu)接下頁非零次循環(huán)結(jié)構(gòu)零次循環(huán)結(jié)構(gòu)例:統(tǒng)計字節(jié)數(shù)據(jù)Z的1的個數(shù),將結(jié)果放在RESULT內(nèi)。3循環(huán)結(jié)構(gòu)接下頁YNCF=1?結(jié)束
AL右移一位BL+1BL初始化計數(shù)器初值BL=0設(shè)置循環(huán)次數(shù)CX=8Z的值送入ALCX=0?NYCX-1CX統(tǒng)計結(jié)果BLRESULT解:①編寫流程圖DATAZSEGMENTZ DB ?RESULTDB ?DATAZENDSCODESEGMENT ASSUMECS:CODE,DS:DATAZSTART:MOVAX,DATAZ MOVDS,AX ;送段地址至DS
…;功能部分 MOVAH,4CH INT21HCODEENDSENDSTART
程序清單返回
XORBL,BL ;累加器BL清0 MOVCX,08H ;循環(huán)次數(shù)送CX LEASI,Z ;取X的指針 MOVAL,[SI] ;取X送AL
SUM:SHRAL,1 ;邏輯右移1位 JNCNONE ;CF=0,轉(zhuǎn)移到NONE INCBL ;CF=1,BL+1→BLNONE:LOOPSUM MOVRESULT,BL ;統(tǒng)計值送RESULT內(nèi)存單元程序清單返回
一個程序中,當(dāng)在不同的地方需要多次使用某段程序時,我們常將這段程序單獨編寫成一個程序段,稱為子程序/過程.(1)子程序的定義格式(2)子程序的調(diào)用(3)編寫子程序的注意事項(4)子程序的基本框架
例題4子程序返回格式:子程序名PROC … RET子程序名ENDP(1)子程序的定義格式返回格式: CALL子程序名(2)子程序的調(diào)用返回入口參數(shù):主程序向子程序傳遞的數(shù)據(jù)。出口參數(shù):子程序向主程序傳遞的數(shù)據(jù)。
1.現(xiàn)場保護(hù):保護(hù)調(diào)用子程序的現(xiàn)場,即保護(hù)子程序中會用到的寄存器,將這些寄存器入棧;2.功能子程序:子程序要完成的功能;3.恢復(fù)現(xiàn)場:為了使計算機返回到主程序調(diào)用時的狀態(tài),將入棧的數(shù)據(jù)出棧.注意順序!(3)編寫子程序的注意事項返回設(shè)某一子程序中要用到寄存器BX,CX,SI,DI則:
AAA PROC PUSHBX PRSHCX PUSHSI PUSHDI …… ;子程序的功能程序 POPDI POPSI POPCX POPBX RET AAA ENDP(4)子程序的基本框架返回編寫子程序統(tǒng)計AL(入口參數(shù))中的“1”的個數(shù),結(jié)果放在AL(出口參數(shù))中ABCPROCPUSHBX PUSHCX
XORBL,BL ;累加器BL清0 MOVCX,08H ;循環(huán)次數(shù)送CX SUM:SHRAL,1 ;邏輯右移1位 JNCNONE ;CF=0,轉(zhuǎn)移到NONE INCBL ;CF=1,BL+1→BLNONE:LOOPSUM MOVAL,BL ;AL里保存的是“1”的統(tǒng)計個數(shù)POPCX POPBX
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度防火門綠色建筑認(rèn)證合同2篇
- 二零二五版海上貨物運輸合同適用范圍與船舶建造合同3篇
- 二零二五版全方位房產(chǎn)及土地使用權(quán)買賣合同3篇
- 二零二五年電商代運營用戶運營與社區(qū)建設(shè)合同3篇
- 二零二五年電子商務(wù)平臺店長勞動合同規(guī)定2篇
- 二零二五年電子商務(wù)平臺安全風(fēng)險評估與管理咨詢合同3篇
- 二零二五版寄賣合同范本:電子產(chǎn)品寄賣代理合同2篇
- 二零二五版共有產(chǎn)權(quán)房買賣合同范本6篇
- 二零二五版文化創(chuàng)意產(chǎn)業(yè)合伙合同規(guī)范文本3篇
- 基于二零二五年度市場趨勢的產(chǎn)品研發(fā)合同2篇
- 骨科手術(shù)后患者營養(yǎng)情況及營養(yǎng)不良的原因分析,骨傷科論文
- GB/T 24474.1-2020乘運質(zhì)量測量第1部分:電梯
- GB/T 12684-2006工業(yè)硼化物分析方法
- 定崗定編定員實施方案(一)
- 高血壓患者用藥的注意事項講義課件
- 特種作業(yè)安全監(jiān)護(hù)人員培訓(xùn)課件
- (完整)第15章-合成生物學(xué)ppt
- 太平洋戰(zhàn)爭課件
- 封條模板A4打印版
- T∕CGCC 7-2017 焙烤食品用糖漿
- 貨代操作流程及規(guī)范
評論
0/150
提交評論