實驗一匯編語言程序設(shè)計一ppt課件_第1頁
實驗一匯編語言程序設(shè)計一ppt課件_第2頁
實驗一匯編語言程序設(shè)計一ppt課件_第3頁
實驗一匯編語言程序設(shè)計一ppt課件_第4頁
實驗一匯編語言程序設(shè)計一ppt課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗一匯編語言程序設(shè)計實驗一匯編語言程序設(shè)計上課時間上課時間:2019年年12月月05日日指導教師指導教師:朱華貴朱華貴彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008通常匯編教學中,匯編程序結(jié)構(gòu)會在指令系統(tǒng)后通常匯編教學中,匯編程序結(jié)構(gòu)會在指令系統(tǒng)后面講,學生在學習指令系統(tǒng)時由于沒有講匯編程面講,學生在學習指令系統(tǒng)時由于沒有講匯編程序結(jié)構(gòu)而無法編寫匯編程序來加深對匯編指令的序結(jié)構(gòu)而無法編寫匯編程序來加深對匯編指令的理解,因此,在這里我們通過理解,因此,在這里我們通過2個例子,介紹使用個例子,介紹使用DEBUG調(diào)試工具編

2、寫程序段來學習匯編指令。調(diào)試工具編寫程序段來學習匯編指令。有關(guān)有關(guān)DEBUG的常用命令的用法請參看相關(guān)資料的常用命令的用法請參看相關(guān)資料和課件。和課件。彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008標題:非壓縮標題:非壓縮BCD碼的減法運算,做碼的減法運算,做68-9mov ax, 0608hmov bl, 09hsub al, blaas運行運行debug彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008首先用首先用A命令輸入程序命令輸入程序De

3、bug中只使用中只使用16進制數(shù)進制數(shù),且無需加,且無需加H后綴后綴直接用回車退出匯編編輯狀態(tài)直接用回車退出匯編編輯狀態(tài)彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008使用使用T命令跟蹤執(zhí)行命令跟蹤執(zhí)行第一個第一個T命令要帶上程序首地址命令要帶上程序首地址后面的后面的T命令無需地址命令無需地址標志位標志位彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008下面給出下面給出DEBUG中標志位狀態(tài)符號的含義。中標志位狀態(tài)符號的含義。標志為1時為0時溢出OF

4、方向DF中斷IF符號SF零位ZF輔助AF奇偶PF進位CFOVDNEINGZRACPECYNVUPDIPLNZNAPONC調(diào)試完后用調(diào)試完后用Q命令退出命令退出DEBUG。彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008再舉一個有訪存操作的例子再舉一個有訪存操作的例子 MOV SI, 0050H ; (DS)=2000H MOV DI, 0100H ; (ES)=3000H MOV CX, 5 CLD REP MOVSB1先用先用A命令輸入程序命令輸入程序彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版)

5、 ),電子工業(yè)出版社,電子工業(yè)出版社,200820082用用R命令修改命令修改DS和和ES寄存器到約定值寄存器到約定值DS的原始值的原始值輸入的修改值輸入的修改值3用用D命令查看源數(shù)據(jù)區(qū)和目標數(shù)據(jù)區(qū)命令查看源數(shù)據(jù)區(qū)和目標數(shù)據(jù)區(qū)彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820084用用E命令初始化源數(shù)據(jù)區(qū)后再用命令初始化源數(shù)據(jù)區(qū)后再用D命令檢查源數(shù)據(jù)命令檢查源數(shù)據(jù)區(qū)和目的數(shù)據(jù)區(qū)區(qū)和目的數(shù)據(jù)區(qū)彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820085單步跟蹤執(zhí)行程

6、序單步跟蹤執(zhí)行程序彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820086執(zhí)行后檢查源數(shù)據(jù)區(qū)和目標數(shù)據(jù)區(qū)執(zhí)行后檢查源數(shù)據(jù)區(qū)和目標數(shù)據(jù)區(qū)彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008留意,用留意,用A命令輸入指令時,如果輸入錯誤命令輸入指令時,如果輸入錯誤debug會立會立即指出錯誤和位置。地址不會變化,以便用戶修正指即指出錯誤和位置。地址不會變化,以便用戶修正指令。令。彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出

7、版社,電子工業(yè)出版社,20082008第一步編輯:第一步編輯:彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008第二步匯編:第二步匯編:可以不輸入,用回車回應可以不輸入,用回車回應彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008修改好后再匯編:修改好后再匯編:彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008第三步連接并執(zhí)行:第三步連接并執(zhí)行:可以直接用回車回應可以直接用回車回應

8、執(zhí)行執(zhí)行彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008用用DEBUG調(diào)試程序:調(diào)試程序:1用用U命令查看程序和目標碼及指令地命令查看程序和目標碼及指令地址址彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820082用用T命令單步跟蹤,逐條執(zhí)行看中間結(jié)果,命令單步跟蹤,逐條執(zhí)行看中間結(jié)果,DEBUG將顯示每個寄存器以及各標志位的當前值將顯示每個寄存器以及各標志位的當前值這是還未執(zhí)行的下這是還未執(zhí)行的下一條指令一條指令這是這是MOV BX,SI的執(zhí)行結(jié)果的執(zhí)

9、行結(jié)果標志位標志位彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820083對于系統(tǒng)功能調(diào)用,可以用對于系統(tǒng)功能調(diào)用,可以用G命令設(shè)置斷點執(zhí)行,命令設(shè)置斷點執(zhí)行,也可以用也可以用P命令跳過過程與系統(tǒng)功能服務程序。命令跳過過程與系統(tǒng)功能服務程序。設(shè)斷點執(zhí)行,斷點設(shè)在設(shè)斷點執(zhí)行,斷點設(shè)在INT 21H的后一句的后一句INT 21H輸出的一個字符輸出的一個字符彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008留意:留意:DEBUG只支持只支持16位匯編調(diào)試,如果要

10、編寫位匯編調(diào)試,如果要編寫32位匯編程序,需要用位匯編程序,需要用MASM 6.11匯編和連接,用匯編和連接,用CodeView軟件查看執(zhí)行代碼。但軟件查看執(zhí)行代碼。但MASM 6.11中帶的中帶的CodeView 4.01可以查看可以查看32位程序的執(zhí)行代碼,不能進位程序的執(zhí)行代碼,不能進行單步調(diào)試。要調(diào)試可以考慮使用行單步調(diào)試。要調(diào)試可以考慮使用SoftICE軟件。軟件。另外,另外,VC嵌入?yún)R編可以支持嵌入?yún)R編可以支持80486的所有指令,也支的所有指令,也支持持32位匯編。位匯編。彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,2

11、0082008用用VC6.0實現(xiàn)實現(xiàn)C+中嵌入?yún)R編中嵌入?yún)R編彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008建立源程序建立源程序asmsample.cpp彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008將下列程序輸入到將下列程序輸入到asmsample.cpp中中#include int power2(int, int);voi

12、d main(void) cout2的的6次方乘次方乘5等于等于:t; coutpower2(5,6)endl;int power2(int num, int power) _asm mov eax, num ; 取第一個參數(shù)取第一個參數(shù) mov ecx, power ; 取第二個參數(shù)取第二個參數(shù) shl eax, cl ; 計算計算EAX=EAX(2CL) / 返回值存于返回值存于EAX彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版

13、社,電子工業(yè)出版社,20082008編譯執(zhí)行后看結(jié)果編譯執(zhí)行后看結(jié)果彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008實驗一實驗一 匯編語言程序設(shè)計匯編語言程序設(shè)計( (一一) )u實驗實驗1.1 1.1 匯編語言程序的調(diào)試與運行匯編語言程序的調(diào)試與運行u u實驗實驗1.2 1.2 分支程序設(shè)計一)分支程序設(shè)計一)u 彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008實驗實驗1.1 1.1 匯編語言程序的調(diào)試與運行匯編語言程序的調(diào)試與運行一實驗目的一實

14、驗目的1 1學習數(shù)據(jù)傳送和算術(shù)運算指令的用法學習數(shù)據(jù)傳送和算術(shù)運算指令的用法2 2熟悉在熟悉在PCPC機上編輯、匯編、銜接、調(diào)機上編輯、匯編、銜接、調(diào)試和運行匯編語言程序的過程。試和運行匯編語言程序的過程。二實驗內(nèi)容二實驗內(nèi)容將兩個多位十進制數(shù)相加,要求被加數(shù)和將兩個多位十進制數(shù)相加,要求被加數(shù)和加數(shù)均以加數(shù)均以ASCIIASCII碼形式各自順序存放在碼形式各自順序存放在DATA1DATA1和和DATA2DATA2為首的為首的5 5個內(nèi)存單元中,結(jié)個內(nèi)存單元中,結(jié)果送回果送回DATA1DATA1處。處。 彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,

15、電子工業(yè)出版社,20082008三程序框圖三程序框圖主程序主程序子程序子程序彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008四、參考程序四、參考程序見實驗指導書見實驗指導書五、調(diào)試步驟五、調(diào)試步驟1 1編輯源程序,建立一個以后綴編輯源程序,建立一個以后綴為為 ASMASM的文件的文件. .2 2匯編源程序,檢查程序有否錯誤,匯編源程序,檢查程序有否錯誤,有錯時回到編輯狀態(tài),修改程序中錯有錯時回到編輯狀態(tài),修改程序中錯誤行。無錯時繼續(xù)第誤行。無錯時繼續(xù)第3 3步。步。3.3.連接目標程序,產(chǎn)生可執(zhí)行程序。連接目標程序,產(chǎn)生

16、可執(zhí)行程序。4.DEBUG4.DEBUG調(diào)試可執(zhí)行程序,記錄數(shù)據(jù)段調(diào)試可執(zhí)行程序,記錄數(shù)據(jù)段DSDS:0DS0DS:1010的內(nèi)容。的內(nèi)容。 彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,200820084.DEBUG調(diào)試結(jié)果分析:調(diào)試結(jié)果分析:進入進入DEBUG程序后:程序后:執(zhí)行程序至星號處DS:0HDS:0AH 的內(nèi)容 (CS:000FH) (CS:0076H) (CS:0086H) (CS:0090H)彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008n六

17、思考題六思考題n將上述程序改為將上述程序改為5位數(shù)相加,結(jié)果為位數(shù)相加,結(jié)果為6位數(shù)的加法程位數(shù)的加法程序。序。(需考慮進位需考慮進位)n簡單敘述上機步驟和調(diào)試方法。簡單敘述上機步驟和調(diào)試方法。5.在操作系統(tǒng)狀態(tài)下,運行程序,并記在操作系統(tǒng)狀態(tài)下,運行程序,并記錄屏幕顯示內(nèi)容。錄屏幕顯示內(nèi)容。被 加 數(shù)加 數(shù)屏 幕 顯 示 內(nèi) 容127320681510732436916508717631彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008實驗實驗1.2 1.2 分支程序設(shè)計一)分支程序設(shè)計一)n一實驗目的一實驗目的n 掌握分支結(jié)構(gòu)程序的編制方法。掌握分支結(jié)構(gòu)程序的編制方法。n二實驗內(nèi)容與要求二實驗內(nèi)容與要求n 編制程序?qū)崿F(xiàn)如下操作:編制程序?qū)崿F(xiàn)如下操作:n 設(shè)有設(shè)有10個學生成績,分別統(tǒng)計低于個學生成績,分別統(tǒng)計低于60分、分、6069分、分、7079分、分、8089分、分、9099分及分及100分的人數(shù),并存放于分的人數(shù),并存放于S5、S6、S7、S8、S9、S10單元中。單元中。彭虎,微機原理與接口技術(shù)彭虎,微機原理與接口技術(shù)( (第二版第二版) ),電子工業(yè)出版社,電子工業(yè)出版社,20082008實驗實驗1.2 1.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論