版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第4章 匯編語言程序設(shè)計mov ax,12hcall displayJmp 1234h1主要內(nèi)容:匯編語言的格式匯編語言語句格式偽指令匯編語言程序設(shè)計2回顧: 機器語言二進制數(shù)形式的指令和數(shù)據(jù)。 B0 64 是什么意思?這就是機器語言。既不直觀,又不易理解和記憶. MOV AL,64H ;很容易記憶理解,這就是助記符。 助記符用便于記憶的英語單詞表示的指令操作碼。它反映了指令的功能和主要特征,便于人們理解和記憶。4.1 匯編語言的格式及相關(guān)基本概念3 操作數(shù)可能放在存儲器中,這就涉及操作數(shù)的地址。程序中遇到轉(zhuǎn)移指令或調(diào)用指令,也需要知道轉(zhuǎn)移地址,若采用具體地址就很不方便,一旦有錯,改動也很麻煩
2、。于是人們采用標號或符號來代替地址,例: LP1: mov ax,VAR loop LP1相關(guān)概念: 匯編語言指令助記符,符號地址,標號,偽指令等語言元素的集合以及這些元素使用的規(guī)則。 用匯編語言編寫的程序叫匯編語言源程序。指令除了操作碼以外,還有一個操作數(shù)問題。4匯編程序源程序的編譯程序匯編程序匯編語言源程序機器語言目標程序 匯編源程序需翻譯成機器語言,變成可執(zhí)行文件,機器才能執(zhí)行,這個翻譯過程叫匯編。高級語言中稱該過程為“解釋”或“編譯”。執(zhí)行翻譯的程序稱為“匯編程序”。5匯編語言程序設(shè)計與執(zhí)行過程輸入?yún)R編語言源程序 源文件 .ASM匯編(編譯) 目標文件 .OBJ鏈接 可執(zhí)行文件 .EX
3、E調(diào)試 最終程序6匯編語言的工作環(huán)境及上機步驟 硬件環(huán)境 目前8086匯編語言程序一般多在IBM PC/XT及其兼容機上運行,要求機器具備基本配置即可以了。 軟件環(huán)境 主要是指支持匯編語言程序運行和幫助建立匯編語言源程序的一些軟件,主要包括:(1)DOS操作系統(tǒng) (2)編輯程序EDIT.COM(3)宏匯編程序MASM.EXE(4)連接程序LINK.EXE(5)調(diào)試程序DEBUG.COM 7運行匯編語言程序的步驟 (1)用編輯程序EDIT.COM建立擴展名為.ASM的匯編語言源程序文件; (2)用匯編程序MASM.EXE將匯編語言源程序文件匯編成用機器碼表示的目標程序文件,其擴展名為.OBJ;
4、(3)若在匯編過程中出現(xiàn)語法錯誤,根據(jù)錯誤信息提示(如位置、類型、說明),用編輯軟件重新調(diào)入源程序進行修改。無錯誤時采用連接程序LINK.EXE把目標文件轉(zhuǎn)化成可執(zhí)行文件,其擴展名為.EXE; (4)生成可執(zhí)行文件后,在DOS命令狀態(tài)下直接鍵入文件名就可執(zhí)行該文件。8匯編語言程序運行實例程序要求:從鍵盤輸入10個字符,然后以與鍵入相反的順序?qū)?0個字符輸出到顯示屏幕上。設(shè)定源程序名為STR.ASM。第一步:用EDIT建立匯編語言源程序 在DOS狀態(tài)下,調(diào)用EDIT編輯程序建立文件名為STR.ASM的匯編源程序。 其屏幕顯示如下圖: 910第二步:用MASM匯編生成目標文件源程序文件建立完畢后,
5、調(diào)用宏匯編程序MASM對STR.ASM進行匯編,結(jié)果如下圖所示:11第三步: 用LINK進行連接生成可執(zhí)行文件 匯編完畢程序正確,則可調(diào)用LINK進行連接,生成可執(zhí)行文件STR.EXE,過程如下圖所示。12 第四步: 程序的運行 在DOS狀態(tài)下,直接鍵入可執(zhí)行的程序文件名STR,然后從鍵盤輸入10個字符,并將其倒序排列輸出,過程如下圖所示。 13匯編語言源程序的格式 匯編語言源程序通常由一個或幾個程序模塊組成,每個模塊一般由三個邏輯段組成: 數(shù)據(jù)段存放數(shù)據(jù)、變量 堆棧段堆棧區(qū)域 代碼段存放程序指令14一個基本的匯編語言程序框架如下: stack SEGMENT PARA stack DB 10
6、0 DUP(stack) stack ENDS data SEGMENT data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data start: MOV AX, data MOV DS, AX MOV ES, AX MOV AL, 4CH INT 21H code ENDS END start 堆棧段數(shù)據(jù)段代碼段154.2 匯編語言的語句與格式匯編語言的語句有兩種:指令性語句由8086指令助記符構(gòu)成的語句指示性語句由偽指令構(gòu)成的語句指令性語句的格式為: 標號: 指令助記符 目的操作數(shù),源操作數(shù) ;注釋 指示性語句的格式為: 名字 偽指令 操
7、作數(shù)1,操作數(shù)2,操作數(shù)n ;注釋 注:各部分之間至少要用一個空格作為分隔符。16指令性語句由CPU執(zhí)行,每一條指令性語句都有一條機器碼指令與其對應(yīng);指示性語句由匯編程序執(zhí)行。它指出匯編程序應(yīng)如何對源程序進行匯編,如何定義變量、分配存儲單元以及指示程序開始和結(jié)束等。指示性語句無機器碼指令與其相對應(yīng)。 指令性語句匯編時生成機器碼; 指示性語句匯編時不生成機器碼。17語句的構(gòu)成元素:標號指令的符號地址,用來代表指令在存儲器中的地址。只能出現(xiàn)在指令性語句中,標號后應(yīng)加上冒號。名字段、過程、變量的名字,用來代表它們在存儲器中的地址。只能出現(xiàn)在指示性語句中,名字后不加冒號。指令助記符8086助記符、偽指
8、令操作數(shù)即指令的操作對象對指令性語句0,1,2個對指示性語句根據(jù)需要而定操作數(shù)之間以逗號分隔操作數(shù)可以是:寄存器、存儲單元、常數(shù)或表達式 例如:AX,DI+BX+10,200,16*8+TABLE,等等18注釋以分號開頭,可放在指令后,也可單獨一行。 注意注解的寫法。要寫指令(段)在程序中的作用,而不要寫指令的操作。 例如:以下為同一條指令寫的注釋 1)MOV CX,100 ;傳送100到CX 2)MOV CX,100 ;循環(huán)計數(shù)器置初值 顯然,第二種寫法要比第一種寫法要好。 19匯編語言的一個實例: hello.asm data SEGMENTHello DB Hello, world!,0
9、DH,0AH,$data ENDSprog SEGMENT ASSUME CS:prog,DS:datastart: MOV AX,data MOV DS,AX LEA DX,hello;取字符串首地址 MOV AH,9 INT 21H;顯示字符串 MOV AH,4CH INT 21H;退回DOSprog ENDS END start名字標號20 4.3 數(shù)據(jù)項與表達式數(shù)據(jù)項包括常量、變量、標號及表達式。1.常量二進制數(shù),以B結(jié)尾。如01001101B。十進制數(shù),如85。十六進制數(shù),以H結(jié)尾。第1個數(shù)字為A-F時,前面應(yīng)加0,如0F160H。(也可不寫)字符串:用引號括起來的1個或多個字符。如
10、ERROR!, a,匯編時被翻譯成對應(yīng)的ASCII碼45H,52H,52H,4FH,52H,21H和61H。21有三個屬性: 段地址:即標號所在段的段地址; 偏移量:標號所代表存儲單元的段內(nèi)偏移地址; 類 型:NEAR或FAR: NEAR表示標號所在語句與轉(zhuǎn)移指令/ 調(diào)用指令在同一碼段內(nèi),跳轉(zhuǎn)時 只需改變IP即可。 FAR表示標號所在語句與轉(zhuǎn)移指令/ 調(diào)用指令不在同一代碼段內(nèi)。 若沒有對類型進行說明,默認為NEAR。標號通常作為轉(zhuǎn)移指令或CALL指令的轉(zhuǎn)移地址。2.標號指令所在內(nèi)存單元的符號地址22 變量即內(nèi)存中的存儲單元或數(shù)據(jù)區(qū)。 變量名是存儲單元(數(shù)據(jù)區(qū))的符號地 址或名字。變量也有三個屬
11、性:段地址變量所在段的段地址(Segment)偏移量變量單元地址與段首地址之間的位移量。類 型有BYTE、WORD和DWORD三種。變量在程序中作為存儲器操作數(shù)被引用。3.變量23變量與標號的聯(lián)系與區(qū)別:聯(lián)系:變量與標號都是存儲單元的符號地址。區(qū)別:變量所對應(yīng)的存儲單元中存放的是數(shù)據(jù)。24變量與標號的三種屬性區(qū)別變量:段值(SEGMENT):變量單元所在段的段地址偏移量(OFFSET):變量單元與段地址的偏移量類型(TYPE):字節(jié)(BYTE),字 (WORD),雙字 DOUBLE WORD)標號:段值(SEGMENT):標號所對應(yīng)存儲單元的符號地址所在 段的段地址偏移量(OFFSET):標號
12、所對應(yīng)存儲單元的符號地址與段 地址的偏移量類型(TYPE):NEAR(段內(nèi):轉(zhuǎn)移到此標號的語句只改變IP,不改變CS)FAR (段間:轉(zhuǎn)移到此標號的語句不只改變IP,還改變CS) 25標號和變量名的使用規(guī)則組成:A-Z(不分大小寫), 0-9, ? . _ $不能以數(shù)字開頭,句號(.)只能作為首字符長度小于31個字符不能與保留字(指令助記符、偽指令、預定義符號等)重名不能重復定義例如: 正確的:LP1, AGAIN, NEXT, _GO, OK_1 錯誤的:4M, LOOP, AAA, #HELP, +ONE264.表達式表達式是常數(shù)、寄存器、標號、變量與運算符的組合。有數(shù)字表達式和地址表達式
13、兩種。匯編時按優(yōu)先規(guī)則對表達式進行計算,計算出具體的數(shù)值或地址。運行時不能改變。表達式中的運算符有5類:算術(shù)、邏輯、關(guān)系、分析、合成。27用于數(shù)字表達式,例: MOV AX,4*1024匯編后的形式為: MOV AX,4096 用于地址表達式,例: LEA SI,TAB+3若TAB的偏移地址為1000H,則匯編后的形式為: LEA SI,1003H 1)算術(shù)運算符 +、-、*、/,MOD28邏輯運算符只能用于數(shù)字表達式中。 例:MOVCL,36H AND 0FH 經(jīng)匯編后:MOV CL,06H注意,不要把邏輯運算符與邏輯運算指令混淆: 例:AND AX, 3FC0H AND FF00H 匯編后
14、源操作數(shù)被翻譯為:3F00H,所以上述指令與AND AX, 3F00H等價。2)邏輯運算符 AND、OR、XOR、NOT29關(guān)系運算的結(jié)果是一個邏輯值:真或假 關(guān)系為真,結(jié)果為全1 關(guān)系為假,結(jié)果為全0例:MOV BX,PORT_VAL LT 5 若PORT的值小于5,則匯編后為: MOV BX,FFFFH 否則匯編后為: MOV BX,03)關(guān)系運算符EQ、NE、LT、GT、LE、GE304.3 指示性語句(偽指令) 在匯編語言中,偽指令是給匯編程序的命令,在匯編過程中由匯編程序進行處理。 IBM宏匯編中有以下幾種指示性語句(1)符號定義語句(2)數(shù)據(jù)定義語句(3)段定義語句(4)過程定義語
15、句(5)結(jié)束語句 314.3.1 符號定義偽指令 符號定義偽指令的用途是給一個符號重新命名,或定義新的類型屬性等。這些符號可以包括匯編語言的變量名、標號名、過程名、寄存器名以及指令助記符等。 常用的符號定義偽指令有EQU、PURGE。 1)EQU語法格式 符號名 EQU 數(shù)值表達式 符號名 EQU 功能:給符號定義一個數(shù)值或把符號定義成另一個字符串也可以說使EQU兩邊的項等效,可以互相代換。32例如:Number_1 EQU 2; Loop_count EQU 2*5+Number_1 COUNT EQU CX 注釋: 1)程序中使用符號常數(shù),而不使用具體數(shù)值,可大大提高程序的易讀性,而且使程
16、序易于修改。使用匯編語言編寫程序,通常應(yīng)遵循這一原則。 2)EQU右邊的項允許出現(xiàn)符號,但該符號必須是已經(jīng)定義。 3)EQU語句在未解除之前,不能重新定義 332) “=” 號偽指令語法格式:符號名 = 數(shù)值表達式功能:其作用同EQU,但用=號定義的符號在同一個程序中可以重復定義,EQU不可。 例如: X=7 ;X EQU 7 正確 X=X+3 ;X EQU X+3 錯誤 3) PURGE語法格式: PURGE 符號名功能:解除定義的符號。例如: PURGE X X EQU 5344.3.2 數(shù)據(jù)定義偽指令 用于定義變量,即內(nèi)存單元或數(shù)據(jù)區(qū)。數(shù)據(jù)定義偽指令的格式為:變量名 數(shù)據(jù)定義偽指令 操作
17、數(shù),操作數(shù),常用的數(shù)據(jù)定義偽指令有如下幾種: DB 定義字節(jié) DW 定義字 DD 定義雙字操作數(shù)可以是常數(shù)、變量或表達式35例1:DATA_B DB 10,5,10HDATA_W DW 100H,-4DATA_D DD FFFBH匯編后的內(nèi)存分配情況如右圖所示。05H10H00H01HFCHFFHFBHFFH00H00H0AHQDATA_BDATA_WDATA_D10510H100H-4FFFBH地址低高36例2:操作數(shù)可以是字符串,例如STR DBHELLO匯編后的情況如圖:STRHELLO注意下面兩個定義的不同之處:DBAB ;41H在低字節(jié),42H在高字節(jié)DW AB ;42H在低字節(jié),4
18、1H在高字節(jié)48H45H4CH4CH4FH37操作數(shù)?用來保留存儲空間,但不存入數(shù)據(jù).例3:ABC DB 0,1,2,3,4,OK,$ RSV DW ?,?,?,?,?,?,?,?復制操作符DUP:重復的數(shù)據(jù)可以使用復制操作符DUP,如上面RSV亦可寫成: RSV DW 8 DUP(?)38例:(1) ALL_ZERO DB 6DUP(0) ; 表示以ALL_ZERO為首地址的6個字節(jié)中存放 00H數(shù)據(jù),相當于: ALL_ZERO DB 0,0,0,0,0,0 (2)BUFFER DB 5 DUP(1,2,4 DUP (3),2 DUP(1,0) 相當于: 定義了1,2,3,3,3,3,1,0
19、,1,0的5份 拷貝39(4)分析運算符是對存儲器地址進行運算的。有5個:SEG(求段基值)、OFFSET(求偏移量)、TYPE(求變量類型)、LENGTH(求變量長度)和SIZE(求字節(jié)數(shù))SEG和OFFSET分別給出一個變量或標號的段地址和偏移量。例:定義: SLOT DW 25 MOV AX,SLOT;從SLOT地址中取一個字送入AX MOV AX,SEG SLOT;將SLOT所在段的段地址送入AX MOV AX,OFFSET SLOT;將SLOT所在段的段內(nèi)偏移地 址送AX運算符續(xù):40TYPE操作符返回一個表示存儲器操作數(shù)類型的數(shù)值。 語法格式:TYPE 變量/標號 功能:返回變量或
20、標號的類型屬性值(數(shù)字量)變量: BYTE WORD DWORD 返回值 1 2 4標號: NEAR FAR 返回值 -1 -2 例:定義 字類型 W_VAR MOV AL,TYPE W_VAR ;MOV AL,241LENGTH和SIZE操作符只應(yīng)用于數(shù)據(jù)存儲器操作數(shù)。(用DB/DW/DD等定義的操作數(shù))LENGTH返回一個與存儲器地址操作數(shù)相聯(lián)系的單元數(shù)。SIZE操作數(shù)返回一個為存儲器操作數(shù)分配的字節(jié)數(shù)。例:如果 MULT-WORD DW 50DUP(0),則 LENGTH(MULT-WORD)=50SIZE(MULT-WORD)=100注意:SIZE(X)=(LENGTH X)* (TY
21、PE X)42(5)合成運算符可以用來建立和臨時改變變量或標號的類型以及存儲器操作數(shù)的存儲單元類型,而忽略當前的屬性,所以又稱為屬性修改運算符。PTR 它作用于操作數(shù)時,則忽略了操作數(shù)當前的類型(字節(jié)或字)及屬性(NEAR或FAR),而給出一個臨時的類型或?qū)傩裕?語法格式:類型 PTR 表達式 功能:建立一個存儲器地址操作數(shù),它與其后的存儲器地址操作數(shù)有相同的段地址偏移量,但有不同的類型。43例1: 定義語句:SLOT DW 25,若我們想取出它的第一個字節(jié)內(nèi)容,則下列語句哪個正確: (1)MOV AL,SLOT (2)MOV AL,BYTE PTR SLOT 第2條正確。因為此時SLOT已定
22、義成字單元。若我們想取出它的第一個字節(jié)內(nèi)容,則可用PTR對其作用,使它暫時改變?yōu)樽止?jié)單元。44例2:用PTR運算符建立指令單元INCHES: CMP SUM,100 ;INCHES的類型是 NEARJMP INCHES ;段內(nèi)轉(zhuǎn)移MILES: EQU FAR PTR INCHES ;MILES的類型是FARJMP MILES ;段交叉轉(zhuǎn)移 45語法格式: 名字 EQU THIS 類型名功能:給當前偏移地址指定一種類型屬性,同時定義了 一個名字。 d01 DW 2055h ;假設(shè)將要分配的存儲單元的 偏移地址=0008H b_var EQU THIS byte ;不占存儲空間 w_var DW
23、10 DUP(0) ;w_var仍然指向0008H說明:當前偏移地址為0008H,“THIS”給它指定了一個類型屬性:BYTE,并借助EQU為它定義了名字:b_var。第三條語句使0008H單元具有了另一個名字和另一種屬性。對0008H單元,兩個名字、兩種屬性都可用。 THIS46THIS指令使用時的注意事項: 要借助EQU偽指令。 與下一條偽指令合用。例: DATA_TABLES SEGMENT BUFFER1 DB 100 DUP(0) BBUFFER2 EQU THIS BYTE BUFFER2 DW 200 DUP(20H) DWBUFFER3 EQU THIS WORD BUFFER
24、3 DD 100 DUP(13)DATA_TABLES ENDS47運算符的運算優(yōu)先級 在計算具有多個運算符的表達式值時,按以下規(guī)則操作:l 優(yōu)先級高的先運算,優(yōu)先級低的后運算。l 當優(yōu)先級相同時,按表達式中從左到右的順序進行運算。l 使用括號可以提高表達式運算的優(yōu)先級。例:利用THIS指令,建立FAR指令單元MILES EQU THIS FAR CMP SUM,100 JMP MILES 484.3.3 段定義偽指令 匯編語言程序是按段來組織程序和數(shù)據(jù)的。 和存儲器的物理段相對應(yīng),匯編語言程序中的段稱為邏輯段。匯編連接后被映射到物理段中。三類段:代碼(程序)、數(shù)據(jù)、堆棧段定義偽指令:SEGM
25、ENT、ENDS、ASSUME、ORG定義一個段的基本格式: 段名 SEGMENT 定位類型組合方式類別 段名 ENDS49這兩個偽指令總是成對出現(xiàn),二者前面的段名應(yīng)一致。SEGMENT說明了一個段的開始,ENDS說明了一個段的結(jié)束。對數(shù)據(jù)段和堆棧段,段中的語句一般是變量定義。對代碼段則是指令語句。如: data SEGMENT data ENDS SEGMENT和ENDS偽指令50SEGMENT語句后可以帶有可選參數(shù),用以規(guī)定邏輯段的其他一些屬性。1) 定位類型說明如何確定邏輯段的邊界。有四種:PARA(Paragraph): 邏輯段從一個節(jié) (16個字節(jié)) 的邊界開始。即段的起始地址應(yīng)能被
26、16整除, 或這說段起始物理地址應(yīng)為0H。默認類型BYTE : 邏輯段從字節(jié)邊界開始,即段可以從任何地址開始。WORD : 邏輯段從字邊界開始。即段的起始地址必須是偶數(shù)。51 2) 組合類型說明不同模塊中同名段的組合方式。PUBLIC: 所有此類型的同名段組合成一個邏輯段,公用一個段地址,運行時裝入同一個物理段中。COMMON : 所有此類型的同名段具有相同的起始地址(覆蓋),共享相同的存儲區(qū)域。AT : 按絕對地址定位,段地址就是表達式的值。STACK : 專用于說明堆棧段,組合方式同PUBLIC523) 類別用單引號括起來的字符串。所有同類別的段被安排在連續(xù)的存儲區(qū)域中。如:在模塊1中有段
27、定義: seg1 SEGMENT PARA STACK stack seg1 ENDS 在模塊2中有段定義: seg2 SEGMENT PARA STACK stack seg2 ENDS則連接時這兩個段被安排在一起。53ASSUME偽指令在代碼段中,還必須明確段和段寄存器的關(guān)系,這由ASSUME語句來指定。如 ASSUME CS:code, DS:data, ES:data 語句中的code和data為段名。 這個語句說明: 1. CS將指向名字為code的代碼段 2. DS和ES將指向名字為data的數(shù)據(jù)段54但要注意,ASSUME偽指令只是告知匯編程序有關(guān)段寄存器與段的關(guān)系,并沒有給段寄存器賦予實際的初值。故需用下面的語句 MOVAX,DATA MOVDS,AX MOVES,AX代碼段基地址不需要程序員裝入CS寄存器,而由OS負責裝入。55說明:使用ASSUME語句的意義 每當MASM遇
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 易錯題17 文言文閱讀之斷句題-當斷不斷不該斷卻斷【高考語文】備戰(zhàn)2025年高考易錯題(新高考專用)含解析
- 參觀圓明園的觀后感
- 智能大廈綜合布線的工程設(shè)計方案
- 青春追夢人心共進
- 多振源混疊的DAS目標信號分離
- 智研咨詢發(fā)布:2024年中國美妝行業(yè)市場發(fā)展環(huán)境及前景研究報告
- DOPS基P-N-S協(xié)同阻燃劑的合成及其阻燃環(huán)氧樹脂的性能研究
- 基于免疫和動態(tài)載荷調(diào)節(jié)機理的骨折愈合模型建模與仿真
- 基于多特征融合的轉(zhuǎn)轍機退化狀態(tài)識別與預測研究
- 建筑物消防設(shè)施布置與維護
- 第一章-地震工程學概論
- 安全創(chuàng)新創(chuàng)效
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- 初級創(chuàng)傷救治課件
- 2024年社會工作者(中級)-社會綜合能力考試歷年真題可打印
- 交通運輸類專業(yè)生涯發(fā)展展示
- 《處理人際關(guān)系》課件
- 2024年山東省公務(wù)員錄用考試《行測》試題及答案解析
- 神經(jīng)重癥氣管切開患者氣道功能康復與管理專家共識(2024)解讀
- 2025年九省聯(lián)考新高考 政治試卷(含答案解析)
- 2024年汽車機械維修工(高級)技能鑒定考試題庫(高頻500題)
評論
0/150
提交評論