微機(jī)原理與接口技術(shù)(第3版)課件 第14章 實驗指導(dǎo)-匯編語言部分_第1頁
微機(jī)原理與接口技術(shù)(第3版)課件 第14章 實驗指導(dǎo)-匯編語言部分_第2頁
微機(jī)原理與接口技術(shù)(第3版)課件 第14章 實驗指導(dǎo)-匯編語言部分_第3頁
微機(jī)原理與接口技術(shù)(第3版)課件 第14章 實驗指導(dǎo)-匯編語言部分_第4頁
微機(jī)原理與接口技術(shù)(第3版)課件 第14章 實驗指導(dǎo)-匯編語言部分_第5頁
已閱讀5頁,還剩124頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)第14章實驗指導(dǎo)目錄14.1匯編語言基礎(chǔ)實驗14.2接口基礎(chǔ)實驗14.3接口綜合設(shè)計314.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證1414.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗?zāi)康恼莆誅EBUG常用基本命令,理解各類尋址方式的特點,并掌握使用方法知識技能8086的寄存器結(jié)構(gòu)、存儲器組織、尋址方式,以及DEBUG常用基本命令的使用實驗預(yù)習(xí)“DOSBox的安裝與設(shè)置”、“DEBUG常用命令和使用”514.1匯編語言基礎(chǔ)實驗尋址方式驗證DEBUG常用命令和使用R命令的使用功能1:查看CPU寄存器內(nèi)容-r通用寄存器注:DEBUG

中的命令不分大小寫614.1匯編語言基礎(chǔ)實驗尋址方式驗證DEBUG常用命令和使用R命令的使用功能1:查看CPU寄存器內(nèi)容-r段寄存器注:不同機(jī)器上這些值可能不同IP(指令指針寄存器)714.1匯編語言基礎(chǔ)實驗尋址方式驗證功能1:查看CPU寄存器內(nèi)容-r標(biāo)志寄存器OFDFIFSFZFAFPFCF標(biāo)志位DEBUG中的狀態(tài)(1)DEBUG中的狀態(tài)(0)OFOV(溢出)NV(未溢出)DFDN(減少)UP(增加)IFEI(許可)DI(禁止)SFNG(負(fù))PL(正)ZFZR(等于零)NZ(不等于零)AFAC(進(jìn)位)NA(無進(jìn)位)PFPE(偶)PO(奇)CFCY(進(jìn)位)NC(無進(jìn)位)R命令的使用14.1匯編語言基礎(chǔ)實驗尋址方式驗證功能1:查看CPU寄存器內(nèi)容-rCS:IP機(jī)器碼CS:IP處的當(dāng)前指令指令要訪問的內(nèi)存操作數(shù)R命令的使用14.1匯編語言基礎(chǔ)實驗尋址方式驗證R命令的使用功能2:修改CPU寄存器內(nèi)容-r寄存器名

:新的值

修改AX的值注:debug使用的是十六進(jìn)制數(shù)(不加H)14.1匯編語言基礎(chǔ)實驗尋址方式驗證D命令的使用功能:查看內(nèi)存狀態(tài)格式1:-d段地址:偏移地址顯示連續(xù)128字節(jié)內(nèi)容從1000:0000H處開始的128字節(jié)14.1匯編語言基礎(chǔ)實驗尋址方式驗證D命令的使用功能:查看內(nèi)存狀態(tài)格式1:-d段地址:偏移地址顯示連續(xù)128字節(jié)內(nèi)容地址內(nèi)存單元的內(nèi)容對應(yīng)的ASCII碼字符注:無對應(yīng)字符時顯示“.”14.1匯編語言基礎(chǔ)實驗尋址方式驗證D命令的使用功能:查看內(nèi)存狀態(tài)格式1:-d段地址:偏移地址8字節(jié)8字節(jié)地址為1000:0070H地址為1000:007FH‘A’的ASCII碼顯示字符A顯示連續(xù)128字節(jié)內(nèi)容14.1匯編語言基礎(chǔ)實驗尋址方式驗證D命令的使用功能:查看內(nèi)存狀態(tài)格式2:-d段地址:偏移地址1偏移地址2顯示指定范圍內(nèi)存單元的內(nèi)容14.1匯編語言基礎(chǔ)實驗尋址方式驗證E命令的使用功能:改寫內(nèi)存單元內(nèi)容格式

:-e

段地址:偏移地址

值1值2值3

(1)值——數(shù)值

在內(nèi)存2000:0000H開始處寫入數(shù)據(jù)待寫入的6個字節(jié)數(shù)據(jù)寫完后,可以用D命令查看14.1匯編語言基礎(chǔ)實驗尋址方式驗證E命令的使用功能:改寫內(nèi)存單元內(nèi)容格式

:-e

段地址:偏移地址

值1值2值3

(2)值——字符or字符串

字符字符串此時存儲的是對應(yīng)的ASCII碼14.1匯編語言基礎(chǔ)實驗尋址方式驗證A命令的使用功能:將用戶輸入的匯編語言指令匯編為機(jī)器代碼,存入內(nèi)存格式1:-a(默認(rèn)從CS:IP處輸入)CS:IP當(dāng)前值指令地址用戶輸入的指令此處輸入回車表示指令輸入結(jié)束14.1匯編語言基礎(chǔ)實驗尋址方式驗證A命令的使用功能:將用戶輸入的匯編語言指令匯編為機(jī)器代碼,存入內(nèi)存格式2:-a段地址:偏移地址(從指定地址處輸入指令)指定地址處輸入14.1匯編語言基礎(chǔ)實驗尋址方式驗證U命令的使用功能:二進(jìn)制代碼反匯編為匯編語言格式1:-u(默認(rèn)從CS:IP處開始反匯編)32字節(jié)指令地址機(jī)器碼反匯編后的指令14.1匯編語言基礎(chǔ)實驗尋址方式驗證T命令的使用功能:單步跟蹤執(zhí)行程序格式

:-t舉例:從1000:0000H處開始執(zhí)行指令步驟:①用R命令修改CS和IP的值,指向1000:0000H修改寄存器值修改前修改后14.1匯編語言基礎(chǔ)實驗尋址方式驗證T命令的使用功能:單步跟蹤執(zhí)行程序格式

:-t舉例:從1000:0000H處開始執(zhí)行指令步驟:②用T命令跟蹤執(zhí)行2114.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(1)立即尋址MOV

AX,1MOV

BL,02HMOV

BH,34H注意:不同機(jī)器上段地址可能不同,按實際情況操作即可。2214.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(2)寄存器尋址在驗證完(1)后,執(zhí)行MOVAX,BX注意:不同機(jī)器上段地址可能不同,按實際情況操作即可。2314.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(3)直接尋址假設(shè)[1000H]=1234H,執(zhí)行MOVAX,[1000H]注意:不同機(jī)器上段地址可能不同,按實際情況操作即可。2414.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(4)寄存器間接尋址令[1000H]=5678H,執(zhí)行MOVSI,1000HMOVAX,[SI]注意:不同機(jī)器上段地址可能不同,按實際情況操作即可。2514.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(5)變址尋址在驗證完(4)后執(zhí)行MOVBX,1000HMOVAX,[BX+1]注意:不同機(jī)器上段地址可能不同,按實際情況操作即可。2614.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(6)基址加變址尋址、相對基址加變址尋址令[1000H]=AB90H,[10002]=3412H,執(zhí)行MOVBX,1000HMOVSI,1MOVAX,[BX+SI]MOVCX,[BX+SI+1]A命令輸入?yún)R編指令部分略向DS:1000~DS:1003處寫入0AB90H和3412H2714.1匯編語言基礎(chǔ)實驗尋址方式驗證實驗內(nèi)容與操作(6)基址加變址尋址、相對基址加變址尋址令[1000H]=AB90H,[10002]=3412H,執(zhí)行MOVBX,1000HMOVSI,1MOVAX,[BX+SI]MOVCX,[BX+SI+1]2814.1匯編語言基礎(chǔ)實驗尋址方式驗證思考題立即尋址、寄存器尋址方式與其他尋址方式有何本質(zhì)區(qū)別?這些尋址方式中的操作數(shù)分別在哪里?2914.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證13014.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗實驗?zāi)康恼莆諈R編語言程序設(shè)計的一般過程和DEBUG跟蹤執(zhí)行程序的方法;掌握匯編語言程序的一般結(jié)構(gòu),掌握順序程序設(shè)計方法。知識技能匯編語言程序的編寫、編譯、鏈接和執(zhí)行,DEBUG跟蹤執(zhí)行程序,8086指令系統(tǒng),源程序結(jié)構(gòu)實驗預(yù)習(xí)“匯編語言程序編寫、編譯、鏈接和執(zhí)行”等相關(guān)內(nèi)容預(yù)備知識編輯源程序編譯masm.exe(→*.obj)注意:源程序最好和編譯程序masm.exe在同一路徑下對源程序ex2.asm進(jìn)行編譯,生成目標(biāo)程序ex2.obj(1)如果是.txt類型的文件,則用命令“masmex2.txt;”(2)加“;”可以避免輸入目標(biāo)文件名等編譯結(jié)果(錯誤和警告)14.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗匯編語言程序設(shè)計的一般步驟編輯源程序編譯連接link.exe(→*.exe)對目標(biāo)文件ex2.obj進(jìn)行連接,生成可執(zhí)行程序ex2.exe此類警告信息可以忽略14.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗匯編語言程序設(shè)計的一般步驟編輯源程序編譯連接運行及調(diào)試輸入可執(zhí)行程序文件名,運行(但是看不到結(jié)果)用debug調(diào)試(1)輸入U命令,查看程序不同機(jī)器上的地址可能不同14.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗匯編語言程序設(shè)計的一般步驟編輯源程序編譯連接運行及調(diào)試(2)輸入R命令查看寄存器初始狀態(tài)(3)輸入T命令單步執(zhí)行程序14.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗匯編語言程序設(shè)計的一般步驟編輯源程序編譯連接運行及調(diào)試(4)遇到“INT21H”指令輸入P命令結(jié)束14.1匯編語言基礎(chǔ)實驗順序程序設(shè)計實驗匯編語言程序設(shè)計的一般步驟3614.1匯編語言基礎(chǔ)實驗實驗內(nèi)容順序程序設(shè)計實驗編寫程序?qū)㈦p字型變量VAR1與VAR2相加,結(jié)果保存在VAR1中。用DEBUG跟蹤執(zhí)行程序,并分析結(jié)果。分析:(1)在數(shù)據(jù)段中定義變量VAR1和VAR2(2)雙字型變量高16位相加時,要用ADC指令,把D15位相加產(chǎn)生的進(jìn)位加上(3)在訪問變量高/低16位時需要使用PTR偽指令3714.1匯編語言基礎(chǔ)實驗參考程序順序程序設(shè)計實驗3814.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果偽指令語句,匯編器執(zhí)行指令性語句,CPU執(zhí)行3914.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果數(shù)據(jù)段段名數(shù)據(jù)段實際的段地址是076AH14.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果裝入實際的數(shù)據(jù)段地址4114.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果數(shù)據(jù)段實際的段地址是076AH觀察變量VAR1和VAR2的初值VAR1和VAR2在內(nèi)存的地址4214.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果數(shù)據(jù)段實際的段地址是076AH觀察變量VAR1和VAR2的初值VAR1變量按小尾順序原則存放4314.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果數(shù)據(jù)段實際的段地址是076AH觀察變量VAR1和VAR2的初值VAR2變量按小尾順序原則存放4414.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果觀察變量VAR1和VAR2的初值VAR1的低16位4514.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(1)輸入源程序、編譯、鏈接,用DEBUG跟蹤執(zhí)行程序,使用U命令得到反匯編結(jié)果觀察變量VAR1和VAR2的初值VAR1的高16位4614.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(2)用“g

CS:0005”DS的值

被修改為實際數(shù)據(jù)段的地址即將執(zhí)行該指令4714.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(2)用“g

CS:0005”即將執(zhí)行該指令即將訪問的內(nèi)存操作數(shù)4814.1匯編語言基礎(chǔ)實驗

實驗步驟順序程序設(shè)計實驗(3)用“gCS:0019”,使程序執(zhí)行到“MOVAH,4C”2個變量的和4914.1匯編語言基礎(chǔ)實驗思考題如果要將變量VAR1中的4位壓縮BCD碼與VAR2中的4位壓縮BCD碼相加,結(jié)果保存在VAR1中,其中VAR1和VAR2定義如下:順序程序設(shè)計實驗VAR1 DB 34H,67HVAR2 DB 78H,12H請編寫程序,并用DEBUG觀察分析程序執(zhí)行的結(jié)果。5014.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證15114.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗實驗?zāi)康恼莆辗种С绦蛟O(shè)計的方法;掌握轉(zhuǎn)移類指令的使用方法。知識技能8086指令系統(tǒng)、源程序結(jié)構(gòu)、匯編語言程序設(shè)計的一般過程、條件轉(zhuǎn)移指令,以及分支程序設(shè)計的基本方法實驗預(yù)習(xí)復(fù)習(xí)第4章有關(guān)條件轉(zhuǎn)移指令的格式、功能,以及分支程序的設(shè)計方法。預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗任務(wù)計算分段函數(shù):其中X和Y是無符號字節(jié)數(shù)。提示:用無符號數(shù)的條件轉(zhuǎn)移指令預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析變量X的值可以修改,實驗時請取2種不同情況:①<20②>=20預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支①<20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支①<20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支①<20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支②>=20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支②>=20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支②>=20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗分析分支②>=20的執(zhí)行過程預(yù)備知識14.1匯編語言基礎(chǔ)實驗分支程序設(shè)計實驗

實驗步驟(1)編寫匯編語言源程序(見參考程序14.1-2),然后進(jìn)行編譯、鏈接,得到可執(zhí)行程序。(2)用DEBUG調(diào)試生成的可執(zhí)行程序,裝入被調(diào)試程序,測試第1個分支(3)測試第2個分支6514.1匯編語言基礎(chǔ)實驗思考題如果X和Y是有符號字節(jié)數(shù),程序應(yīng)該如何修改?分支程序設(shè)計實驗6614.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證16714.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗實驗?zāi)康氖炀氄莆沼嫈?shù)控制的循環(huán)程序的設(shè)計方法和調(diào)試方法。知識技能8086指令系統(tǒng)、源程序結(jié)構(gòu)、匯編語言程序設(shè)計的一般過程和循環(huán)程序設(shè)計。實驗預(yù)習(xí)復(fù)習(xí)第4章中有關(guān)循環(huán)指令和循環(huán)程序的相關(guān)內(nèi)容。預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗任務(wù)請編寫程序?qū)o定的若干個字節(jié)單元中的字符進(jìn)行分類統(tǒng)計,統(tǒng)計數(shù)字字符'0'~'9',英文字符(包括大小寫)、其他字符的個數(shù),分別存放于變量NUM、LET和OTH中預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析數(shù)字字符:30H~39H大寫字母:41H~5AH小寫字母:61H~7AH預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析判斷字符的ASCII碼在哪個范圍。數(shù)字字符:30H~39H算法基本思想英文字母:41H~5AH61H~7AH其他字符:在以上范圍之外變量NUMLETOTH預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析算法基本思想BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析算法基本思想BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0NUM?BUF地址2?

地址1=字節(jié)數(shù)

↓字節(jié)數(shù)DS:0000‘1’DS:0001‘2’DS:0002‘3’DS:0003‘4’DS:0004‘5’DS:0005‘a(chǎn)’DS:0006‘b’DS:0007‘c’DS:0008‘d’DS:0009‘A’DS:000A‘*’DS:000B‘%’DS:000C‘g’DS:000D‘s’DS:000E‘[‘DS:000F0DS:00100DS:00110=000FH–0=15CX(循環(huán)次數(shù))預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HAL預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL=31H>30H不跳轉(zhuǎn)預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL=31H<39H不跳轉(zhuǎn)預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI31HALAL里是數(shù)字

1預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI1預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0←SI61HAL5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0AL=61H>30H,不跳轉(zhuǎn)程序分析←SI61HAL5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL>39H,跳轉(zhuǎn)5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H>=41H不跳轉(zhuǎn)5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H>5AH,跳轉(zhuǎn)5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H=61H,不跳轉(zhuǎn)5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HALAL=61H<7AH,不跳轉(zhuǎn)5預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HAL字母個數(shù)加151預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI61HAL處理下一個51預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI24HALAL<30H,跳轉(zhuǎn)55預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析←SI24HAL其他字符個數(shù)加1551預(yù)備知識14.1匯編語言基礎(chǔ)實驗循環(huán)程序設(shè)計實驗

實驗分析BUF‘1’‘2’‘3’‘4’‘5’‘a(chǎn)’‘b’‘c’‘d’‘A’‘*’‘%’‘g’‘s’‘[‘NUM0LET0OTH0程序分析取下一個字符←SI進(jìn)入下一輪循環(huán)余下過程類似,請自己分析5519214.1匯編語言基礎(chǔ)實驗思考題循環(huán)程序設(shè)計實驗如果要把BUF中所有的大寫字母轉(zhuǎn)換成小寫,請修改程序。給出源程序截圖用D命令程序觀察執(zhí)行前和執(zhí)行后,BUF中的字符,驗證是否實現(xiàn)字符串大小寫的轉(zhuǎn)換給出截圖。9314.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證19414.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗實驗?zāi)康恼莆粘S玫腄OS系統(tǒng)功能調(diào)用,學(xué)會簡單的人機(jī)信息交互方法。知識技能8086指令系統(tǒng)、源程序結(jié)構(gòu)、匯編語言程序設(shè)計的一般過程、循環(huán)程序設(shè)計,以及DOS系統(tǒng)功能調(diào)用相關(guān)的程序設(shè)計。實驗預(yù)習(xí)復(fù)習(xí)DOS系統(tǒng)功能調(diào)用方法。預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗任務(wù)從鍵盤輸入目標(biāo)字符串和待查找的關(guān)鍵字符,從目標(biāo)字符串中尋找出關(guān)鍵字符。若找到則在屏幕上顯示Y,否則顯示N。要求顯示的格式如下(*代表不同的字符):INPUTSTRING:*********INPUTCHARACTER:*RESULT:*預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*提示信息用09H號功能Y或N用01H號功能輸入的字符串用0AH號功能輸入的字符用02H號功能預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*提示信息用09H號功能預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*Y或N用01H號功能輸入的字符串用0AH號功能預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析INPUTSTRING:*********INPUTCHARACTER:*RESULT:*每一行最后要回車換行用09H號功能預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析字符保存到變量CHAR預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析不匹配,繼續(xù)比較下一個字符預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析匹配則跳出循環(huán)預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析預(yù)備知識14.1匯編語言基礎(chǔ)實驗DOS系統(tǒng)功能調(diào)用實驗

實驗分析CX=0退出循環(huán),說明所有字符都不匹配11314.1匯編語言基礎(chǔ)實驗思考題循環(huán)程序設(shè)計實驗試編寫程序并調(diào)試,實現(xiàn)從鍵盤輸入2個字符串,進(jìn)行比較:如果完全相同,則顯示MATCHED,否則顯示NOTMATCHED。11414.1匯編語言基礎(chǔ)實驗主要內(nèi)容順序程序設(shè)計實驗2分支程序設(shè)計實驗3循環(huán)程序設(shè)計實驗4DOS系統(tǒng)功能調(diào)用實驗5子程序設(shè)計實驗6尋址方式驗證111514.1匯編語言基礎(chǔ)實驗子程序設(shè)計實驗實驗?zāi)康氖炀氄莆?種基本結(jié)構(gòu)程序的設(shè)計方法,熟練掌握子程序設(shè)計與調(diào)用方法,掌握參數(shù)傳遞的方法知識技能8086指令系統(tǒng)、源程序結(jié)構(gòu)、匯編語言程序設(shè)計的一般過程、DOS系統(tǒng)功能調(diào)用,以及子程序設(shè)計與調(diào)用。實驗預(yù)習(xí)復(fù)習(xí)過程定義方法,復(fù)習(xí)主程序與子程序之間參數(shù)傳遞的方法。預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗任務(wù)子程序設(shè)計實驗編寫程序?qū)崿F(xiàn)兩個6字節(jié)數(shù)相加,其中ADD1=060504030201HADD2=90876A7DBC45H最后將計算的結(jié)果輸出到屏幕上,要求:(1)將兩個單字節(jié)相加的程序段設(shè)計為子程序。主程序分6次調(diào)用該子程序,調(diào)用時通過寄存器傳遞參數(shù)。(2)編寫一個子程序?qū)崿F(xiàn)十六進(jìn)制數(shù)到ASCII碼的轉(zhuǎn)換,并將計算結(jié)果輸出到屏幕上。預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗分析子程序設(shè)計實驗本實驗主要分成2部分:①加法運算ADD1=060504030201HADD2=90876A7DBC45H+46H+++++ADC:帶進(jìn)位加法CF=06次定義帶進(jìn)位的單字節(jié)加法子程序在主程序中調(diào)用6次即可。預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗分析子程序設(shè)計實驗本實驗主要分成2部分:①加法運算ADD1=060504030201HADD2=90876A7DBC45H++++++ADD1、ADD2怎么定義01H06H45H90H00

ADD1ADD2SUMADD1 DB 01H,02H,03H,04H,05H,06HADD2 DB 45H,0BCH,7DH,6AH,87H,90HSUM DB 6DUP(0)注意:ADD1、ADD2和SUM是低字節(jié)在前、高字節(jié)在后。預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗分析子程序設(shè)計實驗本實驗主要分成2部分:①加法運算01H06H45H90H00

ADD1ADD2SUM單字節(jié)加法子程序需要的參數(shù)有哪些?a.參與帶進(jìn)位加法的2個字節(jié)數(shù)據(jù),來自ADD1中的一個字節(jié)來自ADD2中的一個字節(jié)b.運算結(jié)果保存的一個字節(jié)要用寄存器傳遞SIDIBX預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗分析子程序設(shè)計實驗CODE SEGMENT ASSUMECS:CODESUBADDPROCFAR ;單節(jié)相加子程序

PUSH AX ;保護(hù)AX的值

MOV AL,[SI] ;SI是一個源操作數(shù)指針

ADC AL,[DI] ;DI是另一個源操作數(shù)指針

MOV[BX],AL ;BX是結(jié)果操作數(shù)指針 INC SI ;指向ADD1的下一個字節(jié) INC DI ;指向ADD2的下一個字節(jié) INC BX ;指向SUM的下一個字節(jié) POP AX ;恢復(fù)AX的值

RETFSUBADDENDP在主程序中調(diào)用6次即可。帶進(jìn)位的單字節(jié)加法子程序預(yù)備知識14.1匯編語言基礎(chǔ)實驗

實驗分析子程序設(shè)計實驗MOV SI,OFFSETADD1MOV DI,OFFSETADD2MOV BX,OFFSETSUMMOV CH,0MOVCL,COUNT;COUNTDB6CLCAGAIN:CALLFARPTRSUBADD;調(diào)用子程序

LOOP AGAIN;循環(huán)調(diào)用6次主程序預(yù)備知識14.1匯編語言基

溫馨提示

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

評論

0/150

提交評論