資源描述:
《匯編語(yǔ)言程序設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、《匯編語(yǔ)言程序設(shè)計(jì)》目錄系統(tǒng)認(rèn)識(shí)1實(shí)驗(yàn)一數(shù)碼轉(zhuǎn)換編程及程序調(diào)試5實(shí)驗(yàn)二運(yùn)算類編程實(shí)驗(yàn)11實(shí)驗(yàn)三分支程序、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)16實(shí)驗(yàn)四子程序設(shè)計(jì)實(shí)驗(yàn)22實(shí)驗(yàn)五顯示程序?qū)嶒?yàn)26實(shí)驗(yàn)六串行通訊應(yīng)用實(shí)驗(yàn)27附錄WMD86聯(lián)機(jī)軟件使用說(shuō)明40-27--《匯編語(yǔ)言程序設(shè)計(jì)》系統(tǒng)認(rèn)識(shí)一、實(shí)驗(yàn)?zāi)康恼莆誘D-PITE微機(jī)原理與接口技術(shù)教學(xué)實(shí)驗(yàn)系統(tǒng)的操作,熟悉Wmd86聯(lián)機(jī)集成開發(fā)調(diào)試軟件的操作環(huán)境。二、實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái),TD-PITE實(shí)驗(yàn)裝置一套。三、實(shí)驗(yàn)內(nèi)容編寫實(shí)驗(yàn)程序,將00H~0FH共16個(gè)數(shù)寫入內(nèi)存3000H開始的連續(xù)16個(gè)存儲(chǔ)單元中。四、實(shí)驗(yàn)步驟1.運(yùn)行Wmd86軟件,進(jìn)入Wmd86集成開發(fā)
2、環(huán)境。2.根據(jù)程序設(shè)計(jì)使用語(yǔ)言的不同,通過(guò)在“設(shè)置”下拉列表來(lái)選擇需要使用的語(yǔ)言,如圖1所示。語(yǔ)言選擇后,下次再啟動(dòng)軟件,語(yǔ)言環(huán)境保持這次的修改不變。在這里,我們選擇匯編語(yǔ)言。-27--《匯編語(yǔ)言程序設(shè)計(jì)》-27--《匯編語(yǔ)言程序設(shè)計(jì)》圖1 3.語(yǔ)言選擇后,點(diǎn)擊新建或按Ctrl+N組合鍵來(lái)新建一個(gè)文檔,如圖2所示。默認(rèn)文件名為Wmd861。圖2 4.編寫實(shí)驗(yàn)程序,如圖3所示,并保存,此時(shí)系統(tǒng)會(huì)提示輸入新的文件名,輸完后點(diǎn)擊保存。-27--《匯編語(yǔ)言程序設(shè)計(jì)》圖3程序:SSTACKSEGMENTSTACK;定義堆棧段DW32DUP(?)SSTACKENDSCODESEGMENTASSUM
3、ECS:CODE,SS:SSTACKSTART:PUSHDSXORAX,AXMOVDS,AXMOVSI,3000H;建立數(shù)據(jù)起始地址MOVCX,16;循環(huán)次數(shù)AA1:MOV[SI],ALINCSI;地址自加1INCAL;數(shù)據(jù)自加1LOOPAA1AA2:JMPAA2CODEENDSENDSTART5.點(diǎn)擊,編譯文件,若程序編譯無(wú)誤,則輸出如圖4所示的輸出信息,然后再點(diǎn)擊進(jìn)行鏈接,鏈接無(wú)誤輸出如圖5所示的輸出信息。圖4 -27--《匯編語(yǔ)言程序設(shè)計(jì)》圖56.連接PC與實(shí)驗(yàn)系統(tǒng)的通訊電纜,打開實(shí)驗(yàn)系統(tǒng)電源。7.編譯、鏈接都正確并且上下位機(jī)通訊成功后,就可以下載程序,聯(lián)機(jī)調(diào)試了。可以通過(guò)端口列
4、表中的“端口測(cè)試”來(lái)檢查通訊是否正常。點(diǎn)擊下載程序。為編譯、鏈接、下載組合按鈕,通過(guò)該按鈕可以將編譯、鏈接、下載一次完成。下載成功后,在輸出區(qū)的結(jié)果窗中會(huì)顯示“加載成功!”,表示程序已正確下載。起始運(yùn)行語(yǔ)句下會(huì)有一條綠色的背景。如圖6所示。圖68.將輸出區(qū)切換到調(diào)試窗口,使用D0000:3000命令查看內(nèi)存3000H起始地址的數(shù)據(jù),如圖7所示。存儲(chǔ)器在初始狀態(tài)時(shí),默認(rèn)數(shù)據(jù)為CC?!D79.點(diǎn)擊按鈕運(yùn)行程序,然后再點(diǎn)擊來(lái)停止程序運(yùn)行,接下來(lái)觀察程序運(yùn)行結(jié)果,仍使用命令D0000:3000來(lái)觀察數(shù)據(jù)變化。如圖8所示。-27--《匯編語(yǔ)言程序設(shè)計(jì)》圖810.也可以通過(guò)在語(yǔ)句AA2:JMPAA
5、2處設(shè)置斷點(diǎn),斷點(diǎn)顯示如圖9所示,然后運(yùn)行程序,當(dāng)遇到斷點(diǎn)時(shí)程序會(huì)停下來(lái),然后觀察數(shù)據(jù)??梢允褂肊0000:3000來(lái)改變?cè)摰刂穯卧臄?shù)據(jù),如圖10所示,輸入11后,按“空格”鍵,可以接著輸入第二個(gè)數(shù),如22,結(jié)束輸入按“回車”鍵。圖9圖10 操作練習(xí):編寫程序,將內(nèi)存3500H單元開始的8個(gè)數(shù)據(jù)復(fù)制到3600H單元開始的數(shù)據(jù)區(qū)中。通過(guò)調(diào)試驗(yàn)證程序功能,使用E命令修改3500H單元開始的數(shù)據(jù),運(yùn)行程序后使用D命令查看3600H單元開始的數(shù)據(jù)。-27--《匯編語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)一數(shù)碼轉(zhuǎn)換編程及程序調(diào)試一、實(shí)驗(yàn)?zāi)康恼莆詹煌M(jìn)制數(shù)及編碼相互轉(zhuǎn)換的程序設(shè)計(jì)方法,加深對(duì)數(shù)碼轉(zhuǎn)換的理解。熟悉程序
6、調(diào)試的方法。二、實(shí)驗(yàn)設(shè)備Pc微機(jī)一臺(tái),TD-PITE實(shí)驗(yàn)裝置一套。三、實(shí)驗(yàn)內(nèi)容及步驟計(jì)算機(jī)輸入設(shè)備輸入的信息一般是由ASSII碼或BCD碼表示的數(shù)據(jù)或字符,CPU一般均用二進(jìn)制數(shù)進(jìn)行計(jì)算或其它信息處理,處理結(jié)果的輸出又必須依照外設(shè)的要求變?yōu)锳SCII碼、BCD碼或七段顯示碼等。因此,在應(yīng)用軟件中,各類數(shù)制的轉(zhuǎn)換是必不可少的。計(jì)算機(jī)與外設(shè)間的數(shù)制轉(zhuǎn)換關(guān)系如圖所示2-1所示,數(shù)制對(duì)應(yīng)關(guān)系如表2-1所示。CRT顯示主機(jī)ASCII碼ASCII碼鍵盤ASCII碼打印機(jī)ASCII碼光電機(jī)多段顯示BCD碼BCD碼撥碼開關(guān)位顯示二進(jìn)制二進(jìn)制數(shù)據(jù)開關(guān)圖2-1數(shù)制轉(zhuǎn)換關(guān)系?表1?數(shù)制對(duì)應(yīng)關(guān)系表十六進(jìn)制數(shù)B
7、CD碼二進(jìn)制機(jī)器碼ASCII碼七段碼00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA101041H08H77HB101042H03H7