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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

:新的值

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

:-e

段地址:偏移地址

值1值2值3

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

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

:-e

段地址:偏移地址

值1值2值3

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

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

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

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

AX,1MOV

BL,02HMOV

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

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

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

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

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

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

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

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

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

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

CS:0005”DS的值

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

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

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

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

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

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

實驗分析預備知識14.1匯編語言基礎實驗分支程序設計實驗

實驗分析預備知識14.1匯編語言基礎實驗分支程序設計實驗

實驗分析預備知識14.1匯編語言基礎實驗分支程序設計實驗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

實驗分析程序分析BUF‘1’‘2’‘3’‘4’‘5’‘a’‘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’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ù))預備知識14.1匯編語言基礎實驗循環(huán)程序設計實驗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

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

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

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

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

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

實驗分析預備知識14.1匯編語言基礎實驗DOS系統(tǒng)功能調用實驗

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

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

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

實驗分析子程序設計實驗本實驗主要分成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é)在后。預備知識14.1匯編語言基礎實驗

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

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

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

PUSH AX ;保護AX的值

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

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

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

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

實驗分析子程序設計實驗MOV SI,OFFSETADD1MOV DI,OFFSETADD2MOV BX,OFFSETSUMMOV CH,0MOVCL,COUNT;COUNTDB6CLCAGAIN:CALLFARPTRSUBADD;調用子程序

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

溫馨提示

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

評論

0/150

提交評論