版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第3章80x86指令系統(tǒng)和尋址方式教學(xué)要求:掌握一般指令系統(tǒng)的基本概念:指令格式、功能和注意事項。重點掌握8086/8088指令系統(tǒng)中,各指令的格式、尋址方式、指令類型。1
3.1指令系統(tǒng)的基本概念
計算機的指令系統(tǒng)就是指該計算機能夠執(zhí)行的全部指令的集合。每種計算機都有它支持的指令集合。
16位8086指令系統(tǒng)是整個Intel80x86系列微處理器指令系統(tǒng)的基礎(chǔ)。3.1.1指令系統(tǒng)2
操作碼
說明計算機要執(zhí)行哪種操作,如傳送、運算、移位、跳轉(zhuǎn)等操作,它是指令中不可缺少的組成部分。
操作碼操作數(shù)···
操作數(shù)指令由操作碼和操作數(shù)兩部分組成。
操作數(shù)
是指令執(zhí)行的參與者,即各種操作的對象。有些指令不需要操作數(shù),通常的指令都有一個或兩個操作數(shù),也有個別指令有3個甚至4個操作數(shù),通常稱為一地址指令、二地址指令、三…3.1.2指令格式3指令的功能——該指令能夠?qū)崿F(xiàn)何種操作。通常指令助記符(操作碼)就是指令功能的英文單詞或其縮寫形式。指令支持的尋址方式——該指令中的操作數(shù)可以采用何種尋址方式。指令對標(biāo)志的影響——該指令執(zhí)行后是否對各個標(biāo)志位有影響,以及如何影響。3.1.3學(xué)習(xí)指令的注意事項43.280x86尋址方式操作數(shù)可以跟隨在指令操作碼之后,稱為立即數(shù);操作數(shù)也可以存放在CPU內(nèi)部的寄存器中,稱為寄存器操作數(shù)。絕大多數(shù)的操作數(shù)存放在內(nèi)存儲器中,稱為存儲器操作數(shù)。指令指定操作數(shù)的位置,即給出地址信息,在執(zhí)行時需要根據(jù)這個地址信息找到需要的操作數(shù)。3.2.1尋址、尋址方式的概念尋址就是尋找操作數(shù)的地址。尋址方式就是尋找操作數(shù)的方法。5
指令助記符體現(xiàn)該指令的功能,它對應(yīng)一條二進制編碼的機器指令。指令的操作數(shù)個數(shù)由該指令確定,可以沒有操作數(shù),也可以有一個、二個或三個操作數(shù)。3.2.280X86的指令格式指令助記符[操作數(shù)1[,操作數(shù)2[,操作數(shù)3]]]
[;注釋]63.2.3與數(shù)據(jù)有關(guān)的尋址方式在80X86系列中,8086和80286的字長是16位,一般情況下只處理8位和16位數(shù),只是在乘除指令中才會有32位;在386及其后續(xù)機型,處理的一般為8,32位數(shù)。只有乘除時才會出現(xiàn)64位。7
MOVd,sMOV:數(shù)據(jù)傳送指令
d:目的操作數(shù)(DST)
s:源操作數(shù)(SRC)指令執(zhí)行后,把s送到d。83.2.3與數(shù)據(jù)有關(guān)的尋址方式以MOV
指令為例:立即尋址MOVAX,3069H寄存器尋址MOVAL,BH直接尋址MOVAX,[2000H]寄存器間接尋址MOVAX,[BX]寄存器相對尋址MOVAX,COUNT[SI]基址變址尋址MOVAX,[BP][DI]相對基址變址尋址MOVAX,MASK[BX][SI]存儲器尋址91)
立即尋址方式
立即尋址方式用來表示常數(shù),它經(jīng)常用于給寄存器賦初值,并且只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段,且兩者長度保持一致。操作數(shù)存放在指令中,緊跟在操作碼之后,它作為指令的一部分存放在代碼段里,稱為立即操作數(shù)。這種尋址方式也就稱為立即數(shù)尋址方式。
10只能用于
SRC字段
MOV40H,AL
SRC和DST的位數(shù)要匹配
MOVAH,3064H
MOVAL,5MOVAX,3064HMOVAL,‘A’11【例3.1】MOVAX,4576H執(zhí)行后(AX)=?
CS→MOVAX,4576H指令的存儲形式AXOP76H45H7645該例中源操作數(shù)為立即尋址方式,立即數(shù)為4576H,存放在指令的下一單元。執(zhí)行:4576H→AX執(zhí)行后:(AX)=4576H
12
2)
寄存器尋址方式定義:指令所要的操作數(shù)已存儲在某寄存器中,把在指令中指出所使用寄存器(即:寄存器的名字)的尋址方式稱為寄存器尋址方式。
寄存器R指令操作數(shù)寄存器匯編格式:R
(其中R表示寄存器名,如AX、BX等。)功能:操作數(shù)直接存放在寄存器R中。圖形表示:13指令中可以引用的寄存器及其符號名稱如下:
8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;
16位寄存器:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;注:由于指令所需的操作數(shù)已存儲在寄存器中,或操作的結(jié)果存入寄存器,這樣,在指令執(zhí)行過程中,會減少讀/寫存儲器單元的次數(shù),所以,使用寄存器尋址方式的指令具有較快的執(zhí)行速度。通常情況下,提倡在編寫匯編語言程序時,應(yīng)盡可能地使用寄存器尋址方式,但也不要把它絕對化。14
MOVAX,BX指令執(zhí)行前,(AX)=0306H(BX)=1234H指令執(zhí)行后,(AX)=1234H(BX)=1234H15【例3.2】下列程序執(zhí)行后,(AX)=?,(BX)=?
MOVAX,1234HMOVBX,5678HADDAX,BX執(zhí)行:1234H→AX執(zhí)行后:(AX)=68ACH,(BX)=5678H5678H→BX(AX)+(BX)→AX16以MOV
指令為例:立即尋址MOVAX,3069H寄存器尋址MOVAL,BH直接尋址MOVAX,[2000H]寄存器間接尋址MOVAX,[BX]寄存器相對尋址MOVAX,COUNT[SI]基址變址尋址MOVAX,[BP][DI]相對基址變址尋址MOVAX,MASK[BX][SI]存儲器尋址17物理地址(PA)=16
段地址+偏移地址偏移地址
在80x86里,把操作數(shù)的偏移地址稱為有效地址(effectiveaddress,EA).
18EA=基址+變址
比例因子+位移量基址(base):是存放在基址寄存器里的內(nèi)容。是有效地址中的基址部分,通常用來指向數(shù)據(jù)段中數(shù)組或字符串的首地址。變址(index):是存放在變址寄存器中的內(nèi)容,通常用來訪問數(shù)組中的某個元素或字符串中的某個字符。比例因子:386及其后機型新增加的尋址方式。其值可以是1,2,4或8。訪問數(shù)組時有用。位移量:是存放在指令中的一個8,16或32位數(shù),表示的是地址。1916/32位尋址時有效地址EA四種成分的組成四種成分16位尋址32位尋址位移量0,8,160,8,32基址寄存器BX,BP任何通用32位寄存器變址寄存器SI,DI除ESP以外的32位通用寄存器比例因子無1,2,4,8默認(rèn)段選擇規(guī)則P39表3.220默認(rèn)段選擇規(guī)則訪存類型所用段及段寄存器缺省選擇規(guī)則指令代碼段CS寄存器用于取指堆棧堆棧段SS寄存器所有的堆棧的進棧和出棧。任何使用BP,ESP或ESP作為基址寄存器的訪存。局部數(shù)據(jù)數(shù)據(jù)段DS寄存器除相對于堆棧以及串處理指令的目的串以外的所有數(shù)據(jù)訪問目的串附加數(shù)據(jù)段ES寄存器串處理指令的目的串21跨段越問題凡是使用寄存器為BX、SI、DI時,其默認(rèn)段為DS,使用BP時,默認(rèn)段為SS。該規(guī)定為系統(tǒng)默認(rèn)狀態(tài)。當(dāng)要否定默認(rèn)狀態(tài),到非約定段尋找操作數(shù)時,必須用跨段前綴指明操作數(shù)的段寄存器名。匯編格式:段寄存器名:操作數(shù)地址。功能:冒號“:”之前的段寄存器名指明操作數(shù)所在的段?!纠?.8】MOVAX,DS:[BP]MOVCX,SS:[SI]
該例中,DS:,SS:均為跨段前綴,此時默認(rèn)狀態(tài)無效,操作數(shù)的物理地址PA由段寄存器內(nèi)容左移4位加偏移EA形成。上述2條指令的源操作數(shù)物理地址分別為:
PA1=(DS)左移4位+[BP]PA2=(SS)左移4位+[SI]22不允許使用段跨越前綴的3中情況串處理指令的目的串必須用ES段;PUSH指令的目的操作數(shù)和POP指令的源操作數(shù)必須用SS段指令必須存放在CS段中。23
3)
直接尋址方式定義:操作數(shù)的有效地址只包含位移量一種成分,其值存放在代碼段中指令的操作碼之后,即指令所要的操作數(shù)存放在內(nèi)存中,在指令中直接給出該操作數(shù)的有效地址,這種尋址方式為直接尋址方式。
EA指令操作數(shù)存儲器+段基地址功能:指令下一字單元的內(nèi)容是操作數(shù)的偏移地址EA。圖形表示:24例:MOVAX,[2000H]EA=2000H,假設(shè)(DS)=3000H,那么PA=32000H.如圖:25【例3.3】執(zhí)行指令:MOVBX,[1234H]
設(shè)(DS)=2000H。執(zhí)行后:(BX)=?BXDS:2000H+1234H21234HOP~~~~…CS→DS→13H52H20000H21234H……34H12H執(zhí)行:(21234H)→BX執(zhí)行后:(BX)=5213H135226
在通常情況下,操作數(shù)存放在數(shù)據(jù)段中,所以,其物理地址將由數(shù)據(jù)段寄存器DS和指令中給出的有效地址直接形成,但如果使用段超越前綴,那么,操作數(shù)可存放在其它段。例如:MOV
ES:[1000H],AX27注意:立即數(shù)尋址方式和直接尋址方式的書寫格式不同,直接尋址的地址要寫在括號“[]”內(nèi)。在程序中,直接地址通常用內(nèi)存變量名來表示,如:MOVBX,VALUE,其中,VALUE是內(nèi)存字變量。MOVAX,1234H
MOVAX,[1234H]
前者是立即尋址,后者是直接尋址MOVAX,VALUE
MOVAX,[VALUE]
兩者是等效的,均為直接尋址作業(yè)試比較下列指令中源操作數(shù)的尋址方式(VALUE是內(nèi)存字變量)符號地址288086為了使指令字不要過長,規(guī)定雙操作數(shù)指令的兩個操作數(shù)中,只能有一個使用存儲器尋址方式,這就是一個變量常常先要送到寄存器的原因。294)
寄存器間接尋址方式定義:操作數(shù)在存儲器中,操作數(shù)的有效地址由基址寄存器(BX,BP)或變址寄存器(SI,DI)
指定,稱這種尋址方式為寄存器間接尋址方式。
EA寄存器操作數(shù)存儲器+段基地址基址或變址寄存器指令匯編格式:[R]功能:操作數(shù)存放在存儲器,寄存器R存放操作數(shù)的偏移地址EA。圖形表示:30寄存器:16位尋址時可用BX,BP,SI,DI.32位尋址時可用EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI.注意:BP,ESP,EBP,默認(rèn)是SS段。其他寄存器默認(rèn)是DS段。31【例3.4】假設(shè)有指令:MOVBX,[DI],在執(zhí)行時,(DS)=1000H,(DI)=2345H,存儲單元12345H的內(nèi)容是4354H。問執(zhí)行指令后,BX的值是什么?BX
DS:1000H+DI:2345H12345H解:寄存器DI的值不是操作數(shù),而是操作數(shù)的地址。該操作數(shù)的物理地址應(yīng)由DS和DI的值形成,即:
PA=(DS)*16+DI=1000H*16+2345H=12345H。該指令的執(zhí)行效果是:把從物理地址為12345H開始的一個字的值傳送給BX。4354…OP…~~~~…CS→DS→54H43H10000H12345H32在不使用段超越前綴的情況下,有下列規(guī)定:若有效地址用SI、DI和BX等之一來指定,則其缺省的段寄存器為DS;若有效地址用BP來指定,則其缺省的段寄存器為SS(即:堆棧段)。該尋址方式物理地址的計算方法如下:
BX物理地址PA=16×DS+SI DI或物理地址PA=16×SS+BP335.寄存器相對尋址方式定義:操作數(shù)在存儲器中,其有效地址是一個基址寄存器(BX、BP)或變址寄存器(SI、DI)的內(nèi)容和指令中的8位/16位偏移量之和。
匯編格式:X[R]或者[R+X](X表示位移量,是8位或16位二進制補碼表示的有符號數(shù))功能:操作數(shù)存放在存儲器,寄存器R的內(nèi)容加位移量X為操作數(shù)的偏移地址EA。圖形表示如下:地址寄存器操作數(shù)存儲器+段基地址基址或變址寄存器位移量指令+EA34【例3.5】假設(shè)指令:MOVBX,[SI+100H],在執(zhí)行時,(DS)=1000H,(SI)=2345H,內(nèi)存單元12445H的內(nèi)容為2715H,問該指令執(zhí)行后,BX的值是什么?…OP…~~~~…CS→DS→15H27H10000H12445HSI:2345H+100HEA:2445H+DS:1000H12445H2715BX所以,該指令的執(zhí)行效果是:把從物理地址為12445H開始的一個字的值傳送給BX。解:EA=(SI)+100H=2345H+100H=2445H
PA=(DS)*16+EA=1000H*16+2445H=12445H。35寄存器相對尋址方式
MOVAX,COUNT[SI]或MOVAX,[COUNT+SI]MOVBX,[SI+100H]MOVBX,100H[SI]366.基址變址尋址方式定義:操作數(shù)在存儲器中,其有效地址是一個基址寄存器(BX、BP)和一個變址寄存器(SI、DI)的內(nèi)容之和。
匯編格式:
[BR+IR]或者[BR][IR]功能:操作數(shù)存放在存儲器,BR的內(nèi)容加IR的內(nèi)容是操作數(shù)的偏移地址EA。圖形表示:操作數(shù)存儲器+段基地址基址寄存器變址寄存器指令+基址值基址寄存器變址值變址寄存器EA37【例3.6】假設(shè)指令:MOVBX,[BX+SI],在執(zhí)行時,(DS)=1000H,(BX)=2100H,(SI)=0011H,內(nèi)存單元12111H的內(nèi)容為1234H。問該指令執(zhí)行后,BX的值是什么?…OP…~~~~…CS→DS→34H12H10000H12111HBX:2100H+SI:0011HEA:2111H+DS:1000H12111H1234BX所以,該指令的執(zhí)行效果是:把從物理地址為12111H開始的一個字的值傳送給BX。解:操作數(shù)的物理地址PA為:
PA=(DS)*16+(BX)+(SI)
=1000H*16+2100H+0011H=12111H387.相對基址變址尋址方式定義:操作數(shù)在存儲器中,其有效地址是一個基址寄存器(BX、BP)的值、一個變址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。
匯編格式:X[BR+IR]功能:操作數(shù)存放在存儲器,BR內(nèi)容加IR內(nèi)容加位移量X是操作數(shù)的偏移地址EA。圖形表示:存儲器基址值基址寄存器操作數(shù)+段基地址基址寄存器變址寄存器位移量指令+變址值變址寄存器EA39【例3.7】假設(shè)指令:MOVAX,[BX+SI+200H],在執(zhí)行時,(DS)=1000H,(BX)=2100H,(SI)=0010H,內(nèi)存單元12310H的內(nèi)容為1234H。問該指令執(zhí)行后,AX的值是什么?解:該操作數(shù)的物理地址應(yīng)由DS和EA的值形成,即:PA=12310H所以,該指令的執(zhí)行效果是:把從物理地址為12310H開始的一個字的值傳送給AX?!璒P…~~~~…CS→DS→34H12H10000H12310H
BX:2100HSI:0010H
+
0200HEA:2310H+DS:1000H12310H1234AX40EA=(基址寄存器)+(變址寄存器)
比例因子+位移量對于元素大小為2、4、8字節(jié)的數(shù)組,可以在變址寄存器中給出數(shù)組元素下標(biāo),而由比例因子將下標(biāo)轉(zhuǎn)換為變址值。8比例變址尋址方式4180x86新增的尋址方式
EA=(基址寄存器)+(變址寄存器)
比例因子+位移量(1)比例變址尋址方式
例:MOVEAX,COUNT[ESI
4]42(2)基址比例變址尋址方式
例:MOVECX,[EAX][EDI
4]
(3)相對基址比例變址尋址方式
例:MOVEAX,TABLE[EBP][EDI
4]▲16位和32位尋址的差異地址成分16位尋址32位尋址基址寄存器BX、BP任何32位通用寄存器變址寄存器SI、DI除ESP外的任何32位通用寄存器比例因子11、2、4、8433.1.2與轉(zhuǎn)移地址有關(guān)的尋址方式
用來確定轉(zhuǎn)移指令及轉(zhuǎn)子(call)指令的轉(zhuǎn)向地址。轉(zhuǎn)向地址是由各種尋址方式得到的有效地址和段地址相加而成的,有效地址存入IP寄存器中,段地址指定為CS段寄存器內(nèi)容。
段內(nèi)尋址段內(nèi)直接尋址JMPNEARPTRNEXT
段內(nèi)間接尋址JMPTABLE[BX]
段間尋址
段間直接尋址JMPFARPTRNEXT
段間間接尋址JMPDWORDPTR[BX]44(1)段內(nèi)直接尋址轉(zhuǎn)向的有效地址=當(dāng)前(IP)+位移量(8bit/16bit)
位移量IP寄存器+EA45【例3.8】
(1)JMPSHORTQUEST
其中QUEST表示轉(zhuǎn)移的符號地址,操作符SHORT表示是個8位帶符號數(shù),數(shù)的范圍是80H~7FH,即-128~+127。它只能相對于當(dāng)前IP(轉(zhuǎn)移指令的下一條指令的首地址)所指的位置作-128~+127范圍內(nèi)跳轉(zhuǎn),所以稱為短跳轉(zhuǎn)。(2)JMPNEARPTRPROGA
其中PROGA表示轉(zhuǎn)移的符號地址,操作符NEARPRT表示是個16位帶符號數(shù),數(shù)的范圍是8000H~7FFFH,即-32768~+32767。它只能相對于當(dāng)前IP所指的位置作-32768~+32767范圍內(nèi)跳轉(zhuǎn),所以稱為近跳轉(zhuǎn)。46(2)段內(nèi)間接尋址
轉(zhuǎn)向的有效地址是一個寄存器或存儲單元的內(nèi)容??捎贸⒓磾?shù)以外的任何一種數(shù)據(jù)尋址方式得到,所得到的轉(zhuǎn)向的有效地址取代IP寄存器的內(nèi)容。轉(zhuǎn)向的有效地址指令數(shù)據(jù)尋址方式或根據(jù)數(shù)據(jù)尋址方式計算出EA值轉(zhuǎn)向的有效地址存儲單元47
【例3.9】
已知(DS)=2000H,(BX)=1256H,(SI)=528FH,位移量=20A1H
,(232F7H)=3280H,(264E5H)=2450H
JMPBXJMPWORDPTRTABLE[BX]JMPWORDPTR[BX][SI](IP)=1256H(IP)=3280H(IP)=2450H48(3)段間直接尋址用指令中提供的轉(zhuǎn)向段地址和偏移地址取代CS和IP。指令偏移地址IP寄存器段地址CS寄存器49【例3.9】JMPFARPTRNEXTROUNT32EA010010~~~~10CS=0000HCS→0000002000IP→IP=2000HCS→CS=1000HNEXTROUNTIP=0132H1013210000新IP新CS50(4)段間間接尋址用存儲器中的兩個相繼字的內(nèi)容取代CS和IP,存儲單元的地址可用存儲器尋址方式得到。
指令數(shù)據(jù)尋址方式根據(jù)數(shù)據(jù)尋址方式計算出EA值轉(zhuǎn)向的有效地址轉(zhuǎn)向的有效地址存儲器中的兩個相繼字IPCS51【例3.10】JMP
DWORDPTR[INTERS+BX]
如DS=3000H,BX=1200H,INTERS=0020H,
指令執(zhí)行前,CS=0000H,IP=1000H,(31220H)=40H
(31221)=01H,(31222H)=00H,(31223)=10H。
指令執(zhí)行后,CS=1000H,IP=0140H則存儲單元的物理地址:PA=30000+0020+1200=31200H52指令存儲和執(zhí)行情況:JMPDWORDPTRINTER[BX]~~~~CS=0000HCS→0000001000IP→IP=1000HCS→CS=1000HIP→IP=0140H1014010000代碼段01400010DS=3000HDS→3000031220INTER+BX數(shù)據(jù)段新IP新CS312213122231223533.2程序占有的空間和執(zhí)行時間543.380x86的指令系統(tǒng)
80X86指令系統(tǒng)分為以下6組:
數(shù)據(jù)傳送指令
串處理指令
算術(shù)指令
控制轉(zhuǎn)移指令
邏輯指令
處理機控制與雜項操作指令
對指令要掌握以下幾個方面內(nèi)容:指令的功能、注意事項;指令操作數(shù)的尋址方式;指令對標(biāo)志位的影響、標(biāo)志位對指令的影響;553.3.1數(shù)據(jù)傳送指令
數(shù)據(jù)傳送指令負責(zé)把數(shù)據(jù)、地址或立即數(shù)傳送到寄存器、存儲器或端口號寄存器。它相對于高級語言里的賦值語句。
通用數(shù)據(jù)傳送:MOV
PUSHPOPXCHG累加器專用傳送(輸入輸出):IN
OUTXLAT地址傳送:LEA
LDSLES標(biāo)志寄存器傳送:LAHF
SAHF
PUSHF
POPF類型轉(zhuǎn)換指令:CBWCWD56通用數(shù)據(jù)傳送指令MOVMOVSXMOVZXPUSHPOPPUSHA/PUSHADPOPA/POPADXCHG該組指令不影響標(biāo)志位。57MOV傳送指令格式:MOV
DST,
SRC功能:指令的功能是把源操作數(shù)(第二操作數(shù))的值傳給目的操作數(shù)(第一操作數(shù))。指令執(zhí)行后,目的操作數(shù)的值被改變,而源操作數(shù)的值不變。在存儲單元是該指令的一個操作數(shù)時,該操作數(shù)的尋址方式可以是任意一種存儲單元尋址方式。58段寄存器CS、DS、SS、ES通用寄存器8位或者16位存儲器立即數(shù)8位或者16位
在匯編語言中,主要的數(shù)據(jù)傳送方式如下圖所示。雖然一條MOV指令能實現(xiàn)其中大多數(shù)的數(shù)據(jù)傳送方式,但也存在MOV指令不能實現(xiàn)的傳送方式。59MOV指令的機器語言有7種格式1、MOVmem/reg1,mem/reg22、MOVreg,data3、MOVac,mem4、MOVmem,ac5、MOVsegreg,mem/reg6、MOVmem/reg,segreg7、MOVmem/reg,data60Reg8
AHALBHBLCHCLDHDLReg16
AXBXCXDXSIDIBPSPReg32
EAXEBXECXEDXESIEDIEBPESPSegreg
CSDSSSESFSGS61
對MOV指令有以下幾條具體規(guī)定,其中有些規(guī)定對其它指令也同樣有效。(1)兩個操作數(shù)的數(shù)據(jù)類型要相同,要同為8位、16位,如:MOV
BL,AX等是不正確的;(2)兩個操作數(shù)不能同時為段寄存器,如:MOV
ES,DS等;(3)代碼段寄存器CS不能為目的操作數(shù),但可作為源操作數(shù),如:指令MOV
CS,AX等不正確,但指令MOV
AX,CS等是正確的;(4)立即數(shù)不能直接傳給段寄存器,如:MOV
DS,100H等;(5)立即數(shù)不能作為目的操作數(shù),如:MOV
100H,AX等;(6)指令指針I(yè)P,不能作為MOV指令的操作數(shù);(7)兩個操作數(shù)不能同時為存儲單元,如:MOV
[SI],[DI]等,62DST與SRC必須類型匹配,即同時是字節(jié)、字或雙字類型。以下幾點要注意:
寄存器具有明確的類型,如AL,AX
立即數(shù)沒有明確的類型,MASM負責(zé)將立即數(shù)零擴展與目的操作數(shù)位數(shù)相同;但有時MASM不能確定內(nèi)存操作數(shù)的類型,需要用Byteptr,Word
ptr和Dword
ptr明確指出操作類型。Movbyteptr[bx],0Mov[bx],0
兩個操作數(shù)只要其中一個操作數(shù)的類型確定即可。63MOVdl,05hMovdx,05hMovedx,05hMov
eax,ecxMov
al,[bx]Mov
ax,[bx]MOVax,dlMovds,1000hMov[bx],[si]Mov
es,csMov
cs,axMov[bx],0Movbyteptr[bx],064例2:
MOVAL,‘E’把立即數(shù)送到AL寄存器。例1:MOVAX,DATA_SEGMOVDS,AX把數(shù)據(jù)段DATA_SEG的首地址送到DS寄存器。區(qū)別于:MOVBX,LIST例3:
MOVBX,OFFSETLIST把LIST的偏移地址(不是內(nèi)容)送到BX寄存器。65例4:MOVAX,Y[BP][SI]
例5:
MOVEAX,[EBX+ECX*4]662.MOVSX帶符號擴展傳送指令格式:MOVSX
DST,SRC兩種格式:MOVSXreg1,reg2MOVSXreg,mem傳送時把原操作數(shù)符號擴展送入目的操作數(shù)。67例3.25
MOVSXEAX,CL把CL寄存器中的8位數(shù),符號擴展為32位,送到EAX。例3.26MOVSXEDX,[EDI]683.MOVZX帶零擴展傳送指令格式:MOVSX
DST,SRC兩種格式:MOVSXreg1,reg2MOVSXreg,mem69MOVSX和
MOVZX區(qū)別:MOVSX的源操作數(shù)是帶符號數(shù),所以做符號擴展;MOVZX的源操作數(shù)是無符號數(shù),所以做零擴展70MOVSX和
MOVZX與一般雙操作數(shù)指令的區(qū)別:一般雙操作數(shù)指令的源操作數(shù)和目的操作數(shù)的長度一致;MOVSX和
MOVZX的源操作數(shù)長度一定要小于目的操作數(shù)長度。71例3.27MOVZXDX,AL例3.28MOVZXEAX,DATA72PUSH進棧指令
堆棧是一個重要的數(shù)據(jù)結(jié)構(gòu),它具有“先進后出”的特點,通常用來保存程序的返回地址。它主要有兩大類操作:進棧操作和出棧操作。
指令格式:PUSH
Reg/Mem
一個字進棧,系統(tǒng)自動完成兩步操作(操作數(shù)16位)
SP←SP-2,(SP)←操作數(shù);功能:將寄存器、段寄存器或存儲器中的一個字?jǐn)?shù)據(jù)壓入堆棧,堆棧指針減2。操作數(shù)32位,SP→ESP73POP進棧指令指令格式:POP
Reg/Mem
彈出一個字,系統(tǒng)自動完成兩步操作
(操作數(shù)16位)
操作數(shù)←(SP),SP←SP+2;
功能:將棧頂元素彈出送至某一寄存器、段寄存器(除CS外)或存儲器,堆棧指針加2。74PUSH指令的四種格式PUSHreg/mem/data/segreg8086不允許PUSH使用立即數(shù)尋址POP指令格式POPreg/mem/segreg
POP指令不允許使用立即數(shù)尋址方式75注意:PUSHSP
該指令入棧的是已修改了的sp的新值。
PUSHESP
該指令入棧的是執(zhí)行該指令之前的舊值。76【例】PUSHAX2816A7SS=5000HSS→50000堆棧段525005250152502SP=2500HSP→2107AX2816A7SS=5000HSS→50000堆棧段525005250152502
2107AX0721524FF524FE(1)執(zhí)行前(2)執(zhí)行后SP→SP=24FEH操作數(shù)為32位,????77堆棧段2107SP=24FEH操作數(shù)為32位,????【例】POPAX2816A7SS=5000HSS→50000525005250152502
524FF524FE(2)執(zhí)行前SP→07212816A7SS=5000HSS→50000525005250152502SP=2500HAX(1)執(zhí)行后SP→78例3.31PUSH[EAX]例3.32PUSH12H286以后的機器允許使用。79PUSHA/PUSHAD所有寄存器進棧指令PUSHA:16位通用寄存器依次進棧,次序:AX,CX,DX,BX,指令執(zhí)行前的SP,BP,SI,DI.指令執(zhí)行后(SP)(SP)-16PUSHAD:32位通用寄存器依次進棧,次序:EAX,ECX,EDX,EBX,指令執(zhí)行前的ESP,EBP,ESI,EDI.指令執(zhí)行后(SP)(SP)-3280POPA/POPAD所有寄存器出棧指令POPA:16位通用寄存器依次出棧,次序:DI,SI,BP,SP,BX,DX,CX,AX.指令執(zhí)行后(SP)(SP)+16說明:sp的出棧只是修改了指針使其后的BX能順利出棧,sp原始內(nèi)容被丟棄。81PUSHAD:32位通用寄存器依次進棧,次序:EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX.指令執(zhí)行后(SP)(SP)+32仍指向棧頂。82
XCHG:交換指令指令格式:
XCHGoprd1,oprd2;
交換兩個操作數(shù)的內(nèi)容。語法格式:
XCHGREG/MEM,REG/MEM對標(biāo)志位的影響:無說明:操作數(shù)至少有一個為寄存器。83例XCHGBX,[BP+SI](BX)=6F30H,(BP)=0200H,(SI)=0046H(SS)=2F00H,(2F246H)=4154H
OPR2的物理地址=2F000+0200+0046=2F246H指令執(zhí)行后,(BX)=4154H(2F246H)=6F30H84XCHGEAX,EBX85IN輸入OUT輸出XLAT換碼
這組指令只限于使用累加器EAX,AX或AL傳送信息。指令不影響標(biāo)志位2累加器傳送指令86IN輸入指令
輸入指令用來從指定的外設(shè)寄存器取信息送入累加器。它有幾種形式:
長格式:
INAL,PORT(字節(jié))
INAX,PORT(字)
INEAX,PORT(雙字)執(zhí)行操作:(AL)(PORT)(字節(jié))(AX)(PORT+1,PORT)(字)
短格式:
INAL,DX(字節(jié))
INAX,DX(字)
INEAX,DX(字)執(zhí)行操作:(AL)((DX))(字節(jié))(AX)((DX)+1,(DX))(字)87OUT輸出指令
長格式:
OUTPORT,AL
(字節(jié))
OUTPORT,AX
(字)
OUTPORT,EAX
(雙字)執(zhí)行操作:(PORT)(AL)(字節(jié))
(PORT+1,PORT)(AX)(字)短格式:
OUTDX,AL
(字節(jié))
OUTDX,AX
(字)
OUTDX,EAX
(雙字)執(zhí)行操作:((DX))(AL)(字節(jié))
((DX)+1,(DX))(AX)(字)輸出指令用來把累加器的內(nèi)容送往指定的外設(shè)存儲器,它有幾種形式:88
該指令的作用是從端口中讀入一個字節(jié)或字,并保存在寄存器AL或AX中。如果某輸入設(shè)備的端口地址在0~255(0~FFH)范圍之內(nèi),那么,可在指令I(lǐng)N中直接給出(指令的長格式),否則,要把該端口地址先存入寄存器DX中,然后在指令中由DX來給出其端口地址(0000~FFFFH)(短格式)。89例如INAX,28HMOVDATA_WORD,AX功能:將端口28的內(nèi)容傳送到存儲單元DATA_WORD中。MOVDX,3FCH;把端口號放入DX中。INAL,DX;從端口3FCH讀入一個字節(jié)到AL中INEAX,DX;從端口3FCH讀入一個雙字到EAX90例如:OUT5,AL;把AL的內(nèi)容輸出到端口5中OUT20H,AX;把AX的內(nèi)容輸出到端口20H、21H中MOVDX,3C0HOUTDX,AL;把AL的內(nèi)容輸出到端口3C0H中OUTDX,AX;把AX的內(nèi)容輸出到端口3C0H、3C1H中91XLAT換碼指令轉(zhuǎn)換指令有兩個隱含操作數(shù)BX和AL。格式:XLATOPR
或XLAT執(zhí)行操作:(AL)((BX)+(AL))功能:其功能是把BX的值作為內(nèi)存字節(jié)數(shù)組首地址、位移量為AL的數(shù)組元素的值傳送給AL。92例:MOVBX,offsettable;
MOVAL,3XLAT
32H31H33HDS=F000HDS→數(shù)據(jù)段F0040F0041
(Ax)=3table30H(BX)→F0042F0043把BX的值作為內(nèi)存字節(jié)數(shù)組首地址、下標(biāo)為AL的數(shù)組元素的值傳送給AL。
指令執(zhí)行后(AL)=33H(BX)=0040HAL:03H33H93地址傳送指令LEALDSLESLSSLFSLGS這一組指令完成把地址送到指定寄存器的功能。指令不影響標(biāo)志位。94取有效地址指令LEA:功能:把一個內(nèi)存變量的有效地址送給指定的寄存器。指令格式:
LEA
Reg,Mem
例1:LEABX,[BX+SI+0F62H]
如指令執(zhí)行前(BX)=0400H,(SI)=003CH,
指令執(zhí)行后(BX)=0400+003C+0F62=139EH例2:LEABX,
LIST MOVBX,OFFSETLIST95取段寄存器指令LDS,LES,LSS,LFS,LGS:指令格式如下:
LDS/LES
Reg,SRC執(zhí)行操作:(REG)
(SRC)
(SREG)
(SRC+2)或 (SREG)
(SRC+4)功能:把內(nèi)存單元的一個“低字”傳送給指令中指定的16位寄存器,把隨后的一個“高字”傳給相應(yīng)的段寄存器(DS、ES)。96例1:LESDI,[BX]指令執(zhí)行前(DS=B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH)=4000H指令執(zhí)行后(DI)=05AEH,(ES)=4000H例2:LSSESP,MEM97MOVBX,TABLE
;MOVBX,OFFSETTABLE
;LEABX,TABLE
;LDSBX,TABLE
;
;LESBX,TABLE
;
;40H00H00H30HTABLE3000H:1000H→(BX)=0040H(BX)=0040H(ES)=3000H(BX)=0040H(DS)=3000H(BX)=1000H(BX)=1000H98標(biāo)志寄存器傳送指令LAHF(loadAHwithflags)標(biāo)志送AHSAHF(storeAHintoflags)AH送標(biāo)志寄存器PUSHF/PUSHFD標(biāo)志進棧POPF/POPFD標(biāo)志出棧
99標(biāo)志寄存器傳送指令1.標(biāo)志送AH指令:
LAHF
執(zhí)行操作:(AH)
(FLAGS的低字節(jié))
2.AH送標(biāo)志寄存器指令:SAHF執(zhí)行操作:(FLAGS的低字節(jié))(AH)
3.標(biāo)志進棧指令:PUSHF
執(zhí)行操作:(SP)(SP)-2
((SP)+1,(SP))(FLAGS)4.標(biāo)志出棧指令:POPF執(zhí)行操作:(FLAGS)((SP)+1,(SP))(SP)
(SP)+2100類型轉(zhuǎn)換指令CBW字節(jié)轉(zhuǎn)換為字CWD字轉(zhuǎn)換為雙字CDQ雙字轉(zhuǎn)換為四字BSWAP字節(jié)交換指令不影響標(biāo)志位101類型轉(zhuǎn)換指令
CBW
執(zhí)行操作:AL
AX
若(AL)的最高有效位為0,則(AH)=00H
若(AL)的最高有效位為1,則(AH)=FFH
例:(AX)=0BA45H
CBW;(AX)=0045H
CWD;(DX)=0FFFFH(AX)=0BA45H
CWD
執(zhí)行操作:AX
(DX,AX)
若(AX)的最高有效位為0,則(DX)=0000H
若(AX)的最高有效位為1,則(DX)=FFFFH102
(3)CDQ雙字轉(zhuǎn)換成四字指令(4)BSWAPr32字節(jié)交換指令操作:使指令指定的32位寄存器的字節(jié)次序變反,1、4字節(jié)互換,2、3字節(jié)互換。例:BSWAPEAX指令執(zhí)行前(EAX)=11223344H指令執(zhí)行后(EAX)=44332211H字節(jié)次序變反。1033.3.2算術(shù)指令
算術(shù)運算指令是反映CPU計算能力的一組指令,也是編程時常使用的一組指令。它包括:加、減、乘、除及其相關(guān)的輔助指令。該組指令的操作數(shù)可以是8位、16位、32位。當(dāng)存儲單元是該類指令的操作數(shù)時,該操作數(shù)的尋址方式可以是任意一種存儲單元尋址方式。104算術(shù)指令加法指令
ADD、ADC、INC減法指令
SUB、SBB、DEC、NEG、CMP乘法指令
MUL、IMUL除法指令
DIV、IDIV105加法指令A(yù)DD(add)加法ADC(addwithcarry)帶進位加法INC(increment)加1XADD(exchangeandadd)交換并相加106ADD加法指令
1.一般形式:
ADDDST,SRC;(
DST)
(SRC)+(DST)
2.語法格式:
ADDreg/mem,reg/mem/imm
3.對條件標(biāo)志位的影響:
按一般規(guī)則影響CF,
OF,
SF和ZF兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。107ADC帶進位加法指令
1.一般形式:
ADCDST,SRC;(DST)
(SRC)+(DST)+CF
2.語法格式:
ADCreg/mem,reg/mem/imm;同ADD
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF;同ADD兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。108INCOPR:加1指令
1.一般形式:
INCDST;(DST)
(DST)+1
2.語法格式:
INC
reg/mem
3.對標(biāo)志位的影響:
不影響CF,其它同ADD109XADD交換并相加指令
1.一般形式:
XADDDST,SRC;TEMP
(SRC)+(DST)
(SRC)
(DST)
(DST)
TEMP
2.語法格式:
XADDreg/mem,reg/mem/imm;同ADD
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF;同ADD只能用于486以后的及其以后的機型兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。110加法指令對條件標(biāo)志位(SF、ZF、CF、OF)的影響1最高位向前有進位0否則CF=1兩個數(shù)同號,而相加結(jié)果與之異號0否則OF=SF:最高位為1,則SF=1.否則SF=0ZF:結(jié)果為0.則ZF=1.否則ZF=0.OF: 表示帶符號數(shù)的溢出CF:表示無符號數(shù)的溢出111ADDDX,0F0F0H(DX)=4652H例1:ZF=0,SF=0,CF=1,OF=0指令執(zhí)行后,(DX)=3742H,112例2:下列指令序列可在8086和80286中實現(xiàn)兩個雙精度數(shù)的加法。設(shè)目的操作數(shù)存放在DX和AX寄存器中,其中DX存放高位字。源操作數(shù)存放在BX、CX中,其中BX存放高位字。如指令執(zhí)行前:(DX)=0002H,(AX)=0F365H,(BX)=0005H,(CX)=0E024H指令序列為ADDAX,CX ADCDX,BX第一條指令(AX)=0D389H,SF=CF=1,ZF=OF=0第二條指令(DX)=0008H,SF=0,ZF=0,CF=0,OF=0113例3:XADDBL,DL指令執(zhí)行前(BL)=12H,(DL)=02H指令執(zhí)行后 (BL)=14H,(DL)=12H+1114減法指令SUB減法SBB帶借位減法DEC減1NEG求補CMP比較CMPXCHG比較并交換CMPXCHG8B比較并交換8字節(jié)115SUB減法指令
1.一般形式:
SUBDST,SRC;(DST)
(DST)-(SRC)
2.語法格式:
SUBreg/mem,reg/mem/imm
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。116SBB帶借位減法指令
1.一般形式:
SBBDST,SRC;(DST)
(DST)-(SRC)-CF
2.語法格式:
SBBreg/mem,reg/mem/imm
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。117DEC減1指令
1.一般形式:
DECDST;(DST)
(DST)-1
2.語法格式:
DECreg/mem
3.對標(biāo)志位的影響:不影響CF,其它同SUB118NEG求補指令(求相反數(shù))1.一般形式:
NEGDST;(DST)
-(DST)
2.語法格式:
NEGreg/mem
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF119CMP比較指令
1.一般形式:
CMPDST,SRC;(DST)-
(SRC)
2.語法格式:
CMPreg/mem,reg/mem/imm
3.對標(biāo)志位的影響:
按一般規(guī)則影響CF,OF,SF和ZF兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。120CMP比較指令
該指令與SUB指令一樣執(zhí)行,但它不保存結(jié)果。只是根據(jù)結(jié)果設(shè)置條件標(biāo)志位。
CMP指令后往往跟著一條條件轉(zhuǎn)移指令,根據(jù)比較結(jié)果產(chǎn)生不同的程序分支。兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存操作數(shù)。121CMPXCHG比較并交換指令
1.一般形式:
CMPXCHGDST,SRC;
執(zhí)行的操作:累加器AC與DST相比較,如果(AC)=(DST),則ZF
1,(DST)
(SRC)否則,ZF
0,(AC)
(DST)
只能用于486以后的機型。122CMPXCHG8B比較并交換8字節(jié)指令
1.一般形式:
CMPXCHG8BDST
執(zhí)行的操作:EDX,EAX與DST相比較,如果(EDX,EAX)=(DST),則ZF
1,(DST)
(ECX,EBX)否則,ZF
0,(EDX,EAX)
(DST)
奔騰以后的機型。123減法指令對條件標(biāo)志位的影響:1被減數(shù)的最高有效位有向高位的借位0否則CF=1兩個操作數(shù)符號相反,而結(jié)果的符號與減數(shù)相同0否則OF=SF:最高位為1,則SF=1.否則SF=0ZF:結(jié)果為0.則ZF=1.否則ZF=0.124【例1】
SUB[SI+14H],0136H
指令執(zhí)行前
(DS)=3000H,(SI)=0040H,
(30054H)=4336H(30054H)=4200H,SF=0,ZF=0,CF=0,OF=0125【例2】
SUBDH,[BP+4]
執(zhí)行前(DH)=41H,(SS)=0000H,
(BP)=00E4H,(000E8)=5AH(DH)=0E7H,SF=1,ZF=0.CF=1.OF=0126X,Y,Z,均為雙精度數(shù),它們分別存放在地址為X,X+2;Y,Y+2;Z,Z+2的存儲單元中,存放時高位字在高地址中,低位字在低地址中。在8086和80286中可用下列指令序列實現(xiàn)。wX+Y+24-Z參考指令序列:MOVAX,XMOVDX,X+2ADDAX,YADCDX,Y+2ADDAX,24ADCDX,0SUBAX,ZSBBDX,Z+2MOVZ,AXMOVZ+2,DX127例3.51CMPXCHGCX,DX如指令執(zhí)行前:(AX)=2300H,(CX)=2300H,(DX)=2400H指令執(zhí)行后:因(CX)=(AX)故(CX)=2400H,ZF=1如指令執(zhí)行前:(AX)=2500H,(CX)=2300H,(DX)=2400H指令執(zhí)行后:因(CX)≠(AX)故(AX)=2400H,ZF=0128乘法指令MUL無符號數(shù)乘法IMUL帶符號數(shù)乘法129MUL:無符號數(shù)乘法
1.一般形式:
MULSRC;
2.語法格式:
MUL
reg8/mem8;AX=AL*SRCMUL
reg16/mem16;DX:AX=AX*SRCMUL
reg32/mem32;EDX:EAX=EAX*SRC
3.對標(biāo)志位的影響:
若結(jié)果的高一半為0,則CF=OF=0,否則,CF=OF=1;其余標(biāo)志無定義。指令執(zhí)行后這些條件標(biāo)志位的狀態(tài)不確定。130IMUL:有符號數(shù)乘法
1.一般形式:
IMULSRC;
2.語法格式:
IMUL
reg8/mem8;AX=AL*SRCIMUL
reg16/mem16;DX:AX=AX*SRCIMUL
reg32/mem32;EDX:EAX=EAX*SRC
3.對標(biāo)志位的影響:若乘積的高一半是低一半的符號擴展,則OF=CF=0;否則均為
CF=OF=1;其余標(biāo)志無定義。131
乘法指令如下影響OF和CF標(biāo)志:
MUL指令——若乘積的高一半(AH或DX)為0,則OF=CF=0;否則OF=CF=1。(用來檢查字節(jié)相乘的結(jié)果是字節(jié)還是字,或字相乘的結(jié)果是字還是雙字)
IMUL指令——若乘積的高一半是低一半的符號擴展,則OF=CF=0;否則均為1。乘法指令對其他狀態(tài)標(biāo)志沒有定義:指令執(zhí)行后這些標(biāo)志是任意的、不可預(yù)測(就是誰也不知道是0還是1)。對標(biāo)志沒有影響是指令的執(zhí)行不改變標(biāo)志的狀態(tài)。132例:MOVAL,0B4HMOVBL,11HMULBLMOVAL,0B4HMOVBL,11HIMULBLOF=CF=1AX=FAF4H=-1292DBL=11H=17DAL=B4H=-76DOF=CF=1;AX=OBF4H=3060DBL=11H=17DAL=B4H=180D1334.除法指令
無符號數(shù)除法指令:
DIVSRC執(zhí)行操作:字節(jié)操作(AL)
(AX)/(SRC)的商(AH)
(AX)/(SRC)的余數(shù)字操作(AX)
(DX,AX)/(SRC)的商(DX)
(DX,AX)/(SRC)的余數(shù)注意:除法指令對所有條件標(biāo)志位無定義。但可產(chǎn)生溢出。134雙字操作(EAX)
(EDX,EAX)/(SRC)的商(EDX)
(EDX,EAX)/(SRC)的余數(shù)商和余數(shù)都是無符號數(shù)135
帶符號數(shù)除法指令:
IDIVSRC執(zhí)行的操作:與DIV相同,但操作數(shù)必須是帶符號數(shù),商和余數(shù)也都是帶符號數(shù),且余數(shù)的符號和被除數(shù)的符號相同。136注意:由于除法指令的字節(jié)操作要求被除數(shù)為16位,字操作要求被除數(shù)為32位,雙字操作要求被除數(shù)為64位,因此需要用符號擴展的方法取得出發(fā)指令所需要的被除數(shù)格式。
137例:MOVAX,0400H;AX=400H=1024DMOVBL,0B4H;BL=B4H=180DDIVBL;商AL=05H=5D;余數(shù)AH=7CH=124MOVAX,0400H;AX=400H
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園特色渲染課程設(shè)計
- 企業(yè)財務(wù)投資策略及收益分析
- 《基于模塊化的中小企業(yè)集群技術(shù)創(chuàng)新系統(tǒng)模式研究》
- 懸挑陽臺課程設(shè)計
- 《我國部分冬季項目運動員身體成分與身體機能的檢測及相關(guān)性研究》
- 我們的祖國課程設(shè)計
- 《敦煌壁畫中的椅子研究》
- 產(chǎn)品設(shè)計中的結(jié)構(gòu)化思維訓(xùn)練
- 校園外賣疫情防控與食品安全方案
- 工業(yè)工程課程設(shè)計體會
- 上一堂樸素的語文課
- 2023阻塞性睡眠呼吸暫停與難治性高血壓(全文)
- 灤平縣興華昌順礦業(yè)有限公司西洼子群興鐵礦礦山地質(zhì)環(huán)境保護與治理恢復(fù)方案
- 《刻舟求劍》課件 (共27張PPT)
- 耕地占補平衡動態(tài)監(jiān)管系統(tǒng)培訓(xùn)講解
- 湘教版八上音樂 都達爾和瑪利亞 課件(共19張PPT)
- 2022年山東省濟南市統(tǒng)考專升本管理學(xué)真題(含答案)
- 勞動教育知到章節(jié)答案智慧樹2023年杭州醫(yī)學(xué)院
- 電影音樂欣賞知到章節(jié)答案智慧樹2023年華南農(nóng)業(yè)大學(xué)
- 頑危犯轉(zhuǎn)化個例
- 《食品安全培訓(xùn)資料》
評論
0/150
提交評論