版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
§4.5匯編語言程序設計上機步驟與調試方法一.上機環(huán)境硬件系統(tǒng)軟件
應用軟件
操作系統(tǒng):DOS系統(tǒng)編輯器:
EDIT.exe編程序:MASM.exe連接程序:LINK.exe調試程序:DEBUG.exe用戶程序:ABC.exe等CPU、存儲器(ROM、RAM)、I/O接口、輸入、輸出設備二.上機步驟①D:>EDITABC.ASM②D:>MASMABC.ASM;
有語法錯,回EDIT下改源程序③D:>LINKABC.OBJ;
有錯,回在EDIT下改源程序④D:>ABC
運行結果錯,回EDIT下改源程序或在DEBUG下調試,找原因。⑤D:>DEBUGABC.exe編輯源程序
EDIT
ABC.ASM匯編源程序
MASM
ABC.ASM形成目標程序
ABC.OBJ連接目標程序
LINK
ABC.OBJ有連接錯誤信息?形成可執(zhí)行程序
ABC.EXE裝入可執(zhí)行程序到內存,并執(zhí)行D:\>ABC下一程序用DEBUG調試可執(zhí)行程序D:\>DEBUG
ABC.EXE找到原因YNYNNYN有匯編錯誤信息?Y運行結果正確?用DEBUG調試程序查錯?點擊“運行”
三.具體操作步驟舉例第一步
COMMAND
三.具體操作步驟舉例DOS提示符
三.具體操作步驟舉例進入EDIT編輯環(huán)境
三.具體操作步驟舉例第二步
三.具體操作步驟舉例編輯源程序
三.具體操作步驟舉例編輯完后,準備存盤
三.具體操作步驟舉例另存為……
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例退出EDIT環(huán)境
三.具體操作步驟舉例對源程序進行匯編源程序名源程序17行語法錯第三步
三.具體操作步驟舉例重新進入EDIT,打開源程序,進行改錯
三.具體操作步驟舉例類型不明確,兩存儲器單元之間不能直接傳送數據
三.具體操作步驟舉例1.改正2.存盤3.退出
三.具體操作步驟舉例重新匯編
三.具體操作步驟舉例對目標文件進行連接第四步
三.具體操作步驟舉例目標文件名
三.具體操作步驟舉例用DEBUG對可執(zhí)行文件進行調試第五步
三.具體操作步驟舉例DEBUG提示符用R命令顯示各寄存器內容
三.具體操作步驟舉例用U命令反匯編
三.具體操作步驟舉例用T命令單步執(zhí)行一條指令
三.具體操作步驟舉例
三.具體操作步驟舉例用D命令顯示存儲器單元內容
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例用P命令單步執(zhí)行一個過程
三.具體操作步驟舉例用Q命令退出DEBUG
三.具體操作步驟舉例
三.具體操作步驟舉例用G命令設置斷點,連續(xù)(全速)運行程序的調式方法
三.具體操作步驟舉例用G命令連續(xù)執(zhí)行到斷點處
三.具體操作步驟舉例用D命令顯示存儲器單元內容
三.具體操作步驟舉例用G命令連續(xù)執(zhí)行到斷點處
三.具體操作步驟舉例用D命令顯示存儲器單元內容
三.具體操作步驟舉例用N命令命名用L命令裝入程序DEBUG裝入用戶可執(zhí)行文件的另一種方法
三.具體操作步驟舉例用E命令修改內存
三.具體操作步驟舉例
三.具體操作步驟舉例
三.具體操作步驟舉例用D命令顯示存儲器單元內容DEBUG常用命令匯總表(一)命令名格式功能R格式1:R顯示所有寄存器中的內容.格式2:R寄存器名顯示修改寄存器的內容U格式1:U[地址]從指定地址開始反匯編格式2:U地址范圍對指定的地址范圍進行反匯編D格式1:D[地址]從指定地址開始顯示內存單元內容格式2:D地址范圍顯示地址范圍內的內存單元內容E格式:E地址[數據]
把給定的數據送到指定地址開始連續(xù)的內存單元中
命令名格式功能T格式:T[=地址][x]從指定的地址開始跟蹤x條指令.N格式:N[磁盤][路徑]文件名在指定的盤,路徑下建立文件G格式:G[=地址][斷點]從指定地址開始執(zhí)行程序,到斷點處停下來.
W格式:W[地址]從地址開始的內存塊寫文件.
L格式:L[地址]將N命令指定的文件調入指定的內存地址.
DEBUG常用命令匯總表(二)DEBUG常用命令匯總表(三)命令名格式功能A格式:A[地址]從指定地址開始,對輸出的語句匯編到內存.P格式:P[=地址][x]執(zhí)行一個循環(huán)直到中斷,x代表執(zhí)行循環(huán)的次數.Q格式:Q結束并退出DEBUG程序.I格式:I端口地址從指定的端口地址讀一個字節(jié),并顯示出來.
O格式:O端口地址值將值送到指定端口.
本章要點及復習重點4.1匯編語言基礎1.掌握機器語言、機器語言程序、匯編語言、匯編語言源程序、匯編、匯編程序等概念。2.掌握匯編語言中表達式,特別是屬性表達式及屬性修改操作符PTR的應用。3.熟練掌握DB、DW、DD變量定義偽指令的應用會畫出變量定義語句匯編后的存儲器分配示意圖。
本章要點及復習重點4.28086指令系統(tǒng)1.數據傳送類指令掌握MOV、XCHG、LEA、XLAT、PUSH、POP等指令的應用。2.算術運算類指令掌握加法(ADD、ADC、INC)、減法(SUB、SBB、DEC、NEG、CMP)、乘法、除法、BCD數調整(DAA)等指令的應用及對標志位的影響。
本章要點及復習重點3.掌握邏輯運算類指令(AND、OR、XOR、NOT、
TEST)的應用及對標志位的影響。4.掌握移位指令(SHL、SHR、SAL、SAR)、循環(huán)移位指令(ROL、ROR、RCL、RCR)等指令的應用。
本章要點及復習重點4.3匯編語言程序設計1.掌握匯編語言程序設計步驟。2.熟練掌握匯編語言源程序的完整結構及相應的偽指令的意義。3.掌握分支程序設計時應注意的幾個問題,會設計簡單的分支程序。4.掌握循環(huán)程序的基本結構及循環(huán)程序的設計,會用氣泡排序法進行二重循環(huán)程序設計。
本章要點及復習重點5.掌握子程序設計時的幾個問題,包括:子程序的定義方法CALL、RET指令的應用(注意段內、段間子程序調用與返回時現場的保護與恢復以及堆棧的變化情況)主程序與子程序之間參數的傳遞方法用戶信息的保護與恢復方法子程序說明文件包含的內容
本章要點及復習重點6.熟練掌握DOS的01H、02H、09H、0AH功能的調用方法。7.掌握字符串處理指令(MOVS、CMPS、SCAS、
STOS、LODS)的共同約定以及應用8.掌握宏指令的定義及調用方法
本章要點及復習重點4.4匯編語言程序的上機調試1.掌握匯編語言程序設計上機的基本步驟。2.掌握DEBUG的R、U、T、G、D、E、A、N、L、
Q等命令的功能及使用方法。上機作業(yè)(一)1.熟練掌握8086/8088的各種尋址方式及應用。2.
掌握DEBUG調試程序中的一些常用命令的使用方法,為以后的實驗打下基礎。一.實驗目的二.實驗儀器586微機1臺尋址方式練習上機作業(yè)(一)1.
關于數據的尋址方式練習8086/8088提供多種方式實現操作數尋址,大體可分為7種:a.
立即尋址b.
寄存器尋址c.
直接尋址d.
寄存器間接尋址
e.
寄存器相對尋址f.
基址變址尋址g.
基址變址且相對尋址三.實驗內容a-b要尋找的操作數與存儲器無關。c-g要尋找的操作數在存貯器某單元,存貯器單元的地址由尋址方式確定。上機作業(yè)(一)掌握8086/8088的這些尋址方式,是學習匯編語言編程的關鍵。因此,我們編寫了下面的程序段,以數據傳送指令為例,列舉了部份尋址方式,請同學們按下列要求認真完成。
[1]在全屏幕編輯軟件下,建立以下匯編語言源程序。上機作業(yè)(一)STACKSEGMENTSTACKDB0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,DB0B8H,0B9HDB0BAH,0BBH,0BCH,0BDH,0BEH,0BFHDB10HDUP(00)STACKENDSDATA1SEGMENTDB0A0H,0A1H,0A2H,0A3HTABLEDW0A5A4HDB0A6H,0A7H,0A8H,0A9H,0AAH,0ABHDB0ACH,0ADH,0AEH,0AFHDATA1ENDS上機作業(yè)(一)DATA2SEGMENTDB0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7HDB0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFHDATA2ENDSCODESEGMENTASSUMECS:CODE,DS:DATA1,ES:DATA2,SS:STACKSTART:MOVAX,DATA1MOVDS,AXMOVAX,DATA2MOVES,AXMOVBX,0004HMOVCX,0005H上機作業(yè)(一)MOVBP,0003H MOVSI,0002HMOVDI,0001HMOVAX,CX;以下指令按后表要求完成MOVAX,500H MOVAX,TABLE MOVAX,ES:[BX]MOVAX,[BX+05H] MOVAX,SS:[BX]+03H MOVAX,TABLE[BX] MOVAX,07H[BX] MOVAX,[BP]上機作業(yè)(一)MOVAX,TABLE[BP] MOVAX,08H[BP]MOVAX,[BP+06H]
MOVAX,DS:[BP+03H] MOVAX,[BP]+05H MOVAX,ES:[SI+03H] MOVAX,[DI+06H] MOVAX,[DI]+05H MOVAX,TABLE[SI] MOVAX,[SI] MOVAX,TABLE[DI] MOVAX,[SI]+05H上機作業(yè)(一) MOVAX,[BX][DI+01H] MOVAX,[BX][SI]+03H MOVAX,TABLE[BX][SI] MOVAX,ES:[BX][DI] MOVAX,[BP][DI+02H] MOVAX,TABLE[BP][DI] MOVAX,ES:[BP][SI] MOVAX,[BP][SI+05H] MOVAX,03H[BP][DI] MOVAX,[BP][SI] MOVAX,[BP+02H][DI+03H] MOVAX,TABLE[BP+02H][DI+03H] MOVAH,4CH INT21HCODEENDS ENDSTART上機作業(yè)(一)
[2]用MASM.EXE宏匯編程序對以上源程序進行匯編,其方法為:
MASM文件名.ASM;回車
此時,如果源程序中無語法錯誤,則在磁盤上形成文件名.OBJ文件。
[3]用LINK.EXE連接程序對文件名.OBJ文件進行連接,其方法為:
LINK文件名.OBJ;回車此時,如果連接正確,則在磁盤上形成:文件名.EXE
可執(zhí)行文件。
[4]對源程序中從MOVAX,CX開始以下所有指令按下表進行計算。
上機作業(yè)(一)指令SRC尋址方式SRC的地址AX推算值AX實際值MOVAX,CXMOVAX,500HMOVAX,TABLEMOVAX,ES:[BX]MOVAX,[BX+05H]MOVAX,SS:[BX]+03HMOVAX,TABLE[BX]MOVAX,07H[BX]MOVAX,[BP]上機作業(yè)(一)指令SRC尋址方式SRC的地址AX推算值AX實際值MOVAX,TABLE[BP]MOVAX,08H[BP]MOVAX,[BP+06H]
MOVAX,DS:[BP+03H]MOVAX,[BP]+05HMOVAX,ES:[SI+03H]MOVAX,[DI+06H]MOVAX,[DI]+05HMOVAX,TABLE[SI]上機作業(yè)(一)指令SRC尋址方式SRC的地址AX推算值AX實際值MOVAX,[SI]MOVAX,TABLE[DI]MOVAX,[SI]+05HMOVAX,[BX][DI+01H]MOVAX,[BX][SI]+03HMOVAX,TABLE[BX][SI]MOVAX,ES:[BX][DI]MOVAX,[BP][DI+02H]MOVAX,TABLE[BP][DI]上機作業(yè)(一)指令SRC尋址方式SRC的地址AX推算值AX實際值MOVAX,ES:[BP][SI]MOVAX,[BP][SI+05H]MOVAX,03H[BP][DI]MOVAX,[BP][SI]MOVAX,[BP+02H][DI+03H]MOVAX,TABLE[BP+02H][DI+03H]上機作業(yè)(一)[5]用T命令單步運行程序,并用R命令檢查AX結果,同時將結果作為實際值填入上表中,和推算值進行比較,從而檢驗自己對該條指令對應的尋址方式是否掌握。也可用D命令察看存貯器的內容,具體操作方法參看DEBUG使用部分。上機作業(yè)(一)在上表中,分析AX推算值與實際值有何不同?找出錯誤原因,小結出各種尋址方式所用的段寄存器的規(guī)律來。四.問題討論上機作業(yè)(一)五.實驗報告要求
實驗名稱1.實驗目的2.實驗儀器3.實驗內容及實驗程序4.實驗數據及結果5.問題討論
上機作業(yè)(二)1.
熟練掌握匯編語言程序設計的方法及上機步驟。2.
掌握算術運算指令的應用。3.
掌握子程序的設計方法。4.
掌握DOS功能的調用方法。一.實驗目的二.實驗儀器586微機1臺程序設計練習上機作業(yè)(二)編寫程序求兩個十進制數之和,并將和以十進制數的形式送屏幕顯示。編程要求與提示:
[1]從鍵盤輸入兩個十進制數(如12678532與21736543),以二進制數形式存放在ADD1和ADD2為首址的存貯器單元,輸入一個十進制數采用子程序形式。
[2]和以二進制數的形式存入SUM以下單元。[3]將和送到屏幕顯示采用子程序形式。
[4]實驗步驟如下:三.實驗內容上機作業(yè)(二)
a.
用全屏幕編輯軟件建立源程序。b.用masm.exe匯編程序對源程序進行匯編,形成目標程序。
c.
用link.exe連接程序對目標程序進行連接形成可執(zhí)行文件。d.
用DEBUG對連接通過的可執(zhí)行程序進行調試。上機作業(yè)(三)有一個首地址為A的N字數組,請編程序使該數組中的數按從大到小的次序排列。編程要求及提示:
[1]參加排序的數據及個數由學生自己定義。[2]要將排序前的數組和排序后的數組在屏幕上顯示出來。[3]實驗步驟同作業(yè)二。上機作業(yè)(三)五.實驗報告要求
實驗名稱1.實驗目的2.實驗儀器3.實驗內容4.給出實驗內容對應的源程序及流程5.問題討論
上機作業(yè)(四)
1.增強和提高匯編語言程序設計的能力,掌握模塊化程序設計的方法.2.熟練掌握DOS常用功能的調用方法.一.實驗目的二.實驗儀器586微機一臺程序設計綜合練習上機作業(yè)(四)編寫如下程序,并在機器上調試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高端住宅鋁窗更換及安裝工程合同范本4篇
- 專利事務委托代理合作合同2024版B版
- 二零二五廠長任期責任書及薪酬福利聘用合同4篇
- 二手車交易合同協議書簡單(2024版)
- 二零二五年電子商務平臺社交電商銷售合作協議3篇
- 2025年度拆遷施工工程環(huán)保監(jiān)測服務合同4篇
- 2025年度生物制藥研發(fā)成果轉化合同4篇
- 二零二五年度漫畫改編影視作品合作開發(fā)合同2025版4篇
- Unit 3 My School Section A3a~3d說課稿 - 2024-2025學年人教版英語七年級上冊
- 2025年續(xù)借條范本:教育貸款續(xù)貸合同模板3篇
- SQL Server 2000在醫(yī)院收費審計的運用
- 《FANUC-Oi數控銑床加工中心編程技巧與實例》教學課件(全)
- 微信小程序運營方案課件
- 抖音品牌視覺識別手冊
- 陳皮水溶性總生物堿的升血壓作用量-效關系及藥動學研究
- 安全施工專項方案報審表
- 學習解讀2022年新制定的《市場主體登記管理條例實施細則》PPT匯報演示
- 好氧廢水系統(tǒng)調試、驗收、運行、維護手冊
- 中石化ERP系統(tǒng)操作手冊
- 五年級上冊口算+脫式計算+豎式計算+方程
- 氣體管道安全管理規(guī)程
評論
0/150
提交評論