第4章-2微機(jī)原理_第1頁(yè)
第4章-2微機(jī)原理_第2頁(yè)
第4章-2微機(jī)原理_第3頁(yè)
第4章-2微機(jī)原理_第4頁(yè)
第4章-2微機(jī)原理_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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)介

第4章匯編語(yǔ)言程序結(jié)構(gòu)4.1初步涉及匯編語(yǔ)言程序

4.2匯編語(yǔ)言偽指令

4.3匯編語(yǔ)言程序的上機(jī)過(guò)程

4.4DOS系統(tǒng)功能調(diào)用

4.5匯編語(yǔ)言程序設(shè)計(jì)

14.3匯編語(yǔ)言程序的上機(jī)過(guò)程(1)編輯軟件。如EDIT.COM、NE.COM、WORD、PE等(2)匯編程序。對(duì)匯編源程序進(jìn)行匯編的工具,如MASM.EXE、TASM.EXE等,一般使用宏匯編MASM.EXE。TASM是比較先進(jìn)的匯編工具,適用于8086/8088~Pentium系列指令系統(tǒng)所編寫的匯編源程序(3)連接程序。能將MASM產(chǎn)生的機(jī)器代碼(.OBJ)文件連接成可執(zhí)行文件(.EXE)的工具,如LINK.EXE、TLINK.EXE等(4)運(yùn)行、調(diào)試程序。對(duì)由LINK產(chǎn)生的可執(zhí)行(.EXE)文件進(jìn)行運(yùn)行和調(diào)試的工具,如DEBUG.EXE、CodeView.EXE、TD.EXE

1、操作環(huán)境24.3匯編語(yǔ)言程序的上機(jī)過(guò)程2、操作過(guò)程通過(guò)一具體程序演示整個(gè)操作過(guò)程3過(guò)程1:源程序的編輯注意:所創(chuàng)建的匯編文件必須為純文本文件;需指定文件的擴(kuò)展名為.ASM

4.3匯編語(yǔ)言程序的上機(jī)過(guò)程調(diào)用EDIT等編輯軟件建立擴(kuò)展名為.ASM的源程序文件(如mypgm.ASM),并保存到磁盤的目標(biāo)文件夾中

過(guò)程2:源程序的匯編匯編是將源程序翻譯成由機(jī)器代碼組成的目標(biāo)模塊文件的過(guò)程,由匯編程序MASM完成。MASMmypgm.asm如果源程序中沒(méi)有語(yǔ)法錯(cuò)誤,MASM將自動(dòng)生成一個(gè)目標(biāo)模塊文件(mypgm.obj);否則MASM將給出相應(yīng)的錯(cuò)誤信息這時(shí)應(yīng)根據(jù)錯(cuò)誤信息,重新編輯修改源程序后,再進(jìn)行匯編。4過(guò)程3:目標(biāo)模塊的連接連接程序把一個(gè)或多個(gè)目標(biāo)文件和庫(kù)文件合成一個(gè)可執(zhí)行文件:LINKmypgm.obj如果沒(méi)有嚴(yán)重錯(cuò)誤,LINK將生成一個(gè)可執(zhí)行文件(mypgm.exe);否則將提示相應(yīng)的錯(cuò)誤信息這時(shí)需要根據(jù)錯(cuò)誤信息重新修改源程序后再匯編、鏈接,直到生成可執(zhí)行文件4.3匯編語(yǔ)言程序的上機(jī)過(guò)程5過(guò)程4:可執(zhí)行程序的調(diào)試經(jīng)匯編、連接生成的可執(zhí)行程序在操作系統(tǒng)下只要輸入文件名就可以運(yùn)行:例:mypgm操作系統(tǒng)裝載該文件進(jìn)入內(nèi)存,并開(kāi)始運(yùn)行如果出現(xiàn)運(yùn)行錯(cuò)誤,可以從源程序開(kāi)始排錯(cuò),也可以利用調(diào)試程序幫助發(fā)現(xiàn)錯(cuò)誤采用DEBUG.EXE調(diào)試程序:

DEBUGmypgm.exe注:如果結(jié)果在寄存器或存儲(chǔ)器中,則只能在DEBUG下查看結(jié)果技巧:通過(guò)練習(xí),學(xué)會(huì)正確選用DEBUG中的各種命令有效地調(diào)試與運(yùn)行程序

4.3匯編語(yǔ)言程序的上機(jī)過(guò)程6編輯文本編輯器,如EDIT.COM源程序:文件名.asm匯編匯編程序,如MASM.EXE目標(biāo)模塊:文件名.obj連接連接程序,如LINK.EXE可執(zhí)行文件:文件名.exe調(diào)試調(diào)試程序,如DEBUG.EXE應(yīng)用程序錯(cuò)誤錯(cuò)誤錯(cuò)誤錯(cuò)誤4.3匯編語(yǔ)言程序的上機(jī)過(guò)程74.4DOS系統(tǒng)功能調(diào)用DOS準(zhǔn)備了許多程序(稱為系統(tǒng)功能程序),涉及設(shè)備驅(qū)動(dòng)和文件管理等方面的操作。系統(tǒng)功能調(diào)用是DOS為系統(tǒng)程序員及用戶提供的一組常用子程序,對(duì)這些子程序的直接調(diào)用可以減少程序員對(duì)系統(tǒng)硬件環(huán)境的依賴,從而可以大大精簡(jiǎn)應(yīng)用程序的編寫;另一方面也可以使程序具有較好的通用性

系統(tǒng)功能調(diào)用?8一、系統(tǒng)功能調(diào)用方法DOS系統(tǒng)功能調(diào)用的方法一般可分為以下幾步:①設(shè)置所要調(diào)用功能的入口參數(shù)。②在AH寄存器中存入所要調(diào)用功能的功能號(hào)。③INT21H指令自動(dòng)轉(zhuǎn)入中斷子程序入口。④相應(yīng)中斷子程序運(yùn)行完畢,可按規(guī)定取得出口參數(shù)。4.4DOS系統(tǒng)功能調(diào)用9二、常用的DOS系統(tǒng)功能調(diào)用1.帶回顯的鍵盤單字符輸入(1號(hào)功能)2.不帶回顯的鍵盤單字符輸入(8號(hào)功能)3.單字符輸出(2號(hào)功能)4.字符串顯示(9號(hào)功能)5.字符串輸入(0AH號(hào)功能)6.程序正常返回系統(tǒng)(4CH號(hào)功能)4.4DOS系統(tǒng)功能調(diào)用101、1號(hào)系統(tǒng)功能調(diào)用(從鍵盤讀入一個(gè)字符)功能:?jiǎn)巫址斎?。將鍵盤輸入的字符的ASCII碼值送AL寄存器,同時(shí)回顯在屏幕上入口參數(shù):無(wú)出口參數(shù):AL寄存器存放輸入字符的ASCII碼值格式: MOVAH,1 INT21H說(shuō)明:在輸入一個(gè)字符后,不需要鍵入回車。若只鍵入回車,則出口參數(shù)AL得到的是回車符的ASCII碼值0DH。4.4DOS系統(tǒng)功能調(diào)用112、2號(hào)系統(tǒng)功能調(diào)用(顯示一個(gè)字符)功能:?jiǎn)巫址敵?。即將以DL寄存器內(nèi)容為ASCII碼值的ASCII字符輸出到屏幕上。入口參數(shù):DL=要顯示字符的ASCII碼值出口參數(shù):無(wú)格式:MOVDL,要顯示的字符

MOVAH,2 INT21H說(shuō)明:掌握的回車符和換行符的使用?;剀?0DH,換行:0AH。例:MOVDL,41H;41H=‘A’ MOVAH,2 INT21H屏幕上輸出字符“A”4.4DOS系統(tǒng)功能調(diào)用129、9號(hào)系統(tǒng)功能調(diào)用(顯示一個(gè)字符串)功能:字符串輸出。即將DS:DX所指的以$字符結(jié)尾的一個(gè)字符串輸出到屏幕上。入口參數(shù):DS:DX=要顯示的字符串在內(nèi)存中的首地址出口參數(shù):無(wú)格式:LEADX,字符串變量名

MOVAH,9 INT21H……例:strDB‘HELLOworld!’,’$’ …… LEADX,str

MOVAH,9 INT21H說(shuō)明:要顯示的字符串必須以’$’作為結(jié)束標(biāo)志,’$’不屬于被顯示的字符串4.4DOS系統(tǒng)功能調(diào)用134、程序正常返回系統(tǒng)的方法(4CH號(hào)系統(tǒng)功能調(diào)用)功能:返回系統(tǒng)入口參數(shù):AL=終止代碼或無(wú)格式: MOVAH,4CH 或 MOVAX,4C00H INT21H INT21H4.4DOS系統(tǒng)功能調(diào)用145、10號(hào)系統(tǒng)功能調(diào)用(從鍵盤讀入一個(gè)字符串)功能:從鍵盤讀入一個(gè)字符串,將其保存到DS:DX指定的內(nèi)存緩沖區(qū)中。這個(gè)緩沖區(qū)由3部分組成:第一字節(jié)定義緩沖區(qū)大??;第二字節(jié)用于系統(tǒng)回填實(shí)際輸入的字符個(gè)數(shù);從第三字節(jié)開(kāi)始保存鍵盤輸入字符的ASCII碼值。入口參數(shù):DS:DX=存放該字符串的輸入緩沖區(qū)的首地址出口參數(shù):實(shí)際輸入字符個(gè)數(shù)保存在緩沖區(qū)第二字節(jié)的位置(不包括回車符),實(shí)際輸入字符的ASCII碼值(包括回車0DH)順序保存在緩沖區(qū)第三字節(jié)開(kāi)始的位置。說(shuō)明:(1)可輸入的字符個(gè)數(shù)最多為緩沖區(qū)第一字節(jié)內(nèi)容減1,最少字符個(gè)數(shù)為0。(2)輸入以按“回車鍵”結(jié)束,并將回車字符(0DH)保存在輸入字符的最后一個(gè)位置上4.4DOS系統(tǒng)功能調(diào)用15格式:LEADX,緩沖區(qū)首地址;設(shè)DS已指向用戶定義的數(shù)據(jù)段

MOVAH,10;或0AHINT21H調(diào)用方法示例:……

BUFDB20;定義緩沖區(qū)大小,實(shí)際可輸入字符最多20-1個(gè)

DB?

;存放實(shí)際輸入的字符個(gè)數(shù),由系統(tǒng)自動(dòng)設(shè)置

DB20DUP(?) ;存放實(shí)際輸入的字符串

……

LEADX

溫馨提示

  • 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)論