




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、引言引言指令系統(tǒng)是計(jì)算機(jī)微處理器能直接執(zhí)行的指令集指令系統(tǒng)是計(jì)算機(jī)微處理器能直接執(zhí)行的指令集合。匯編語言程序就是用指令系統(tǒng)的指令編寫合。匯編語言程序就是用指令系統(tǒng)的指令編寫的,學(xué)習(xí)指令系統(tǒng)中主要指令的功能、格式以的,學(xué)習(xí)指令系統(tǒng)中主要指令的功能、格式以及使用的方法是學(xué)習(xí)匯編語言的基礎(chǔ)。本章主及使用的方法是學(xué)習(xí)匯編語言的基礎(chǔ)。本章主要介紹要介紹8086的尋址方式,的尋址方式,8086CPU指令系統(tǒng)指令系統(tǒng)中主要指令及其使用方法,以使進(jìn)一步學(xué)習(xí)匯中主要指令及其使用方法,以使進(jìn)一步學(xué)習(xí)匯編語言程序設(shè)計(jì)。編語言程序設(shè)計(jì)。 教學(xué)目標(biāo):(1)理解計(jì)算機(jī)的指令格式(2)掌握數(shù)據(jù)操作數(shù)的尋址方式任務(wù)引入指令系
2、統(tǒng)是微處理器所能執(zhí)行的指令的集合。指令通常由操作碼和操作數(shù)組成,其一般格式如下:操作碼:指令的操作碼指出微機(jī)所要執(zhí)行的操作操作數(shù):操作數(shù)就是在指令執(zhí)行操作的過程中所需要操作的對(duì)象操作碼指定指令做何種操作;操作數(shù)用于指明參加操作的數(shù)據(jù)的來源和去向,根據(jù)指令的不同,操作數(shù)的個(gè)數(shù)可以有03個(gè)不等。在80868088微處理器的指令系統(tǒng)和,操作數(shù)最多可以有兩個(gè)(稱二地址指令);在80486微處理器的指令系統(tǒng)中,操作數(shù)最多可以有三個(gè)(稱三地址指令),其形式也可以多種多樣,可為操作數(shù)或操作數(shù)地址。我們稱在指令中獲得操作數(shù)的方式為尋址方式。任務(wù)分析存儲(chǔ)器既可以用來存放數(shù)據(jù),又可以用來存放指令。因此,當(dāng)某個(gè)操作
3、數(shù)或某條指令存放在某個(gè)存儲(chǔ)單元時(shí),其存儲(chǔ)單元的編號(hào),就是操作數(shù)或指令在存儲(chǔ)器中的地址。形成操作數(shù)或指令地址的方式,稱為尋址方式。8086 CPU的尋址分為兩類,即數(shù)據(jù)尋址方式和指令尋址方式。在80868088指令系統(tǒng)中,操作數(shù)可分為數(shù)據(jù)操作數(shù)和轉(zhuǎn)移地址操作數(shù)兩大類:1數(shù)據(jù)操作數(shù):立即數(shù);寄存器操作數(shù);存儲(chǔ)器操作數(shù);I/O操作數(shù)2轉(zhuǎn)移地址操作數(shù)按目標(biāo)地址存放的場(chǎng)所不同,它也可以分為立即數(shù)、寄存器和存儲(chǔ)器操作數(shù),即要轉(zhuǎn)移的目標(biāo)地址包含在指令、寄存器或存儲(chǔ)單元之中,前者為互接方式,后者為間接方式。尋址方式則指出用什么方式和方法尋找到操作數(shù)的地址,如何尋找到操作數(shù)的地址是一個(gè)至關(guān)重要的問題。8086最
4、基本的尋址方式有以下七種:(1)立即尋址;(2)寄存器尋址方式;(3)直接尋址方式;(4)寄存器間接尋址方式;(5)寄存器相對(duì)尋址方式;(6)基址變址尋址方式;(7)相對(duì)基址變址尋址方式;1.立即尋址這種尋址方式所提供的操作數(shù)直接出現(xiàn)在操作碼的后面,作為指令的一部分與操作碼一起存放在代碼段區(qū)域中,這種操作數(shù)稱為立即數(shù)。立即尋址方式主要是用來給寄存器或存儲(chǔ)單元賦值,并且只能用于源操作數(shù),不能用于目的操作數(shù)。立即數(shù)可以用二進(jìn)制數(shù)、八進(jìn)制數(shù)、十進(jìn)制數(shù)和十六進(jìn)制數(shù)來表示。在非十進(jìn)制的立即數(shù)末尾需要使用字母加以標(biāo)識(shí)。例5.1 說明指令“MOV AX,5476H”的尋址方式。指令執(zhí)行結(jié)果是5476H的值送
5、人寄存器AX,如圖5.1所示2.寄存器尋址方式這種尋址方式,操作數(shù)在CPU內(nèi)部的寄存器中,在指令中直接指定寄存器名。對(duì)16位操作數(shù)來說,寄存器可以為AX,BX,CX,DX,SI,DI,SP或BP,而對(duì)于8位操作數(shù)來說,寄存器可為AH,AL,BH,BL,CH,CL,DH,DL。例5.2說明指令“MOV DI,AX”的尋址方式。指令執(zhí)行結(jié)果是將寄存器AX中的內(nèi)容送人寄存器DI中,而寄存器AX中的內(nèi)容不變。如圖5.2所示3.直接尋址方式這種尋址方式把操作數(shù)地址的16位偏移量直接放在指令中,它與操作碼一起存放在代碼段。操作數(shù)一般在數(shù)據(jù)段,而數(shù)據(jù)段的段地址存放在寄存器DS中,操作數(shù)的物理地址是以DS的內(nèi)
6、容左移4位為基址再加上這16位的地址偏移量(也叫有效地址EA)。例5.3說明指令“MOV AX,2050H”的尋址方式。設(shè)(DS)2000H,執(zhí)行情況如圖5.3所示。故執(zhí)行結(jié)果為:(AX)3528H在8088中允許進(jìn)行段超越,即允許數(shù)據(jù)存放在數(shù)據(jù)段以外的其他段中,這時(shí)應(yīng)在指令中指明段超越前綴,則16位地址偏移量將與CS或SS或ES的基址相加,形成操作數(shù)的物理地址。例如:MOV AX,ES:2000H4.寄存器間接尋址方式在這種尋址方式中,操作數(shù)存放在存儲(chǔ)器中,而操作數(shù)的有效地址在基址寄存器BX,BP或變址寄存器SI,DI之一中??梢苑殖蓛煞N情況:(1)若指令中指定寄存器DX,SI,DI進(jìn)行間接
7、尋址,則操作數(shù)通常存放在現(xiàn)行數(shù)據(jù)段中。此時(shí),數(shù)據(jù)段寄存器DS的內(nèi)容加上BX,SI,DI中的16位段內(nèi)偏移地址,即得操作數(shù)地址。(2)若以BP間接尋址,則操作數(shù)存放在堆棧段中。此時(shí),堆棧段寄存器SS的內(nèi)容加上BP中的16位段內(nèi)偏移地址,即得操作數(shù)的地址。例5.4說明指令“MOV AX,SI”的尋址方式。假如(DS)=3000H,(DI)=1500H,則執(zhí)行結(jié)果(AX)435BH,執(zhí)行情況如圖5.4所示。5寄存器相對(duì)尋址方式在這種尋址方式中,操作數(shù)存放在存儲(chǔ)區(qū)中,而操作數(shù)的有效地址由基址寄存器BX,BP或變址寄存器SI,DI之一中的內(nèi)容再加上指令中指定的8位或16位的偏移量之和組成。這里分兩種情況
8、: (1)若指令中指定寄存器BX,SI,DI相對(duì)尋址,則操作數(shù)在數(shù)據(jù)段中,這時(shí)用DS寄存器中的段地址作為基地址。 (2)如果以寄存器BP相對(duì)尋址,則操作數(shù)在堆棧段中,這時(shí)用堆棧段寄存器器中的段地址作為基地址。例5.5 說明指令“MOV AX,COUNTSI”的尋址方式。(其中COUNT為16位偏移量的符號(hào)地址)。設(shè)(DS)3000H,(SI)1000H,COUNT2000H,則物理地址3000H H H=33000H,指令執(zhí)行的結(jié)果是將35A2H的值送人AX,即:(AX)35A2H,執(zhí)行情況如圖5.5所示6基址變址尋址方式這種尋址方式中,操作數(shù)的有效地址是指令中指定一個(gè)基址寄存器(BX或BP)
9、和一個(gè)變址寄存器(SI或DI)的內(nèi)容之和。這里也分兩種情況;(1)如果使用基址寄存器DX,則段寄存器使用DS;(2)如果使用基址寄存器BP,則段寄存器使用SS。例5.6說明指令“MOV AX,BXSI”的尋址方式。若(DS)2000H,(BX)0235H,(SI)12C5H,則EA0235H+12C5H14FAH,物理地址2000H+14FAH=214FAH,則指令執(zhí)行結(jié)果是將354AH的值送人AX.執(zhí)行過程如圖5.6所示。7相對(duì)基址變址尋址方式在這種尋址方式中,操作數(shù)的有效地址是一個(gè)基址寄存器(BX或BP)一個(gè)變址寄存器(SI或DI)與一個(gè)8位或16位的偏移量相加之和。同理,如果使用基址寄存
10、器BX,則段寄存器使用DS;如果使用基址寄存器BP,則段寄存器使用SS。例5.7說明指令“MOV AX,MASKBXDI”的尋址方式。若(DS)2000H,(BX)=1500H,(DI)=1000H,MASK=0340H,則實(shí)際物理地址=2000H H H H22840H,指令執(zhí)行的結(jié)果是將475BH的值送入AX。執(zhí)行過程如圖5.7所示。20000214FAAX存儲(chǔ)器AHAL圖5.6 基址變址尋址4A35DS2000SI214FA數(shù)據(jù)段12C5BX0235教學(xué)目標(biāo):(1)熟練掌握數(shù)據(jù)傳送指令、算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、移位控制指令和CPU控制命令的功能和用法。(2)掌握串操作、控制轉(zhuǎn)移指令的
11、使用任務(wù)引入程序是由完成一個(gè)完整任務(wù)的一系列有序指令組成的有序集合。指令是指示計(jì)算機(jī)進(jìn)行某種操作的命令,通常一條指令對(duì)應(yīng)著一種基本操作。指令是根據(jù)CPU硬件特點(diǎn)開發(fā)出來的,不同的CPU,能夠執(zhí)行的指令種類、數(shù)量都不同。計(jì)算機(jī)所能執(zhí)行的全部指令的集合,稱為處理器的指令系統(tǒng)。每種計(jì)算機(jī)都有自己固有的指令系統(tǒng),但同一系列的計(jì)算機(jī)其指令系統(tǒng)是向上兼容的。機(jī)器指令用一組二進(jìn)制編碼來表示,它是機(jī)器所能直接理解和執(zhí)行的指令。例如:Intel 8086 CPU中有一條指令,其二進(jìn)制代碼形式為01001011,十六進(jìn)制代碼為4BH,指令功能是將寄存器BX的內(nèi)容減1。由于二進(jìn)制代碼不易理解,也不便于記憶和書寫,因
12、此,人們就用助記符來代替這種二進(jìn)制表示的指令,這就形成了匯編指令。任務(wù)分析Intel 8086 CPU提供133條基本指令,按功能又可分為以下9類數(shù)據(jù)傳送指令。算術(shù)運(yùn)算指令。邏輯運(yùn)算指令移位指令轉(zhuǎn)移指令字符串操作指令。處理器控制指令。輸入輸出指令中斷指令1.最基本的數(shù)據(jù)傳送指令例如:M0V AL,BL ;BL中的8位數(shù)據(jù)送ALMOV ES,DX ;DX中16位數(shù)據(jù)送ESMOV AX BX ;BX和BX+1所指的兩個(gè)內(nèi)存單元的內(nèi)容送AXMOV DI,AX ;累加器的內(nèi)容送DI和DI+1所指的兩個(gè)單元MOV CX,1000H ;將1000H和1001H兩單元中的內(nèi)容送CXMOV BL,40H ;立
13、即數(shù)40H送BLMOV DX,5040H ;立即數(shù)5040H送DXMOV WORD PTRSI,6070H ;立即數(shù)6070H送到SI和SI+1所指的兩單元;這里的PTR是一個(gè)匯編操作符,與前面的WORD;一起,意思是字操作而不是一個(gè)字節(jié)操作2堆棧操作指令PUSH、POP 8086/8088指令系統(tǒng)中提供了專用的堆棧操作指令,其中PUSH是把字壓入堆棧,POP是把字彈出堆棧。在程序中采用堆棧操作指令時(shí),應(yīng)預(yù)置堆棧段寄存器SS、堆棧指示器SP的值,同時(shí),使SP的內(nèi)容作為當(dāng)前堆棧段的棧頂。在執(zhí)行PUSH指令時(shí),首先,堆棧指示器SP自動(dòng)減2,然后,將一個(gè)字以源操作數(shù)傳送至棧頂。POP指令的執(zhí)行過程正
14、好與PUSH指令相反,它把由SP指出的當(dāng)前堆線段的棧頂?shù)囊粋€(gè)操作數(shù)(一個(gè)字),傳送到目的操作數(shù)中,然后,SP自動(dòng)加2,指向新的線頂。POP指令中的目的操作數(shù)可以是除代碼段寄存器CS之外的其他寄存器和存儲(chǔ)器。在8086/8088指令系統(tǒng)中,不允許CS寄存器作為目的操作數(shù)使用。這是因?yàn)?,一旦改變了代碼段寄存器CS的內(nèi)容,使程序有了新的當(dāng)前代碼段,就會(huì)導(dǎo)致程序錯(cuò)誤運(yùn)行。例如:將16位通用寄存器CX的內(nèi)容壓入堆棧,然后,彈出棧頂至CX中,已知:(SS)0200H,(SP)=0008H,(CX)12FAH,其示意圖如5.8和圖5.9所示。3交換指令XCHG交換指令XCHG可以實(shí)現(xiàn)字節(jié)交換,也可以實(shí)現(xiàn)字交
15、換。交換過程可以在CPU的內(nèi)部寄存器之間進(jìn)行,也可以在內(nèi)部寄存器和存儲(chǔ)單元之間進(jìn)行,但不能在兩個(gè)存儲(chǔ)單元之間執(zhí)行數(shù)據(jù)交換。例如:XCHG AL,BL ;AL和BL之間進(jìn)行字節(jié)交換XCHG BX,CX ;BX和CX之間進(jìn)行字交換XCHG 2530H,CX ;CX中的內(nèi)容和2530H、2531H兩單元的內(nèi)容交換4換碼指令(也稱查表指令)XLATXLAT是一條換碼指令。使用換碼指令時(shí),要求BX寄存器指向表的首地址,AL中為表中某一項(xiàng)與表格首地址之間的偏移量,指令執(zhí)行時(shí),會(huì)將BX和AL中的值相加,把得到的值作為操作數(shù)的地址,然后將此地址所對(duì)應(yīng)的單元中的值取到AL中去。圖5.10表示了換碼指令的功能。X
16、LAT指令是通過查表方式來完成換碼功能的。因此,在執(zhí)行該指令之前,必須建立好一張表,該表的最大容量為256字節(jié)。例如,假設(shè)數(shù)據(jù)表存放在偏移地址為2000H開始的內(nèi)存中,取出數(shù)據(jù)序號(hào)“3”所對(duì)應(yīng)的表中某存儲(chǔ)單元中的數(shù)送到AL中去,用如下幾條指令即可完成: MOV BX,2000H ;BX隱含作表首地址 MOV AL,3 ;序號(hào)3送AL XLAT ;查表結(jié)果送AL5.目標(biāo)地址傳送指令這是一類專用于傳送地址碼的指令,可用來傳送操作數(shù)的段地址或偏移地址,共包含以下3條指令。(1)取有效地址指令LEALEA指令的功能是將存儲(chǔ)器單元的偏移地址送到一個(gè)寄存器。在LEA格式中,要求源操作數(shù)必須為內(nèi)存單元地址,
17、目的操作數(shù)必須為一個(gè)16位的通用寄存器。這條指令常用來使一個(gè)寄存器作為地址指針。例如:LEA AX,2728H ;將2728H單元的偏移量送AX,執(zhí)行指令后,AX中為2728HLEA BX,BP+SI ;指令執(zhí)行后,BX中的內(nèi)容為BP+SI的值(偏移地址)LEA SP,0482H ;使堆棧指針SP為0482H(偏移地址)(2).將地址指針裝到DS和另一個(gè)寄存器的指令LDSLDS指令的功能是將某操作數(shù)的4個(gè)連續(xù)字節(jié)中的地址指針(其中包括一個(gè)段地址和一個(gè)偏移量)傳送到兩個(gè)目的寄存器,其中,地址指針的后兩個(gè)字節(jié)(段地址)一定送到DS中。例如,設(shè)2130H2133H這4個(gè)單元中存放著一個(gè)地址指針,21
18、30H和2131H中的為地址的偏移量,2132H和2333H中的為地址的段值,執(zhí)行如下指令:LDS DI,2130H使2130H和2131H中的偏移量送到DI,2132H和2133H中的段值送到DS。(3).將地址指針裝到ES和另一個(gè)寄存器指令LESLES指令與LDS指令的操作基本相同,不同之處僅在于將源操作數(shù)所指向的地址指針中的段基址(后兩個(gè)字節(jié))傳送到ES段寄存器,而不是DS段寄存器。6.標(biāo)志位傳送指令可完成標(biāo)志位傳送的指令共有4條。(1).讀取標(biāo)志指令LAHFLAHF指令被執(zhí)行時(shí),將標(biāo)志寄存器中的低8位傳送到AH中,如圖5.11所示。 (2).設(shè)置標(biāo)志指令SAHFSAHF指令被執(zhí)行時(shí),將
19、AH寄存器的相應(yīng)位傳送到標(biāo)志寄存器的低8位,用圖表示,就是將圖5.9中的5個(gè)箭頭方向反過來。(3).對(duì)標(biāo)志寄存器的壓入堆棧指令和彈出堆棧指令PUSHF、POPFPUSHF指令將標(biāo)志寄存器的值壓入堆棧頂部,同時(shí),棧指針SP的值減2,此指令在執(zhí)行時(shí)標(biāo)志寄存器的值不變。POPF指令的功能正好相反,此指令在執(zhí)行時(shí)從堆棧頂中彈出個(gè)字送到標(biāo)志寄存器中,同時(shí)堆棧指針SP的值加2。 PUSHF、POPF指令一般用在子程序和中斷處理程序的首尾,起保存主程序標(biāo)志和恢復(fù)主程序標(biāo)志的作用。表5.1 傳送類指令傳送類指令的格式與功能的匯總表如表5.1所示。 8086指令系統(tǒng)中具有完備的加、減、乘、除運(yùn)算指令??商幚?位
20、16位不帶符號(hào)和帶符號(hào)的二進(jìn)制整數(shù),以及不帶符號(hào)數(shù)的組合的(即一字節(jié)存放兩位BCD碼)或非組合的(即一字節(jié)存放一位BCD碼)十進(jìn)制整數(shù)的算術(shù)運(yùn)算。8位不帶符號(hào)的二進(jìn)制整數(shù)范圍是0255,16位不帶將號(hào)二進(jìn)制整數(shù)范圍是065535,而8位和16位帶符號(hào)的二進(jìn)制整數(shù)范圍分別是-128+127和-32768 。負(fù)數(shù)均用補(bǔ)碼表示。在算術(shù)運(yùn)算指令中,源操作數(shù)為8位或16位通用寄存器、存儲(chǔ)器和立即數(shù),目的操作數(shù)不允許是立即數(shù),其余同源操作數(shù)。還需要注意的是,雙操作數(shù)指令中兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)。這一限制適用于指令系統(tǒng)中所有的雙操作數(shù)指令,以后不再贅述。1加法指令 (1)不帶進(jìn)位的加法指令例5.2
21、 ADD AL,50H;AL+50HAL ADD DI,SI;DI+SI DI ADD AX,DI ;AX+(DI+1,DI) AX (2)帶進(jìn)位的加法指令指令格式:ADD OP目,OP源指令功能:將源操作數(shù)、目的操作數(shù)及CF的值相加,結(jié)果保留在目的操作數(shù)中,并根據(jù)結(jié)果設(shè)置標(biāo)志。例5.3 有兩個(gè)4字節(jié)數(shù)分別放在自FIRST和SECOND開始的存儲(chǔ)區(qū)中,低字節(jié)在低地址處,編一程序段將兩數(shù)相加,結(jié)果存放于從FIRST開始的存儲(chǔ)區(qū)中。MOV AX,FIRST ;第一個(gè)數(shù)的低16位AXMOV AX,SECOND ;兩數(shù)低16位相加AXMOV FIRST,AX ;低16位相加結(jié)果存入FIRST及FIRS
22、T+1單元MOV AX,FIRST+2 表5.2 算術(shù)運(yùn)算指令 ;第一個(gè)數(shù)的高16AX ADC AX,SECOND+2 ;兩數(shù)的高16位連同地位進(jìn)位相加AXMOV FIRST+2,AX ;高16位相加的結(jié)果存入FIRST+2及FIRST+3單元(3)加1指令指令格式:INC 0P指令功能:將操作數(shù)加1,再送回該操作數(shù)。這條指令一般用于循環(huán)程序的指針修改操作數(shù)可以是8位16位通用寄存器或存儲(chǔ)器,不能為立即數(shù)。例5.4 INC AL ;AL+1AL INC BYTE PTRBX十DI ;BX+DI+1 BX+DI注意:INC指令影響標(biāo)志位AF,OF,PF,SF和ZF,但不影響CF位。 本指令將操作
23、數(shù)視為無符號(hào)數(shù)。2減法指令(1)不帶借位的減法指令指令格式:SUB OP日,OP源指令功能:將目的操作數(shù)減去源操作數(shù),結(jié)果送回到目的操作數(shù)中,并根據(jù)結(jié)果設(shè)置標(biāo)志。例5.5 SUB BX,CX ;BX-CXBXSUB AL,SI+2 ;AL-SI+2AL(2)帶借位的減法指令 指令格式:SBB OP目,OP源 指令功能:將目的操作數(shù)減去源操作數(shù)再減去借位標(biāo)志CF的現(xiàn)行值,結(jié)果送回到目的操作數(shù)中,并根據(jù)結(jié)果設(shè)置標(biāo)志。該指令常用于多字節(jié)減法運(yùn)算。例5.6 SBB AX,2030H ;AX-2030H-CFAX SBB WORD PTRDI,1000H ;將DI和DI+l所指的兩個(gè)單元的內(nèi)容減去100
24、0H再減去CF結(jié)果送DI和DI+1單元(3)減1指令指令格式:DEC OP指令功能:將操作數(shù)的值減1后送回源操作數(shù)中,根據(jù)結(jié)果置標(biāo)志位。操作數(shù)可以是8位16位通用寄存器和存儲(chǔ)器操作數(shù),不能為立即數(shù)。例5.7 DEC AX ;AX-1Ax DEC BYTE PTRBX ;BX-1BX注意:本指令不影響CF標(biāo)志。 本指令將操作數(shù)視為無符號(hào)數(shù)。(4)取補(bǔ)指令指令格式:NEG 0P指令功能:將操作數(shù)取補(bǔ)后送回原操作數(shù)。操作數(shù)可以是8位八6位通用寄存器和存儲(chǔ)器操作數(shù),不能為立即數(shù)。例5.8 NEG AL ;將AL中的數(shù)取補(bǔ) NEC WORD RTRST+1 ;將SI+l、SI+2單元中的內(nèi)容取補(bǔ)注意;因
25、為執(zhí)行NEG指令時(shí),是用0減去操作數(shù),所以指令執(zhí)行時(shí),只有操作數(shù)為0才使CF0,否則總是使CF=1。(5)比較指令指令格式:CMP 0P目,oP源指令功能:將目標(biāo)操作數(shù)與源操作數(shù)相減,不回送結(jié)果,只根據(jù)結(jié)果置標(biāo)志位。例5.9 CMP AX,BX ;將AX-BX后,置標(biāo)志位 CMP AL,20H ;將AL-20H后,置標(biāo)志位例5.10 有兩組50個(gè)字節(jié)的數(shù)據(jù),分別放在自FIRST和SECOND開始的存儲(chǔ)區(qū)中,試比較兩組數(shù)據(jù)是否相同。相同則0AL,否0FFHAL。 MOV SI,0FFSET FIRST ;SI作為第組數(shù)的地址指針 MOV DI,OFFSET SECOND ;DI作為第二組數(shù)的地址
26、指針 M0V CX,50 ;置計(jì)數(shù)器初值P: MOV AL,SI ;從第一組數(shù)中取出個(gè)數(shù)送AL CMP AL,DI ;與第二組數(shù)中相向位置的數(shù)比較 JZ NEXT ;相等,繼續(xù)比較 MOV AL,0FFH ;不相等,將不等標(biāo)志0FFH送AL JMP STOP ;跳山循環(huán)NEXT: INC SI ;調(diào)整第一組數(shù)指鈞 INc DI ;調(diào)整第組指針 DEC CX ;計(jì)數(shù)值減1 JNZ P ;未完,繼續(xù) MOV AL,0 ;將相等標(biāo)志送ALSTOP: HLT3乘法指令(1)無符號(hào)數(shù)乘法指令指令格式;MUL OP指令功能:完成兩個(gè)不帶符號(hào)的8位16位二進(jìn)制數(shù)的乘法運(yùn)算。指令中給出的操作數(shù)是乘數(shù),它可以是
27、8位/16位通用寄存器及存儲(chǔ)器;另一操作數(shù)被乘數(shù)隱含在ALAX中,乘積存放在AH:AL或DX:AX中,如圖5.12所示。例5.11 MUL BL ;BL*ALAX MUL WORD PTRDI ;DI和DI+1單元的內(nèi)容乘以AX中的內(nèi)容,乘積送DX,AX中例5.12 設(shè)在M1和M2單元中各有一個(gè)16位數(shù),求其乘積,將結(jié)果存于從R開始的字單元中。 MOV AX,M1 ;取被乘數(shù) MUL M2 ;兩數(shù)相乘 MOV RAX MOV R+2DX ;存結(jié)果注意:本指令影響標(biāo)志位CF、OF。對(duì)于字節(jié)乘法,當(dāng)AH0時(shí),CF1,0Fl; 對(duì)于字乘法,但DX0時(shí),CF=1,OF=1。(2)帶符號(hào)數(shù)乘法指令指令格
28、式:IMUL OP指令功能:完成兩個(gè)帶符號(hào)的8位/16位二進(jìn)制數(shù)的乘法運(yùn)算。有關(guān)IMUL的其他約定與MUL相同。注意:對(duì)于字節(jié)乘法,當(dāng)AH為AL的符號(hào)擴(kuò)展時(shí),CFOF=0,否則CF=OF1;對(duì)于字乘法,當(dāng)DX為AX的符號(hào)擴(kuò)展時(shí),CF=OF=0,否則CFOF1。4除法指令(1)無符號(hào)數(shù)除法指令指令格式:DIV OP指令功能:完成構(gòu)個(gè)不帶符號(hào)的二進(jìn)制數(shù)的除法運(yùn)算。指令中給出的操作數(shù)是除數(shù),它可以是8位16位通用寄存器及存儲(chǔ)器;被除數(shù)隱含在AX(字節(jié)除)或DX、AX(字除法)中。操作過程:字節(jié)除法AXOPAL AX MOD OPAH字除法(DX、AX)OPAX (DX、AX)MOD 0PDx例5.1
29、3 DIV CL ;AX中的數(shù)據(jù)除以CL中的數(shù)據(jù),商AL,余數(shù)AH DIV WORD PTRDI ;DX和AX中的32位數(shù)除以DI和DI+1單元; 中的16位數(shù)據(jù),商AX,余數(shù)DX注意:對(duì)于本指令,若商超出字或字節(jié)的表述范圍,將產(chǎn)生一個(gè)類型0的中斷。(2)帶符號(hào)數(shù)除法指令指令格式:IDIV OP指令功能:完成兩個(gè)帶符號(hào)的二進(jìn)制數(shù)的除法運(yùn)算。商的符號(hào)根據(jù)代數(shù)規(guī)則確定,余數(shù)的符號(hào)與被除數(shù)相同。操作數(shù)的規(guī)定同DIV指令。注意:本指令在完成字節(jié)相除時(shí)最大的商為+127(7FH),最小的商為-128(80H)在完成字相除時(shí)最大的商為 (7FFFH),最小的商為-32768(80H)。若商超出此范圍,則將
30、產(chǎn)生個(gè)類型0的中斷。(3)符號(hào)擴(kuò)展指令在進(jìn)行帶符號(hào)數(shù)除法運(yùn)算時(shí),若被除數(shù)和除數(shù)具有相同位數(shù)(字節(jié)或字),這時(shí)就需要將被除數(shù)擴(kuò)展為字或雙字,而數(shù)的大小和符號(hào)不變。指令CBW和CWD就用于這一目的。字的擴(kuò)展指令。指令格式:CBW指令功能:將AL中的單字節(jié)數(shù)的符號(hào)擴(kuò)展到AH中。若AL80H,則0AH,AL80H,OFFHAH。例5.14 MOV AL,81H CBW MOV CL,30H IDIV CL字?jǐn)U展指令。指令格式:CWD指令功能:將AX中的數(shù)的符號(hào)擴(kuò)展到DX中。若AX8000H,則0DX;若AX8000H,則0FFFFHDX。注意:這兩條符號(hào)擴(kuò)展指令常常放在ISIV指令之前,對(duì)標(biāo)志位沒有影
31、響。例5.15 在內(nèi)存中有一個(gè)從DATAl開始的存儲(chǔ)區(qū)。此存儲(chǔ)區(qū)的前兩個(gè)字節(jié)是一個(gè)16位帶符號(hào)的被除數(shù),第三、四字節(jié)是一個(gè)16位帶符號(hào)的除數(shù)其后的四個(gè)單元依次存放商和余數(shù)。實(shí)現(xiàn)此除法運(yùn)算的程序?yàn)? LEA BX,DATAl ;數(shù)據(jù)區(qū)首址BX MOV AX,BX ;被除數(shù)AX CWD ;被除數(shù)符號(hào)擴(kuò)展至DX中 IDIV WORD PTRBX+2 ;兩數(shù)相除 MOV BX+6,DX ;商BX+4單元 MOVBX+6,DX ;余數(shù)BX+6單元思考:若上例中的兩個(gè)數(shù)是無符號(hào)數(shù),要完成無符號(hào)數(shù)除法,應(yīng)該如何修改程序邏輯運(yùn)算指令有5條,見表5.3說明: (1)NOT指令不影響標(biāo)志位,其他4種指令將使CF和
32、OF為0,AF位無定義,而SF、ZF和PF則根據(jù)運(yùn)算結(jié)果設(shè)置。 (2)TEST指令中不保存兩個(gè)操作數(shù)相與的結(jié)果,只根據(jù)其特征置標(biāo)志位。邏輯運(yùn)算指令對(duì)處理操作數(shù)的某些位很有用,例如利用AND指令可將某些位置0,利用OR指令可將某些位置1,利用XOR指令可將某些位取反;利用TEST指令可測(cè)試某些位等。例5.15AND AL,11111100B ; 將AL中0、1兩位置0,其他各位保持不變OR AL,11111100B; 將AL中高4位置1,其他各位保持不變XOR AL,11000000B; 將AL中最高二位取反,其他各位保持不變TEST AL,0AAH ; 設(shè)置邏輯尺0AAH,測(cè)試AL中第1、3、
33、5、7位是否為0JZ AB ;ZF=1,被測(cè)位均為0,轉(zhuǎn)到ABAB:移位指令有8條,見表5.4,移位指令功能圖如圖5.13所示說明:(1)表內(nèi)的OPR可以是除立即數(shù)以外的任何尋址方式。(2)COUNT表示移位次數(shù),只能取1或寄存器CL兩種形式。若移位次數(shù)大于1,則需將移位次數(shù)預(yù)置于CL中。(3)所有的移位指令都可以對(duì)字或字節(jié)進(jìn)行操作。 (4)所有的移位指令對(duì)CF和OF標(biāo)志位會(huì)有影響。OF位當(dāng)最高有效位發(fā)生變化時(shí)(由0變1,或由1變O)置l,否則置0,僅在COUNT=l時(shí)有效。4條循環(huán)移位指令不影響其他標(biāo)志,而其余移位指令則根據(jù)移位后的結(jié)果設(shè)置SF、ZF和PF位,AF位則無定義。例5.16MOV
34、 AF,0AFH ;(AL)=10101111BMOV CL,5SAL AL,1 ; (AL)=01011110B,(CF)=1SHR AL,CL ; (AL)=00000010B, (CF)=1MOV AL,0AFH ; (AL)=10101111BROL AL,1 ; (AL)=01011111B,(CF)=1 ROL AL,1 ; (AL)=10111110B,(CF)=0RCR AL,1 ; (AL)=01011111B,(CF)=0例5.17MOV CX,6MOV BL,0 ;存放移出位AB:SHL AX,1 ;左移移位相當(dāng)于乘2RCL DX,1RCL BX,1DEC DXJNZ A
35、BHLT控制轉(zhuǎn)移指令共有五類,它們是:無條件和條件轉(zhuǎn)移指令、循環(huán)控制指令、子程序調(diào)用和返回指令、中斷指令和處理器控制轉(zhuǎn)移指令。在論述具體的指令之前,先講述一下與指令地址有關(guān)的尋址方式。1程序轉(zhuǎn)移地址的尋址方式在80868088指令系統(tǒng)中,指令的地址是由CS和IP的內(nèi)容所決定的。在順序執(zhí)行時(shí),當(dāng)BIU完成一次取指操作后,就自動(dòng)改變IP的內(nèi)容以指向下一條指令,使程序按指令預(yù)先存放在程序存儲(chǔ)器中的次序,由低地址到高地址順序執(zhí)行;如需要改變程序的執(zhí)行順序時(shí),可以在程序中安排一條控制轉(zhuǎn)移指令,實(shí)現(xiàn)僅修改IP內(nèi)容(段內(nèi)轉(zhuǎn)移)或同時(shí)修改CS的內(nèi)容(段間轉(zhuǎn)移),使程序轉(zhuǎn)移到指令所指定的轉(zhuǎn)移地址。尋求指令地址的
36、方法稱為轉(zhuǎn)移地址尋址方式,共有如下四種方式:1)段內(nèi)直接尋址方式2)段內(nèi)間接尋址方式3)段間直接尋址方式4)段間間接尋址方式2無條件轉(zhuǎn)移和條件轉(zhuǎn)移指令1)無條件轉(zhuǎn)移指令JMP2)條件轉(zhuǎn)移指令(1)簡(jiǎn)單條件轉(zhuǎn)移指令(2)無符號(hào)數(shù)條件轉(zhuǎn)移指令(3)帶符號(hào)數(shù)條件轉(zhuǎn)移指令該類指令的一般格式為: L00P OPRD ;CX=CX-1,CX0,轉(zhuǎn)到OPRD LOOPNE OPRD ;CXCX-1,Cx0且ZFO轉(zhuǎn)到OPRD L00PE OPRD ;CX=CX-1, CX0是ZF1轉(zhuǎn)到OPRD在LOOPE和LOOPNE兩條指令中,只要兩個(gè)條件中任一個(gè)不滿足,循環(huán)就結(jié)束。例5.19 從首地址為BX所指向的單元
37、到末地址為DI所指向的單元之間尋找第一個(gè)非0字符,其程序如下: SUB DI,BX ;取數(shù)據(jù)塊長(zhǎng)度給CX INC DI MOV CX,DI DEC BXNEXT: INC BX CMP BYTE PTR BX,0 ;將BX所指向的單元內(nèi)容與0比較 LOOPE NEXT ;相等,則轉(zhuǎn)到NEXT,否則繼續(xù)注意:在上述指令中,由于INC BX影響ZF標(biāo)志,因此將其放在CMP指令之前,否則ZF標(biāo)志取決于INC而非CMP從而影響程序的最終結(jié)果。4子程序調(diào)用和返回指令1)子程序調(diào)用指令CALLCALL指令用于實(shí)現(xiàn)調(diào)用子程序的功能, CALL dst2)程序返回指令RET RET指令一般放在子程序的尾部,使
38、CPU在子程序執(zhí)行完后,返回到主程序的斷點(diǎn)處繼續(xù)執(zhí)行。3)過程的定義過程定義的偽操作格式為 PROC 子程序體 RET ENDP (1)主程序和子程序在同一代碼段中的子程序近程調(diào)用和定義示例 DATA SEGMENT ARY DW 100 DUP(?) COUNT DW 100SUM DW ?ARYEA DW ARYCOUNTEA DW COUNTSUMEA DW SUMDATA ENDSCODE SEGMENT主程序體 CALL PROAD ;過程PROAD定義PROAD PROC NEARPUSH AXPUSH CXPUSH SILEA SI,ARY ;將ARY的偏移地址SIMOV CX,
39、COUNT ;將重復(fù)次數(shù)CXXOR AX,AX ;將AX清零ADD AX,SI ;求和ADD SI,2 ;SI指向下一個(gè)字LOOP NEXT ;X自減,CX=0? N,則轉(zhuǎn)NEXT;Y,繼續(xù)向下MOV SUM,AX ;和送給SUM單元POP SI POP CXPOP AXRET PROADD ENDP CODE2 ENDS8086CPU共有五條串操作指令,它們有以下特點(diǎn):(1)通過加重復(fù)前綴來實(shí)現(xiàn)串操作,此時(shí)將重復(fù)次數(shù)送給CX。每次串操作之前,先判終止重復(fù)操作的條件:CX=0? (REP前綴)、CX和ZF是否有一個(gè)為0(REPZ前綴)?、CX0或ZF=1(REPNZ前綴)?條件滿足,退出循環(huán);
40、否則CXCX-1,執(zhí)行一次串操作,再重復(fù)以上步驟。(2)可以對(duì)字節(jié)串進(jìn)行操作,也可以對(duì)字串進(jìn)行操作。(3)所有的串操作指令都用寄存器SI對(duì)源操作數(shù)進(jìn)行間接尋址,并且假定是在DS段中;用寄存器DI對(duì)目的操作數(shù)進(jìn)行間接尋址,并且假定是在ES段中。串操作指令是惟一的一組源操作數(shù)和目的操作數(shù)都在存儲(chǔ)單元內(nèi)的指令。(4)串操作時(shí),地址的修改往往與方向標(biāo)志有關(guān):DF=l(指令為STD)時(shí),SI和DI做自動(dòng)減量修改;DF=0(指令為CLD)時(shí),SI和DI自動(dòng)增量修改。1MOVSB(字節(jié))MOVSW(字)串傳送指令該指令用于將DS段SI尋址的一個(gè)字節(jié)或字傳送到ES段DI尋址的單元中,并根據(jù)DF的值修改SI和D
41、I,使其指向下一個(gè)元素。若在該指令之前加重復(fù)前綴REP,則該指令要執(zhí)行CX次。例5.20將l000個(gè)字符的字符串從內(nèi)存的BUFFERl搬移到內(nèi)存的BUFFER2中去。MOV SI,OFFSET BUFFER1 ;BUFFER1偏移地址送SIMOV DI,OFFSET BUFFER2 ;BUFFER2偏移地址送DIMOV CX,1000 ;傳送次數(shù)送CXCLD ;DF=0REP MOVSB ;重復(fù)搬移2CMPSBCMPSW串比較指令該指令將DS段SI尋址的一個(gè)字節(jié)或字與ES段DI尋址的一個(gè)字節(jié)或字做比較,影響標(biāo)志,并根據(jù)DF的值修改SI和DI,使其指向下一個(gè)元素。通過加重復(fù)前綴REPZ或REPN
42、Z可以實(shí)現(xiàn)在兩個(gè)字符串中尋找第一個(gè)不相等(或相等)的元素。例5.21比較DEST和SOURCE中的500個(gè)字節(jié),找出第一個(gè)不相同的字節(jié),如果找到,則將SOURCE中的這個(gè)數(shù)送AL中。CLD ;DF=0LEA DI,ES:DEST ;DEST的偏移地址送DILEA SI,SOURCE ;SOURCE偏移地址送SIMOV CX,500 ;重復(fù)次數(shù)送CXREPE CMPSB ;相同重復(fù)比較,不相同繼續(xù)JZ NEXT ;若永遠(yuǎn)相同,則轉(zhuǎn)NEXTMATCH: DEC SIMOV AL,BYTE PTRSI NEXT:3SCASBSCASW串搜索指令該指令把AL(或AX)中的內(nèi)容與ES:DI尋址的字節(jié)(或
43、字)內(nèi)容進(jìn)行比較,影響標(biāo)志,并根據(jù)DF的值修改DI,使其指向下一個(gè)元素。例5.22在包含100個(gè)字符的字符串中尋找第一個(gè)回車符CR(其ASCII碼為ODH),找到后將其地址保留在(Ds:DI)中,并在屏幕上顯示字符“Y”。如果字符串中沒有回車符,則在屏幕上顯示“N”。該字符串的首地址為STRING。根據(jù)要求可編程如下: LEA DI,STRING ;將STRING偏移地址送DI MOV AL,0DH ;(AL)=尋址的字符CR的ASCII碼=0DH MOV CX,100 ;重復(fù)次數(shù)送CX CLD ;DF=0 REPNE SCASB ;重復(fù)掃描 JZ FOUND ;找到,則轉(zhuǎn)FOUND;沒找到,
44、則顯示“N” MOV DL,N JMP DSPYFOUND:DEC DI ;DI指向CR所在單元 MOV DL,Y ;顯示“Y”DSPY: MOV AH,02H INT 21H HLT4LODSBLODSW字串裝入指令該指令是將由DS:SI所指定的一個(gè)字節(jié)或字裝入到累加器AL或AX中去,并根據(jù)DF的值修改指針SI,以指向廠一個(gè)要裝入的字節(jié)或字。這條指令一般不使用重復(fù)前綴。例5.23內(nèi)存中以BUFFER為首址的緩沖區(qū)有10個(gè)非壓縮型BCD碼形式存放的十進(jìn)制數(shù),它們的值可能是09中的任意一個(gè),將這些十進(jìn)制數(shù)順序顯示在屏幕上。根據(jù)題意可編程如下: LEA SI,BUFFER ;SI緩沖區(qū)首址 MOV
45、 CX,10 ;CX字符串長(zhǎng)度 CLD ;DF=0 MOV AH,02H ;AH功能號(hào) GET: LODSB ;用串裝入指令取一個(gè)BCD碼到AL OR AL,30H ;BCD碼轉(zhuǎn)換成ASCII碼 MOV DL,AL ;DL字符ASCII碼 INT 21H ;顯示 DEC CX ;CX(CX)-1 JNZ GET ;未完成10個(gè)字符則重復(fù) HLT5STOSBSTOSW字串存儲(chǔ)指令 該指令把AL(或AX)中的內(nèi)容傳送到ES:DI尋址的單元中去,并根據(jù)DF的值修改DI,使其指向下一個(gè)元素。用STOS指令將字符“#”裝入以AREA為首址的100個(gè)字節(jié)中。LEA DI,AREA ;將AREA偏移地址送給
46、DIMOV AX,# ;(AX)=裝入的兩個(gè)字符“#”MOV CX,50 ;重復(fù)次數(shù)送CXCLD ;DF=0REP STOSW ;重復(fù)裝入HLT1標(biāo)志位處理指令2其他指令輸入輸出數(shù)據(jù)傳送指令I(lǐng)N、OUT輸入/輸出指令用來完成累加器(AXAL)與IO端口之間的數(shù)據(jù)傳送功能。執(zhí)行輸入指令時(shí),CPU可以從一個(gè)8位端口讀入一個(gè)字節(jié)到AL中,也可以從兩個(gè)連續(xù)的8位端口(16位端口)讀一個(gè)字到AX中。通常,16位端口地址設(shè)置在偶數(shù)地址號(hào)上。若端口地址大于255,則必須用DX寄存器作為間接尋址。執(zhí)行輸出指令時(shí),CPU可以將AL中的一個(gè)字節(jié)寫到一個(gè)8位端口中,或者將AX中的一個(gè)字寫到16位端口中。例如:IN
47、AL,50H ;將50H端口的字節(jié)讀入ALIN AX,70H ;將70H端口的一個(gè)字讀到AX。70H中的內(nèi)容讀入AL,;71H中的內(nèi)容讀人AHMOV DX,2500H ;端口地址大于255,必須用DX寄存器作為間接尋址IN AL,DX ;從DX所指的端口(2500H)中讀取一個(gè)字節(jié)IN AX,DX ; 從DX和DX+1所指出的瑞口中讀取一個(gè)字,較低地址中的值;讀到AL中,較高地址中的值讀到AH中OUT 44H,AL ;將AL中的一個(gè)字節(jié)輸出到AH端口OUT 80H,AX ;將AX中的內(nèi)容輸出到80H端口,AL中的內(nèi)容輸出到80H端;口,AH中的內(nèi)容輸出到81H端口MOV DX,3000H ;端
48、口地址大于255,必須用DX寄存器作為間接尋址0UT DX,AL ;將AL中的字節(jié)輸出到DX所指的端口(3000H)中OUT DX,AX ;將AL中的字節(jié)輸出到DX所指的端口中,同時(shí)將AH中的字節(jié) ;輸出到DX+1中軟中斷指令及中斷返回指令在80868088的微機(jī)系統(tǒng)中,當(dāng)程序執(zhí)行到中斷指令I(lǐng)NT時(shí), 便中斷當(dāng)前程序的執(zhí)行,轉(zhuǎn)向由256個(gè)中斷向量所提供的中斷入口地址之一去執(zhí)行。80868088系統(tǒng)中,提供了三種中斷控制指令。1.軟中斷指令:INT nnnn為中斷類型碼,可以取00HFFH,該指令執(zhí)行下面的操作:將標(biāo)志寄存器F入棧,(SP)-2SP,(F) (SP)和(SP)+1所指向的單元。使
49、IF=0、TF=0。將斷點(diǎn)地址CS:IP入棧,(SP)-2SP,(CS) (SP)和(SP)+1所指向的單元;(SP)-2SP,(IP) (SP)和(SP)+1所指向的單元。(nn4) IP,(nn4+2) CS,獲得中斷服務(wù)程序的入口地址,開始執(zhí)行中斷服務(wù)程序。2.INTO指令為溢出中斷指令。若OF=l則引發(fā)中斷類型碼為4的溢出中斷,指令操作同上述,只需將nn換成4即可。若OF=0,則該指令等同于NOP。3.中斷返回指令:IRETIRET指令放在中斷服務(wù)程序的最后,用以退出中斷,返回到主程序的斷點(diǎn)處,繼續(xù)執(zhí)行主程序。其從堆棧中彈出的主程序斷點(diǎn)、標(biāo)志寄存器的內(nèi)容依次送給CS和IP、F、IP(S
50、P),SP(SP)+2,CS(SP),SP(SP)+2;F(SP),SP(SP)+2。思考與練習(xí)1、假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,數(shù)據(jù)變量VAL的偏移地址為0050H,請(qǐng)指出下列指令源操作數(shù)是什么尋址方式?其物理地址是多少?(1)MOV AX,0ABH (2)MOV AX,100H(3)MOV AX,VAL (4)MOV BX,SI(5)MOV AL,VALBX (6)MOV CL,BXSI(7)MOV VALSI,BX (8)MOV BPSI,1002、指出下列語句的錯(cuò)誤:(1)MOV BX,1AH(2)MOV 45H,CL(3)INC 1BH(4)MOV BX,SI3、說明下列指令源操
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼代紀(jì)年墓葬、塔基出土陶瓷器研究-以分布和行銷為中心
- 物業(yè)服務(wù)公司安全保障義務(wù)研究
- 十年教育發(fā)展歷程
- 高效銷售團(tuán)隊(duì)建設(shè)與運(yùn)營(yíng)體系設(shè)計(jì)
- 店長(zhǎng)管理培訓(xùn)總結(jié)
- 頸椎影像檢查技術(shù)課件
- 預(yù)防腮腺炎的課件
- 老年人健康宣講
- 體育培訓(xùn)機(jī)構(gòu)市場(chǎng)調(diào)查報(bào)告
- 肝膽疾病的早期診斷與治療方法
- 卡片設(shè)計(jì)模板核心要素
- 第1課+中國(guó)古代政治制度的形成與發(fā)展(情境化教學(xué)課件)+歷史統(tǒng)編版選擇性必修1
- 房缺術(shù)后患者護(hù)理查房課件
- 大樂透旋轉(zhuǎn)矩陣表
- 23式觀音拳拳譜及動(dòng)作分解
- PDCA循環(huán)管理培訓(xùn)PPT課件:降低采集血標(biāo)本不合格率
- 南瑞繼保PCS9700綜自監(jiān)控和遠(yuǎn)動(dòng)系統(tǒng)維護(hù)操作手冊(cè).
- 市政道路雨季施工方案
- 保健食品良好生產(chǎn)規(guī)范GB 17405—1998
- 2006年東風(fēng)雪鐵龍c2原廠維修手冊(cè)al4變速箱
- 板框壓濾機(jī)吊裝方案
評(píng)論
0/150
提交評(píng)論