![匯編復(fù)習(xí)資料_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/5bb6090d-5ea3-4570-9585-d8483dd44153/5bb6090d-5ea3-4570-9585-d8483dd441531.gif)
![匯編復(fù)習(xí)資料_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/5bb6090d-5ea3-4570-9585-d8483dd44153/5bb6090d-5ea3-4570-9585-d8483dd441532.gif)
![匯編復(fù)習(xí)資料_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/5bb6090d-5ea3-4570-9585-d8483dd44153/5bb6090d-5ea3-4570-9585-d8483dd441533.gif)
![匯編復(fù)習(xí)資料_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/5bb6090d-5ea3-4570-9585-d8483dd44153/5bb6090d-5ea3-4570-9585-d8483dd441534.gif)
![匯編復(fù)習(xí)資料_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/5bb6090d-5ea3-4570-9585-d8483dd44153/5bb6090d-5ea3-4570-9585-d8483dd441535.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、08嵌入式軟件專業(yè)匯編考試復(fù)習(xí)資料(豆豆整理,翻版必究)匯編復(fù)習(xí)資料第一章 匯編語言基礎(chǔ)(基礎(chǔ))1.十進制,二進制,八進制,十六進制之間的轉(zhuǎn)化;2.位(b),字節(jié)(B),字(W),雙字(DW)之間的關(guān)系;3.無符號數(shù)和有符號數(shù)的表示;有符號數(shù)原碼,反碼,補碼之間的轉(zhuǎn)換;補碼的擴展(符號擴展);補碼的運算(溢出的判斷);4.存儲器:數(shù)據(jù)組織(小端對齊),地址書寫格式,讀寫操作(注意地址格式,字節(jié)地址,字地址,雙字地址),存儲器的分段(段基址,偏移地址,邏輯地址,物理地址之間的關(guān)系); 邏輯地址的表示:段基址:偏移地址; 物理地址=段基址*16+偏移地址;5.指令和程序:指令(機器指令,符號指令)
2、,機器指令(操作碼,操作數(shù));6.80x86寄存器:(1)數(shù)據(jù)寄存器:a.AX累加器:b.BX基址寄存器:存放數(shù)據(jù),存放基址;c.CX計數(shù)寄存器:存放數(shù)據(jù),存放重復(fù)操作的次數(shù);d.DX數(shù)據(jù)寄存器:存放數(shù)據(jù),存放32位數(shù)據(jù)的高16位,有時存放端口地址;(2)地址寄存器:a.SP堆棧指針:存放堆棧頂?shù)钠频刂罚籦.BP基址指針:存放堆棧中數(shù)據(jù)的偏移地址;c.SI源變址寄存器:存放源數(shù)據(jù)區(qū)的偏移地址;d.DI目的變址寄存器:存放目的數(shù)據(jù)區(qū)的偏移地址;(3)段寄存器:a.CS代碼段寄存器:存放當(dāng)前正在執(zhí)行的程序段的段基址; b.SS堆棧段寄存器:存放堆棧段的段基址;c.DS數(shù)據(jù)段寄存器:存放當(dāng)前正在使
3、用的數(shù)據(jù)段段基址; d.ES附加段寄存器:存放另一個數(shù)據(jù)段的段基址;(4)專用寄存器:a.IP指令指針:存放即將執(zhí)行指令的偏移地址;b.FLAGS標(biāo)志寄存器:存放CPU的兩類標(biāo)志(狀態(tài)標(biāo)志,控制標(biāo)志);a.狀態(tài)標(biāo)志:OF(溢出標(biāo)志,1表示溢出,0表示沒有溢出);CF(進位/借位標(biāo)志,1表示有進位或借位,0表示沒有);SF(符號標(biāo)志,1表示最高位為“1”,0表示最高位為“0”);ZF(零標(biāo)志,1表示運算結(jié)果為零,0表示不為零);AF(輔助進位標(biāo)志);PF(奇偶標(biāo)志,1表示運算結(jié)果的低8位中有偶數(shù)個“1”,0表示有奇數(shù)個);b.控制標(biāo)志:IF(中斷允許標(biāo)志),TF(單步標(biāo)志),DF(方向標(biāo)志);(
4、了解)第二章 數(shù)據(jù)定義與傳送1.數(shù)據(jù):變量,常數(shù),緩沖區(qū)2.數(shù)據(jù)段(保留字,匯編語句,注釋的使用);3.數(shù)據(jù)段定義:DB:定義字節(jié)數(shù)據(jù),每個數(shù)據(jù)占用1B的存儲器;(1)有符號數(shù)用補碼存儲;(2)可以用單或雙引號括起來的單個或多個字符,每個字符占1B,按他們出現(xiàn)的順序用ASCII代碼存儲;(3)可以出現(xiàn)簡單的可以求出值的表達式;(4)“?”表示一個尚未確定的值,在程序運行時寫入,一般先用“0”來填充這個單元;(5)數(shù)據(jù)在一行寫不下時,可以另起一行,但不能寫相同的變量名;(6)DUP為重復(fù)定義符,表示定義若干個相同的數(shù)據(jù);(7)匯編程序根據(jù)段定義分配存儲空間,按序安排數(shù)據(jù)存放;DW:定義字數(shù)據(jù),每
5、個數(shù)據(jù)占用2B的存儲器,數(shù)據(jù)的高位存放在地址較大的單元里;數(shù)據(jù)部分的變量名代表該變量偏移地址;DD:定義雙字數(shù)據(jù),每個數(shù)據(jù)占用4B的存儲器,數(shù)據(jù)的高位存放在地址較大的單元里;DQ,DT分別用來定義8B,16B的數(shù)據(jù)(了解);4.指令格式:標(biāo)號: 操作碼 操作數(shù) ;注釋操作數(shù):目的操作數(shù),源操作數(shù);源操作數(shù)參與指令操作,但是不保存結(jié)果,內(nèi)容不改變;目的操作數(shù)參與指令操作,保存指令操作結(jié)果,指令執(zhí)行后,內(nèi)容改變;5.操作數(shù)類型:寄存器操作數(shù),立即數(shù)操作數(shù),存儲器操作數(shù);(1)寄存器操作數(shù):包括段寄存器和通用數(shù)據(jù),地址寄存器;*寄存器IP/EIP和FLAGS/EFLAGS不能作為操作數(shù)出現(xiàn)在指令中,
6、但可間接對其操作;(2)立即數(shù)操作數(shù):二進制,十進制,十六進制常數(shù),可求職的表達式,字符,標(biāo)號等都可以用作操作數(shù);例:MOV BX,300或者MOV BX,150*2 正確但:X DW 150 MOV BX,X*2 錯誤原因:變量的值在程序運行期間可以隨時改變,匯編程序無法對一個變化的值事先進行計算,變量的計算應(yīng)該在用戶程序執(zhí)行時進行;*立即數(shù)不能用作目的操作數(shù);(3)存儲器操作數(shù)(后續(xù)理解)6.存儲器操作數(shù)(段基址,偏移地址)大多數(shù)情況下指令使用DS寄存器的內(nèi)容作為操作數(shù)的段基址,指令中不需要再指出段基址;有效地址:存儲器操作數(shù)的偏移地址可以由幾個部分組合而成,合成后得到的偏移地址;(1)直
7、接地址:指令中直接寫出存儲單元的偏移地址;*源操作數(shù)和目的操作數(shù)的類型要匹配,至少有一個操作數(shù)為明確類型;例:a.假設(shè)DATA段基址已裝入DS,若要把變量(數(shù)組)A的前兩個字節(jié)數(shù)據(jù)送BL,BH寄存器: MOV BL, A ; 也可以寫作 MOV BL, A MOV BH, A+1 ; 或MOV BH, A+1 ,MOV BH, A1可否這樣寫:MOV BX, A ;把變量A送BL,變量A+1送BH 不可以b.假設(shè)已經(jīng)定義:X DW150 MOV BX, X 正確,16位傳送指令 MOV BL, X 錯誤,操作數(shù)類型不匹配c. MOV AL, 2100H 正確,8位傳送指令,2100H是字節(jié)地址
8、MOV AX, 2100H 正確,16位傳送指令,2100H是字地址*偏移地址外的方括號不能省略,否則程序會將其當(dāng)成立即數(shù)對待;(2)間接地址(寄存器間接尋址):把存儲單元的偏移地址事先裝入某個寄存器,需要時通過寄存器找到存儲單元;(OFFSET的使用)BX,BP,SI,DI四個寄存器可以用來間接尋址,使用BP寄存器時自動用SS的值作為段基址,使用其他寄存器時用DS的值作為段基址; 實地址模式下,偏移地址用16位二進制表示;例:已經(jīng)定義:A DB 12, 34 將兩個字節(jié)數(shù)據(jù)à(BX) MOVSI, OFFSET AMOVBL, SIMOVBH, SI+1 ;也可寫作MOV BH,
9、1SI可否這樣做:MOV BX,SI? 可以的7.程序段常見格式:CODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AX;其他指令MOVAX, 4C00HINT21HCODEENDSENDSTART*使用BX、SI、DI尋址,隱含對DS段進行操作;*為了對其他段內(nèi)存儲單元尋址,必須顯式指明段地址;例:DATASEGMENTADB55DATAENDSEXTRASEGMENTXDB10EXTRAENDS ASSUME DS: DATA, ES: EXTRAMOV AX, DATAMOV DS, AXMOV AX, EXTRAMOV
10、 ES, AX變量A和X的偏移地址都是0000H。MOV AL, A ;按 MOV AL, DS:0000H 格式匯編,執(zhí)行后(AL)=55,正確。MOV DL, X ; 按 MOV DL, ES:0000H 格式匯編,執(zhí)行后(DL)=10 ,正確。但如果:MOV SI, OFFSET A ;A的偏移地址裝入SIMOV DI, OFFSET X ;X的偏移地址裝入DIMOV AL, SI ;取A的值送ALMOV DL, DI ;取X的值送DL執(zhí)行的結(jié)果:(AL) = 55 正確,(DL) = 55 錯誤!9.完整的匯編語言源程序:處理器選擇偽指令,數(shù)據(jù)段定義,代碼段定義,程序結(jié)束偽指令;10.
11、基本傳送指令(1)MOV(傳送)指令MOV AX, BX ;源操作數(shù)BX的內(nèi)容被復(fù)制到AX寄存器內(nèi),源操作數(shù)BX的內(nèi)容保持不變,目的操作數(shù)AX的原內(nèi)容被覆蓋。源操作數(shù)可以是寄存器、存儲器、立即數(shù);目的操作數(shù)可以是寄存器、存儲器。MOV指令的使用規(guī)則:a. 源/目的操作數(shù)必須類型匹配、明確;b. 源操作數(shù)與目的操作數(shù)可以是字節(jié),字或雙字,但必須具有相同的類型;c. 源操作數(shù)與目的操作數(shù)不能同時為存儲器操作數(shù);d. 目的操作數(shù)不能為立即數(shù);e. FLAGS,EFLAGS,IP,EIP不能用作操作數(shù);f. 對于段寄存器作為操作數(shù)的MOV指令: 源操作數(shù)與目的操作數(shù)不能同時為段寄存器; 目的操作數(shù)為段
12、寄存器時,源操作數(shù)只能是寄存器或存儲器,不能是立即數(shù); CS不能用作目的操作數(shù);g. 操作數(shù)范圍;例:a. 寄存器、寄存器操作數(shù)正確:MOVCL, DH ;字節(jié)傳送指令,DH寄存器內(nèi)容送入CLMOVAX, CS ;字傳送指令,CS寄存器內(nèi)容送入AXMOVSS, CX ;字傳送指令,CX寄存器內(nèi)容送入SS錯誤:MOVCL, DX ;操作數(shù)類型不匹配MOVCS , AX;CS不能作為目的操作數(shù)MOVDS, CS ;源操作數(shù)和目的操作數(shù)不能同時為段寄存器b. 立即數(shù)、寄存器操作數(shù)正確:MOVAL, 30H ;字節(jié)傳送指令,執(zhí)行后(AL)= 30HMOVAX, 30H ;字傳送指令,執(zhí)行后(AX)=
13、0030HMOVAL, -5 ;字節(jié)傳送指令,執(zhí)行后(AL)= 0FBHMOVAX, -5 ;字傳送指令,執(zhí)行后(AX)= 0FFFBH錯誤:MOV 30H, AL ;立即數(shù)不能用作目的操作數(shù)MOV AL, 300 ;源操作數(shù)超出范圍c. 存儲器、寄存器操作數(shù)正確:假設(shè)變量X_BYTE用DB定義,變量Y_WORD用DW定義MOVBP, BL ;字節(jié)傳送指令,BL寄存器內(nèi)容送SS:BPMOVBX, AX ;字傳送指令,ALàDS:BX, AHàDS:BX+1錯誤:MOV DX, BL ;DX不能用于間址MOV X_BYTE, AX ;操作數(shù)類型不匹配d. 存儲器、立即數(shù)操作數(shù)
14、正確:假設(shè)變量X_BYTE用DB定義,變量Y_WORD用DW定義MOVX_BYTE, -5 ;字節(jié)傳送指令,-5(0FBH)送X_BYTEMOVY_WORD, -5 ;字傳送指令,-5(0FFFBH)送Y_WORD錯誤:MOVX_BYTE, 300 ;源操作數(shù)超出范圍MOVBX, 30H ;操作數(shù)類型不能確定*使用立即數(shù)作為源操作數(shù)時,該立即數(shù)會按照目的操作數(shù)的類型進行擴展,如果立即數(shù)本身沒有符號,進行“零擴展”,如果立即數(shù)本身有符號,則進行“符號擴展”;*“ type PTR” : 指定或強行改變操作數(shù)類型;(2)LEA(裝載有效地址)指令LEA REG16, MEM ;將MEM的偏移地址裝
15、入16位數(shù)據(jù)寄存器,等效于:MOV REG16,OFFSET MEM11.其他傳送指令 (1)擴展傳送指令CBW,CWD操作:8位操作數(shù)擴展為16位,或把16位操作數(shù)擴展為32位,送目的RCBW:將AL寄存器內(nèi)容符號擴展成16b,送AXCWD:將AX寄存器內(nèi)容符號擴展成32b, 送DX(高16位)和AX(低16位)注意兩點:1.符號擴展;2.隱含操作數(shù);例:設(shè)有(AX)= 8060H CBW ;(AX)= 0060H CWD ;(DX)= 0FFFFH,(AX)= 8060H (3)交換指令XCHGXCHG REG/MEM,MEM/REG操作:交換源/目的操作數(shù)內(nèi)容格式要求:與MOV指令相同
16、例: (AX)= 5678HXCHGAH, AL;(AX)= 7856H*兩個操作數(shù)有相同的類型,而且不能同為存儲器操作數(shù);(4)換碼(查表)指令XLAT格式:XLAT操作:ALDS: BX+AL結(jié)果:AL中原來位移量被MEM替換指令執(zhí)行準(zhǔn)備:表格的首地址事先存放在DS: BX中,換碼單元位移量事先存放在AL中。12堆棧堆棧(STACK)是用戶使用的存儲器的一部分,用來存放臨時性的數(shù)據(jù)和其他信息,數(shù)據(jù)結(jié)構(gòu)較普通存儲單元特殊;地址增大堆棧的段基址必須放在SS中,SP始終自動指向“棧頂”。(1)堆棧結(jié)構(gòu)堆棧段的定義:SSEG SEGMENT STACK ;堆棧段開始 DW100 DUP(?);大小
17、為100個字SSEG ENDS ;堆棧段結(jié)束程序裝入時,SSEG段址àSS,堆棧段字節(jié)數(shù)0C8HàSP;(2)堆棧段特點a.從較大地址開始分配和使用(其他段從較小地址開始分配和使用);b.數(shù)據(jù)入棧時,SP自減2,數(shù)據(jù)出棧時,SP自增2;c.SP始終自動指向“棧頂”,數(shù)據(jù)總是在“棧頂”壓入或彈出(SP變化);d.先進后出(First In Last Out, FILO) 后進先出(Last In First Out, LIFO)(3)堆棧操作:以字為基本單位*SP的移動,邏輯地反應(yīng)堆棧的變化,堆棧段物理結(jié)構(gòu)不變;(4)8086CPU堆棧指令I(lǐng)ntel8086是16位微處理器,
18、它的堆棧指令只支持2B操作數(shù);a. PUSH(壓棧)指令:把16b源操作數(shù)入棧;PUSH REG16/MEM16/SEG指令執(zhí)行后,操作數(shù)的內(nèi)容不變,該指令的執(zhí)行不影響標(biāo)志位;不支持立即數(shù)操作數(shù);bPOP(出棧)指令:從堆棧棧頂彈出16b,存入目的操作數(shù);POP REG16/MEM16/SEG指令執(zhí)行后,操作數(shù)的內(nèi)容被更新,該指令的執(zhí)行不影響標(biāo)志位;CS不能做操作數(shù);13.操作數(shù)表達式(1)符號定義偽指令:a.匯編時,對EQU定義的符號名用對應(yīng)的表達式進行替換;b.使用等號“=”定義符號名時,只能用常數(shù)表達式,而且對一個符號名可以多次定義,一個新的定義出現(xiàn)后,原來的定義自動終止;c.用EQU定
19、義的符號名不允許重復(fù)定義;(2)地址表達式:a. +,運算符對構(gòu)成有效地址的各個分量進行“加”、“減”操作;b. “ ”稱為“索引運算符”,用來組成有效地址的一個分量,各分量相加,得到最后的有效地址;(3)立即數(shù)表達式:a.立即數(shù)表達式在匯編源程序時計算,結(jié)果用作立即數(shù)操作數(shù);b.表達式中運算對象必須“已知” ,否則無法進行計算;c.用于產(chǎn)生立即數(shù)操作數(shù)的表達式有4類運算符:算術(shù)運算符、邏輯運算符、關(guān)系運算符、地址運算符;算術(shù)運算符:+ (相加), (相減), * (相乘), / (整除運算), MOD(取余數(shù))運算優(yōu)先級從高到低依次為:(*,/)(MOD)(+,)邏輯運算符:SHR(右移)、
20、SHL(左移)、AND(邏輯與)OR(邏輯加)XOR(異或,半加)、NOT(邏輯非、取反) 運算優(yōu)先級從高到低依次為:(SHL、SHR)(NOT) (AND) (OR、XOR)關(guān)系運算符:關(guān)系運算符用于兩個數(shù)的比較,結(jié)果為“真(-1)”或“假(0)”GT(大于)、GE(大于或等于)、LT(小于)、LE(小于等于)、EQ(等于)、NE(不等于)地址運算符變量名、標(biāo)號、地址表達式進行計算,得到作為立即數(shù)的運算結(jié)果a.SEG: 取地址表達式所在段的段基址例:變量LIST定義在DATA段,把DATA段的段基址裝入AX: MOV AX, DATA ;DATA代表該段的段基址,立即數(shù)MOV AX, SEG
21、 DATA ;取DATA的段基址,立即數(shù)MOV AX, SEG LIST ;取LIST的段基址,立即數(shù)b.OFFSET:取地址表達式的偏移地址例:比較:MOV AX, LIST;取出變量LIST第一個元素送入AX MOV AX, OFFSET LIST ;取出變量LIST的偏移地址送入AXc.TYPE,LENGTH,SIZE這三個運算符僅僅對變量名,標(biāo)號進行操作,分別用于取變量,標(biāo)號的類型,取變量定義時的元素個數(shù),取變量占用的字節(jié)數(shù);*注意:所有的表達式都必須在匯編期間可以求值,“寄存器數(shù)表達式”的形式是不存在的; 例如:MOV AX, BX+2 ;錯誤 MOV AX,BX+2 ;正確14.匯
22、編語言上機操作(匯編工具:MASM宏匯編)(1) 編輯源程序:源程序文件要以.ASM為擴展名;(2) 匯編源程序(將源程序翻譯成由機器代碼組成的目標(biāo)模塊文件的過程)匯編格式:MASM show.asm 或 MASM show;如果源程序無語法錯誤,MASM將為程序自動生成目標(biāo)模塊文件(show.obj);否則報錯。這時應(yīng)根據(jù)錯誤信息修改源程序后,再進行匯編;(3) 連接目標(biāo)程序連接格式:LINK show.obj 或 LINK show;如果無嚴重錯誤,LINK將生成可執(zhí)行文件 show.exe;否則將報錯。這時應(yīng)根據(jù)錯誤信息重新修改源程序后再匯編、鏈接,直到生成可執(zhí)行文件;(4) 調(diào)試可執(zhí)行
23、程序調(diào)試格式:DEBUG show.exe ,后綴不可??;DEBUG.exe 是DOS提供的調(diào)試程序; DEBUG程序采用命令行方式;DEBUG主要命令:第三章 數(shù)據(jù)運算與輸入輸出1.算術(shù)運算指令的特點:a.加減法指令不區(qū)分有/無符號數(shù);b.乘除法指令區(qū)分有/無符號數(shù);c.算術(shù)運算指令執(zhí)行結(jié)果對狀態(tài)標(biāo)志位有影響;2.加法指令(1)ADD:加法指令格式:ADD目的操作數(shù),源操作數(shù)功能:目的操作數(shù)目的操作數(shù)+源操作數(shù)目的操作數(shù):8/16/32位的寄存器數(shù)/存儲器數(shù)源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)*容易出現(xiàn)的兩種錯誤: ADD AL,BX ;類型不匹配ADD SI, 5 ;類型不
24、明確,如果目的操作數(shù)是字節(jié)單元,可以修改如下:ADDBYTE PTR SI, 5說明:a.加法指令執(zhí)行后,CPU的狀態(tài)標(biāo)志CF,OF,ZF,SF,PF,AF按照運算結(jié)果被刷新;b.操作數(shù)可以是8位,16位或32位,源操作數(shù)與目的操作數(shù)應(yīng)該有相同的類型,不能同時為內(nèi)存操作數(shù);(2)ADC:帶進位的加法指令格式:ADC目的操作數(shù),源操作數(shù)功能:目的操作數(shù)目的操作數(shù)+源操作數(shù)+CF目的操作數(shù):8/16/32位的寄存器/存儲器源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)說明:a.該指令對標(biāo)志位的影響、對操作數(shù)的要求與ADD指令相同;b.用途:多字節(jié)數(shù)據(jù)分段相加時,高位的加法運算;*數(shù)據(jù)的擴展a
25、.對無符號數(shù)運算,需0擴展如:將無符號字節(jié)數(shù)20H擴展為16位 MOV AL,20H MOV AH,0 ;(AX) ß0020H,0擴展 b.有符號數(shù)以補碼形式存儲,需符號擴展如:對有符號數(shù)0FFH進行符號擴展 MOV AL,0FFH ;-1的8位補碼CBW ;(AX)ß0FFFFH,-1的16位補碼,符號擴展c.當(dāng)需要擴展計算規(guī)模時,無符號數(shù)先分段計算或先擴展再計算均可,而有符號數(shù)只能先擴展,再計算;(3)INC:增量指令格式:INC目的操作數(shù)功能:目的操作數(shù)目的操作數(shù)+1目的操作數(shù):8/16位寄存器/存儲器說明:a.指令執(zhí)行后,OF, ZF, SF, PF, AF按照運
26、算結(jié)果被刷新,但CF不受影響;b.增量指令常用于修改計數(shù)器的值或移動地址指針;3.減法指令(1)SUB:減法指令格式:SUB目的操作數(shù),源操作數(shù)功能:目的操作數(shù)目的操作數(shù)-源操作數(shù)目的操作數(shù):8/16位的寄存器數(shù)/存儲器數(shù)源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)說明:對標(biāo)志位的影響、對操作數(shù)的要求與ADD指令相同;(2)SBB:帶借位的減法指令格式:SBB目的操作數(shù),源操作數(shù)功能:目的操作數(shù)目的操作數(shù)-源操作數(shù)-CF目的操作數(shù):8/16位的寄存器/存儲器源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)說明:a.該指令對標(biāo)志位的影響、對操作數(shù)的要求與ADD指令相同;b.用途:多字
27、節(jié)數(shù)據(jù)分段相減時,高位的減法運算;(3)DEC:減量指令格式:INC目的操作數(shù)功能:目的操作數(shù)目的操作數(shù)-1目的操作數(shù):8/16位寄存器/存儲器說明:a.指令執(zhí)行后,OF, ZF, SF, PF, AF按照運算結(jié)果被刷新,但CF不受影響;b.減量指令常用于修改計數(shù)器和存儲器指針的值;(4)NEG:求補指令,求相反數(shù)格式:NEG目的操作數(shù)功能:目的操作數(shù)0-目的操作數(shù) 目的操作數(shù):8/16位寄存器/存儲器數(shù)說明:指令執(zhí)行后,除非目的操作數(shù)為零時,CF=0,其余情況均為1;4.乘法和除法指令(區(qū)分有/無符號數(shù)運算)(1)MUL:無符號數(shù)乘法格式:MUL 源操作數(shù) ;此源操作數(shù)為乘數(shù),另一源操作數(shù)(
28、被乘數(shù))àAL/AX源操作數(shù):8位/16位寄存器/存儲器數(shù)功能:8位源操作數(shù):AX(AL)×源操作數(shù) 16位源操作數(shù):(DX, AX)(AX)×源操作數(shù)說明:a.兩個N位操作數(shù)相乘,最多得到2N位的乘積;b.如果乘積高N位為0,則CF=OF=0,否則CF=OF=1,其余標(biāo)志位無意義,可用來檢測積的類型。(2)IMUL:有符號數(shù)乘法格式1:IMUL 源操作數(shù)源操作數(shù):8位/16位寄存器/存儲器數(shù)功能:8位源操作數(shù)時:AX(AL)×源操作數(shù) 16位源操作數(shù)時:DX, AX(AX)×源操作數(shù)說明:a.兩個N位操作數(shù)相乘,得到2N位的乘積;b.如果乘積
29、高N位為低N位的符號擴展,則CF=OF=0,否則CF=OF=1,其余標(biāo)志位無意義;c.相同數(shù)據(jù)分別用MUL和IMUL運算,可能得到不同結(jié)果;例:(AL) = 0FFH, (X) = 2MUL X;(AX) = 01FEH,(255×2 = 510) CF=OF=1IMUL X;(AX) = 0FFFEH,(1×2 = 2) CF=OF=0(3)DIV:無符號數(shù)除法格式:DIV源操作數(shù) ;此為除數(shù),另一源操作數(shù)(被除數(shù))àAX/(DX,AX) 源操作數(shù):8位/16位寄存器/存儲器數(shù)功能:8位源操作數(shù)時: (AX)÷源操作數(shù),AL商,AH余數(shù)16位源操作數(shù)時
30、:(DX, AX)÷源操作數(shù),AX商,DX余數(shù)說明:a.兩個N位無號操作數(shù)相除,先把被除數(shù)零擴展為2N位;b.如果(2N位)÷(N位)的商絕對值大于2N-1,會產(chǎn)生“除法溢出”錯誤;c.源操作數(shù)不能為立即數(shù);(4)IDIV:有符號數(shù)除法格式:IDIV 源操作數(shù) ;除數(shù)源操作數(shù):8位/16位寄存器/存儲器數(shù)功能: 8位源操作數(shù)時:(AX)÷源操作數(shù),AL商,AH余數(shù)16位源操作數(shù)時:(DX, AX) ÷源操作數(shù),AX商,DX余數(shù)說明:a.兩個N位操作數(shù)相除,先把被除數(shù)符號擴展為2N位;b.兩個有符號數(shù)相除,余數(shù)與被除數(shù)同號: 10 IDIV 3;商= 3,
31、 余數(shù)= 1 10 IDIV 3 ;商= 3, 余數(shù)= 1c.如果(2N位)÷(N位)的商大于2N-1-1或者小于-2N-1,會產(chǎn)生“除法溢出”錯誤。d.源操作數(shù)不能為立即數(shù);5.表達式計算表達式計算應(yīng)注意的問題:a.確定操作數(shù)類型(字節(jié)/字運算)b.確定運算順序c.區(qū)分有/無符號數(shù)的運算d.合理分配寄存器的使用避免沖突 e.使用除法指令前,被除數(shù)規(guī)模擴展至除數(shù)2倍 6.循環(huán)(1)基本循環(huán)語句格式: 標(biāo)號: ;循環(huán)體 LOOP 標(biāo)號功能:CX(CX)1,若(CX) 0,轉(zhuǎn)向“標(biāo)號”處執(zhí)行,否則執(zhí)行后續(xù)指令;說明:a.LOOP可以改變指令執(zhí)行次序,稱為“控制指令或跳轉(zhuǎn)指令”;b.循環(huán)體
32、重復(fù)執(zhí)行,CX裝載循環(huán)次數(shù),因此稱為 “計數(shù)器”;c.使用LOOP的前提是循環(huán)次數(shù)已知;例:MOVCX, 10L1: ;循環(huán)體 LOOP L1功能:將L1到LOOP L1之間的一段程序重復(fù)執(zhí)行10次。指令“MOV CX, 10”稱為“裝載循環(huán)計數(shù)器”, 在循環(huán)之前完成,否則易形成死循環(huán);(2)基本循環(huán)改用循環(huán)實現(xiàn)簡化程序結(jié)構(gòu),須作一定的準(zhǔn)備工作:a. 裝載循環(huán)計數(shù)器CX;b. 設(shè)置地址指針,指向數(shù)組首址;循環(huán)處理過程:a. 每次循環(huán)將指針指向的單元內(nèi)容清零;b. 地址指針移動,指向下一個單元,為下一次作準(zhǔn)備;c. CX自減;(3)循環(huán)指令的使用方法:適用于對多個數(shù)據(jù)進行相同的操作;循環(huán)執(zhí)行前須
33、做如下準(zhǔn)備工作:a.計數(shù)器CX初始化;b.地址指針初始化;c.其他循環(huán)中應(yīng)注意:a.執(zhí)行要求的操作;b.移動地址指針;7.循環(huán)的應(yīng)用(1)數(shù)據(jù)的累加求累加和循環(huán)程序的結(jié)構(gòu):a.循環(huán)準(zhǔn)備:循環(huán)開始前,累加器、計數(shù)器、指針初始化,每條指令執(zhí)行一次;b.循環(huán)體:數(shù)據(jù)累加、指針移動、循環(huán)計數(shù)控制,每條指令執(zhí)行多次;c.結(jié)束處理:循環(huán)結(jié)束后,保存累加和,執(zhí)行一次;(2)多項式計算準(zhǔn)備工作:a. 簡化考慮:假定多項式的值可用16b有號數(shù)存儲;b. 循環(huán)次數(shù)= 多項式項數(shù)(按照降冪全部寫出時);c. 地址指針初始化;8.邏輯運算(1)邏輯運算是位運算,各位之間沒有相互進位的關(guān)系,邏輯運算指令執(zhí)行后,CF、O
34、F被清0,SF,PF,ZF按結(jié)果設(shè)置;(2)AND 邏輯乘(邏輯與)指令格式:AND 目的操作數(shù),源操作數(shù) 功能:源操作數(shù)和目的操作數(shù)進行邏輯乘(按位相與),結(jié)果送目的操作數(shù);說明:a. 使用AND指令可以對操作數(shù)有選擇地部分清零;b. 對操作數(shù)類型的要求與ADD指令相同。例: MOVAL,7;(AL) = 37HANDAL, 0FH ;(AL)=07H, 字符7轉(zhuǎn)換成二進制數(shù)例:ANDCX, 0;(CX) = 0, 同時CF = OF = 0, ZF = 1(3)OR 邏輯加(邏輯或)指令格式:OR 目的操作數(shù),源操作數(shù) 功能:將目的操作數(shù)和源操作數(shù)按位相或,結(jié)果送目的操作數(shù);說明:a. 使
35、用OR指令可以有選擇地將操作數(shù)的某些位置1;b. OR指令對操作數(shù)類型的要求與ADD指令相同;例: MOV AL, 7 ;(AL) = 07HOR AL, 30H ;(AL) = 37H,二進制數(shù)7轉(zhuǎn)換成字符7 例:OR AX, AX ;AX的值不變,CF = OF = 0(4)XOR邏輯異或(半加)指令格式:XOR目的操作數(shù),源操作數(shù)功能:將目的操作數(shù)和源操作數(shù)進行異或運算,結(jié)果送目的操作數(shù);說明:使用XOR指令可以有選擇地將操作數(shù)的某些位取反;對操作數(shù)類型的要求與ADD指令相同;例:MOV AL, 35H ;(AL)=35H XOR AL, 0FH ;(AL)=3AH,高4位不變,低4位取
36、反例:XOR AX, AX ;將AX清零,同時CF = OF = 0;等價于SUB AX,AX(5)NOT邏輯非(取反)指令格式:NOT目的操作數(shù)功能:將目的操作數(shù)按位取反。例:MOVAL, 35H ;(AL)= 35H=0011 0101B NOTAL ;(AL)= 0CAH=1100 1010B, 各位取反注意:NOT指令對標(biāo)志位無影響9.控制臺輸入和輸出(1)字符的輸出向顯示器輸出信息有三種方法:a.通過DOS系統(tǒng)功能調(diào)用(INT 21H)輸出;b.通過“基本輸入輸出系統(tǒng)(BIOS)” 輸出(即BIOS顯示功能 調(diào)用:INT 10H);c.把顯示內(nèi)容(ASCII代碼)直接寫入顯存,由顯示
37、器接口電路轉(zhuǎn)換輸出(直接寫屏輸出)。輸出單個字符: DL 待輸出字符的ASCII代碼 AH 02H INT 21H簡單的顯示格式控制:a.代碼為0DH的字符稱為“回車(Carriage Return, CR)”,把光標(biāo)移動到本行的第一個字符位置,b.代碼為0AH的字符稱為“換行(Line Feed, LF)”,把光標(biāo)移動到下一行的相同位置上。輸出一個字符串定義字符串時,以字符 “$” 為結(jié)束標(biāo)志,該字符本身不輸出。 DS: DX 待輸出字符串的首地址AH 09HINT 21H說明:a.每一數(shù)位以ASCII碼的形式按位輸出;b.調(diào)整待輸出數(shù)位的順序;c.注意數(shù)、碼之間的轉(zhuǎn)換;(2)字符的輸入AH
38、01INT 21H 鍵盤輸入字符后返回,ASCII碼自動存入AL中,同時回顯。AH07INT 21H 鍵盤輸入字符后返回,ASCII碼在AL中,無回顯。AH08INT 21H 鍵盤輸入字符后返回,ASCII碼在AL中,無回顯。同時檢測Ctrl+Break和Ctrl+C鍵的組合。(3)字符串的輸入:字符串默認存于特定格式緩沖區(qū)中a. 指令格式:DS: DX輸入緩沖區(qū)首地址AH0AHINT 21Hb.輸入緩沖區(qū)格式:第一字節(jié):定義字符存放區(qū)的大??;第二字節(jié):輸入完成后服務(wù)程序自動填入輸入字符的實際個數(shù),不含回車;第三字節(jié)之后:輸入字符存放區(qū),按序存放輸入的字符和回車;說明:a.字符串輸入時,緩沖區(qū)
39、定義的格式b.循環(huán)次數(shù)的取得方式: MOV CL,BUFFER+1 MOV CH,0 c.緩沖區(qū)首址的裝載:LEA BX,BUFFER+2d.緩沖區(qū)容量不能超過255Be.數(shù)、碼間的轉(zhuǎn)換10.移位和處理器控制(1)移位指令(將操作數(shù)移動一位或多位,分成邏輯移位和算術(shù)移位,分別具有左移或右移操作)移位指令的操作數(shù);a.移位指令的第一個操作數(shù)是被移位的操作數(shù),可以是寄存器或存儲單元;b.后一個操作數(shù)表示移位位數(shù),該操作數(shù)為1,表示移動一位;當(dāng)移位位數(shù)大于1時,則用CL裝載移位次數(shù);移位指令對標(biāo)志位的影響:a.按照移入的位設(shè)置進位標(biāo)志CF;b.根據(jù)移位后的結(jié)果影響SF、ZF、PF;c.對AF沒有定義
40、;d.如果進行一位移動,則按照操作數(shù)的最高符號位是否改變設(shè)置OF:如果移位前后操作數(shù)的最高位不同(有變化),則OF = 1;否則OF = 0。移位次數(shù)大于1時,OF不確定;*邏輯左移一位相當(dāng)于無符號數(shù)乘以2,邏輯右移一位相當(dāng)于無符號數(shù)除以2(2)循環(huán)移位指令(將操作數(shù)從一端移出的位返回到另一端形成循環(huán),分成不帶進位和帶進位,分別具有左移或右移操作)循環(huán)移位指令對標(biāo)志位的影響:a.按照指令功能設(shè)置進位標(biāo)志CF;b.不影響SF、ZF、PF;c.對AF無定義;d.如果進行一位移動,則按照操作數(shù)的最高符號位是否改變設(shè)置OF:如果移位前后操作數(shù)的最高位不同(有變化),則OF = 1;否則OF = 0。當(dāng)
41、移位次數(shù)大于1時,OF不確定;第四章 選擇和循環(huán)1.按照指令執(zhí)行順序,可將程序結(jié)構(gòu)劃分為三種基本結(jié)構(gòu):a.順序結(jié)構(gòu):程序按編寫順序執(zhí)行,每條指令只執(zhí)行一次;b.循環(huán)結(jié)構(gòu):構(gòu)成循環(huán)體的一組指令被反復(fù)地執(zhí)行;c.選擇結(jié)構(gòu):根據(jù)某個條件決定部分指令被執(zhí)行,另一部分指令不執(zhí)行,這樣的程序稱為“選擇或分支結(jié)構(gòu)”的程序;2.無條件轉(zhuǎn)移指令格式:JMP 目的位置 ;執(zhí)行JMP指令后,程序轉(zhuǎn)移到新的“目的位置”執(zhí)行JMP指令使程序無條件轉(zhuǎn)至標(biāo)號所指的目標(biāo)地址處,從目標(biāo)地址處開始執(zhí)行那里的指令操作數(shù)label是要轉(zhuǎn)移到的目標(biāo)地址JMP指令分成4種類型(遠近,尋址方式):a.段內(nèi)轉(zhuǎn)移、直接尋址b.段內(nèi)轉(zhuǎn)移、間接尋
42、址c.段間轉(zhuǎn)移、直接尋址d.段間轉(zhuǎn)移、間接尋址(1)目標(biāo)地址的尋址方式直接尋址方式:轉(zhuǎn)移地址像立即數(shù)一樣,直接在指令的機器代碼中,就是直接尋址方式;間接尋址方式:轉(zhuǎn)移地址在寄存器或主存單元中,就是通過寄存器或存儲器的間接尋址方式;(2)目標(biāo)地址的范圍段內(nèi)(近程):匯編程序?qū)MP指令匯編為如下格式:操作碼(1B)+位移量位移量:目標(biāo)地址與當(dāng)前IP之差,也即代表轉(zhuǎn)移的范圍,位移量可正可負,以滿足向前/向后轉(zhuǎn)移的需要;段內(nèi)轉(zhuǎn)移短轉(zhuǎn)移(short):轉(zhuǎn)移范圍(位移量)可用1B表達,在段內(nèi)128B127B范圍的轉(zhuǎn)移;段內(nèi)轉(zhuǎn)移近轉(zhuǎn)移(near):在當(dāng)前代碼段64KB范圍內(nèi)轉(zhuǎn)移,不需要更改CS段地址,只要
43、改變IP偏移地址;段間(遠程)匯編程序?qū)MP指令匯編為如下格式:操作碼(1B)+段內(nèi)偏址(2B)+段址(2B)執(zhí)行后:段內(nèi)偏址à(IP) 段址à(CS) 段間轉(zhuǎn)移遠轉(zhuǎn)移(far):從當(dāng)前代碼段跳轉(zhuǎn)到另一個代碼段,可以在(整個內(nèi)存)1MB范圍內(nèi)跳轉(zhuǎn);同時更改CS段地址和IP偏移地址;目標(biāo)地址必須用32位數(shù)表達,叫做32位遠指針,也即邏輯地址;3.比較和測試指令(1)CMP(Compare, 比較)指令指令格式:CMP 目的操作數(shù),源操作數(shù)目的操作數(shù):8位/16位/32位的寄存器/存儲器操作數(shù)。源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)。功能:目的操作數(shù)-源操作數(shù),
44、保留運算產(chǎn)生的標(biāo)志位,不保留運算的差。用來比較兩個有符號數(shù)或無符號數(shù)的大小。 *兩個數(shù)的大小 對于有符號數(shù):OFSF= 0, 目的操作數(shù)源操作數(shù)1. 同號相減。 2. 正數(shù) 負數(shù)。OFSF= 1, 目的操作數(shù)源操作數(shù)1. 同號相減。2. 負數(shù)-正數(shù)。對于無符號數(shù):CF=0,目的操作數(shù)源操作數(shù)CF= 1, 目的操作數(shù)源操作數(shù)例:假設(shè)存儲器變量(X)= 80H,指令“CMP X, 5”執(zhí)行后:ZF=0(X) 5OF=1 SF=0 如果X視為有符號數(shù),X<5CF=0 如果X視為無符號數(shù),X>5(2)TEST(Test,測試)指令指令格式:TEST 目的操作數(shù),源操作數(shù)目的操作數(shù):8位/1
45、6位/32位的寄存器/存儲器操作數(shù)。源操作數(shù):與目的操作數(shù)同類型的寄存器/存儲器/立即數(shù)。功能:TEST指令將目的操作數(shù)與源操作數(shù)進行邏輯乘運算,保留運算產(chǎn)生的各標(biāo)志位,但是不保留結(jié)果。該指令用來測試目的操作數(shù)中某幾位二進制的特征。4.條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令格式:Jcclabel“J”:條件轉(zhuǎn)移指令操作碼的第一個字母“cc”:代表轉(zhuǎn)移條件,13個字母“l(fā)abel”:目標(biāo)地址標(biāo)號。(1)根據(jù)兩個有符號數(shù)比較結(jié)果的條件轉(zhuǎn)移指令兩個有符號數(shù)的比較結(jié)果通過OF,SF,ZF反映出來 G (Greater,大于) L (Less,小于) E (Equal,等于) N (Not,否)例: JG/JNLE
46、大于(不小于等于)則轉(zhuǎn)移 JNL/JGE 不小于(大于或等于)則轉(zhuǎn)移 JE/JZ 等于(為零)則轉(zhuǎn)移根據(jù)有符號數(shù)比較結(jié)果的條件轉(zhuǎn)移指令:(2)根據(jù)兩個無符號數(shù)比較結(jié)果的條件轉(zhuǎn)移指令 無符號數(shù)比較結(jié)果通過CF,ZF反映,代表轉(zhuǎn)移條件的字母可有:A(Above,高于) B(Below,低于) E(Equal,等于)根據(jù)無符號數(shù)比較大小結(jié)果的條件轉(zhuǎn)移指令(3)根據(jù)單個標(biāo)志位的條件轉(zhuǎn)移指令通過單獨判斷其他狀態(tài)標(biāo)志構(gòu)成跳轉(zhuǎn)條件:a.JZ/JE和JNZ/JNE:判斷結(jié)果是否為零(或相等)b.JS和JNS:判斷結(jié)果是正是負c.JO和JNO:判斷結(jié)果是否溢出d.JP/JPE和JNP/JPO:判斷結(jié)果低8位中“
47、1”的個數(shù)是偶是奇e.JC/JB/JNAE和JNC/JNB/JAE:判斷結(jié)果是否進位或借位(4)根據(jù)CX寄存器值的條件轉(zhuǎn)移指令指令格式:JCXZLabel;若CX=0,轉(zhuǎn)移到Label,指令為短轉(zhuǎn)移。5.選擇結(jié)構(gòu)程序(1)基本選擇結(jié)構(gòu)程序思路及要點:a.健壯性:對輸入是否符合要求進行判斷;即使輸入符合要求,也要對前導(dǎo)/后繼是否字符進行判斷,是則輸出,否則跳過;b.程序跳轉(zhuǎn)方向;(2)單分支選擇結(jié)構(gòu)(基本選擇結(jié)構(gòu)的一個分支為“空”,雙分支在一定條件下可轉(zhuǎn)為單分支)(3)復(fù)合選擇結(jié)構(gòu)(選擇結(jié)構(gòu)一個分支的程序中又出現(xiàn)了選擇結(jié)構(gòu))*每個分支結(jié)尾一定要使用JMP;(4)多分支選擇結(jié)構(gòu)(選擇分支多于2個)
48、6.循環(huán)結(jié)構(gòu)程序(1)循環(huán)結(jié)構(gòu)一般由以下4個部分組成:a.初始化:循環(huán)準(zhǔn)備:累加器清零,地址指針和計數(shù)器初始化等;b.工作部分:按照功能要求的具體指令執(zhí)行;c.修改部分:修改指針、修改計數(shù)器的值,為下一次循環(huán)做準(zhǔn)備;d.控制部分:判斷循環(huán)條件,結(jié)束循環(huán)或繼續(xù)循環(huán)??汕翱珊螅。?)按照循環(huán)結(jié)束的條件,有以下兩類循環(huán):a.計數(shù)循環(huán):循環(huán)次數(shù)事先已知,用一個變量(REG或MEM)記錄循環(huán)次數(shù)(稱為“循環(huán)計數(shù)器”);b.條件循環(huán):循環(huán)的次數(shù)事先并不確定,每次循環(huán)開始時或結(jié)束后測試某個條件,根據(jù)這個條件是否滿足決定繼續(xù)循環(huán)與否;(3)兩種結(jié)構(gòu)的循環(huán):a.WHILE循環(huán):進入循環(huán)后,先判斷循環(huán)結(jié)束條件,條
49、件滿足則退出循環(huán),否則繼續(xù)循環(huán)(JMP),循環(huán)次數(shù)最少為0次;b.DO-WHILE循環(huán):進入循環(huán)后,先執(zhí)行,然后判斷繼續(xù)循環(huán)的條件,條件滿足則繼續(xù)循環(huán),循環(huán)次數(shù)最少1次;(4)循環(huán)指令LOOPLabel ;先CXCX-1,若(CX)0,轉(zhuǎn)移到LabelLOOPZ/LOOPE Label;先CXCX-1,若(CX)0且ZF=1,轉(zhuǎn)移到LabelLOOPNZ/LOOPNELabel;先CXCX-1,若(CX)0且ZF=0,轉(zhuǎn)移到Label循環(huán)指令采用相對尋址,Label距離IP必須在-128B+127B之內(nèi);可以用Jcc指令代替LOOP:DECCX ; CXCX-1JNZLabel ;若(CX)0
50、(也就是ZF=0),轉(zhuǎn)移到Label*循環(huán)指令的執(zhí)行不影響標(biāo)志位;(5)計數(shù)循環(huán)(最簡單、基本的循環(huán)組織方式,主要用循環(huán)計數(shù)器控制循環(huán),有時也可以結(jié)合其它條件共同控制)(6)條件循環(huán)a.適用于循環(huán)次數(shù)未知 ;b.以某個條件是否滿足作為繼續(xù)或終止循環(huán)的條件;c.用條件轉(zhuǎn)移指令進行跳轉(zhuǎn); d.計數(shù)循環(huán)是條件循環(huán)的特殊情況;*將計數(shù)循環(huán)改寫為條件循環(huán):邏輯標(biāo)尺問題*轉(zhuǎn)移條件設(shè)置指令應(yīng)與條件轉(zhuǎn)移指令相鄰,否則出錯;*對于LOOPZ/LOOPE,LOOPNZ/LOOPNE控制的循環(huán),一般應(yīng)在循環(huán)結(jié)束后用條件轉(zhuǎn)移指令分開這兩種情況,分別處理;第五章 子程序1.子程序把程序需要完成的任務(wù)分解為若干個“子任務(wù)”,每個“子任務(wù)”由一段相對獨立的程序完成,稱為“子程序”;調(diào)用子程序的程序稱為“主程序”或者“主調(diào)程序”;子程序也稱為“過程” 或“函數(shù)” ;子程序結(jié)構(gòu)程序的優(yōu)點:a.程序結(jié)構(gòu)清晰,提高了程序的可閱讀性和可維護性;b.每個子程序可以獨立地進行調(diào)試,由于程序規(guī)模較小,降低了調(diào)試難度;c.每個子程序就是一個具有特定功能的獨立的程序,提高程序的“可重用性”,提高了軟件開發(fā)效率; 2.近程子程序a.與主調(diào)程序位于同一個代碼段;b.調(diào)用和返回時只需要保存并改變IP;c.近程子程序的入口地址用16位
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代醫(yī)療設(shè)備制造的嚴格質(zhì)量管理路徑
- 環(huán)??萍荚谏虡I(yè)領(lǐng)域的應(yīng)用與前景分析
- 構(gòu)建開放性的職高課堂教學(xué)模式探索
- 物流信息安全現(xiàn)狀與未來挑戰(zhàn)
- 現(xiàn)代橋梁結(jié)構(gòu)的智能化設(shè)計與建設(shè)
- 未來學(xué)習(xí)方式的變革基于網(wǎng)絡(luò)的個性化學(xué)習(xí)路徑探索
- 環(huán)保型牙科材料的創(chuàng)新與發(fā)展
- 生物質(zhì)能源技術(shù)在辦公自動化中的運用
- 現(xiàn)代教育背景下的教師教學(xué)方法創(chuàng)新
- 現(xiàn)代商業(yè)新生態(tài)電競酒店在年輕人中的影響
- 壓力性損傷護理質(zhì)控細則及集束化管理措施
- 《批判性思維原理和方法》全套教學(xué)課件
- 產(chǎn)后康復(fù)-腹直肌分離
- 丙烯-危險化學(xué)品安全周知卡
- 粉條加工廠建設(shè)項目可行性研究報告
- 《配電網(wǎng)設(shè)施可靠性評價指標(biāo)導(dǎo)則》
- 2024年國家電網(wǎng)招聘之通信類題庫附參考答案(考試直接用)
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計規(guī)范
- 食品企業(yè)日管控周排查月調(diào)度記錄及其報告格式參考
- 產(chǎn)品質(zhì)量法解讀課件1
- 第八單元金屬和金屬材料單元復(fù)習(xí)題-2023-2024學(xué)年九年級化學(xué)人教版下冊
評論
0/150
提交評論