實(shí)驗(yàn)九第一個(gè)完整程序資料_第1頁(yè)
實(shí)驗(yàn)九第一個(gè)完整程序資料_第2頁(yè)
實(shí)驗(yàn)九第一個(gè)完整程序資料_第3頁(yè)
實(shí)驗(yàn)九第一個(gè)完整程序資料_第4頁(yè)
實(shí)驗(yàn)九第一個(gè)完整程序資料_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、學(xué)號(hào):姓名:班級(jí):實(shí)驗(yàn)九第一個(gè)完整程序一、實(shí)驗(yàn)要求和目的1、掌握匯編語(yǔ)言程序設(shè)計(jì)的基本方法和技能;2、熟練掌握使用全屏幕編輯程序EDIT 編輯匯編語(yǔ)言源程序;3、熟練掌握宏匯編程序MASM 的使用;4、熟練掌握連接程序LINK 的使用。二、軟硬件環(huán)境1硬件環(huán)境:微機(jī)CPU 486以上, 500MB 以上硬盤, 32M 以上內(nèi)存;2軟件環(huán)境:裝有MASM 5.0 、 DEBUG、 LINK 和 EDIT等應(yīng)用程序。三、實(shí)驗(yàn)涉及的主要知識(shí)單元終于可以編寫(xiě)第1 個(gè)完整的程序了,我們以前都是在Debug 中寫(xiě)一些指令,在Debug 中執(zhí)行。現(xiàn)在我們將開(kāi)始編寫(xiě)完整的匯編語(yǔ)言程序,用編譯和連接程序?qū)⑺鼈兙?/p>

2、譯連接成為可執(zhí)行文件 (* exe 文件 ),在操作系統(tǒng)中運(yùn)行。例如 :編程運(yùn)算23。源程序應(yīng)該怎樣來(lái)寫(xiě)呢?(1)我們要定義一個(gè)段,名稱為abc。abc segment:abc ends(2)在這個(gè)段中寫(xiě)入?yún)R編指令,來(lái)實(shí)現(xiàn)我們的任務(wù)。abc segmentmov ax,2add ax,axadd ax,axabc ends(3)然后,要指出程序在何處結(jié)束。abc segmentmov ax,2add ax,axadd ax,axabc endsend(4)abc 被當(dāng)作代碼段來(lái)用,所以,應(yīng)該將abc 和 CS聯(lián)系起來(lái)。 (當(dāng)然,對(duì)于這個(gè)程序,也不是非這樣做不可。)assume cs: abca

3、bc segmentmov ax,2add ax,axadd ax,axabc endsend匯編語(yǔ)言實(shí)驗(yàn)1學(xué)號(hào):姓名:班級(jí):(5)程序返回我們的程序最先以匯編指令的形式存在源程序中,經(jīng)編譯、連接后轉(zhuǎn)變?yōu)闄C(jī)器碼,存儲(chǔ)在可執(zhí)行文件中,那么,它怎樣得到運(yùn)行呢?下面,我們?cè)贒OS(一個(gè)單任務(wù)操作系統(tǒng))的基礎(chǔ)上,簡(jiǎn)單地討論一下這個(gè)問(wèn)題。一個(gè)程序P2 在可執(zhí)行文件中,則必須有一個(gè)正在運(yùn)行的程序P1,將 P2 從可執(zhí)行文件中加載入內(nèi)存后,將CPU的控制權(quán)交給P2,P2 才能得以運(yùn)行。P2 開(kāi)始運(yùn)行后,P1 暫停運(yùn)行。而當(dāng)P2 運(yùn)行完畢后,應(yīng)該將CPJ 的控制權(quán)交還給使它得以運(yùn)行的程序P1,此后, Pl繼續(xù)

4、運(yùn)行?,F(xiàn)在,我們知道,一個(gè)程序結(jié)束后,將CPU 的控制權(quán)交還給使它得以運(yùn)行的程序,我們稱這個(gè)過(guò)程為:程序返回。應(yīng)該在程序的末尾添加返回的程序段。mov ax, 4c00Hint 2lH這兩條指令所實(shí)現(xiàn)的功能就是程序返回。一個(gè)匯編語(yǔ)言程序從寫(xiě)出到最終執(zhí)行的簡(jiǎn)要過(guò)程。具體說(shuō)明如下。第一步 :編寫(xiě)匯編源程序。使用文本編輯器 (如 Edit、記事本等 ),用匯編語(yǔ)言編寫(xiě)匯編源程序。這一步工作的結(jié)果是產(chǎn)生了一個(gè)存儲(chǔ)源程序的文本文件。第二步 :對(duì)源程序進(jìn)行編譯連接。使用匯編語(yǔ)言編譯程序?qū)υ闯绦蛭募械脑闯绦蜻M(jìn)行編譯, 產(chǎn)生目標(biāo)文件; 再用連接程序?qū)δ繕?biāo)文件進(jìn)行連接,生成可在操作系統(tǒng)中直接運(yùn)行的可執(zhí)行文件。

5、可執(zhí)行文件包含兩部分內(nèi)容。程序 (從源程序中的匯編指令翻譯過(guò)來(lái)的機(jī)器碼)和數(shù)據(jù) (源程序中定義的數(shù)據(jù))相關(guān)的描述信息(比如,程序有多大、要占用多少內(nèi)存空間等)這一步工作的結(jié)果:產(chǎn)生了一個(gè)可在操作系統(tǒng)中運(yùn)行的可執(zhí)行文件。第三步 :執(zhí)行可執(zhí)行文件中的程序。在操作系統(tǒng)中,執(zhí)行可執(zhí)行文件中的程序。操作系統(tǒng)依照可執(zhí)行文件中的描述信息,將可執(zhí)行文件中的機(jī)器碼和數(shù)據(jù)加載入內(nèi)存,并進(jìn)行相關(guān)的初始化(比如設(shè)置CS: IP 指向第一條要執(zhí)行的指令),然后由CPU執(zhí)行程序。下面就按照這幾個(gè)步驟詳細(xì)說(shuō)明:1、編輯源程序可以用任意的文本編輯器來(lái)編輯源程序,只要最終將其存儲(chǔ)為純文本文件即可。在我們的課程中,可使用 DOS

6、下的 Edit。以上面例子說(shuō)明工作過(guò)程。進(jìn)入 DOS方式,運(yùn)行 Edit,如圖 1 所示。(2)在 Edit中編輯程序,如圖2 所示。匯編語(yǔ)言實(shí)驗(yàn)2學(xué)號(hào):姓名:班級(jí):將程序保存為文件 c:1.asm 后,退出 Edit,結(jié)束對(duì)源程序的編輯。2、編譯在完成對(duì)源程序的編輯后,得到一個(gè)源程序文件c:1.asm 。可以對(duì)其進(jìn)行編譯,生成包含機(jī)器代碼的目標(biāo)文件。在編譯一個(gè)源程序之前首先要找到一個(gè)相應(yīng)的編澤器。在我們的課程中,采用微軟的masm5.0 匯編編譯器,文件名為masm.exe。假設(shè)匯編編譯器在c:masm目錄下??梢园凑障旅娴倪^(guò)程來(lái)進(jìn)行源程序的編譯,以c:1.asm 為例。(1) 進(jìn)入 DOS

7、方式,進(jìn)入c:masm 目錄,運(yùn)行masm.exe,如圖 3 所示。圖 4 中,運(yùn)行 masm 后,首先顯示出一些版本信息,然后提示輸入將要被編譯的源程序文件的名稱。注意, “ ASM”提示我們,默認(rèn)的文件擴(kuò)展名是asm,比如,要編譯的源程序文件名是“ p1.asm”,只要在這里輸入“p1”即可。可如果源程序文件不是以asm 為擴(kuò)展名的話,就要輸入它的全名。比如源程序文件名為“p1.txt ”,就要輸入全名。在輸入源程序文件名的時(shí)候一定要指明它所在的路徑。如果文件就在當(dāng)前路徑下,只輸入文件名就可以,可如果文件在其他的目錄中,則要輸入路徑,比如,要編譯的文件p1.txt在“ c:windowsd

8、esktop ”下,則要輸入“ c:windowsdesktopp1.txt ”。這里,我們要編譯的文件是 C 盤根目錄下的 1.asm,所以此處輸入“ c:1.asm ”。(2) 輸入要編譯的源程序文件名后,按Enter 鍵,屏幕顯示如圖4 所示。圖 3 中,在輸入源程序文件名后,程序繼續(xù)提示我們輸入要編譯出的目標(biāo)文件的名稱,目標(biāo)文件是我們對(duì)一個(gè)源程序進(jìn)行編譯要得到的最終結(jié)果。注意屏幕上的顯示:“ 1.OBJ”,因?yàn)槲覀円呀?jīng)輸入了源程序文件名為1.asm,則編譯程序默認(rèn)要輸出的目標(biāo)文件名為1.obj ,所以可以不必再另行指定文件名。直接按 Enter 鍵,編譯程序?qū)⒃诋?dāng)前的目錄下,生成 1.

9、obj文件。這里,也可以指定生成的目標(biāo)文件所在的目錄,比如,想讓編譯程序在“c:windowsdesktop ”下生成目標(biāo)文件 1.obj,則可輸入“ c:windowsdesktop1 ”。這里我們直接按 Enter 鍵,使用編譯程序設(shè)定的目標(biāo)文件名。確定了目標(biāo)文件的名稱后,屏幕顯示如圖5 所示。圖 5 中,編譯程序提示輸入列表文件的名稱,這個(gè)文件是編譯器將源程序編譯為目標(biāo)文件的過(guò)程中產(chǎn)生的中間結(jié)果??梢宰尵幾g器不生成這個(gè)文件,直接按Enter 鍵即可。(4) 忽略了列表文件的生成后,屏幕顯示如圖6 所示。匯編語(yǔ)言實(shí)驗(yàn)3學(xué)號(hào):姓名:班級(jí):圖 6 中,編譯程序提示輸入交叉引用文件的名稱,這個(gè)文

10、件同列表文件一樣,是編譯器將源程序編譯為目標(biāo)文件過(guò)程中產(chǎn)生的中間結(jié)果??梢宰尵幾g器不生成這個(gè)文件,直接按 Enter 鍵即可。(5) 忽略了交叉引用文件的生成后,屏幕顯示如圖7 所示。圖 7 中,對(duì)源程序的編譯結(jié)束,編譯器輸出的最后兩行告訴我們這個(gè)源程序沒(méi)有警告錯(cuò)誤和必須要改正的錯(cuò)誤。上面我們通過(guò)對(duì)C 盤根目錄下的1.asm 進(jìn)行編譯的過(guò)程, 展示了使用匯編編譯器對(duì)源程序進(jìn)行編譯的方法。按照上面的過(guò)程進(jìn)行了編譯之后,在編澤器masm.exe 運(yùn)行的目錄c:masm 下 (即當(dāng)前路徑下 ),將出現(xiàn)一個(gè)新的文件: 1.obj ,這是對(duì)源程序 1.asm 進(jìn)行編譯所得到的結(jié)果。當(dāng)然,如果編譯的過(guò)程中

11、出現(xiàn)錯(cuò)誤,那么將得不到目標(biāo)文件。一般來(lái)說(shuō),有兩類錯(cuò)誤使我們得不到所期望的目標(biāo)文件:(1)程序中有“ Severe Errors”;(2)找不到所給出的源程序文件。注意,在編譯的過(guò)程中, 我們提供了一個(gè)輸入,即源程序文件。 最多可以得到3 個(gè)輸出:目標(biāo)文件 (.obj) 、列表文件 (.lst)、交叉引用文件(.crf) ,這 3 個(gè)輸出文件中,目標(biāo)文件是我們最終要得到的結(jié)果,而另外兩個(gè)只是中間結(jié)果,可以讓編譯器忽略對(duì)它們的生成。在此,我們不討論這兩類文件。3、連接在對(duì)源程序進(jìn)行編譯得到目標(biāo)文件后,我們需要對(duì)目標(biāo)文件進(jìn)行連接,從而得到可執(zhí)行文件。接續(xù)上面的過(guò)程,我們已經(jīng)對(duì)c:1.asm 進(jìn)行編譯

12、得到c:masm1.obj ,現(xiàn)在再將c:masm1.obj連接為 c:masm1.exe 。我們使用微軟的Overlay Linker3.60 連接器,文件名為link.exe,假設(shè)連接器在c:masm目錄下??梢园凑障露倪^(guò)程來(lái)進(jìn)行程序的連接,以c:masm1.obj為例。(1) 進(jìn)入 DOS方式,進(jìn)入c:rnasm 目錄,運(yùn)行l(wèi)ink.exe,如圖 8 所示。圖 8 中,運(yùn)行 link 后,首先顯示一些版本信息,然后提示輸入將要被連接的目標(biāo)文件的名稱。注意, “ .OBJ”提示我們,默認(rèn)的文件擴(kuò)展名是obj,比如要連接的目標(biāo)文件名是“p1.obj ”,只要在這里輸入“ pl”即可。可如果

13、文件不是以 obj 為擴(kuò)展名,就要輸入它的全名。比如目標(biāo)文件名為“ p1.bin ”,就要輸入全名。在輸入目標(biāo)文件名的時(shí)候, 要注意指明它所在的路徑。 這里,要連接的文件是當(dāng)前目錄下的 1.obj,所以此處輸入“ 1 ”。(2) 輸入要連接的Ei 標(biāo)文件名后,按Enter 鍵,屏幕顯示如圖9 所示。匯編語(yǔ)言實(shí)驗(yàn)4學(xué)號(hào):姓名:班級(jí):圖 9 中,在輸入目標(biāo)文件名后,程序繼續(xù)提示我們輸入要生成的可執(zhí)行文件的名稱,可執(zhí)行文件是我們對(duì)一個(gè)程序進(jìn)行連接要得到的最終結(jié)果。注意屏幕上的顯示:“ 1.EXE”,因?yàn)橐呀?jīng)確定了源程序文件名為1.obj ,則程序默認(rèn)要輸出的可執(zhí)行文件名為1.EXE,所以可以不必再另

14、行指定文件名。直接按Enter 鍵,編譯程序?qū)⒃诋?dāng)前的目錄下,生成1.EXE文件。這里,也可以指定生成的可執(zhí)行文件所在的目錄,比如,想讓連接程序在“c:windowsdesktop ”下生成可執(zhí)行文件 1.EXE,則可輸入“ c:windowsdesktopl ”。我們直接按 Enter 鍵,使用連接程序設(shè)定的可執(zhí)行文件名。(3) 確定了可執(zhí)行文件的名稱后,屏幕顯示如圖10 所示。圖 10 中,連接程序提示輸入映像文件的名稱,這個(gè)文件是連接程序?qū)⒛繕?biāo)文件連接為可執(zhí)行文件過(guò)程中產(chǎn)生的中間結(jié)果,可以讓連接程序不生成這個(gè)文件,直接按 Enter 鍵即可。(4) 忽略了映像文件的生成后。屏幕顯示如圖1

15、1 所示。圖 11 中,連接程序提示輸入庫(kù)文件的名稱。 庫(kù)文件里而包含了一些可以調(diào)用的子程序,如果程序中調(diào)用了某一個(gè)庫(kù)文件中的子程序, 就需要在連接的時(shí)候, 將這個(gè)庫(kù)文件和目標(biāo)文件連接到一起,生成可執(zhí)行文件。但是,這個(gè)程序中沒(méi)有調(diào)用任何子程序,所以,這里忽略庫(kù)文件名的輸入,直接按Enter 鍵即可。(5) 忽略了庫(kù)文件的連接后,屏幕顯示如圖12 所示。圖 12 中,對(duì)目標(biāo)文件的連接結(jié)束,連接程序輸出的最后一行告訴我們,這個(gè)程序中有一個(gè)警告錯(cuò)誤: “沒(méi)有棧段” ,這里我們不理會(huì)這個(gè)錯(cuò)誤。上面我們通過(guò)對(duì)當(dāng)前路徑下的1.obj 進(jìn)行連接的過(guò)程,展示了使用連接器對(duì)目標(biāo)文件進(jìn)行連接的方法。按照上面的過(guò)程

16、進(jìn)行了連接之后,在連接器 link.exe 運(yùn)行的目錄 c:masm 下(即當(dāng)前路徑下 ),將出現(xiàn)一個(gè)新的文件: 1.exe,這是對(duì)目標(biāo)文件 1.obj 進(jìn)行連接所得到的結(jié)果。當(dāng)然,如果連接過(guò)程中出現(xiàn)錯(cuò)誤,那么將得不到可執(zhí)行文件。連接的作用是什么呢?這里我們只做簡(jiǎn)單的解釋。匯編語(yǔ)言實(shí)驗(yàn)5學(xué)號(hào):姓名:班級(jí):好了,我們簡(jiǎn)單地講連接的作剛,連接的作用有以下幾個(gè)。(1)當(dāng)源程序很大時(shí),可以將它分為多個(gè)源程序文件來(lái)編譯,每個(gè)源程序編譯成為目標(biāo)文件后,再用連接程序?qū)⑺鼈冞B接到一起,生成一個(gè)可執(zhí)行文件;(2)程序中調(diào)用了某個(gè)庫(kù)文件中的子程序,需要將這個(gè)庫(kù)文件和該程序生成的目標(biāo)文件連接到一起,生成一個(gè)可執(zhí)行文

17、件;(3)一個(gè)源程序編譯后,得到了存有機(jī)器碼的目標(biāo)文件,目標(biāo)文件中的有些內(nèi)容還不能直接用來(lái)生成可執(zhí)行文件,連接程序?qū)⑦@些內(nèi)容處理為最終的可執(zhí)行信息。所以,在只有一個(gè)源程序文件, 而又不需要調(diào)用某個(gè)庫(kù)中的子程序的情況下, 也必須用連接程序?qū)δ繕?biāo)文件進(jìn)行處理,生成可執(zhí)行文件。4、以簡(jiǎn)化的方式進(jìn)行編譯和連接在前面的內(nèi)容里, 介紹了如何使用masm 和 link(進(jìn)行編譯和連接。 可以看出, 我們編譯、連接的最終目的是用源程序文件生成可執(zhí)行文件。在這個(gè)過(guò)程中所產(chǎn)生的中間文件都可以忽略。我們可以用一種較為簡(jiǎn)捷的方式進(jìn)行編譯、連接。簡(jiǎn)捷的編譯過(guò)程如圖13 所示。注意圖 13 中的命令行“masm c:l

18、;”,在 masm 后而加上被編譯的源程序文件的路徑、文件名,在命令行的結(jié)尾再加上分號(hào),按Enter 鍵后,編譯器就對(duì)c:1.asm 進(jìn)行編譯,在當(dāng)前路徑下生成目標(biāo)文件1.obj,并在編譯的過(guò)程中自動(dòng)忽略中間文件的生成。圖 14 展示了簡(jiǎn)捷的連接過(guò)程。注意圖 14 中的命令行“l(fā)ink 1;”,在 link 后面加上被連接的目標(biāo)文件的路徑、文件名,在命令行的結(jié)尾再加上分號(hào),按Enter 鍵后,連接程序就對(duì)當(dāng)前路徑下的1.obj 進(jìn)行處理,在當(dāng)前路徑下生成可執(zhí)行文件1.exe,并在過(guò)程中自動(dòng)忽略中間文件的生成。5、 *.exe的執(zhí)行現(xiàn)在,終于將我們的第一個(gè)匯編程序加工成了一個(gè)可在操作系統(tǒng)下執(zhí)行的

19、程序文件,我們現(xiàn)在執(zhí)行一下,程序運(yùn)行后,竟然沒(méi)有任何結(jié)果,就和沒(méi)有運(yùn)行一樣。那么,程序到底運(yùn)行了嗎 ?程序當(dāng)然是運(yùn)行了,只是從屏幕上不可能看到任何運(yùn)行結(jié)果,因?yàn)椋?我們的程序根本沒(méi)有向顯示器輸出任何信息。程序只是做了一些將數(shù)據(jù)送入寄存器和加法的操作,而這些事情,我們不可能從顯示屏上看出來(lái)。程序執(zhí)行完成后, 返回,屏幕上再次出現(xiàn)操作系統(tǒng)的提示符。當(dāng)然,我們不能總是寫(xiě)這樣的看不到任何結(jié)果的程序,隨著課程的進(jìn)行,我們將會(huì)向顯示器上輸出信息,不過(guò)那將是幾章以后的事情了,請(qǐng)耐心等待。6、程序執(zhí)行過(guò)程的跟蹤可以用Debug 來(lái)跟蹤一個(gè)程序的運(yùn)行過(guò)程,這通常是必須要做的工作。我們寫(xiě)的程序在邏輯上不一定總是正

20、確,對(duì)于簡(jiǎn)單的錯(cuò)誤,仔細(xì)檢查一下源程序就可以發(fā)現(xiàn);而對(duì)于隱藏較深的錯(cuò)誤,就必須對(duì)程序的執(zhí)行過(guò)程進(jìn)行跟蹤分析才容易發(fā)現(xiàn)。匯編語(yǔ)言實(shí)驗(yàn)6學(xué)號(hào):姓名:班級(jí):下面以在前而的內(nèi)容中生成的可執(zhí)行文件1.exe 為例,講解如何用Debug 對(duì)程序的執(zhí)行過(guò)程進(jìn)行跟蹤。我們知道, 在 DOS中運(yùn)行一個(gè)程序的時(shí)候,是由 command 將程序從可執(zhí)行文件中加載入內(nèi)存,并使其得以執(zhí)行。但是,這樣我們不能逐條指令地看到程序的執(zhí)行過(guò)程,因?yàn)閏ommand 的程序加載,設(shè)置CS:IP指向程序的入口的操作是連續(xù)完成的,而當(dāng)CS:IP一指向程序的入口, command 就放棄了CPU的控制權(quán), CPU立即開(kāi)始運(yùn)行程序,直至程

21、序結(jié)束。為了觀察程序的運(yùn)行過(guò)程,可以使用Debug。Debug 可以將程序加載入內(nèi)存,設(shè)置 CS:IP指向程序的入口,但Debug 并不放棄對(duì)CPU 的控制,這樣,我們就可以使用Debug 的相關(guān)命令來(lái)單步執(zhí)行程序,查看每一條指令的執(zhí)行結(jié)果。具體方法是在提示符后輸入“debug 1.exe”,按 Enter 鍵, Debug 將程序從 1.exe 中加載入內(nèi)存,進(jìn)行相關(guān)的初始化后設(shè)置CS:IP指向程序的入口。接下來(lái)可以用R 命令看一下各個(gè)寄存器的設(shè)置情況,如圖15 所示??梢钥吹?, Debug 將程序從可執(zhí)行文件加載入內(nèi)存后,cx 中存放的是程序的長(zhǎng)度。1.exe中程序的機(jī)器碼共有15 個(gè)字節(jié)

22、。則1.exe 加載后, cx 中的內(nèi)容為000FH?,F(xiàn)在程序已從1.exe 中裝入內(nèi)存,接下來(lái)查看一下它的內(nèi)容,可是我們的程序被裝入內(nèi)存的什么地方?現(xiàn)分析如下:1)程序加載后,ds 中存放著程序所在內(nèi)存區(qū)的段地址,這個(gè)內(nèi)存區(qū)的偏移地址為0,則程序所在的內(nèi)存區(qū)的地址為ds:0;2)這個(gè)內(nèi)存區(qū)的前256 個(gè)字節(jié)中存放的是PSP(程序段前綴) ,DOS用來(lái)和程序進(jìn)行通信。從 256 字節(jié)處向后的空間存放的是程序。所以,從 ds 中可以得到PSP的段地址SA,PSP的偏移地址為0,則物理地址為SA 16+0。因?yàn)椋?PSP占 256(100H)字節(jié),所以程序的物理地址是: SA16+0+256=SA

23、16+1616+0=(SA+16)16+0可用段地址和偏移地址表示為:SA+10H:0。現(xiàn)在,我們看一下圖15 中 DS 的值, DS=129E,則 PSP的地址為 129E:0,程序的地址為12AE:0(即 129E+10:0)。圖 15 中, CS=12AE, IP=0000, CS:IP指向程序的第一條指令。注意,源程序中的指令是 mov ax,0123H,在 Debug 中記為 mov ax,0123,這是因?yàn)?Debug 默認(rèn)所有數(shù)據(jù)都用十六進(jìn)制表示??梢杂?U 命令看一下其他指令,如圖16 所示??梢钥吹?,從12AE:000012AE:000E 都是程序的機(jī)器碼?,F(xiàn)在,我們可以開(kāi)始跟蹤了,用 T 命令單步執(zhí)行程序中的每一條指令

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論