![匯編語言程序設(shè)計實驗_第1頁](http://file4.renrendoc.com/view2/M01/15/0B/wKhkFmahbLKAOOqYAAFmIy3LHMY796.jpg)
![匯編語言程序設(shè)計實驗_第2頁](http://file4.renrendoc.com/view2/M01/15/0B/wKhkFmahbLKAOOqYAAFmIy3LHMY7962.jpg)
![匯編語言程序設(shè)計實驗_第3頁](http://file4.renrendoc.com/view2/M01/15/0B/wKhkFmahbLKAOOqYAAFmIy3LHMY7963.jpg)
![匯編語言程序設(shè)計實驗_第4頁](http://file4.renrendoc.com/view2/M01/15/0B/wKhkFmahbLKAOOqYAAFmIy3LHMY7964.jpg)
![匯編語言程序設(shè)計實驗_第5頁](http://file4.renrendoc.com/view2/M01/15/0B/wKhkFmahbLKAOOqYAAFmIy3LHMY7965.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章匯編語言程序設(shè)計的實驗環(huán)境及實
驗步驟
知識提要:
本章主要進(jìn)行匯編語言實驗環(huán)境及實驗步驟,涉及到的知識點包括:
1、匯編語言源程序編寫好以后,
(1)編輯源程序(生成.ASM
(2)匯編源程序(.ASM-.OBJ
(3)連接目標(biāo)程序(.OBJf.EXE
(4)調(diào)試可執(zhí)行程序(使用調(diào)試程序Debug調(diào)試生成的.EXE文件)
(5)運行程序輸出結(jié)果。
2、Windows環(huán)境下的匯編語言集成編程環(huán)境的使用
實驗一DOS環(huán)境下的匯編語言編程環(huán)境使用(基礎(chǔ)與驗證
型)
一'實驗要求和目的
1、掌握匯編語言程序設(shè)計的基本方法和技能;
2、熟練掌握使用全屏幕編輯程序EDIT編輯匯編語言源程序;
3、熟練掌握宏匯編程序MASM的使用;
4、熟練掌握連接程序LINK的使用。
二'軟硬件環(huán)境
1、硬件環(huán)境:微機CPU486以上,500MB以上硬盤,32M以上內(nèi)存;
2、軟件環(huán)境:裝有MASM5.0、DEBUG、LINK、EDIT、CREF.EXE和EXR2BIN.EXE等應(yīng)
用程序。
三、實驗涉及的主要知識單元
1、匯編語言源程序的匯編過程
匯編語言源程序的匯編過程是是利用匯編程序(MASM)對已編輯好的源程序文件
(.ASM)進(jìn)行匯編,將源程序文件中以ASCH碼表示的助記符指令逐條翻譯成機器碼指
令,并完成源程序中的偽指令所指出的各種操作,最后可以建立3個文件:擴展名為.OBJ
的目標(biāo)文件、擴展名為.LST的列表文件和擴展名為.CRF的交叉索引文件。目標(biāo)文件是
必須建立的,它包含了程序中所有的機器碼指令和偽指令指出的各種有關(guān)信息,但該文件
中的操作數(shù)地址還不是內(nèi)存的絕對地址,只是一個可浮動的相對地址。列表文件(.LST)
中包含了源程序的全部信息(包括注釋)和匯編后的目標(biāo)程序,列表文件可以打印輸出,可
供調(diào)試檢查用。交叉索引文件(.CRF)是用來了解源程序中各符號的定義和引用情況
的。.LST和.CRF兩個文件不是必須建立的,可有有無,可以通過匯編時的命令加以選擇。
在對源程序文件(ASM文件)匯編時,匯編程序?qū)SM文件進(jìn)行兩遍掃描,若程序
文件中有語法錯誤,則結(jié)束匯編,匯編程序?qū)⒅赋鲈闯绦蛑写嬖诘腻e誤,這時應(yīng)返回編輯
環(huán)境修改源程序中的錯誤,再經(jīng)過匯編,直到最后得到無錯誤的目標(biāo)程序,即OBJ文件。
因此,匯編程序的主要功能可以概括為以下三點:(1)檢查源程序中的語法錯誤,并給出
錯誤信息;(2)產(chǎn)生目標(biāo)程序文件(OBJ文件),并可給出列表文件(.LST文件);(3)展開宏
指令。
匯編程序是系統(tǒng)提供的用于匯編的系統(tǒng)軟件,目前常用的匯編程序有Microsoft公司
推出的宏匯編程MASM(MACROASSEMBLER)和BORLAND公司推出的TASM(TURBOASSEMBLER)
兩種。Microsoft公司推出有宏匯編程序MASM和小匯編程序ASM兩種,二者的區(qū)別在于:
MASM有宏處理功能,而ASM沒有宏處理功能,因此,MASM比ASM的功能強大,但
MASM需要占據(jù)較大的內(nèi)存空間,當(dāng)內(nèi)存空間較小時(如64KB),只能使用ASM。
2、目標(biāo)程序的連接過程
匯編后產(chǎn)生的目標(biāo)程序(OBJ文件)并不是可執(zhí)行程序文件(EXE文件),還不能直接運
行,它必須通過連接程序(LINK)連接成一個可執(zhí)行程序后才能運行。連接程序進(jìn)行連接
時,其輸入有兩個部分:一是目標(biāo)文件(.OBJ),目標(biāo)文件可以是一個也可以是多個,可以
是匯編語言經(jīng)匯編后產(chǎn)生的目標(biāo)文件,也可以是高級語言(例如C語言)經(jīng)編譯后產(chǎn)生的目
標(biāo)文件;另一是庫文件CLIB),庫文件是系統(tǒng)中已經(jīng)建立的,主要是為高級語言提供的。
連接后輸出兩個文件,一是擴展名為.EXE的可執(zhí)行文件,另一個是擴展名為.MAP的內(nèi)
存分配文件,它是連接程序的列表文件,又稱為連接映像(LinkM叩),它給出每個段在存
儲器中的分配情況,該文件可有可無。連接程序給出的“無堆棧段的警告性錯誤”并不影
響程序的運行。所以,到此為止,連接過程已經(jīng)結(jié)束,可以在操作系統(tǒng)下執(zhí)行該.EXE程序
了。
3、匯編語言和DOS操作系統(tǒng)的接口
編寫的匯編語言源程序是在DOS環(huán)境下運行時,必須了解匯編語言是如何同DOS操
作系統(tǒng)接口的。
用編輯程序把源程序輸入到機器中,用匯編程序把它轉(zhuǎn)換為目標(biāo)程序,用連接程序?qū)?/p>
其進(jìn)行連接和定位時,操作系統(tǒng)為每一個用戶程序建立了一個程序段前綴區(qū)PSP,其長度
為256個字節(jié),主要用于存放所要執(zhí)行程序的有關(guān)信息,同時也提供了程序和操作系統(tǒng)的
接口。操作系統(tǒng)在程序段前綴的開始處(偏移地址0000H)安排了一條INT20H軟中斷指
令。INT20H中斷服務(wù)程序由DOS提供,執(zhí)行該服務(wù)程序后,控制就轉(zhuǎn)移到DOS,即返回
到DOS管理的狀態(tài)。因此,用戶在組織程序時,必須使程序執(zhí)行完后能去執(zhí)行存放于PSP
開始處的INT20H指令,這樣便返回到DOS,否則就無法繼續(xù)鍵入命令和程序。
DOS在建立了程序段前綴區(qū)PSP之后,將要執(zhí)行的程序從磁盤裝入內(nèi)存。在定位程序
時,DOS將代碼段置于PSP下方,代碼段之后是數(shù)據(jù)段,最后放置堆棧段。內(nèi)存分配好之
后,DOS就設(shè)置段寄存器DS和ES的值,以使它們指向PSP的開始處,即INT20H的存
放地址,同時將CS設(shè)置為PSP后面代碼段的段地址,IP設(shè)置為指向代碼段中第一條要執(zhí)
行的指令位置,把SS設(shè)置為指向堆棧的段地址,讓SP指向堆棧段的棧底,然后系統(tǒng)開始
執(zhí)行用戶程序。為了保證用戶程序執(zhí)行完后能返回到DOS狀態(tài),可使用如下兩種方法。
(-)標(biāo)準(zhǔn)方法
首先將用戶程序的主程序定義成一個FAR過程,其最后一條指令為RET。然后在代碼
段的主程序(即FAR過程)的開始部分用如下三條指令將PSP中INT20H指令的段地址及偏
移地址壓入堆棧:
PUSHDS;保護PSP段地址
MOVAX,0;保護偏移地址0
PUSHAX
這樣,當(dāng)程序執(zhí)行到主程序的最后一條指令RET時,由于該過程具有FAR屬性,故
存在堆棧內(nèi)的兩個字就分別彈出到CS和IP,從而執(zhí)行INT20H指令,使控制返回到DOS
狀態(tài)。返回DOS的標(biāo)志就是程序運行完后出現(xiàn)一個DOS的標(biāo)識符,如C:\>?
(二)非標(biāo)準(zhǔn)方法
也可在用戶的程序中不定義過程段,只在代碼段結(jié)束之前(即CODEENDS之前)增加
兩條語句:
MOVAH,4CH
INT21H
則程序執(zhí)行完后也會自動返回DOS狀態(tài)。
此外,由于開始執(zhí)行用戶程序時,DS并不設(shè)置在用戶的數(shù)據(jù)段的起始處,ES同樣也
不設(shè)置在用戶的附加段起始處,因而在程序開始處使用以下方法重新裝填DS和ES的值使
其指向用戶的數(shù)據(jù)段:
MOVAX,段名
MOV段寄存器名,AX;段寄存器名可以是DS、ES、SS之一
四'實驗內(nèi)容與步驟
1、實驗內(nèi)容
編寫程序,判斷一個年份是否是閏年.
2、實驗步驟
匯編語言程序設(shè)計上機過程如圖1」所示。
圖1.1匯編語言程序上機過程
(-)用編輯程序EDIT建立匯編語言源程序文件(ASM文件)
例如,編寫程序,判斷一個年份是否是閏年的匯編語言源程序,可以在DOS模式下用
編輯程序EDIT.EXE建立匯編語言源程序文件ABC.ASM,注意文件名的擴展名必須
是.ASM。也可以在Windows2000或者在WindowsXP環(huán)境下鼠標(biāo)單擊“開始”一“運
行”,在“運行”中輸入“CMD”進(jìn)入DOS模式,運行EDIT軟件,例如:
C>EDITABC.ASM
進(jìn)入EDIT的程序編輯畫面時,輸入?yún)R編語言源程序如下:
DATASEGMENT
INFONDBODH,OAH,JPleaseinputayear:$'
YDBODH,OAH,JThisisaleapyear!$'
NDBODH,OAH,JThisisnotaleapyear!$'
WDW0
BUFDB8
DBQ
DB8DUP(?)
DATAENDS
STACKSEGMENT'stack'
DB200DUP(O)
STACKENDS
CODESEGMENT
ASSUMEDS:DATA,SS:STACK,CS:CODE
START:MOVAX,DATA
MOVDS,AX
LEADX,INFON
MOVAH,9
INT2111
LEADX,BUF
MOVAH,10
INT21H
MOVCL,[BUF+1]
LEADI,BUF+2
CALLDATACATE
CALLIFYEARS
JCAl
LEADX,N
MOVAH,9
INT2111
JMPEXIT
Al:LEADX,Y
MOVAH,9
INT21H
EXIT:MOVAH,4CH
INT2111
DATACATEPROCNEAR
LEASI,BUF+2
MOVBX,0
X3:
MOVAL,[SI]
SUBAL,3OH
MOVAH,0
XCHGAX,BX
MOVDX,10D
MULDX
XCHGAX,BX
ADDBX,AX
INCSI
LOOPX3
MOVW,BX
RET
DATACATEENDP
IFYEARSPROCNEAR
PUSHBX
PUSHCX
PUSHDX
MOVAX,W
MOVCX,AX
MOVDX,0
MOVBX,4
DIVBX
CMPDX,0
JNZLABI
MOVAX,CX
MOVBX,100
DIVBX
CMPDX,0
JNZLAB2
MOVAX,CX
MOVBX,400
DIVBX
CMPDX,0
JZLAB2
LABI:CLC
JMPLAB3
LAB2:STC
LAB3:POPDX
POPCX
POPBX
RET
IFYEARSENDP
CODEENDS
ENDSTART
(二)用匯編程序MASM將ASM文件匯編成目標(biāo)程序文件(OBJ文件)
當(dāng)源程序建立以后,仍以ABC.ASM程序為例,我們用匯編程序MASM對ABC.ASM
源程序文件進(jìn)行匯編,以便產(chǎn)生機器碼的目標(biāo)程序文件ABC.OBJ,其操作步驟如下:
OMASMABC
Microsoft(R)MacroAssemblerVersion5.00
Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.
Objectfilename[ABC.OBJ]:
Sourcelisting[NUL.LST]:ABC
Cross-reference[NUL.CRFJ:ABC
50674+450574Bytessymbolspacefree
0WarningErrors
0SevereErrors
由此可知,匯編程序調(diào)入后,首先顯示版本號,然后出現(xiàn)三個提示行。
第一個提示行為:Objectfilename[ABC.OBJ]:
這是詢問目標(biāo)程序文件名,方括號內(nèi)為機器規(guī)定的默認(rèn)的文件名,通常直接按回車
鍵,表示采用默認(rèn)的文件名(如上所示),這是我們匯編的主要目的。
第二個提示行為:Sourcelisting[NUL.LST]:
這是詢問是否建立列表文件。若不建立,直接回車;若要建立,可以輸入文件名ABC
再回車,表示要建立名為ABC的列表文件。列表文件中同時列出源程序和機器語言程序清
單,并給出符號表,有利于程序調(diào)試。
第三個提示行為:Cross-referencefNUL.CRF]:
這是詢問是否要建立交叉索引文件。若不建立,則直接回車;若要建立,可以輸入文
件名ABC,表示要建立ABC.CRF文件。由于CRF是非文本文件,為了建立交叉索引文
件,還必須調(diào)用CREF.EXE程序,即輸入:
OCREFABC
Microsoft(R)Cross-ReferenceUtilityVersion5.00
Copyright(C)MicrosoftCorp1981-1985,1987.Allrightsreserved.
listing[ABC.REF]:
17Symbols
這時首先顯示版本號,然后出現(xiàn)一個提示行:Listing[ABC.REF]:
這是詢問交叉索引文件名。這時可用回車承認(rèn)方括號內(nèi)機器默認(rèn)的文件名,如上所
示。這樣就建立了ABC.REF文件。其內(nèi)容是用戶定義的所有符號(包括變量),并給出每個
符號定義所在的行號(附以#)以及引用的行號。如下是ABC.REF文件的內(nèi)容:
MicrosoftCross-ReferenceVersion5.00SatDec0118:49:422007
SymbolCross-Reference(#definition,+modification)Cref-1
Al4247#
BUF15#35383955
CODE28#29111
DATA1#212930
DATACATE4053#80
EXIT4650#
IFYEARS4182#110
INFON2#32
LABI92103#
LAB297102105#
LAB3104106#
N10#43
STACK22#222729
START30#112
W14#76+86
X360#73
Y6#47
17Symbols
調(diào)入?yún)R編程序,當(dāng)我們回答了上述各提示行的詢問之后,匯編程序就對源程序進(jìn)行匯
編。若匯編過程中發(fā)現(xiàn)源程序有語法錯誤,則列出有錯誤的語句和錯誤的代碼。錯誤分警
告錯誤(WraningErrors)和嚴(yán)重錯誤(SevereErrors)o警告錯誤是指匯編程序認(rèn)為的一般性錯
誤;嚴(yán)重錯誤是指匯編程序認(rèn)為無法進(jìn)行正確匯編的錯誤,并給出錯誤的個數(shù)及行號、錯
誤的性質(zhì)等。這時,就要對錯誤進(jìn)行分析,找出問題和原因,然后再調(diào)用編輯程序加以修
改,修改后重新匯編,直到匯編后無錯誤為止。
(三)用連接程序LINK生成可執(zhí)行程序文件(EXE文件)
經(jīng)匯編后產(chǎn)生的二進(jìn)制的目標(biāo)程序文件(OBJ文件)并不是可執(zhí)行程序文件(EXE文件),
必須經(jīng)連接以后,才能成為可執(zhí)行文件。連接程序并不是專為匯編語言程序設(shè)計的。如果
一個程序是由若干個模塊組成的,也可通過連接程序LINK把它們連接在一起。這些模塊
可以是匯編程序產(chǎn)生的目標(biāo)文件,也可以是高級語言編譯程序產(chǎn)生的目標(biāo)文件。
連接過程如下:
OLINKABC
Microsoft(R)OverlayLinkerVersion3.60
Copyright(C)MicrosoftCorp1983-1987.Allrightsreserved.
RunFile[ABC.EXE]:
ListFile[NUL.MAP]:ABC
Libraries[.LIB]:
在連接程序調(diào)入后,首先顯示版本號,然后出現(xiàn)三個提示行。
第一個提示行為:RunFile[ABC.EXE]:
這是詢問要產(chǎn)生的可執(zhí)行文件的文件名。一般直接回車采用方括號內(nèi)規(guī)定的隱含文件
名。
第二個提示行為:ListFile[NUL.MAPJ:
這是詢問是否要建立連接映象文件。若不建立,則直接回車;若要建立,則輸入文件
名再回車。如果要建立該文件,可以輸入文件名ABC。
第三個提示行為:Libraries[.LIB]:
這是詢問是否用到庫文件。若無特殊需要,則直接回車即可。
上述提示行回答后,連接程序開始連接。若連接過程中有錯,則顯示錯誤信息,錯誤
分析清楚后,要重新調(diào)入編輯程序進(jìn)行修改,然后重新匯編,再經(jīng)過連接,直至無錯為
止。連接以后,便產(chǎn)生了可執(zhí)行程序文件(EXE文件)。
(四)程序的執(zhí)行
當(dāng)我們建立了可執(zhí)行文件ABC.EXE后,就可直接在DOS下執(zhí)行該程序:
OABC
根據(jù)程序提示,輸入一個年份,計算機會輸出是否閏年的結(jié)果。
五'實驗要求與提示
1、實驗要求
(1)掌握匯編語言程序設(shè)計上機過程;
(2)回答思考問題;
(3)記錄實驗結(jié)果。
2、實驗提示
按照圖1.1的上機過程進(jìn)行實驗。
六、思考與練習(xí)以及測評標(biāo)準(zhǔn)
(1)匯編過程中MASMABC和MASMABC.ASM的結(jié)果是否一致。
(2)連接過程中LINKABC和LINKABC.OBJ的結(jié)果是否一致。
(3)使用Word如何錄入?yún)R編語言源程序。
實驗二Debug的使用(基礎(chǔ)與驗證型)
一'實驗要求和目的
熟練掌握動態(tài)調(diào)試程序DEBUG的使用;
二、軟硬件環(huán)境
1、硬件環(huán)境:微機CPU486以上,500MB以上硬盤,32M以上內(nèi)存;
2、軟件環(huán)境:裝有MASM5.0、Debug、LINK、EDIT、CREF.EXE和EXR2BIN.EXE等應(yīng)用
程序。
三'實驗涉及的主要知識單元
通過編輯、匯編和連接后的程序是可以執(zhí)行的程序.但是,一個程序特別是比較復(fù)雜
的程序不能保證沒有一點錯誤。因此,在投入正式運行前必須進(jìn)行調(diào)試,以檢查程序的正
確性。調(diào)試程序Debug就是用來調(diào)試匯編語言程序的一種工具。Debug的主要功能有顯示
和修改寄存器及內(nèi)存單元的內(nèi)容:按指定地址啟動并運行程序:設(shè)置斷點使程序分段運
行,以便檢查程序運行過程中的中間結(jié)果或確定程序出錯的位置;反匯編被調(diào)試程序,它
將一個可執(zhí)行文件中的指令機器碼反匯編成助記符指令并同時給出指令所在的內(nèi)存地址;
單條追蹤或多條追蹤被調(diào)試程序,它可以逐條指令執(zhí)行或幾條指令執(zhí)行被調(diào)試程序,每執(zhí)
行一條(或幾條)指令后,Debug程序?qū)⒅袛喑绦虻倪\行并提供有關(guān)結(jié)果信息;匯編一段程
序,在Debug的匯編命令下可以直接輸入助記符指令,并將其匯編成可運行程序段。此
外,Debug還可以將磁盤指定區(qū)的內(nèi)容或一個文件裝入到內(nèi)存或?qū)?nèi)存的信息寫到磁盤上
等等。
啟動Debug程序:在DOS狀態(tài)下可以用下面的命令啟動Debug
DEBUG[路徑文件名.
Debug后面的文件名及路徑是指被調(diào)試程序的文件名及路徑,Debug后面的文件必須
是程序的可執(zhí)行文件,其擴展名可以是.EXE或.COM。在此命令后,DOS將調(diào)試程序
Debug調(diào)入內(nèi)存,Debug接著將被調(diào)程序送入內(nèi)存。比如:DEBUG123.EXE
調(diào)試程序Debug的主要命令如下:
(―)顯示內(nèi)存單元內(nèi)容的命令D
格式⑴:-D地址
從指定地址開始,顯示128個字節(jié)的內(nèi)容,每一行的左邊顯示段內(nèi)偏移地址,接著顯
示16個單元的內(nèi)容,最右邊區(qū)域則顯示這一行的16個單元所對應(yīng)的可顯示的字符。若無
可顯示的字符,則用圓點(小數(shù)點)填充。
D命令中的地址可為段內(nèi)偏移量,也可為段基址和段內(nèi)偏移量兩部分,中間用冒號隔
開,如1680:0110,即指段基址為1680H,段內(nèi)偏移量為0110H。Debug中所顯示的數(shù)據(jù)
均為十六進(jìn)制數(shù),且省去了后面的H標(biāo)志。
格式(2):-D范圍
將顯示指定地址范圍內(nèi)的內(nèi)存單元的內(nèi)容,起始地址可由段基址及段內(nèi)偏移量兩個部
分組成,中間用冒號“:”隔開,也可以只指出段內(nèi)偏移量,而此時的段基址在DS中。
這里所說的范圍包含起始地址和結(jié)束地址。
比如一DDS:10001020
將顯示數(shù)據(jù)段偏移地址為1000H到1020H的內(nèi)容。
(二)修改內(nèi)存單元內(nèi)容的命令E
格式(1):-E地址內(nèi)容表
它的功能是用給定的內(nèi)容表去代替所指定的內(nèi)存單元的內(nèi)容。
例如:
EDS:011041'CLOSEz41
該命令執(zhí)行后,將用列表中的7個字符填入從DS:0110到口5:0116的7個存儲單元
中。
格式(2):E地址
它的功能是可以連續(xù)地逐個修改內(nèi)存單元的內(nèi)容。當(dāng)屏幕上顯示指定單元的地址和內(nèi)
容之后,可采取下列辦法:
①若指定單元的內(nèi)容需要修改,則將新的內(nèi)容的十六進(jìn)制數(shù)輸入,再按空格鍵,修改
便告完成,然后顯示下一個存儲單元的地址及內(nèi)容,若需要修改,可進(jìn)行同樣的操作。若
某一個單元的內(nèi)容不需要修改,而操作又要進(jìn)行下去,則可直接按空格鍵。
②若需要顯示前一個單元的地址和內(nèi)容,則輸入連接號',若要修改,則輸入新的
內(nèi)容;若顯示前一個單元的地址和內(nèi)容仍要修改,則可進(jìn)行同樣的操作;若顯示的內(nèi)容不
需要修改,則可直接按'鍵,使該操作由高地址向低地址單元連續(xù)不斷地進(jìn)行。
③按<CR>鍵,結(jié)束E命令。
(三)檢查和修改寄存器內(nèi)容的命令R
格式(D:R
此時將顯示所有寄存器的內(nèi)容和全部標(biāo)志位的狀態(tài),以及現(xiàn)行CS:IP所指的機器指
令代碼和反匯編符號。
格式(2):R寄存器名
該格式可用于檢查和修改指定寄存器的內(nèi)容。若不修改其內(nèi)容,可按<CR>鍵,若需要
修改其內(nèi)容,可以輸入1-4個十六進(jìn)制數(shù),再按<CR>鍵。
格式(3):RF
該格式可用于顯示標(biāo)志和修改標(biāo)志位狀態(tài)。
當(dāng)系統(tǒng)給出標(biāo)志位狀態(tài)后,可采取下列辦法:
①若不需要修改任一標(biāo)志位,可按<CR>鍵。
②若需要修改一個或多個標(biāo)志位,可輸入其相反的值。各標(biāo)志位之間可以無空格且與
順序無關(guān),修改后按<CR>鍵。
由于標(biāo)志位狀態(tài)顯示時,是用下列特殊符號表示的,因而修改時,只要輸入規(guī)定的符
號即可。下面是標(biāo)志名和狀態(tài)符號的對照表:
標(biāo)志名置位符號復(fù)位符號
溢出標(biāo)志OF(是/否)OVNV
方向標(biāo)志DF(減/增)DNUP
中斷標(biāo)志IF(允許/禁止)EIDI
符號標(biāo)志SF(負(fù)/正)NGPL
零標(biāo)志ZF(是/否)ZRNZ
輔助進(jìn)位標(biāo)志AF(是/否)ACNA
奇偶校驗標(biāo)志PF(偶/奇)PEPO
進(jìn)位標(biāo)志CF(是/否)CYNC
只有追蹤標(biāo)志TF,不能用指令直接修改。
例如:輸入RF命令,系統(tǒng)可能作出如下響應(yīng):
OVDNEINGZRACPECY-
若現(xiàn)在要修改奇偶、零、中斷和溢出標(biāo)志位,可在光標(biāo)處輸入:
PONZDINV<CR>
(四)運行程序命令G
格式:G[=地址][地址[地址…]]
該命令可以在程序運行中設(shè)置斷點。它是Debug程序進(jìn)行程序調(diào)試的主要命令之一。
示例:-g001a則執(zhí)行從當(dāng)前cs:ip至001a的指令,注意:地址設(shè)置必須從指令的第一字
節(jié)設(shè)起。
①第一個參數(shù)“=地址”規(guī)定了程序執(zhí)行的起始地址,以CS內(nèi)容作段地址,等號后面
的地址只需給出地址偏移量。此時,命令G與地址之間的等號不能省去。
如果在G命令執(zhí)行前,已經(jīng)設(shè)置了CS值和IP值,則也可以直接用G命令,從指定地
址執(zhí)行程序。
②格式中后面給出的地址是指斷點地址,最多可設(shè)置10個斷點。當(dāng)程序執(zhí)行到一個斷
點時,就停下來,顯示CPU各寄存器的內(nèi)容和標(biāo)志位的狀態(tài),以及下一條待執(zhí)行的指令,
被調(diào)試程序的所有斷點全部被取消,并返回Debug。
③地址參數(shù)所指的單元,必須包含有有效的8088指令的第一個字節(jié),否則將產(chǎn)生不可
預(yù)料的結(jié)果。
④堆棧必須至少包含有6個可用字節(jié),否則也將產(chǎn)生不可預(yù)料的結(jié)果。
⑤若斷點地址只包括地址偏移量,則認(rèn)為段地址在CS寄存器中。
(五)追蹤命令T
格式⑴:T[=地址]
該命令可以在指令執(zhí)行中進(jìn)行追蹤,若略去地址,則從CS:IP現(xiàn)行值執(zhí)行。每一次T
命令都執(zhí)行一條指令。
格式(2):T[=地址][值]
此時,它可對多條指令進(jìn)行追蹤,即在執(zhí)行了由值所指定的若干條指令之后,停止執(zhí)
行并顯示各寄存器的內(nèi)容和各標(biāo)志位,還指出下一條待執(zhí)行的指令。
(六)匯編命令A(yù)
若在調(diào)試目標(biāo)程序的過程中,要求改寫或增添一段目標(biāo)程序,則可以用A命令直接在
Debug下實現(xiàn)。
格式:A[地址]
該命令可以從指定地址開始,將輸入的匯編語言語句立即匯編成機器代碼,連續(xù)存放
在內(nèi)存單元中。在程序輸入完畢后,最后一行不輸入內(nèi)容,直接按回車鍵,即可返回
DEBUG程序,還可用反匯編命令U對剛輸入的內(nèi)容進(jìn)行反匯編,以驗證輸入的程序是否
正確。
使用A命令應(yīng)遵守以下規(guī)則:
①所有輸入數(shù)值,均為十六進(jìn)制數(shù)。
②前綴助記符,必須在相關(guān)指令的前面輸入,可以在同一行,也可以在不同行輸入。
③段超越助記符為CS:、DS:、ES:、SS:o
④遠(yuǎn)調(diào)用時的返回指令助記符用RETF。
⑤使用串操作指令時,助記符中必須注明是字節(jié)還是字傳送。
⑥匯編語言能自動匯編短、近和遠(yuǎn)的轉(zhuǎn)移及近和遠(yuǎn)的調(diào)用,也能由NEAR和FAR前
綴來超越。
例如:
0110:0600JMP602;短轉(zhuǎn)移
0110:0602JMPNEAR605;近轉(zhuǎn)移
0110:0605JMPFAR60A;遠(yuǎn)轉(zhuǎn)移
第一條JMP指令中含有一個字節(jié)偏移量。
第二條JMP指令中含有兩個字節(jié)偏移量。
第三條JMP指令中含有兩個字節(jié)的偏移量及兩個字節(jié)的段地址。
⑦當(dāng)DEBUG不能確定某些操作數(shù)涉及的是字類型存儲單元還是字節(jié)類型的存儲單元
時,在這種情況下,必須用前綴“WORDPTR”或“BYTEPTR”來加以說明。
例如:
NEGBYTEPTR[128]
DECWORD[SI]
⑧當(dāng)Debug不能確定一個操作數(shù)是立即數(shù)還是存儲單元的地址時,可以把地址放在方
括號中。
⑨兩個最常用的偽指令DB和DW可以在A命令中使用,用來直接把字節(jié)或字的值送
入相應(yīng)的存儲單元。
例如:
DB2,5,3,4,'THISISANEXAMPLEz
DW6000,2000,7000,'BA'
⑩Debug支持所有形式的寄存器間接尋址命令。
例如:ADDBX,74LBP+3][SI-5]
POP[BX+DI]
(七)反匯編命令U
格式(1):U地址
該命令從指定的地址開始,反匯編32個字節(jié)。若略去指定地址,則以上一個U命令
反匯編的最后一條指令地址的下一條指令地址作為起始地址;若沒有用過U命令,則以由
Debug初始化的段寄存器的值作段地址,以100作為地址偏移量。
格式(2):U范圍這種格式的命令,可以對指定范圍的內(nèi)存單元進(jìn)行反匯編,范圍可以
由起始地址、結(jié)束地址(只能包含地址偏移量)或起始地址及長度來指定。其命令格式如:
U04BA:1000108或U04BA:0100L7
兩者是等效的。
(A)輸入命令I(lǐng)
格式:I端口地址
該命令從指定端口輸入一個字節(jié)并顯示。
例如:I2E8
CC
它表示所顯示的是從02E8端口輸入的一個字節(jié)為CCo
(九)輸出命令0
格式:0端口地址字節(jié)值
其功能是向指定的端口輸出一個字節(jié)。
例如:02E812
它表示將一個字節(jié)12H送到輸出端口2E8。
(十)命名命令N
格式:N文件標(biāo)識符[文件標(biāo)識符]
該命令用給定的兩個文件標(biāo)識符格式化在CS:5C和CS:6C的兩個文件控制塊中(若在
調(diào)用Debug時具有一個文件標(biāo)識符,則它已格式化在CS:5c的文件控制塊中),文件控制
塊是將要介紹的裝入命令L和寫命令W所需要的。
N命令能把文件標(biāo)識符和別的參數(shù)放至CS:81開始的參數(shù)保存區(qū)中。在CS:80中保存
輸入的字符個數(shù),寄存器AX保存前兩個文件標(biāo)識符中的驅(qū)動器標(biāo)志。
例如:
A>DEBUG<CR>
NTEST<CR>
L<CR>
N命令后,用L命令可將TEST調(diào)入自己的CS:100開始的存儲區(qū)中。若對正在調(diào)試的
程序TEST進(jìn)行調(diào)試時,需要用到其它的文件標(biāo)識符及其它參數(shù),也可用N命令加以實
現(xiàn)。;
例如:
A>DEBUGTEST<CR>
N文件1文件2<CR>
(H■*一)裝入命令L
格式1:L〈地址》〈驅(qū)動器號》〈起始邏輯扇區(qū)〉〈所讀扇區(qū)個數(shù)n>
其中〈地址》的缺省值為CS:100。邏輯扇區(qū)可由物理扇區(qū)號換算得到,以雙面雙密
度盤為例:物理扇區(qū)是按0面。道1區(qū),0面0道2區(qū),...,0面0道9區(qū),。面1道1
區(qū),……,0面39道9區(qū),1面0道1區(qū),……,1面39道9區(qū)排列。而邏輯扇區(qū)與物理
扇區(qū)號的對應(yīng)關(guān)系為物理扇區(qū)。面。道1扇區(qū)至9扇區(qū),邏輯扇區(qū)號為0—8;物理扇區(qū)1
面。道1扇區(qū)至9扇區(qū),邏輯扇區(qū)號為9—11H;物理扇區(qū)。面1道1扇區(qū)至9扇區(qū),邏輯
扇區(qū)號為12—1AH;……o這樣每道先0面后1面一直排下去。
其中〈驅(qū)動器號>為0、1或2,0表示A驅(qū),1表示B驅(qū),2表示硬盤。
功能:將〈驅(qū)動器號〉指定的盤上,從〈起始邏輯扇區(qū)》起,共n個邏輯扇區(qū)上的所有字
節(jié)順序讀入指定內(nèi)存地址開始的一片連續(xù)單元。當(dāng)L后的參數(shù)缺省時,必須在L之前由N
命令指定(或進(jìn)入DEBUG時一并指出)所讀驅(qū)動器文件名。此時L執(zhí)行后將該文件裝入內(nèi)
存。
例如:-NEXAMPLE<Enter>
-L<Enter>
將當(dāng)前驅(qū)動器上的EXAMPLE文件裝入CS:100起始的一片內(nèi)存單元。
格式2:L地址或L
該命令把已在CS:5C中格式化的文件控制塊所指定的文件裝入到指定區(qū)域中。
若省略地址,則裝入到CS:100開始的內(nèi)存區(qū)域中。
若是帶有擴展名COM或.EXE文件,無論命令中是否指定了地址,一律裝入到CS:100
開始的內(nèi)存區(qū)域中去。
通常在BX和CX中包含了所讀入文件的字節(jié)數(shù),但對具有擴展名.EXE文件,則BX
和CX中還包含實際程序長度。
(十二)寫命令W
功能:為L/W命令指定待裝入/寫盤文件
格式1:W〈地址>〈盤號》〈起始邏輯扇區(qū),〈所寫邏輯扇區(qū)數(shù)n>
功能:與L命令不同的地方是將內(nèi)存從〈地址>起始的一片單元內(nèi)容寫入指定扇區(qū)。只
有W而沒有參數(shù)時,與N命令配合使用將文件寫盤。該命令把由地址所指定的內(nèi)存區(qū)域
中的數(shù)據(jù)寫入指定的驅(qū)動器。若地址中只包含偏移量,則段地址在CS中。
其中,扇區(qū)號決定了寫入起始扇區(qū);區(qū)段數(shù)決定了寫入的區(qū)段個數(shù);扇區(qū)號和區(qū)段數(shù)
均用十六進(jìn)制數(shù)表示。
格式2:W地址或W
該命令把指定內(nèi)存區(qū)域中的數(shù)據(jù),寫入到由CS:5c處的文件控制塊所規(guī)定的文件中
去。若省略地址,則內(nèi)存區(qū)域從CS:100開始。
對于擴展名為.EXE或.HEX文件不能寫入。因為這些文件的寫入要用一種特殊格式,
而此格式Debug程序不支持。
(十三)退出Debug命令Q
格式:Q
該命令退出Debug程序并返回DOS。
Q命令并不把內(nèi)存中的文件存盤,若需要存盤的話,應(yīng)在退出前用W命令寫入磁盤。
四'實驗內(nèi)容與步驟
1、實驗內(nèi)容
(1)進(jìn)入和退出Debug程序
(2)學(xué)會Debug中的D命令、E命令、R命令、T命令、A命令、G命令、U命令、N命
令、W命令等的使用。
(3)利用Debug,驗證乘法、除法、加法、減法、帶進(jìn)位加、帶借位減、堆棧操作指
令、串操作指令的功能。
(4)使用Debug調(diào)試程序調(diào)試匯編程序。
2、實驗步驟
(1)在DOS提示符下,進(jìn)入Debug程序。
(2)詳細(xì)記錄每一步所用的命令,以及查看結(jié)果的方法和具體結(jié)果。
(3)現(xiàn)有一個雙字加法源程序如下,其中存在錯誤?,F(xiàn)假設(shè)已匯編、連結(jié)生成了可執(zhí)
行文件HB.EXE,存放在d:\MASM目錄下。請使用Debug對其進(jìn)行調(diào)試。
CodeSEGMENT
ASSUMECS:code,DS:code
ORG100H;從10011處開始存放下列指令
Start:MOVAX,code;將口$置成code段的首地址
MOVDS,AX
MOVSI,200H;取第一個數(shù)的首地址
MOVAX,[SI];將第一個數(shù)的低16位取到AX
MOVDl,204H;取第二個數(shù)的首地址
ADDAX,[DI];第一個數(shù)和第二個數(shù)的低16應(yīng)相加
MOV[SI+8],AX;低16位相加的結(jié)果送到20811和209H單元
MOVAX,[SI+2];取第一個數(shù)的高16位送到AX中
ADDAX,[DI+2];兩個數(shù)的高16位相加
MOV[SI+OAH],AX;高16位相加的結(jié)果送到20AH,20BH單元
MOVAX,4C00H;使用DOS的4al號功能調(diào)用
INT21H;進(jìn)入功能調(diào)用,返回DOS
ORG200H;從20(^處開始存放下列數(shù)據(jù)
DD12345678h,654387A9h,Oh;被加數(shù)、加數(shù)、和
CodeENDS
ENDstart
調(diào)試過程:
①進(jìn)入Debug并裝入可執(zhí)行文件IIB.EXE
D:\MASM>DebugHB.EXE<Enter>
②觀察寄存器初始狀態(tài)
-R<Enter>
AX=0000BX=0000CX=020CDX=0000SP=0000BP=0000SI=OOOO1)1=0000
DS=1892ES=1892SS=18A2CS=18A2IP=0100NVUPEIPLNZNAP0NC
18A2:0100B8A218MOVAX,18A2
注:(1)以上顯示的寄存器值,可能和你的電腦顯示的不一樣。
(2)Debug中默認(rèn)的進(jìn)制是十六進(jìn)制。
③以單步工作方式開始運行程序
首先用T命令順序執(zhí)行用戶程序的前1兩條指令,將段寄存器DS預(yù)置為用戶的數(shù)據(jù)
段。
-T<Enter>
AX=18A2BX=0000CX=020cDX=0000SP=0000BP=0000SI=0000DI=0000
DS=1892ES=1892SS=18A2CS=18A2IP=0103NVUPEIPLNZNAPONC
18A2:01038ED8MOVDS,AX
-T<Enter>
AX=18A2BX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=OOOODI=OOOO
DS=18A2ES=1892SS=18A2CS=18A2IP=0105NVUPEIPLNZNAPONC
18A2:0105BE0002MOVSI,0200
④觀察用戶程序數(shù)據(jù)段初始內(nèi)容
-D20020F<Enter>
18A2:020078563412A9874365-0000000000741350xV4...Cet.P
⑤連續(xù)工作方式運行程序至返回DOS前(設(shè)斷點),查看運行結(jié)果。為此,現(xiàn)使用U命
令反匯編。
-U100<Enter>
18A2:0100B8A218MOVAX,18A2
18A2:01038ED8MOVDS,AX
18A2:0105BE0002MOVSI,0200
18A2:01088B04MOVAX,[SI]
18A2:010ABF0402MOVDI,0204
18A2:010D0305ADDAX,[DI]
18A2:010F894408MOV[SI+08],AX
18A2:01128B4402MOVAX,[SI+02]
18A2:0115034502ADDAX,[DI+02]
18A2:011889440AMOV[SI+OA],AX
18A2:0UBB8004CMOVAX,4C00
18A2:011ECD21INT21
可見,要執(zhí)行10條指令,至011B處停止
-G=100,011B<Enter>
AX=7777BX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=0200DI=0204
DS=18A2ES=1892SS=18A2CS=18A21P=O11BNVUPEIPLNZNAPENC
18A2:011BB8004CMOVAX,4C00
-D20020F<Enter>
18A2:020078563412A9874365-21DE777743438306xV4...Ce!.wCC..
和為7777DE21H正確。
⑥再取一組數(shù)據(jù),查看運行結(jié)果。為此,首先用E命令修改數(shù)據(jù)。
-E200CD,AB,78,56,90,EF,34,12<Enter>
-D20020F<Enter>
18A2:0200CDAB785690EF3412-21DE777743438306..xV..4.!.wCC..
-G=100,11B<Enter>
AX二68ACBX=0000CX=020CDX=0000SP=0000BP=0000SI=0200DI=0204
DS=18A2ES=1892SS=18A2CS=18A2IP=011BNVUPEIPLNZNAPENC
18A2:011BB8004CMOVAX,4C00
-D20020F<Enter>
18A2:0200CDAB785690EF3412-5D9BAC6843438306..xV..4..hCC..
和為68AC9B5DH,錯誤。說明程序有問題。
⑦再將斷點設(shè)在完成低位字加法后,查看運行結(jié)果。
-G=100,112<Enter>
AX=9B5DBX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=0200DI二0204
DS=18A2ES=1892SS=18A2CS=18A2IP=0112NVUPEINGNZNAP0CY
18A2:01128B4402MOVAX,[SI+02]DS:0202=5678
-D20020F<Enter>
18A2:0200CDAB785690EF3412-5D9BAC6843438306..xV..4.]..hCC..
低位和為9B5D,正確。說明錯誤可能出在后面
⑧使用T命令從剛才的斷點處向后單步調(diào)試,查看運行結(jié)果。
-T=112<Enter>
AX=5678BX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=0200DI=0204
DS=18A2ES=1892SS=18A2CS=18A2IP=0115NVUPEINGNZNAP0CY
18A2:0115034502ADDAX,[DI+02]DS:0206=1234
-T<Enter>
AX=68ACBX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=0200DI=0204
DS=18A2ES=1892SS=18A2CS=18A2IP=0118NVUPEIPLNZNAPENC
18A2:011889440AMOV[SI+OA],AXDS:020A=68AC
AX寄存器的結(jié)果為68AC,而應(yīng)為68AD??梢娛潜緱l加法指令使用錯誤,這里應(yīng)使用帶進(jìn)
位加法指令。
⑨使用A命令裝入正確指令后再次運行,察看結(jié)果。
-A115<Enter>
18A2:0115ADCAX,[DI+02]<Enter>
18A2:0118<Enter>
-G=100,11B<Enter>
AX=68ADBX=OOOOCX=020CDX=OOOOSP=OOOOBP=OOOOSI=0200DI=0204
DS=18A2ES=1892SS=18A2CS=18A2IP=011BNVUPEIPLNZNAPONC
18A2:011BB8004CMOVAX,4C00
-D20020F<Enter>
18A2:0200CDAB785690EF3412-5D9BAD6843438306..xV..4.]..hCC..
和為68AD9B5DH,正確。對于這樣一個簡單程序一般來說不會再有問題。退出后修改源程
序即可。
⑩退出
-Q<Enter>
D:\>
需要說明的是此程序很簡單,只需使用T命令逐條單步調(diào)試即可。本例采用的調(diào)試方
法似乎過于繁瑣,但這是為了說明程序調(diào)試的一般方法,以便讀者調(diào)試復(fù)雜程序時借鑒。
五'實驗要求與提示
1、實驗要求
(1)熟練掌握Debug的命令;
(2)熟練掌握使用Debug調(diào)試匯編程序;
(3)回答思考問題;
(4)記錄實驗結(jié)果。
2、實驗提示
一般使用Debug調(diào)試匯編程序的步籌如下:
(1)調(diào)用DEBUG,裝入用戶程序
(2)觀察寄存器初始狀態(tài)
(3)以單步工作方式開始運行程序
(4)觀察用戶程序數(shù)據(jù)段初始內(nèi)容
(5)繼續(xù)以單步工作方式運行程序
(6)連續(xù)工作方式運行程序
(7)修改程序和數(shù)據(jù)
(8)運用斷點調(diào)試程序
六、思考與練習(xí)以及測評標(biāo)準(zhǔn)
(1)如何啟動和退出Debug程序。
(2)整理每個Debug命令使用的方法,實際示例及執(zhí)行結(jié)果。
(3)啟動Debug后,要裝入某一個.EXE文件,應(yīng)通過什么方法實現(xiàn)?
(4)用Debug調(diào)試程序時,如何設(shè)置斷點?
⑸編寫計算下面函數(shù)值的程序:
\,x>0
y=<0,x=0
-l,x<0
設(shè)輸入數(shù)據(jù)為X、輸出數(shù)據(jù)Y,且皆為字節(jié)變量,使用Debug查看X、Y兩個變量的
數(shù)據(jù)。
⑹分類統(tǒng)計字?jǐn)?shù)組data中正數(shù)、負(fù)數(shù)和零的個數(shù),并分別存入內(nèi)存字變量
Positive、Negative和Zero中,數(shù)組元素個數(shù)保存在其第一個字中。使用
Debug查看Positive、Negative和Zero三個變量的數(shù)據(jù)。
七'參考程序
;CH1EX1.ASM
編寫計算下面函數(shù)值的程序:
'\,x>Q
y=<0,x=0
-l,x<0
設(shè)輸入數(shù)據(jù)為X、輸出數(shù)據(jù)Y,且皆為字節(jié)變量程序如下:
源程序如下:
DATASEGMENT
XDB-10
YDB?
DATAENDS
STACKSEGMENTSTACK
DB200DUP(O)
STACKENDS
CODESEGMENT
ASSUMEDS:DATA,SS:STACK,CS:CODE
START:MOVAX,DATA
MOVDS,AX
CMPX,0;與0進(jìn)行比較
JGEAl;X20轉(zhuǎn)Al
MOVYr1;X<0時,/fY
JMPEXIT
Al:JGA2;X>0轉(zhuǎn)A2
MOVY,0;X=0時,0~Y
JMPEXIT
A2:MOVY,1;X>0,l-Y
EXIT:MOVAH,4CH
INT21H
CODEENDS
ENDSTART
Debugchlexl.exe
|cAC
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重慶貨運從業(yè)資格證模擬試題答案大全及答案
- 2025年貴州貨運從業(yè)資格證500道題目答案
- 2025年池州道路貨運駕駛員從業(yè)資格證考試
- 2025年巴彥淖爾貨運從業(yè)資格證考試模擬考試
- 病人護理服務(wù)合同(2篇)
- 北京課改版歷史七年級下冊第2課《貞觀之治》聽課評課記錄
- 2024-2025學(xué)年八年級數(shù)學(xué)上冊第十三章軸對稱13.1軸對稱教案新版新人教版
- 2024-2025學(xué)年高中數(shù)學(xué)課時分層作業(yè)13向量的概念含解析新人教B版必修4
- 2024-2025學(xué)年七年級數(shù)學(xué)上冊第1章有理數(shù)1.5有理數(shù)的乘法和除法作業(yè)設(shè)計新版湘教版
- 英語七年級聽評課記錄
- 西門子starter軟件簡易使用手冊
- 暢捷通g6財務(wù)管理系統(tǒng)專業(yè)版使用手冊
- 化工儀表及自動化ppt課件匯總?cè)譸pt完整版課件最全教學(xué)教程整套課件全書電子教案全套電子講義
- 2022注冊電氣工程師專業(yè)考試規(guī)范清單匯總
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學(xué)概率部分知識點總結(jié)及典型例題解析 新課標(biāo) 人教版 必修
- 鐵路運費計算方法
- 《小腦梗死護理查房》
- 免疫及炎癥相關(guān)信號通路
- 某風(fēng)電場設(shè)備材料設(shè)備清單
- —橋梁專業(yè)施工圖設(shè)計審查要(終)
評論
0/150
提交評論