版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1
第3b章8086/8088的尋址方式和指令系統(tǒng)2第三節(jié)8086/8088的指令系統(tǒng)
第一部分 指令系統(tǒng)概述
第二部分8086/8088的指令系統(tǒng)
3 第一部分 指令系統(tǒng)概述8086/8088的指令系統(tǒng)中共有92種基本指令??梢苑殖?個功能組:1. 數(shù)據(jù)傳送(Datatransfer)2. 算術(shù)運算(Arithmetic)3. 邏輯運算和移位指令(Logic&Shift)4. 串操作(Stringmanipulation)5. 控制轉(zhuǎn)移(ControlTransfer)6. 處理器控制(ProcessorControl)4介紹指令系統(tǒng)使用的符號:八位寄存器:AH,AL,BH,BL,CH,CL,DH,DL十六位通用寄存器:AX,BX,CX,DX,SP,BP,SI,DI堆棧指針 SP指令指針 IP(或PC)標(biāo)志位 Flags目的和源變址寄存器 DI,SI段寄存器 CS,DS,ES,SS通用寄存器 rAL或AX(取決于操作數(shù)長度)acc5src,dest 源,目的操作數(shù)(下列尋址方式都可以用)
[BX+SI+n],[BX+DI+n],[BP+SI+n],[BP+DI+n] [SI+n], [DI+n],[BP+n],[BX+n] [N], r
[] 存儲器單元的內(nèi)容(正常在數(shù)據(jù)段)ES:[] 附加存儲器段的內(nèi)容OPRD 操作數(shù)
Seg
段寄存器(CS,DS,ES,SS)im
立即數(shù)(n8位, nn16位,nnnn32位)68086/8088指令助記符表
(自學(xué))78086/8088指令助記符表(續(xù))8
第二部分8086/8088指令系統(tǒng)一、數(shù)據(jù)傳送指令(Datatransfer)(一)通用傳送指令(GeneralPurposeTransfer)(二)輸入輸出指令(InputandOutput)(三)目的地址傳送指令(Address-objecttransfer)(四)標(biāo)志傳送指令(Flagregistertransfer)9一. 數(shù)據(jù)傳送指令功能:負(fù)責(zé)把數(shù)據(jù)、地址或立即數(shù)傳送到寄存器或存儲單元。特點:它是計算機(jī)最基本、最重要的一種操作,使用比例最高。種類(分四種):
通用傳送指令包括:MOV,PUSH,POP,XCHG,XLAT。輸入輸出指令包括:IN,OUT。目的地址傳送指令包括:LEA,LDS,LES
標(biāo)志傳送指令包括:LAHF,SAHF,PUSHF,POPF
除SAHF和POPF指令外,對標(biāo)志位沒有影響。10(一)通用傳送指令(GeneralPurposeTransfer)8088提供方便靈活的通用傳送操作,適用于大多數(shù)操作數(shù)。通用傳送指令(除了XCHG以外)是唯一允許以段寄存器為操作數(shù)指令。通用傳送指令包括:
1、MOV(Movement) 2、PUSH(Pushwordontostack) POP(Popwordoffstack)
3、XCHG(Exchange) 4、XLAT(Translate)111. MOV dest, src;(dest)(src)
目的 源 目的源功能:
把一個字節(jié)(B)或一個字(W)操作數(shù)由源傳送至目的。實現(xiàn): 寄存器寄存器/存儲器之間; 立即數(shù)寄存器/存儲器 寄存器/存儲器段寄存器之間的數(shù)據(jù)傳送。12
具體說,通用數(shù)據(jù)傳送指令能實現(xiàn):①
CPU內(nèi)部寄存器之間數(shù)據(jù)的任意傳送
(除了代碼段寄存器CS和指令指針I(yè)P以外)。
段寄存器之間不能傳送。例:
MOVDL,CH ;8位寄存器8位寄存器
MOVAX,DX ;16位寄存器16位寄存器
MOVSI,BP MOVDS,BX ;通用寄存器段寄存器
MOVAX,CS
;段寄存器通用寄存器13立即數(shù)傳送至CPU內(nèi)部通用寄存器組(AX、BX、CX、DX、BP、SP、SI、DI)。用于給寄存器賦初值。
不能直接給段寄存器賦值例:
MOVCL,04H ;立即數(shù)8位寄存器
MOVAX,03FFH ;立即數(shù)16位寄存器思考:為什么加WORDPTR,BYTEPTR?不加對嗎?
MOVWORDPTR[SI],057BH;立即數(shù)存儲器
MOVBYTEPTRMEM,5;立即數(shù)存儲器14CPU內(nèi)部寄存器(除CS和IP外)與存儲器(所有尋址方式)之間數(shù)據(jù)傳送。 可以實現(xiàn)一字節(jié)或一個字的傳送。
存儲單元之間不能直接傳送
例:
MOVMEM,AX ;累加器存儲器,直接尋址
MOVMEM,DS ;段寄存器存儲器,直接尋址
MOVDISP[BX],CX ;寄存器存儲器,變址尋址
MOVAX,DISP[SI]
;存儲器累加器,變址尋址
MOVDS,MEM
;存儲器段寄存器,直接尋址
MOVAX,DISP[BX][SI]
;存儲器累加器,相對基址加變址15
注意:(1)不能用一條MOV指令實現(xiàn)以下傳送。
存儲單元之間的傳送
MOVMEM2,MEM1錯。
MOVAX,MEM1 MOVMEM2,AX對。
立即數(shù)送段寄存器
例:MOVDS,2000H錯。MOVAX,2000 HMOVDS,AX對。16
段寄存器之間的傳送
MOVES,DS;錯
MOVAX,DS MOVES,AX;對。注意CS和IP的使用
CS和IP不能作為目標(biāo)操作數(shù),但可以作為源操作數(shù)。例: MOVCS,AX;錯
MOVAX,CS;對。
MOVIP,AX;錯
MOVAX,IP;對。17(2)段地址的默認(rèn)
BX、SI、DI間址默認(rèn)段地址為DS,
BP間址默認(rèn)段地址SS。(3)凡是遇到給SS賦值指令,系統(tǒng)自動禁止外部中斷,執(zhí)行本條指令和下條指令,恢復(fù)對SS寄存器賦值前的中斷開放情況。 這樣做為了允許程序員連續(xù)用兩條指令分別對SS和SP寄存器賦值,同時又防止堆??臻g變動過程出現(xiàn)中斷。
*在修改SS和SP的指令之間不要插入其他指令。(4) 所有通用傳送指令不影響標(biāo)志位 (除SAHF、POPF以外)。18
MOV指令應(yīng)用例:實現(xiàn)將AREA1開始的100個數(shù)據(jù)傳送到AREA2開始的單元?!瑼REA1:AREA2:100個數(shù)據(jù)19分析題意:
①可以用200條MOV指令來完成100個數(shù)據(jù)傳送,指令操作重復(fù),每個數(shù)據(jù)傳送后的地址是變化的。
②可以利用循環(huán), 但每循環(huán)一次要修改地址(源地址和目的地址),必須把地址放在寄存器當(dāng)中,用寄存器間接尋址來尋找操作數(shù).20得到如下程序:
…
MOVSI,OFFSETAREA1 MOVDI,OFFSETAREA2 MOVCX,100AGAIN: MOVAL,[SI] MOV[DI],AL
INCSI ;修改地址指針
INCDI ;修改地址指針
DECCX ;修改個數(shù)
JNZAGAIN
…212.PUSH(Pushwordontostack)POP(Popwordoffstack)
這是兩條堆棧操作指令。(1)先介紹一下什么是堆棧,為什么需要堆棧 堆?!凑障冗M(jìn)后出原則組織的一段內(nèi)存區(qū)域,特點:下推式的(規(guī)定堆棧設(shè)置在堆棧段內(nèi))改變SP的內(nèi)容,隨著推入堆棧內(nèi)容增加,SP的值減少。先進(jìn)后出工作原則(First
InLastOut簡稱FILO)
堆棧在內(nèi)存中的情況:
22堆棧在內(nèi)存中的情況:可以用一條立即數(shù)傳送指令給SP賦值,確定SP在SS段中的初始位置。例:設(shè):(SS)=9000H,堆棧段為64KBMOVSP,0E200H ;(SP)=0E200H則:整個堆棧段的物理地址范圍為:
90000H~9FFFFH
棧頂?shù)奈锢淼刂窞椋?E200H堆棧在內(nèi)存中的情況如右圖所示:堆棧在內(nèi)存中的情況23堆棧用途:
存放CPU寄存器或存儲器中暫時不使用的數(shù)據(jù),使用數(shù)據(jù)時將其彈出;調(diào)用子程序,響應(yīng)中斷時都要用到堆棧。調(diào)用子程序(或過程)或發(fā)生中斷時要保護(hù)斷點的地址,子程序或中斷返回時恢復(fù)斷點。24主程序子程序:子程序:在一個實際程序中,有些操作要執(zhí)行多次,把要重復(fù)執(zhí)行(subroutine)操作編為子程序。也常把一些常用的操作標(biāo)準(zhǔn)化、通用化的子程序。主程序(Mainprogram)——往往要調(diào)用子程序或處理中斷,暫停主程序,執(zhí)行子程序或中斷服務(wù)程序。25調(diào)用子程序時需保留內(nèi)容:①調(diào)用子程序:將下條指令地址即IP值保留下來 (8088中碼段寄存器CS和指令指針I(yè)P),才能保證子程序執(zhí)行完后準(zhǔn)確返回主程序繼續(xù)執(zhí)行。②執(zhí)行子程序時,通常用到內(nèi)部寄存器,執(zhí)行結(jié)果會影響標(biāo)志位,必須在調(diào)用子程序之前將狀態(tài)字保護(hù)起來。③子程序嵌套或子程序遞歸(自調(diào)自)保留許多信息,而且保證正確返回(且后進(jìn)先出)。
后保留先取出原則(即LIFO-LASTInFirstout)。26注意:SP——堆棧指針,始終指向棧頂。
SP初值用MOVSP,im來設(shè)定。下邊詳細(xì)說明一下堆棧用途:27存放CPU寄存器或存儲器中暫時不使用的數(shù)據(jù),
使用數(shù)據(jù)時將其彈出:
PUSHAX ;將(AX)入棧(AX)(AX)28使用數(shù)據(jù)時將其彈出:
POPBX29調(diào)用子程序(或過程)或發(fā)生中斷時要保護(hù)斷點的地址,子程序或中斷返回時恢復(fù)斷點。子程序嵌套斷點地址壓入和彈出情況30(2)堆棧操作指令
(堆棧操作指令有兩條):
入棧指令 格式:PUSHsrc ;(SP)(SP)-2 ((SP)+1,(SP))(src)進(jìn)行修改堆棧指針的操作后,把一個字從源單元SP指定的堆棧頂部。 操作如:PUSHAX出棧指令 格式:POPdest ; (dest)((SP)+1,(SP)) (SP)(SP)+2把現(xiàn)行SP所指定的堆棧頂部的一個字目的單元,同時進(jìn)行修改堆棧指針的操作。 操作如:POPBX31應(yīng)用時注意:堆棧操作都按字操作。
PUSH,POP指令的操作數(shù)可能有三種:寄存器(通用寄存器,地址指針,變址寄存器),段寄存器(CS除外,PUSHCS合法,POPCS非法),存儲器。執(zhí)行PUSH指令,(SP)-2(SP),
低字節(jié)放在低地址,高字節(jié)放在高地址。 隨著推入堆棧內(nèi)容增加,堆棧就擴(kuò)展,SP的值減少, 但SP總是指向棧頂,堆棧工作原則后進(jìn)先出。
PUSH,POP指令應(yīng)該成對使用,保持堆棧原有狀態(tài)。32堆棧應(yīng)用舉例:
例:用BP的基址指令代替POP指令
…MOVBP,SPPUSHAXPUSHBXPUSHCX …MOVCX,[BP-6]
MOVBX,[BP-4]MOVAX,[BP-2] …ADDSP,6例:壓入堆棧的內(nèi)容與彈出內(nèi)容順序相反…PUSH AXPUSHBXPUSHCX…POPCXPOPBXPOPAX 333、交換指令(Exchange)格式:XCHGdest,src ;(dest)(src)執(zhí)行操作:
把一個字節(jié)或一個字的源操作數(shù)與目的操作數(shù)相交換??梢詫崿F(xiàn):寄存器之間 寄存器和存儲器之間注意:
存儲器之間不能交換,兩個操作數(shù)中必須有一個在寄存器中;段寄存器不能作為一個操作數(shù);允許字或字節(jié)操作,不影響標(biāo)志位。34應(yīng)用舉例:
XCHGBL,DL XCHGAX,SI XCHGCOUNT[DI],AX
XCHG[BX],[DI] (錯)
XCHGDS,AX(錯)35XLAT(Translate)換碼指令:可以使累加器中的一個值變換為內(nèi)存表格中的某一個值,一般用來實現(xiàn)碼制的轉(zhuǎn)換,該指令不影響標(biāo)志位。格式:XLATstr_table;(AL)←((BX)+(AL)) 或XLAT str_table——表格符號地址(首地址), 只是為了提高可讀性而設(shè)置,匯編時仍用BX。
36XLAT指令使用方法:
先建立一個字節(jié)表格;
表格首偏移地址存入BX;
需要轉(zhuǎn)換代碼的序號(相對于表格首地址位移量)存入AL;(表中第一個元素的序號為0)
執(zhí)行XLAT指令后,表中指定序號的元素存于AL中。
(AL)為轉(zhuǎn)換的代碼。37XLAT指令應(yīng)用:
若把字符的掃描碼轉(zhuǎn)換成ASCII碼;或數(shù)字0~9轉(zhuǎn)換成7段數(shù)碼所需要的相應(yīng)代碼(字形碼)等就要用XLAT指令。例:內(nèi)存的數(shù)據(jù)段中有一張十六進(jìn)制數(shù)字的ASCII碼表。首地址為:Hex_table,欲查出表中第11個元素(‘A’)38執(zhí)行指令序列:MOVBX,OFFSETHex_tableMOVAL,0AHXLATHex_table假設(shè): (DS)=F000H,
Hex_table=0040H
(AL)=0AH執(zhí)行XLAT以后:(AL)=41H=(F004AH), 即“A”的ASCII碼。30H31H32H...39H41H42H...46H...Hex_tableHex_table+1Hex_table+2Hex_table+0AHHex_table+0BHHex_table+0FH'F''B''A''9''1''2''0'16進(jìn)制數(shù)的ASCII碼表39(二)輸入輸出指令(InputandOutput)輸入輸出指令共兩條:
1、IN(Inputbyteorword)
2、OUT(Outputbyteorword)
輸入指令用于CPU從外設(shè)端口接受數(shù)據(jù),
輸出指令用于CPU向外設(shè)端口發(fā)送數(shù)據(jù)。無論接受還是發(fā)送數(shù)據(jù),必須通過累加器AX(字)或AL(字節(jié)),又稱累加器專用傳送指令。
輸入、輸出指令不影響標(biāo)志位。40每個外設(shè)要占幾個端口:數(shù)據(jù)口,狀態(tài)口和控制口。41信息交換要通過端口,在IBMPC機(jī)里,可以配接許多外部設(shè)備,每個外設(shè)與CPU之間交換數(shù)據(jù),狀態(tài)信息和控制命令,每一種信息交換都要通過一個端口來進(jìn)行。端口數(shù):外部設(shè)備最多有65536個I/O端口。
A0~A15譯碼形成。端口號:端口號(即外設(shè)端口地址)為0000H~FFFFH。PC機(jī)僅使用A0~A9譯碼形成I/O口地址,即1024個口地址 端口號:0000H~03FFH其中:A9=1,表示擴(kuò)充槽上的口地址。42長格式:端口號中前256個端口(0~FFH),可以直接寫在指令中,這就是長格式。端口號代替指令中的PORT,機(jī)器指令用二字節(jié)表示,第二字節(jié)就是端口號。短格式:當(dāng)端口號≥256時,只能使用短格式,必須先把端口號放到DX寄存器中。431、IN(Inputbyteorword)輸入指令格式:INacc,port;(acc)(port)具體形式有四種:
INAL,data8;端口地址8位,輸入一個字節(jié)
INAX,data8;端口地址8位,輸入一個字
INAL,DX ;端口地址16位,輸入一個字節(jié)
INAX,DX ;端口地址16位,輸入一個字必須通過累加器AX(字)或AL(字節(jié))輸入數(shù)據(jù)。442、OUT(Outputbyteorword)輸出指令格式:OUTport,acc ;(port)(acc)具體形式有四種:
OUTdata8,AL;端口地址8位,輸出一個字節(jié)
OUTdata8,AX;端口地址8位,輸出一個字
OUTDX,AL;端口地址16位,輸出一個字節(jié)
OUTDX,AX;端口地址16位,輸出一個字必須通過累加器AX(字)或AL(節(jié))輸出數(shù)據(jù)。45例1:實現(xiàn)(29H)(28H)→(DATA_WORD)
INAX,28H MOVDATA_WORD,AX例2:從端口3FCH送一個字到AX寄存器
MOVDX,3FCH INAX,DX;(AL)←(3FCH), (AH)←(3FDH)
例3:實現(xiàn)將(AL)→(05H) OUT5,AL;(05H)←(AL)46(三)目的地址傳送指令(Address-objecttransfer)8086/8088提供三條:
地址指針寫入指定寄存器或寄存器對指令。
1、LEA(LoadEffectiveAddress) 2、LDS(LoadpointerusingDS) 3、LES(LoadpointerusingES)471、LEA(LoadEffectiveAddress)格式:LEAreg16,mem16;EA(reg16)功能:加載有效地址,用于寫近地址指針。把指令中指定的存儲器操作數(shù)有效地址裝入指定的寄存器。例:設(shè)(BX)=0400H,(SI)=003CH LEABX,[BX+SI+0F62H]執(zhí)行指令后:
EA=(BX)+(SI)+0F62H=0400H+003CH+0F62H=139EH(BX)=139EH48注意:設(shè)
(DS)=3000H BUFFER=1000H (31000H)=0040H(1)LEA指令與MOV的區(qū)別
LEABX,BUFFER;(BX)=1000H MOVBX,BUFFER;(BX)=0040HLEA指令與MOV等價
LEABX,BUFFER ;(BX)=1000H MOVBX,OFFSETBUFFER;(BX)=1000H49(2)LEA指令中的目標(biāo)寄存器必須是16位的通用寄存器,
源操作數(shù)必須是一個存儲器。(3)請思考下列指令的正、誤
LEADX,BETA[BX][SI] LEADX,AX502、LDS(LoadpointerusingDS)格式:LDSreg16,mem32 ;(reg16)←(EA) (DS)←(EA+2)功能:將指令指定的32位地址指針?biāo)椭噶钪付拇嫫骱虳S。將指令指定mem32單元的前兩個單元內(nèi)容(16位偏移量)裝入指定通用寄存器,把后兩個單元內(nèi)容(段地址)裝入到DS段寄存器。用于寫遠(yuǎn)地址指針。51例:假設(shè):
(DS)=C000H指令: LDSSI,[0010H]執(zhí)行指令后:(SI)=0180H(DS)=2000H
523、LES(LoadpointerusingES)格式:LESreg16,mem32 ;(reg16)←(EA) (ES)←(EA+2)功能:把源操作數(shù)指定的4個相繼字節(jié)送指令指定的寄存器 及ES寄存器中。此指令常常指定DI寄存器。將指令指定mem32單元的前兩個單元內(nèi)容(16位偏移量)裝入指定通用寄存器,把后兩個單元內(nèi)容(段地址)裝入到ES段寄存器。用于寫遠(yuǎn)地址指針。53例:假設(shè):
(DS)=B000H (BX)=080AH指令: LESDI,[BX]執(zhí)行指令后: (DI)=05A2H (ES)=4000H54綜合舉例:設(shè):
(DS)=5000HTABLE=1000H分析下列指令執(zhí)行結(jié)果:
MOVBX,TABLE;(BX)=0040HMOVBX,OFFSETTABLE;(BX)=1000HLEABX,TABLE;(BX)=1000HLESBX,TABLE;(BX)=0040H,(ES)=3000HLDSBX,TABLE;(BX)=0040H,(DS)=3000H55(四)標(biāo)志傳送指令(Flagregistertransfer)采用了隱含寄存器(AH、Flags)操作數(shù)方式。
8088有四條標(biāo)志傳送操作指令:1. LAHF(LoadAHfromflags)2. SAHF(StoreAHintoflags)3. PUSHF(Pushflagsontostack)4. POPF(Popflagsoffstack)
561.LAHF(LoadAHfromflags)格式:LAHF;(AH)←(PSW的低字節(jié))功能:標(biāo)志寄存器低八位(AH)。LAHF指令操作圖示意572. SAHF(StoreAHintoflags) 格式:SAHF;(PSW的低字節(jié))←(AH) 功能:(AH)送標(biāo)志寄存器低八位。3. PUSHF(Pushflagsontostack) 格式:PUSHF ;(SP)←(SP)-2
((SP+1)
,(SP))←(PSW) 功能:標(biāo)志進(jìn)棧。4. POPF(Popflagsoffstack)
格式:POPF;(PSW)←((SP+1)
,(SP)) (SP)←(SP)+2
功能:標(biāo)志出棧。58注意:(1)標(biāo)志位的影響LAHF、PUSHF不影響標(biāo)志位,SAHF、POPF由裝入的值確定標(biāo)志位的值,即影響標(biāo)志位。(2)PUSHF用于保護(hù)調(diào)用過程前(PSW),POPF用于過程返回后恢復(fù)。例:
… PUSH AX PUSHCX PUSHF CALLTRANS
POPFPOPCXPOPAX…59二. 算術(shù)運算指令(Arithmetic)內(nèi)容:
8086/8088提供加、減、乘、除、轉(zhuǎn)換五種基本算術(shù)操作;
利用十進(jìn)制調(diào)整指令和ASCII調(diào)整指令對BCD碼表示的十進(jìn)制數(shù)進(jìn)行算術(shù)運算;
對帶符號數(shù)與無符號數(shù)進(jìn)行乘、除運算。(一)加法指令(Addition)(二)減法指令(Subtraction)(三)乘法指令(Multiplication)(四)除法指令(Division)(五)轉(zhuǎn)換指令60特點:
大部分都影響標(biāo)志位,不同指令影響不同:(1)加、減法指令影響SF,ZF,AF,PF,CF,OF;(2)加1和減1指令不影響CF;(3)乘法指令影響CF,OF;(4)除法指令使大部分標(biāo)志位的狀態(tài)不確定;(5)對BCD碼調(diào)整指令對標(biāo)志位的影響不同;(6)轉(zhuǎn)換指令對標(biāo)志位無影響
都可以用于字節(jié)、字的運算;
雙操作數(shù)指令除源為立即數(shù)外,其余必須有一個操作數(shù) 為寄存器;單操作數(shù)指令不能為立即數(shù)。
61(一)加法指令(Addition)
8088具有5種加法操作指令:1、ADD(Addition)加法指令
2、ADC(Addwithcarry)帶進(jìn)位加法指令
3、INC(Incrementby1)加1指令
4、AAA(ASCIIadjustforaddition)加法ASCII調(diào)整指令
5、DAA(Decimaladjustforaddition)加法十進(jìn)制調(diào)整指令
621、ADD(Addition)加法指令指令格式:ADDdest,src;(dest)(dest)+(src)
Src:立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。例:
ADDCL,10 ;寄存器+立即數(shù)
ADDDX,SI ;寄存器+寄存器
ADDAX,MEM ;寄存器+存儲器
ADDDATA[BX],AL ;存儲器+寄存器
ADDBYTEPTRALPHA[DI],30H;存儲器+立即數(shù)63特點:
可以進(jìn)行8位、16位的無符號數(shù)和帶符號數(shù)的加法運算;
源操作數(shù)和目標(biāo)操作數(shù)不能同時為存儲器,不能為段寄存器;
指令影響標(biāo)志位的情況:
OF=1, 8位帶符號數(shù)相加,和超出范圍(-128~+127),16位帶符號數(shù)相加,和超出范圍(-32768~+32767);CF=1,8位無符號數(shù)相加,和超過255,
16位無符號數(shù)相加,和超過65535。其他條件標(biāo)志(SF,AF,PF,ZF)根據(jù)定義設(shè)定。64例 MOVAL,7EH ;(AL)=7EH MOVBL,5BH ;(BL)=5BH ADDAL,BL ;(AL)=7EH+5BH=D9H影響標(biāo)志位的情況: SF=1 ,結(jié)果最高位=1 ZF=0 ,結(jié)果不等于0 AF=1 ,D3位向D4有進(jìn)位
PF=0 ,”1”的個數(shù)為奇數(shù)
CF=0 ,無進(jìn)位
OF=1 ,和超過+127
(兩個正數(shù)相加,結(jié)果為負(fù);反之亦是)652、ADC(Addwithcarry)帶進(jìn)位加法指令格式:ADCdest,src;(dest)←(dest)+(src)+CF
CF:
進(jìn)位標(biāo)志CF的現(xiàn)行值(上條指令CF值)特點:與ADD同。用途:主要用于多字節(jié)運算中。類型舉例:
ADCCX,300 ;寄存器+立即數(shù)+CF ADCAL,BL ;寄存器+寄存器+CF ADCDX,COUNT[SI] ;寄存器+存儲器+CF ADCBLOCK[DI],BX ;存儲器+寄存器+CFADCBYTEPTRMEM,6 ;存儲器+立即數(shù)+CF66用途舉例:計算兩個多字節(jié)數(shù)相加3B74AC60F8H+20D59E36C1H=?兩個多字節(jié)數(shù)存放在:DATA1,DATA2的開始單元。流程圖多字節(jié)數(shù)內(nèi)存存放67程序:
MOVCX,5 MOVSI,0 ;清SI
CLC
;清CFLOOPER: MOVAL,DATA2[SI]
ADCDATA1[SI],AL INCSI ;(SI)+1(SI) DECCX ;(CX)-1(CX) JNZLOOPER ;(CX)0轉(zhuǎn)
HLT ;停機(jī)68問題思考:(1) 什么叫溢出?什么叫進(jìn)位?(2) 有進(jìn)位就有溢出,沒有進(jìn)位就沒有溢出?(1)溢出------是指帶符號數(shù)的補(bǔ)碼溢出。
字長為n位帶符號數(shù),補(bǔ)碼運算能表示范圍為:-2n-1~+2n-1–1如果運算結(jié)果超出該范圍,叫補(bǔ)碼溢出,簡稱溢出。在溢出時,造成運算錯誤。有溢出,OF=1;無溢出,OF=0
進(jìn)位------是指運算結(jié)果的最高位向更高位的進(jìn)位。有進(jìn)位,CF=1;無進(jìn)位,CF=069(2)有進(jìn)位就有溢出,沒有進(jìn)位就沒有溢出?結(jié)論: 有進(jìn)位不一定有溢出,沒有進(jìn)位不一定沒有溢出。數(shù)的表示范圍:8位二進(jìn)制數(shù)可以表示十進(jìn)制數(shù)的范圍:
8位帶符號十進(jìn)制數(shù)的范圍:-128~+127 8位無符號十進(jìn)制數(shù)的范圍:0~25516位二進(jìn)制數(shù)可以表示十進(jìn)制數(shù)的范圍: 16位帶符號十進(jìn)制數(shù)的范圍:-32768~+32767 16位無符號十進(jìn)制數(shù)的范圍:0~6553570以8位二進(jìn)制數(shù)為例分析一下數(shù)的溢出與進(jìn)位情況:下面分4種情況加以討論:(1) 帶符號數(shù)不溢出,無符號數(shù)不進(jìn)位(2) 無符號數(shù)有進(jìn)位(3) 帶符號數(shù)有溢出(4) 帶符號數(shù)有溢出和無符號數(shù)有進(jìn)位71(1) 帶符號數(shù)不溢出,無符號數(shù)不進(jìn)位。72(2) 無符號數(shù)有進(jìn)位二進(jìn)制數(shù)看作無符號數(shù)看作帶符號數(shù)0000011111111011+000000107251+258+7-5++2相加標(biāo)志CF=1,OF=0CF=1OF=0有進(jìn)位結(jié)果為258-256不溢出異號數(shù)相加不可能有溢出CF=173(3) 帶符號數(shù)有溢出74(4) 帶符號數(shù)有溢出和無符號數(shù)有進(jìn)位75結(jié)論:(1)帶符號數(shù)相加時的溢出問題
根據(jù)OF=1與否,判斷帶符號數(shù)是否產(chǎn)生溢出。
OF=1,同符號數(shù)相加,結(jié)果符號與其相反,產(chǎn)生溢出;
OF=0,同符號數(shù)相加,結(jié)果符號與其相同,不產(chǎn)生溢出; 異號數(shù)相加,不可能溢出。(2)無符號數(shù)相加時的進(jìn)位問題
根據(jù)CF=1與否,判斷無符號數(shù)是否產(chǎn)生進(jìn)位。
CF=1,表示產(chǎn)生進(jìn)位。763、INC(Incrementby1)加1指令格式:INC dest ;(B/W),(dest)←(dest)+1 dest:寄存器、存儲器。不能是段寄存器。功能:對指定的目標(biāo)操作數(shù)+1操作數(shù)單元。用途:用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)。標(biāo)志位影響情況:影響SF,ZF,AF,PF,OF。
不影響CF。77操作數(shù)類型:可以是寄存器,存儲器。不能是段寄存器。例:
INCDL ;8位寄存器+1INCSI ;16位寄存器+1INCBYTEPTR[BX][SI];存儲器+1(字節(jié)操作)
INCWORDPTR[DI] ;存儲器+1(字操作)
INCDS ;錯78
十進(jìn)制調(diào)整指令
計算機(jī)不但能進(jìn)行二進(jìn)制運算,還能進(jìn)行十進(jìn)制運算。進(jìn)行十進(jìn)制運算時,首先將十進(jìn)制數(shù)據(jù)編碼為BCD碼,然后用二進(jìn)制算術(shù)運算指令進(jìn)行運算,之后再進(jìn)行十進(jìn)制調(diào)整,即可得正確的十進(jìn)制結(jié)果。
BCD碼有兩種存儲格式:壓縮和非壓縮。壓縮BCD碼指每個字節(jié)存儲兩個BCD碼;非壓縮BCD碼指每個字節(jié)存儲一個BCD碼,其中低4位存儲數(shù)字的BCD碼,高4位為0。數(shù)字0~9的ASCII碼是一種準(zhǔn)非壓縮BCD碼,即低四位為BCD值,高四位有數(shù)值,處理掉高四位的數(shù)值即為非壓縮BCD碼。79
4、
DAA:
壓縮的BCD碼加法調(diào)整指令格式:DAA
執(zhí)行的操作:調(diào)整(AL)中的二進(jìn)制BCD碼的和。調(diào)整方法如下:若AF=1或者(AL)的低4位是在AH~FH之間,則(AL)加06H,且自動置AF=1;若CF=1或者(AL)的高4位是在AH~FH之間,則(AL)加60H,且自動置CF=1。80
說明:①本條指令對PSW中的OF標(biāo)志無定義,會影響所有其他標(biāo)志位。②使用本條指令之前,需將十進(jìn)制數(shù)先用ADD或ADC指令相加,和存入AL中。81例:34+56=?MOVAL,34MOVBL,56ADDAL,BLDAA
0011010010001010+01010110調(diào)整+000001101000101010010000A十進(jìn)制的90分析:82
5、AAA:非壓縮的BCD碼加法調(diào)整指令格式:AAA
執(zhí)行的操作:調(diào)整(AL)中的和,其中和是非壓縮BCD碼或準(zhǔn)非壓縮BCD格式。調(diào)整步驟:
(1)若AF=1或者(AL)的低4位在AH~FH之間,則(AL)+06H,(AH)←(AH)+1,置AF=1。
(2)清除(AL)的高4位,AX中即為非壓縮的BCD碼。
(3)CF←AF。83說明:①本條指令除影響AF和CF標(biāo)志位外,對其余標(biāo)志位均無定義。②使用本條指令前,先將非壓縮BCD碼的和存入AL中。84例:9的ASCII與9的ASCII相加,求出ASCII碼的和。
MOVAL,39HADDAL,39HAAAADDAX,3030H
0011100101110010AHAH+1+00111001調(diào)整+00000110AH=10111001001111000AL=8AF=100001000AX=十進(jìn)制的18分析:AL的調(diào)整:AH的調(diào)整:85(二)減法指令(Subtraction)
8088有7條減法指令:1、SUB(Subtraction)減法指令2、SBB(Subtractionwithborrow)帶進(jìn)位減法指令
3、DEC(Decrementby1)減1指令4、NEG(Negate)求補(bǔ)指令5、CMP(Compare)比較指令6、AAS(ASCIIadjustforsubtraction)減法ASCII調(diào)整指令7、DAS(Decimaladjustforsubtraction)減法十進(jìn)制調(diào)整指令861、SUB(Subtraction)減法指令格式::SUBdest,src;(dest)←(dest)-(src)
Src:立即數(shù),寄存器,存儲器。
Dest:寄存器,存儲器。例: SUBAL,37H ;寄存器-立即數(shù)
SUBBX,DX ;寄存器-寄存器
SUBCX,VAR1 ;寄存器-存儲器
SUBARRAY[SI],AX ;存儲器-寄存器SUBWORDPTRALPHA[BX][DI],512H;存儲器減立即數(shù)這種指令影響標(biāo)志位:A、C、O、P、S、Z標(biāo)志。CF=1,無符號數(shù)小減大;SF=1,帶符號數(shù)小減大,OF=1溢出.872、SBB(Subtractionwithborrow)帶進(jìn)位減法指令
格式::SBBdest,src;(dest)←(dest)-(src)-CF CF:進(jìn)位標(biāo)志CF的現(xiàn)行值(上條指令CF值)
Src:立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。指令影響標(biāo)志位、B/W數(shù)運算情況同SBB用途:用于多字節(jié)數(shù)相減例: SBBBX,100H ;寄存器-立即數(shù)-CF SBBCX,DX ;寄存器-寄存器-CF SBBAL,DATA1[SI] ;寄存器-存儲器-CF SBBDISP[BP],BL ;存儲器-寄存器-CFSBBBYTEPTRALPHA[SI+6],96H;存儲器-立即數(shù)-CF88問題思考: 減法有借位就有溢出,沒有借位就沒有溢出?結(jié)論:CF=1表示不帶符號數(shù)有借位。
OF=1表示帶符號數(shù)有溢出。CF值反映無符號數(shù)運算中的借位情況:無符號數(shù)相減:CF=1,減數(shù)>被減數(shù),有借位
CF=0,被減數(shù)>減數(shù),無借位帶符號數(shù)相減OF位設(shè)置:
OF=1,兩個數(shù)符號相反,結(jié)果符號與減數(shù)相同;否則,OF=0。893、DEC(Decrementby1)減1指令格式:DECdest ;(B/W) (dest)←(dest)-1
dest:寄存器 、存儲器。不能是段寄存器。功能:對指定的目標(biāo)操作數(shù)-1操作數(shù)單元。用途:用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)。標(biāo)志位影響情況:影響SF,ZF,AF,PF,OF。
不影響CF。90DEC用途舉例:
… MOVAX,0FFFFH CYC:DECAX JNZCYC HLT …用于延時時間。914、NEG(Negate)求補(bǔ)指令格式:NEGdest;B/W,(dest)←0-(dest)
dest:寄存器 、存儲器。操作:把操作數(shù)按位求反后末位+1。(dest)←0FFFFH-(dest)+1影響標(biāo)志:A、C、O、P、S、Z。CF: 操作數(shù)為0時求補(bǔ),CF=0;一般使CF=1.OF:對-128或-32768求補(bǔ),OF=1;否則OF=0.92應(yīng)用舉例:求絕對值在內(nèi)存中,從AREA1開始存放100個帶符號數(shù)。求各數(shù)的絕對值存于AREA2的開始單元。流程圖93程序:
LEASI,AREA1 LEADI,AREA2 MOVCX,100CHECK:MOVAL,[SI] ORAL,AL;(AL)內(nèi)容不變,置標(biāo)志
JNSNEXT ;SF=0轉(zhuǎn)NEXT
NEGAL
;負(fù)數(shù)求補(bǔ)
NEXT:MOV[DI],AL;送目標(biāo)
INCSI INCDI DECCX JNZCHECK HLT945、CMP(Compare)比較指令格式:CMPdest,src ;B/W(dest)-(src)
結(jié)果不送,置標(biāo)志。影響標(biāo)志:A、C、O、P、S、Z。
src: 立即數(shù),寄存器,存儲器。
dest:寄存器,存儲器。例: CMPAL,0AH ;寄存器與立即數(shù)比較
CMPCX,DI ;寄存器與寄存器比較
CMPAX,AREA1 ;寄存器與存儲器比較
CMP[BX+5],SI ;存儲器與寄存器比較CMPWORDPTRALPHA,100H;存儲器與立即數(shù)比較95用途:用比較指令來比較兩個數(shù)之間的關(guān)系: 兩者是否相等,兩個數(shù)中哪個大。(1)根據(jù)Z標(biāo)志,判斷兩者是否相等;(2) 根據(jù)CF標(biāo)志,判斷兩個無符號數(shù)的大??;(3) 用S、O標(biāo)志,判斷兩個帶符號數(shù)的大小。
96(1)根據(jù)Z標(biāo)志,可判斷兩者是否相等例:CMPAX,BX
ZF=1,(AX)=(BX),兩者相等
ZF=0,(AX)=(BX),兩者不相等(2) 根據(jù)CF標(biāo)志,判斷兩個無符號數(shù)的大小例:比較AX,BX寄存器,將大數(shù)(AX)
…
CMPAX,BX JNCNEXT;CF=0轉(zhuǎn)NEXT XCHGAX,BXNEXT:……結(jié)論:CF=0,(AX)>(BX);CF=1,(AX)<(BX)97(3) 用SF、OF標(biāo)志,判斷兩個帶符號數(shù)的大小設(shè):被比較兩個帶符號數(shù)分別為:A、B
分四種情況討論:
A>0,B>0
A<0,B<0 A>0,B<0 A<0,B>098四種情況討論(操作數(shù)以8位為例):ABCMPA,B結(jié)論75A>0,B>0SF=0,OF=0則:A>B57情況A>0,B>0SF=1,OF=0則:A<B-525-7-2-5-71-7-5-5-(-7)+2A<0,B<0SF=1,OF=0則:A<BA<0,B<0SF=0,OF=0則:A>B-7-(-5)-2
3+127-63A>0,B<0OF=1,SF=1則:A>B+127-(-63)+190
4-63+127A<0,B>0SF=0,OF=1則:A<B-63-(+127)-1907-5299分析以上四種情況得出如下結(jié)論:(1)OF=0時:SF=0,則:A>B
SF=1,則:A<B
OF=1時:SF=1,則:A>B
SF=0,則:A<B(2)O=S=0或O=S=1時:記作SO=0,則:A>B;
O、S異號時:記作SO=1,則:A<B。(3)SO=0時,A>B,用JG/JNLE轉(zhuǎn)移指令;
SO=1時,A<B,用JL/JNGE轉(zhuǎn)移指令。100CMP指令應(yīng)用舉例:帶符號數(shù)找最大值
若自BLOCK開始的內(nèi)存緩沖區(qū)中,有100個帶符號數(shù)(字)。找出最大值。并存放到MAX單元中。思路:第一個數(shù)取出
(AX),取出第二個數(shù)(第二個字單元內(nèi)容)與(AX)比較: (AX)>第二個數(shù),不做交換,否則,(第二個字單元內(nèi)容)(AX)。再取第三個數(shù),
…
經(jīng)過99次比較,在(AX)中得到最大數(shù)。
…101編程: …
MOVBX,OFFSETBLOCK MOVAX,[BX] INCBX INCBX MOVCX,99AGAIN:CMPAX,[BX]
JGNEXT
;(AX)>(16d(ds)+(BX))轉(zhuǎn)NEXT MOVAX,[BX]NEXT: INCBX INCBX DECCX
JNEAGAIN MOVMAX,AX ;MAX單元存放最大值
…1026、
DAS:壓縮的BCD碼減法調(diào)整指令匯編格式:DAS執(zhí)行的操作:調(diào)整(AL)中的差。調(diào)整方法如下:若AF=1,則(AL)減06H;若CF=1,則(AL)減60H。說明:①本條指令對PSW中的OF標(biāo)志無定義,會影響其他所有標(biāo)志位。②使用本條指令之前,需將十進(jìn)制數(shù)BCD碼用SUB或SBB指令相減,差存入(AL)中。1037、
AAS:非壓縮的BCD碼減法調(diào)整指令匯編格式:AAS執(zhí)行的操作:調(diào)整(AL)中的差,其中AL中的內(nèi)容是非壓縮的BCD碼或準(zhǔn)非壓縮BCD格式。調(diào)整步驟:(1)若AF=1,則(AL)-06H,(AH)←(AH)-1。(2)清除(AL)高4位,AX中即為非壓縮的BCD碼。(3)CF←AF。104說明:①本條指令除影響AF和CF標(biāo)志位外,對其余標(biāo)志位均無定義。②使用本條指令之前,先將非壓縮BCD碼的差存入AL中。105三、邏輯運算和移位指令(一)邏輯運算指令1、AND(Logicaland)邏輯“與”指令2、TEST(Testornon-destructivelogicaland)測試指令3、OR(Lgicalinclusiveor)邏輯“或”指令4、XOR(Logicalexclusiveor)邏輯“異或”指令5、NOT(Logicalnot)邏輯“非”指令特點:8088可以對8位,或16位操作數(shù)執(zhí)行邏輯操作。邏輯運算是按位操作,操作數(shù)應(yīng)該是位串而不是數(shù)。影響條件碼:(NOT指令除外,其他指令同)
CF=OF=0,AF未定義,SFZFPF ?
?
?1061、AND(Logicaland)邏輯“與”指令格式:ANDdest,src;B/W,(dest)(dest∧(src)
src:立即數(shù)、寄存器、存儲器。
dest:寄存器、存儲器。執(zhí)行操作:進(jìn)行“與”運算,兩位中有一位為0(或二位都為0),則結(jié)果為0,否則為1。操作類型舉例: ANDAL,0FH ;寄存器∧
立即數(shù)
ANDCX,DI ;寄存器∧寄存器
ANDSI,MEM_NAME;寄存器∧存儲器
ANDALPHA[DI],AX;存儲器∧寄存器
ANDwordptr[BX][SI],0FFFEH;存儲器∧立即數(shù)107注意:
“與”指令中操作數(shù)不能同時為存儲器;影響條件碼:CF=OF=0,AF未定義,SFZFPF ?
?
?“與”指令的用途:(1) 清CF,自己“與”自己.操作數(shù)不變,CF=0
例:ANDAL,AL;結(jié)果:操作數(shù)不變,CF=0。
(2)若想使操作數(shù)中若干位保持不變,若干位與“1”相與; 而想使若干位置為“0“的場合,若干位與“0”相與。 例:
若(AL)=43H ANDAL,0FH ;(AL)=03H,(AL)0~3=0011不變;
;(AL)4~7=0000,屏蔽高4位。 108“與”指令應(yīng)用舉例:例1:將英文小寫字母ASCII轉(zhuǎn)換成大寫。 小寫英文字母ASCII為:‘a(chǎn)’~’z’61H~7AH
大寫英文字母ASCII為:‘A’~’Z’41H~5AH程序: MOVAL,’z’ ANDAL,0DFH ;(AL)=5AH例2:判斷鍵盤按下的字符是不是‘Y’?
MOVAH,7
INT 21H ;鍵入無回顯,(AL)=輸入鍵的字符碼
ANDAL,0DFH CMPAL,‘Y’ JEYES …YES: … …01100001010000011101111161H41HDFH1092、TEST(Testornon_destructivelogicaland)測試指令格式:TESTdest,src;(dest)∧(src)
src:立即數(shù)、寄存器、存儲器。
dest:寄存器、存儲器。執(zhí)行操作:兩個操作數(shù)相與,但與AND指令不同的是結(jié)果不保存,只置狀態(tài)位(條件碼)。操作類型舉例:
TESTBH,7 ;寄存器∧立即數(shù)
TESTSI,BP ;寄存器∧寄存器
TESTDI,TABLE[BX] ;寄存器∧存儲器
TEST[SI],CH ;存儲器∧寄存器TESTwordptr[BX][DI],6ACEH;存儲器∧立即數(shù)110用途:常常用來檢測一些條件是否滿足,但又不希望改變原有操作數(shù)的情況下,常在此指令后邊加一條條件轉(zhuǎn)移指令。例:判斷A單元中數(shù)據(jù)的奇偶性設(shè):(A)=0AEH程序:MOVAL,A ;(AL)=0AEH
TESTAL,01H JZEVEN
;結(jié)果=0為偶數(shù)轉(zhuǎn)EVEN …
奇數(shù)處理
…
EVEN:偶數(shù)處理
檢測(AL)的最低位是否為0,若為0轉(zhuǎn)EVEN1113、OR(Lgicalinclusiveor)邏輯“或”指令格式:ORdset,src;(dset)←(dset)(src)
dest:寄存器、存儲器。
src:立即數(shù)、寄存器、存儲器。執(zhí)行操作:進(jìn)行按位“或”運算兩位操作數(shù)中任一位為1(或都為1), 則該位(結(jié)果)=1, 否則為0。操作類型舉例:
ORBL,0F6H ;寄存器立即數(shù)
ORAH,BL ;寄存器寄存器
OR CL,BETA[BX][DI] ;寄存器
存儲器
OR GAMMA[SI],DX ;存儲器
寄存器ORBYTEPTRMEM_BYTE,80H ;存儲器
立即數(shù)∧∧∧∧∧∧112注意:
“或”指令中操作數(shù)不能同時為存儲器;影響條件碼:CF=OF=0,AF未定義,SFZFPF ?
?
?用途:(1)清CF,自己與自己“或”,操作數(shù)不變,CF=0
例:ORAL,AL;(AL)不變,CF=0(2)使某個操作數(shù)若干位保持不變,若干位與“0”或;
而若干位置1,若干位與“1”或。
(3)將兩個操作數(shù)信息組合。若(AL)=03H,用OR指令組合使(AL)=33H=’3’。
ORAL,30H;(AL)=33H1134、XOR(Logicalexclusiveor)邏輯“異或”指令格式:XORdset,src;B/W(dset)(dset)(src)
dest:寄存器、存儲器。
src:立即數(shù)、寄存器、存儲器。執(zhí)行的操作:對指令的兩個操作數(shù)進(jìn)行按位“異或”運算。
兩位不相同時為1,相同時為0。操作類型舉例:
XORDI,23F6HH ;寄存器
立即數(shù)
XORSI,DX ;寄存器
寄存器
XOR CL,BUFFER ;寄存器
存儲器
XOR MEM[BX],AX ;存儲器
寄存器XOR byteptrTABLE[BP][SI],3DH;存儲器
立即數(shù)114注意:
“異或”指令中操作數(shù)不能同時為存儲器;影響條件碼:CF=OF=0,AF未定義,SFZFPF ?
?
?
用途:對某些特定位求反,某些特定位與“1”
其余位保持不變,保持不變與“0”
。應(yīng)用舉例:例1:將(AL)中的第1、3、5、7位求反
0、2、4、6位保持不變。
MOVAL,0FH XORAL,0AAH115例2:比較三條(AX)清“0”指令:
XORAX,AX ;清AX,清CF,2個字節(jié),3個T。
SUBAX,AX ;清AX,清CF,2個字節(jié),3個T。
MOVAX,0;清AX,不影響標(biāo)志位,3個字節(jié),4個T。
XOR清“0”指令在多字節(jié)累加程序中十分有用。例3:將存放在TABLE開始的100個字節(jié)的16進(jìn)制數(shù)進(jìn)行累加,和存于SUM+1、SUM單元。116程序:100個字節(jié)的16進(jìn)制數(shù)進(jìn)行累加。
LEABX,TABLE MOVCL,100
XORAX,AXLOOPER:ADDAL,[BX] JNCGOON INCAHGOON:INCBX DECCL JNZLOOPER MOVSUM,AX HLT流程圖1175、NOT(Logicalnot)邏輯“非”指令格式:NOT
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理感染控制與公共衛(wèi)生競賽
- 2.6.6.3精神科危重患者護(hù)理常規(guī)學(xué)習(xí)培訓(xùn)課件
- 2025年辦公設(shè)備維修服務(wù)協(xié)議
- 《液體劑型保健用品生產(chǎn)技術(shù)規(guī)范》標(biāo)準(zhǔn) 征求意見稿
- 基于大數(shù)據(jù)的電子支付異常監(jiān)測系統(tǒng)
- 2025年養(yǎng)寵訓(xùn)練新工具 正向激勵A(yù)I助手評測
- 城市交通智能調(diào)控-第2篇
- 基于AI的注入攻擊檢測
- 資產(chǎn)管理智能決策
- 2025年醫(yī)院三基知識考試試題庫及答案(共240題)
- 2025年沈陽華晨專用車有限公司公開招聘備考筆試題庫及答案解析
- 2025年云南省人民檢察院聘用制書記員招聘(22人)筆試考試參考試題及答案解析
- 2025天津市第二批次工會社會工作者招聘41人考試筆試備考試題及答案解析
- 江西省三新協(xié)同體2025-2026年高一上12月地理試卷(含答案)
- 2025新疆維吾爾自治區(qū)哈密市法院、檢察院系統(tǒng)招聘聘用制書記員(31人)筆試考試參考試題及答案解析
- 空調(diào)安全知識培訓(xùn)
- 2025重慶醫(yī)科大學(xué)附屬兒童醫(yī)院宜賓醫(yī)院招聘34人考試筆試備考題庫及答案解析
- 《醫(yī)學(xué)倫理》期末考試復(fù)習(xí)題庫(含答案)
- 初中生金融知識
- 流感相關(guān)知識試題及答案
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
評論
0/150
提交評論