版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章匯編語言程序結(jié)構4.1初步涉及匯編語言程序
4.2匯編語言偽指令
4.3匯編語言程序的上機過程
4.4DOS系統(tǒng)功能調(diào)用
4.5匯編語言程序設計
14.3匯編語言程序的上機過程(1)編輯軟件。如EDIT.COM、NE.COM、WORD、PE等(2)匯編程序。對匯編源程序進行匯編的工具,如MASM.EXE、TASM.EXE等,一般使用宏匯編MASM.EXE。TASM是比較先進的匯編工具,適用于8086/8088~Pentium系列指令系統(tǒng)所編寫的匯編源程序(3)連接程序。能將MASM產(chǎn)生的機器代碼(.OBJ)文件連接成可執(zhí)行文件(.EXE)的工具,如LINK.EXE、TLINK.EXE等(4)運行、調(diào)試程序。對由LINK產(chǎn)生的可執(zhí)行(.EXE)文件進行運行和調(diào)試的工具,如DEBUG.EXE、CodeView.EXE、TD.EXE
1、操作環(huán)境24.3匯編語言程序的上機過程2、操作過程通過一具體程序演示整個操作過程3過程1:源程序的編輯注意:所創(chuàng)建的匯編文件必須為純文本文件;需指定文件的擴展名為.ASM
4.3匯編語言程序的上機過程調(diào)用EDIT等編輯軟件建立擴展名為.ASM的源程序文件(如mypgm.ASM),并保存到磁盤的目標文件夾中
過程2:源程序的匯編匯編是將源程序翻譯成由機器代碼組成的目標模塊文件的過程,由匯編程序MASM完成。MASMmypgm.asm如果源程序中沒有語法錯誤,MASM將自動生成一個目標模塊文件(mypgm.obj);否則MASM將給出相應的錯誤信息這時應根據(jù)錯誤信息,重新編輯修改源程序后,再進行匯編。4過程3:目標模塊的連接連接程序把一個或多個目標文件和庫文件合成一個可執(zhí)行文件:LINKmypgm.obj如果沒有嚴重錯誤,LINK將生成一個可執(zhí)行文件(mypgm.exe);否則將提示相應的錯誤信息這時需要根據(jù)錯誤信息重新修改源程序后再匯編、鏈接,直到生成可執(zhí)行文件4.3匯編語言程序的上機過程5過程4:可執(zhí)行程序的調(diào)試經(jīng)匯編、連接生成的可執(zhí)行程序在操作系統(tǒng)下只要輸入文件名就可以運行:例:mypgm操作系統(tǒng)裝載該文件進入內(nèi)存,并開始運行如果出現(xiàn)運行錯誤,可以從源程序開始排錯,也可以利用調(diào)試程序幫助發(fā)現(xiàn)錯誤采用DEBUG.EXE調(diào)試程序:
DEBUGmypgm.exe注:如果結(jié)果在寄存器或存儲器中,則只能在DEBUG下查看結(jié)果技巧:通過練習,學會正確選用DEBUG中的各種命令有效地調(diào)試與運行程序
4.3匯編語言程序的上機過程6編輯文本編輯器,如EDIT.COM源程序:文件名.asm匯編匯編程序,如MASM.EXE目標模塊:文件名.obj連接連接程序,如LINK.EXE可執(zhí)行文件:文件名.exe調(diào)試調(diào)試程序,如DEBUG.EXE應用程序錯誤錯誤錯誤錯誤4.3匯編語言程序的上機過程74.4DOS系統(tǒng)功能調(diào)用DOS準備了許多程序(稱為系統(tǒng)功能程序),涉及設備驅(qū)動和文件管理等方面的操作。系統(tǒng)功能調(diào)用是DOS為系統(tǒng)程序員及用戶提供的一組常用子程序,對這些子程序的直接調(diào)用可以減少程序員對系統(tǒng)硬件環(huán)境的依賴,從而可以大大精簡應用程序的編寫;另一方面也可以使程序具有較好的通用性
系統(tǒng)功能調(diào)用?8一、系統(tǒng)功能調(diào)用方法DOS系統(tǒng)功能調(diào)用的方法一般可分為以下幾步:①設置所要調(diào)用功能的入口參數(shù)。②在AH寄存器中存入所要調(diào)用功能的功能號。③INT21H指令自動轉(zhuǎn)入中斷子程序入口。④相應中斷子程序運行完畢,可按規(guī)定取得出口參數(shù)。4.4DOS系統(tǒng)功能調(diào)用9二、常用的DOS系統(tǒng)功能調(diào)用1.帶回顯的鍵盤單字符輸入(1號功能)2.不帶回顯的鍵盤單字符輸入(8號功能)3.單字符輸出(2號功能)4.字符串顯示(9號功能)5.字符串輸入(0AH號功能)6.程序正常返回系統(tǒng)(4CH號功能)4.4DOS系統(tǒng)功能調(diào)用101、1號系統(tǒng)功能調(diào)用(從鍵盤讀入一個字符)功能:單字符輸入。將鍵盤輸入的字符的ASCII碼值送AL寄存器,同時回顯在屏幕上入口參數(shù):無出口參數(shù):AL寄存器存放輸入字符的ASCII碼值格式: MOVAH,1 INT21H說明:在輸入一個字符后,不需要鍵入回車。若只鍵入回車,則出口參數(shù)AL得到的是回車符的ASCII碼值0DH。4.4DOS系統(tǒng)功能調(diào)用112、2號系統(tǒng)功能調(diào)用(顯示一個字符)功能:單字符輸出。即將以DL寄存器內(nèi)容為ASCII碼值的ASCII字符輸出到屏幕上。入口參數(shù):DL=要顯示字符的ASCII碼值出口參數(shù):無格式:MOVDL,要顯示的字符
MOVAH,2 INT21H說明:掌握的回車符和換行符的使用?;剀?0DH,換行:0AH。例:MOVDL,41H;41H=‘A’ MOVAH,2 INT21H屏幕上輸出字符“A”4.4DOS系統(tǒng)功能調(diào)用129、9號系統(tǒng)功能調(diào)用(顯示一個字符串)功能:字符串輸出。即將DS:DX所指的以$字符結(jié)尾的一個字符串輸出到屏幕上。入口參數(shù):DS:DX=要顯示的字符串在內(nèi)存中的首地址出口參數(shù):無格式:LEADX,字符串變量名
MOVAH,9 INT21H……例:strDB‘HELLOworld!’,’$’ …… LEADX,str
MOVAH,9 INT21H說明:要顯示的字符串必須以’$’作為結(jié)束標志,’$’不屬于被顯示的字符串4.4DOS系統(tǒng)功能調(diào)用134、程序正常返回系統(tǒng)的方法(4CH號系統(tǒng)功能調(diào)用)功能:返回系統(tǒng)入口參數(shù):AL=終止代碼或無格式: MOVAH,4CH 或 MOVAX,4C00H INT21H INT21H4.4DOS系統(tǒng)功能調(diào)用145、10號系統(tǒng)功能調(diào)用(從鍵盤讀入一個字符串)功能:從鍵盤讀入一個字符串,將其保存到DS:DX指定的內(nèi)存緩沖區(qū)中。這個緩沖區(qū)由3部分組成:第一字節(jié)定義緩沖區(qū)大??;第二字節(jié)用于系統(tǒng)回填實際輸入的字符個數(shù);從第三字節(jié)開始保存鍵盤輸入字符的ASCII碼值。入口參數(shù):DS:DX=存放該字符串的輸入緩沖區(qū)的首地址出口參數(shù):實際輸入字符個數(shù)保存在緩沖區(qū)第二字節(jié)的位置(不包括回車符),實際輸入字符的ASCII碼值(包括回車0DH)順序保存在緩沖區(qū)第三字節(jié)開始的位置。說明:(1)可輸入的字符個數(shù)最多為緩沖區(qū)第一字節(jié)內(nèi)容減1,最少字符個數(shù)為0。(2)輸入以按“回車鍵”結(jié)束,并將回車字符(0DH)保存在輸入字符的最后一個位置上4.4DOS系統(tǒng)功能調(diào)用15格式:LEADX,緩沖區(qū)首地址;設DS已指向用戶定義的數(shù)據(jù)段
MOVAH,10;或0AHINT21H調(diào)用方法示例:……
BUFDB20;定義緩沖區(qū)大小,實際可輸入字符最多20-1個
DB?
;存放實際輸入的字符個數(shù),由系統(tǒng)自動設置
DB20DUP(?) ;存放實際輸入的字符串
……
┆
LEADX
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融軟件公司租賃合同范本
- 城市垃圾處理廠建設合同
- 2025合同類型范文
- 2023年注冊巖土工程師基礎考試下午真題答案解析
- 外研版八年級上Module12 Unit1課件
- 泉州工藝美術職業(yè)學院《組合數(shù)學》2023-2024學年第一學期期末試卷
- 2023年中級注冊安全工程師之安全實務化工安全基礎試題庫和答案要點 (一)
- 2023年中級注冊安全工程師之安全生產(chǎn)技術基礎自測模擬預測題庫 (二)
- 膠布合同范例
- 與護林員現(xiàn)場簽訂合同范例
- 五年級數(shù)學(小數(shù)四則混合運算)計算題專項練習及答案
- 多無人機路徑規(guī)劃
- 2024年度京東公司與供應商戰(zhàn)略合作合同3篇
- 河南省鄭州市2023-2024學年四年級上學期語文期末試卷(含答案)
- 2024年便利店營業(yè)員工作總結(jié)范文(2篇)
- 家具設計合同范例
- 2016建筑安裝工程工期定額
- 小說改編權改編作品轉(zhuǎn)讓合同
- 隧道坍塌應急演練
- 2023-2024學年廣東省廣州市白云區(qū)九年級(上)期末英語試卷
- 浙江省杭州市2023-2024學年高二上學期期末學業(yè)水平測試政治試題 含解析
評論
0/150
提交評論